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 15 Python
Python实现获取网站PR及百度权重
Jan 21 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
python操作excel让工作自动化
Aug 09 Python
Python3 io文本及原始流I/O工具用法详解
Mar 23 Python
python json.dumps中文乱码问题解决
Apr 01 Python
keras绘制acc和loss曲线图实例
Jun 15 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
Apr 21 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 file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
PHP插入排序实现代码
2013/04/04 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
PHP可变变量学习小结
2015/11/29 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
Javascript与flash交互通信基础教程
2008/08/07 Javascript
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
2015/08/21 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
Python实现批量转换文件编码的方法
2015/07/28 Python
pandas多级分组实现排序的方法
2018/04/20 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
Python 中的lambda函数介绍
2018/10/10 Python
浅谈python的dataframe与series的创建方法
2018/11/12 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
Python 实现微信自动回复的方法
2020/09/11 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
《手指教学》反思
2014/02/14 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
工作岗位职责范本
2015/02/15 职场文书
世界文化遗产导游词
2019/08/07 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python