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多线程学习资料
Dec 19 Python
python实现的jpg格式图片修复代码
Apr 21 Python
Python实现复杂对象转JSON的方法示例
Jun 22 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
python 定义给定初值或长度的list方法
Jun 23 Python
Python格式化日期时间操作示例
Jun 28 Python
Python Selenium 之关闭窗口close与quit的方法
Feb 13 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
在Django下创建项目以及设置settings.py教程
Dec 03 Python
python实现控制台输出颜色
Mar 02 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
PHPMailer 中文使用说明小结
2010/01/22 PHP
php 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
php连接数据库代码应用分析
2011/05/29 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
php实现mysql事务处理的方法
2014/12/25 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
浅谈js数据类型判断与数组判断
2016/08/29 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
Vue 中mixin 的用法详解
2018/04/23 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
python使用str & repr转换字符串
2016/10/13 Python
python 容器总结整理
2017/04/04 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
vivo智能手机官方商城:vivo
2016/09/22 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
小学班主任培训方案
2014/06/04 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏