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类的基础入门知识
Nov 24 Python
Python+Django在windows下的开发环境配置图解
Nov 11 Python
Python的动态重新封装的教程
Apr 11 Python
利用Python中的mock库对Python代码进行模拟测试
Apr 16 Python
python打开文件并获取文件相关属性的方法
Apr 23 Python
python生成验证码图片代码分享
Jan 28 Python
Python heapq使用详解及实例代码
Jan 25 Python
简单实现python数独游戏
Mar 30 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
python不同版本的_new_不同点总结
Dec 09 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 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
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
JavaScript学习教程之cookie与webstorage
2019/06/23 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
python脚本设置超时机制系统时间的方法
2016/02/21 Python
浅谈django中的认证与登录
2016/10/31 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
介绍一下Ruby的特点
2013/01/20 面试题
素质拓展感言
2014/01/29 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
2014年销售工作总结
2014/12/01 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript