python使用pygame创建精灵Sprite

  • 更新时间:2022-09-14 08:55:55
  • 编辑:逢景胜

一 、精灵(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有如下定位属性:

    其中,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中一切都可以看做对象,这里有两种类型判断函数,分别是type()和isinstance(),所有的基本类型都可以使用type()进行判断,但是对于一些继承关系而言,使用isinstance()函数更好一些。

    发布时间:2020-01-27

  • python选取特定列 如何使用pandas的 iloc,loc,icol(列切片及行切片)

    今天小编就为大家分享一篇python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    发布时间:2020-01-09

  • 分享Python输出由1,2,3,4组成的互不相同且无重复的三位数代码

    这篇文章主要介绍了Python输出由1,2,3,4组成的互不相同且无重复的三位数,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

    发布时间:2020-02-04

  • Python调用C# Com dll组件的方法详解

    下面小编就为大家带来一篇Python调用C# Com dll组件实战教程。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    发布时间:2020-01-05

  • python flask 多对多表查询功能

    给网友朋友们带来一篇关于python的教程,我们在flask的学习中,会难免遇到多对多表的查询,今天我也遇到了这个问题。下面把我的思路分享到脚本之家平台,供大家参考

    发布时间:2022-09-06

  • Python3列表、数组、矩阵的相互转换方法

    这篇文章主要介绍了Python3 列表,数组,矩阵的相互转换的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学

    发布时间:2019-11-26

  • 3个用于数据科学的Python库整理

    今天小编就为大家分享一篇关于3个用于数据科学的顶级Python库,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    发布时间:2020-01-07

  • python中read、readline、readlines三者间的区别及用法

    下面小编就为大家带来一篇详谈python read readline readlines的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    发布时间:2020-03-09

  • python解包裹传递是什么

    python解包裹传递的介绍:1、调用函数时,函数接收的实际参数为元组或字典类型时,可以使用“*”和“**”来解除函数参数的包裹。2、将实际参数分为多个值,并根据位置传递方式或关键词传递方式将值传递给各值。

    发布时间:2021-06-15

  • Python爬取13个旅游城市数据的实操方法

    这篇文章主要介绍了Python 爬取13个旅游城市,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2019-11-23

用户留言