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


Posted in Python onJanuary 03, 2018

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

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

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

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

car.png

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

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

总结

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

Python 相关文章推荐
Python 中的with关键字使用详解
Sep 11 Python
python中reload(module)的用法示例详解
Sep 15 Python
R语言 vs Python对比:数据分析哪家强?
Nov 17 Python
Python实现针对给定单链表删除指定节点的方法
Apr 12 Python
完美解决python中ndarray 默认用科学计数法显示的问题
Jul 14 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
Dec 06 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
Tensorflow的梯度异步更新示例
Jan 23 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 Python
解决python对齐错误的方法
Jul 16 Python
python中@property的作用和getter setter的解释
Dec 22 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 #Python
Python通过Pygame绘制移动的矩形实例代码
Jan 03 #Python
Python模拟脉冲星伪信号频率实例代码
Jan 03 #Python
Python简单实现socket信息发送与监听功能示例
Jan 03 #Python
python实现Floyd算法
Jan 03 #Python
Python如何生成树形图案
Jan 03 #Python
Python爬取十篇新闻统计TF-IDF
Jan 03 #Python
You might like
PHP 事件机制(2)
2011/03/23 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
Python绘制股票移动均线的实例
2019/08/24 Python
高考考python编程是真的吗
2020/07/20 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
老师推荐信
2013/10/28 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
金融事务专业求职信
2014/04/25 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
春季运动会加油词
2015/07/18 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server
Python list列表删除元素的4种方法
2021/11/01 Python
Vue h函数的使用详解
2022/02/18 Vue.js