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映射拆分操作符用法实例
May 19 Python
关于numpy中np.nonzero()函数用法的详解
Feb 07 Python
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
python和ruby,我选谁?
Sep 13 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
python虚拟环境的安装配置图文教程
Oct 20 Python
python实现自主查询实时天气
Jun 22 Python
python 单线程和异步协程工作方式解析
Sep 28 Python
用Python去除图像的黑色或白色背景实例
Dec 12 Python
Python生成器generator原理及用法解析
Jul 20 Python
python操作链表的示例代码
Sep 27 Python
python中的class_static的@classmethod的巧妙用法
Jun 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
3种平台下安装php4经验点滴
2006/10/09 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
Python的函数的一些高阶特性
2015/04/27 Python
深入理解python对json的操作总结
2017/01/05 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
Django中信号signals的简单使用方法
2019/07/04 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
华为python面试题
2016/05/03 面试题
介绍一下UNIX启动过程
2013/11/14 面试题
手机促销活动方案
2014/02/05 职场文书
商务英语广告词大全
2014/03/18 职场文书
融资租赁计划书
2014/04/29 职场文书
励志演讲稿800字
2014/08/21 职场文书