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中将字典转换成其json字符串
Jul 16 Python
基于python的七种经典排序算法(推荐)
Dec 08 Python
新手如何快速入门Python(菜鸟必看篇)
Jun 10 Python
mac下如何将python2.7改为python3
Jul 13 Python
详解Python网络框架Django和Scrapy安装指南
Apr 01 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
Aug 12 Python
python自定义函数def的应用详解
Jun 03 Python
python如何建立全零数组
Jul 19 Python
Python判断字符串是否为合法标示符操作
Sep 03 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 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
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
从康盛产品(discuz)提取出来的模板类
2011/06/28 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
php数据访问之查询关键字
2016/05/09 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
Python使用matplotlib和pandas实现的画图操作【经典示例】
2018/06/13 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
广告学专业推荐信范文
2013/11/23 职场文书
公积金转移接收函
2014/01/11 职场文书
大型活动组织方案
2014/05/10 职场文书
男性健康日的活动方案
2014/08/18 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
学校党员个人问题整改措施思想汇报
2014/10/08 职场文书
求职简历自我评价2015
2015/03/10 职场文书
复试通知单模板
2015/04/24 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
爱国主义电影观后感
2015/06/18 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
python基础之类方法和静态方法
2021/10/24 Python