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 相关文章推荐
pyside写ui界面入门示例
Jan 22 Python
Python程序设计入门(2)变量类型简介
Jun 16 Python
Python的组合模式与责任链模式编程示例
Feb 02 Python
python通过伪装头部数据抵抗反爬虫的实例
May 07 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
python实现将一个数组逆序输出的方法
Jun 25 Python
python制作mysql数据迁移脚本
Jan 01 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
python实现计算器功能
Oct 31 Python
Python实现像awk一样分割字符串
Sep 15 Python
如何使用Python调整图像大小
Sep 26 Python
详解Python自动化之文件自动化处理
Jun 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
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
PHP微信API接口类
2016/08/22 PHP
PHP实现添加购物车功能
2017/03/06 PHP
PHP中include和require的区别实例分析
2017/05/07 PHP
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
js实现楼层导航功能
2017/02/23 Javascript
基于angular实现模拟微信小程序swiper组件
2017/06/11 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
python批量解压zip文件的方法
2019/08/20 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
阿根廷票务网站:StubHub阿根廷
2018/04/13 全球购物
高中军训第一天感言
2014/03/06 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
精神文明建设标语
2014/06/16 职场文书
火锅店的活动方案
2014/08/15 职场文书
2014年工程工作总结
2014/11/25 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
2015暑假假期总结
2015/07/13 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
使用pandas模块实现数据的标准化操作
2021/05/14 Python
python 常用的异步框架汇总整理
2021/06/18 Python
React列表栏及购物车组件使用详解
2021/06/28 Javascript
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL