python使用pygame创建精灵Sprite


Posted in Python onApril 06, 2021

一 、精灵(Sprite),屏幕上的对象。精灵组是精灵的组合。创建空的精灵组对象:

精灵组可以对其中的所有精灵调用它们各自的更新方法(self.update)来进行更新,如位置更新、碰撞检测、冲突检测等:

all_sprites.update()

    精灵组可以对其中的所有精灵调用它们各自的DRAW方法(self.update)来绘制精灵:

all_sprites.draw(screen)

二、创建精灵

    1、创建精灵需要继承基类pg.sprite.Sprite。每个Pygame精灵都必须拥有两个属性: image和 rect

class Player(pg.sprite.Sprite):
	def __init__(self):
		pg.sprite.Sprite.__init__(self)
		self.img = pg.Surface((50, 50))
		self.img.fill(GREEN)
		self.rect = self.img.get_rect()
		self.rect.center = (215, 215)

    其中,rect有如下定位属性:

python使用pygame创建精灵Sprite

    其中,topleft, topright, center, bottomleft, bottomright为二元int元组,其余的为int。

    2、添加update方法:

def update(self):
	self.rect.x += 5
	if self.rect.left > WIDTH:
		self.rect.right = 0

    在游戏循环中,有all_sprites.update()。这意味着对于组中的每个sprite,Pygame将查找一个update()函数并运行它。

三、将精灵加入精灵组:

all_sprites = pygame.sprite.Group()
player = Player()
all_sprites.add(player)

到此这篇关于python使用pygame创建精灵Sprite的文章就介绍到这了,更多相关python使用pygame创建Sprite内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现子类调用父类的方法
Nov 10 Python
Python3实现从指定路径查找文件的方法
May 22 Python
python 上下文管理器使用方法小结
Oct 10 Python
tensorflow中next_batch的具体使用
Feb 02 Python
python图像和办公文档处理总结
May 28 Python
python调试神器PySnooper的使用
Jul 03 Python
python 实现创建文件夹和创建日志文件的方法
Jul 07 Python
linux中如何使用python3获取ip地址
Jul 15 Python
利用python list完成最简单的DB连接池方法
Aug 09 Python
Django stark组件使用及原理详解
Aug 22 Python
Python selenium爬取微信公众号文章代码详解
Aug 12 Python
python plt.plot bar 如何设置绘图尺寸大小
Jun 01 Python
python 逐步回归算法
python 通过使用Yolact训练数据集
python生成随机数、随机字符、随机字符串
Apr 06 #Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 #Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
python实现批量提取指定文件夹下同类型文件
Apr 05 #Python
python实现ROA算子边缘检测算法
You might like
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
文章推荐系统(三)
2006/10/09 PHP
PHP脚本的10个技巧(7)
2006/10/09 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
javascript实现禁止复制网页内容
2014/12/16 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
老生常谈js中的MVC
2017/07/25 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
django实现类似触发器的功能
2019/11/15 Python
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书