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 datetime时间格式化去掉前导0
Jul 31 Python
Python专用方法与迭代机制实例分析
Sep 15 Python
使用70行Python代码实现一个递归下降解析器的教程
Apr 17 Python
简单谈谈Python中的json与pickle
Jul 19 Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
使用pyecharts生成Echarts网页的实例
Aug 12 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
Dec 26 Python
Python模块future用法原理详解
Jan 20 Python
基于jupyter代码无法在pycharm中运行的解决方法
Apr 21 Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 Python
python 如何在list中找Topk的数值和索引
May 20 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中inlcude()性能对比详解
2012/09/16 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
PHP Swoole异步Redis客户端实现方法示例
2019/10/24 PHP
三级下拉菜单的js实现代码
2011/05/23 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
对pandas进行数据预处理的实例讲解
2018/04/20 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
如何更优雅地写python代码
2019/07/02 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Python facenet进行人脸识别测试过程解析
2019/08/16 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
网页中的电话号码如何实现一键直呼效果_附示例
2016/03/15 HTML / CSS
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
英语教育专业自荐信
2014/05/29 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers