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 私有函数的实例详解
Sep 11 Python
Python冲顶大会 快来答题!
Jan 17 Python
python opencv 图像尺寸变换方法
Apr 02 Python
Python编程中NotImplementedError的使用方法
Apr 21 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
python数值基础知识浅析
Nov 19 Python
python在不同条件下的输入与输出
Feb 13 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
Mar 19 Python
Python填充任意颜色,不同算法时间差异分析说明
May 16 Python
对Python 字典元素进行删除的方法
Jul 31 Python
Scrapy项目实战之爬取某社区用户详情
Sep 17 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 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传参之传值与传址的区别
2015/04/24 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
js脚本实现数据去重
2014/11/27 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
100行代码实现一个vue分页组功能
2018/11/06 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
python生成日历实例解析
2014/08/21 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
python字符串string的内置方法实例详解
2018/05/14 Python
使用python爬取B站千万级数据
2018/06/08 Python
Django web框架使用url path name详解
2019/04/29 Python
Python Django 命名空间模式的实现
2019/08/09 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
如何提高SQL Server的安全性
2016/07/25 面试题
介绍一下.net和Java的特点和区别
2012/09/26 面试题
医学专业个人求职自荐信格式
2013/09/23 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
汽车广告策划方案
2014/05/31 职场文书
公司外出活动方案
2014/08/14 职场文书
买卖合同协议书范本
2014/10/18 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
vue中 this.$set的使用详解
2021/11/17 Vue.js