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的几条建议分享
Feb 10 Python
Python文件去除注释的方法
May 25 Python
Python基于Tkinter的HelloWorld入门实例
Jun 17 Python
深入解析Python中的descriptor描述器的作用及用法
Jun 27 Python
Python 高级专用类方法的实例详解
Sep 11 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
树莓派3 搭建 django 服务器的实例
Aug 29 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
Python unittest生成测试报告过程解析
Sep 08 Python
Python实现列表索引批量删除的5种方法
Nov 16 Python
python实现银行账户系统
Feb 22 Python
手残删除python之后的补救方法
Jun 26 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实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
python继承和抽象类的实现方法
2015/01/14 Python
详解Python中heapq模块的用法
2016/06/28 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
python3实现单目标粒子群算法
2019/11/14 Python
如何利用python读取micaps文件详解
2020/10/18 Python
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
大学生求职信范文应怎么写
2014/01/01 职场文书
环境建设实施方案
2014/03/14 职场文书
工作态度恶劣检讨书
2015/05/06 职场文书
教师见习总结范文
2015/06/23 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
Python中递归以及递归遍历目录详解
2021/10/24 Python