Python编程pygame模块实现移动的小车示例代码

Pygame是跨平台Python模块,专为电子游戏设计,包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。

最近一个星期学习了一下python的pygame模块,顺便做个小程序巩固所学的,运行效果如下:

其中,背景图"highway.jpg"是使用PhotoShop将其分辨率改变为640 × 480,而小车"car.png"则是将其转变为png格式的图片,并且填充其背景色,让其拥有透明性。

代码测试可用:

# -*- coding: utf-8 -*-

# 背景图以及移动小车图
highway_image_name = "highway.jpg"
car_image_name = "car.png"

# 导入程序相关的模块
import pygame
from pygame.locals import *
from sys import exit

pygame.init()

# 生成窗口以及窗口标题
screen = pygame.display.set_mode((640, 480), 0, 32)
pygame.display.set_caption("Little Case")

# 加载并转换图片
highway = pygame.image.load(highway_image_name).convert()
car = pygame.image.load(car_image_name).convert_alpha()

x = 0
y = 300
z = 1

# 加载以及渲染字体
my_font = pygame.font.SysFont("arial", 16)
text_surface = my_font.render(("%d car" % (z)), True, (0, 0, 255))

# 主循环
while True:

  for event in pygame.event.get():
    if event.type == QUIT:
      pygame.display.quit()
      exit()

  # 矩形颜色坐标等
  rc = (0, 250, 0)
  rp = (560, 0)
  rs = (639, 60)

  x += 0.2
  if x > 640 + car.get_width():
    x = -car.get_width()
    z += 1
    text_surface = my_font.render(("%d cars" % z), True, (0, 0, 255))

  screen.blit(highway, (0, 0))
  screen.blit(text_surface, (620 - text_surface.get_width(), text_surface.get_height()))
  screen.blit(car, (x, y))
  pygame.draw.rect(screen, rc, Rect(rp, rs), 1) #  Rect(左上角的坐标,右下角的坐标)

  pygame.display.update()

两张图片:

highway.jpg

car.png

路径自己保存,然后在代码中修改即可。

总结

以上就是本文关于Python编程pygame模块实现移动的小车示例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

(0)

相关推荐

  • python Pygame的具体使用讲解

    一.实验介绍 1.1 实验内容 在本节课中,我们将讲解Pygame的常用对象及其操作,包括图形.动画.文字.音频等,确保同学们对Pygame有一个基础的了解,同时为后续课程做好准备. 1.2 实验知识点 Pygame图形 Pygame动画 Pygame文字 Pygame音频 Pygame事件 1.3 实验环境 Python 2.7.6 Xfce终端 1.4 适合人群 本课程难度为一般,属于初级级别课程,适合具有Python基础的用户,熟悉Python基础知识加深巩固. 1.5 代码获取 本节实验

  • Python基于pygame模块播放MP3的方法示例

    本文实例讲述了Python基于pygame模块播放MP3的方法.分享给大家供大家参考,具体如下: 安装pygame(可参考:安装Python和pygame及相应的环境变量配置) pip安装这个whl文件 装完就直接跑代码啦,很短的 import time import pygame file=r'C:\Users\chan\Desktop\Adele - All I Ask.mp3' pygame.mixer.init() print("播放音乐1") track = pygame.m

  • Python通过Pygame绘制移动的矩形实例代码

    Pygame是一个多用于游戏开发的模块. 本文实例主要是在演示框里实现一个移动的矩形实例代码,完整代码如下: #moving rectangle project import pygame from pygame.locals import * pygame.init() screen = pygame.display.set_mode((600,500)) pygame.display.set_caption("Drawing Rectangles") pos_x = 300 pos

  • 基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查是否安装了pip 打开一个终端窗口,并执行如下命令: Python2.7中: zhuzhu@zhuzhu-K53SJ:~$ pip --version pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7) Python3.X中: z

  • 安装Python和pygame及相应的环境变量配置(图文教程)

    Hello,Everyone! Python是个好东西!好吧,以黎某人这寒碜的赞美之词,实在上不了台面,望见谅.那我们直接来上干货吧. 第一步:下载Python安装包https://www.python.org/ 1.进入Python官网,点击download 2.进入之后有两个安装包供选择(Python会根据你系统的位数智能选择,所以这里不用纠结你的电脑是32位的还是64位) 我的建议是下载Python3.0后面的版本,因为Python3在Python2的基础上,优化改进了一些代码格式.点击下

  • python+pygame简单画板实现代码实例

    疑问:pygame已经过时了吗? 过没过时不知道,反正这玩意官方已经快四年没有更新了.用的人还是蛮多的(相对于其他同类项目),不过大家都是用来写写小东西玩一玩,没有人用这个做商业项目.pygame其实就是SDL的python绑定,SDL又是基于OpenGL,所以也有人用pygame+pyOpenGL做3D演示什么的.真的要写游戏的话pygame的封装比较底层,不太够用,很多东西都要自己实现(当然自由度也高).文档也不太好,好在前人留下了很多文章.拿来练手倒是很不错的选择,可以用来实践很多2D游戏

  • Python使用pygame模块编写俄罗斯方块游戏的代码实例

    文章先介绍了关于俄罗斯方块游戏的几个术语. 边框--由10*20个空格组成,方块就落在这里面. 盒子--组成方块的其中小方块,是组成方块的基本单元. 方块--从边框顶掉下的东西,游戏者可以翻转和改变位置.每个方块由4个盒子组成. 形状--不同类型的方块.这里形状的名字被叫做T, S, Z ,J, L, I , O.如下图所示: 模版--用一个列表存放形状被翻转后的所有可能样式.全部存放在变量里,变量名字如S_SHAPE_TEMPLATE or J_SHAPE_TEMPLATE 着陆--当一个方块

  • 详解Python pygame安装过程笔记

    今天看到一个教程,是关于Python安装pygame模块的.觉得很好,拿来分享一下. 安装Python 额,这个小题貌似在这里很是多余啊.但是为了照顾到刚刚学习Python的童鞋,我还是多啰嗦两句吧. 具体如下: 我们要到Python官网.去下载我们需要的版本.我这里下载的是windows64位 的Python2.7 msi.安装的过程如果不懂,选择为默认即可. 安装easy_install 至于这是个什么东东?我们大可不必劳心,现在只需要知道它能帮助我们安装一些库就可以了.具体的安装过程也很简

  • Python编程pygame模块实现移动的小车示例代码

    Pygame是跨平台Python模块,专为电子游戏设计,包含图像.声音.建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚. 最近一个星期学习了一下python的pygame模块,顺便做个小程序巩固所学的,运行效果如下: 其中,背景图"highway.jpg"是使用PhotoShop将其分辨率改变为640 × 480,而小车"car.png"则是将其转变为png格式的图片,并且填充其背景色,让其拥有透明性. 代码测试可用: # -*

  • Python使用pickle模块存储数据报错解决示例代码

    本文研究的主要是Python使用pickle模块存储数据报错解决方法,以代码的形式展示,具体如下. 首先来了解下pickle模块 pickle提供了一个简单的持久化功能.可以将对象以文件的形式存放在磁盘上. pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化, pickle序列化后的数据,可读性差,人一般无法识别. 接下来我们看下Python使用pickle模块存储数据报错解决方法. 代码: # 写入错误 TypeEr

  • python使用OpenCV模块实现图像的融合示例代码

    可以通过OpenCV函数cv.add()或简单地通过numpy操作添加两个图像,res = img1 + img2.两个图像应该具有相同的深度和类型,或者第二个图像可以是标量值. 三种融合 注意融合时,一般来说两个图像的尺寸是一样大小的,如果大小不一样,需要把大的图像的某一部分先截出来,与小的图先融合,再作为整体替换掉原来大图中抠出的小图部分. """ # @Time : 2020/4/3 # @Author : JMChen """ impor

  • python之pygame模块实现飞机大战完整代码

    本文实例为大家分享了python之pygame模块实现飞机大战的具体代码,供大家参考,具体内容如下 Python飞机大战步骤: 1.数据区 2.主界面 3.飞船 4.事件监控及边界 5.外星人 6.记分系统 飞机大战效果图: 源码: """ 功能:飞机大战 time:2019/10/3 """ import os import pygame import sys import time from pygame.sprite import Spri

  • python中pygame模块用法实例

    本文实例讲述了python中pygame模块用法,分享给大家供大家参考.具体方法如下: import pygame, sys from pygame.locals import * #set up pygame pygame.init() windowSurface = pygame.display.set_mode((500, 400), 0, 32) pygame.display.set_caption("hello, world") BLACK = (0, 0, 0) WHITE

  • python使用PyGame模块播放声音的方法

    本文实例讲述了python使用PyGame模块播放声音的方法.分享给大家供大家参考.具体实现方法如下: import pygame pygame.init() pygame.mixer.music.load("sound_file.ogg") pygame.mixer.music.play() pygame.event.wait() 希望本文所述对大家的Python程序设计有所帮助.

  • Python编程itertools模块处理可迭代集合相关函数

    容器与可迭代对象 在正式开始前先补充一些基本概念在 Python 中存在容器 与 可迭代对象 容器:用来存储多个元素的数据结构,例如 列表,元组,字典,集合等内容: 可迭代对象:实现了 __iter__ 方法的对象就叫做可迭代对象. 从可迭代对象中还衍生出 迭代器 与 生成器: 迭代器:既实现了 __iter__,也实现了 __next__ 方法的对象叫做迭代器: 生成器:具有 yield 关键字的函数都是生成器. 这样就比较清楚了,可迭代对象的范围要大于容器.而且可迭代对象只能使用一次,使用完

  • Python编程functools模块中创建修改函数的高阶函数解析

    partial 函数 partial 为偏函数(有的地方也叫做部分应用函数),它是对函数的二次封装,将现有函数的部分参数提前绑定为指定值,然后再进行计算. 由于偏函数的可变参数少,因此函数调用的难度低. 直接展示代码: from functools import partial # 原函数声明 def show(name, level): print("name:", name, "level:", level) # 定义偏函数,封装 show() 函数,并为 na

随机推荐