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使用PIL缩放网络图片并保存的方法
Apr 24 Python
Python3处理HTTP请求的实例
May 10 Python
python实现判断一个字符串是否是合法IP地址的示例
Jun 04 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
浅谈python常用程序算法
Mar 22 Python
django框架面向对象ORM模型继承用法实例分析
Jul 29 Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
Python底层封装实现方法详解
Jan 22 Python
Python+OpenCV图像处理——实现直线检测
Oct 23 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
smarty获得当前url的方法分享
2014/02/14 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
2015/08/06 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
python模拟Django框架实例
2016/05/17 Python
python之pandas用法大全
2018/03/13 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
python3排序的实例方法
2020/10/20 Python
致接力运动员广播稿
2014/02/17 职场文书
授权委托书格式范文
2014/08/02 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
Golang 切片(Slice)实现增删改查
2022/04/22 Golang
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL
JS class语法糖的深入剖析
2022/07/07 Javascript