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同时兼容python2和python3的8个技巧分享
Jul 11 Python
Python 常用的安装Module方式汇总
May 06 Python
Python多继承顺序实例分析
May 26 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
python3利用venv配置虚拟环境及过程中的小问题小结
Aug 01 Python
pyshp创建shp点文件的方法
Dec 31 Python
Python FTP文件定时自动下载实现过程解析
Nov 12 Python
Python virtualenv虚拟环境实现过程解析
Apr 18 Python
python实现单机五子棋
Aug 28 Python
Python通过getattr函数获取对象的属性值
Oct 16 Python
Jupyter notebook 输出部分显示不全的解决方案
Apr 24 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 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
Admin generator, filters and I18n
2011/10/06 PHP
php curl的深入解析
2013/06/02 PHP
自动检查并替换文本框内的字符
2006/06/30 Javascript
多广告投放代码 推荐
2006/11/13 Javascript
为指定元素增加样式的js代码
2009/12/09 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
判断JS对象是否拥有某种属性的两种方式
2013/12/02 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
2017/05/17 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
微信小程序一周时间表功能实现
2019/10/17 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
高中生学习总结的自我评价范文
2013/10/13 职场文书
大学生自我鉴定书
2014/03/24 职场文书
小班下学期个人总结
2015/02/12 职场文书
起诉状范本
2015/05/20 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
生日祝酒词大全
2015/08/10 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
商业计划书范文
2019/04/24 职场文书
python入门之算法学习
2021/04/22 Python
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL