Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python精灵列表是如何工作的?我可以将雪碧坐标添加到列表中吗?_Python_Python 3.x_Pygame_Pygame Surface - Fatal编程技术网

python精灵列表是如何工作的?我可以将雪碧坐标添加到列表中吗?

python精灵列表是如何工作的?我可以将雪碧坐标添加到列表中吗?,python,python-3.x,pygame,pygame-surface,Python,Python 3.x,Pygame,Pygame Surface,你好,亲爱的朋友们, 在我的python项目中,我制作了一个按钮类——以及它们的图像、坐标、动作等等——一切都很好。但我想我会在游戏中添加很多按钮,所以我决定将它们添加到一个带有坐标的单pygame精灵组中,并使用for循环自动执行blit 对于按钮列表中的oge: pygame.blit(oge,(x,y) 有没有一种方法可以将精灵及其坐标添加到组或列表中,以便将它们全部显示在一起?简短回答: 如果每个精灵都有一个属性.rect和.image,则可以调用: buttonList.draw(

你好,亲爱的朋友们, 在我的python项目中,我制作了一个按钮类——以及它们的图像、坐标、动作等等——一切都很好。但我想我会在游戏中添加很多按钮,所以我决定将它们添加到一个带有坐标的单pygame精灵组中,并使用for循环自动执行blit


对于按钮列表中的oge:
pygame.blit(oge,(x,y)
有没有一种方法可以将精灵及其坐标添加到组或列表中,以便将它们全部显示在一起?

简短回答:

如果每个精灵都有一个属性
.rect
.image
,则可以调用:

buttonList.draw(冲浪)

长答覆:

对象应具有类型为的
.rect
属性。此属性定义精灵的位置(和大小)

在下文中,我假设
按钮列表
是一个。
shuold组中的每个精灵都有一个
.rect
属性,用于在其位置绘制精灵,例如:

classmysprite(pygame.sprite.sprite):
定义初始化(自):
super()。\uuuu init\uuuuu()
self.image=[…]
self.rect=self.image.get_rect()
组中的所有精灵都可以通过调用绘制。参数
surf
可以是任何曲面,例如显示曲面:

buttonList.draw(冲浪)
请注意,
pygame.sprite.Group
的方法将包含的精灵绘制到曲面上。每个精灵的
.image
.rect
位置为“blit”

pygame.Rect
有许多虚拟属性,用于设置其位置(和大小),例如
.center
.topleft
。使用它们设置精灵的位置:

mysprite=mysprite()
mysprite.rect.topleft=(x,y)
当然,位置
(x,y)
也可以是sprite类的构造函数的参数:

classmysprite(pygame.sprite.sprite):
定义初始化(self,x,y):
super()。\uuuu init\uuuuu()
self.image=[…]
self.rect=self.image.get_rect(左上=(x,y))
mysprite=mysprite(x,y)
简短回答:

如果每个精灵都有一个属性
.rect
.image
,则可以调用:

buttonList.draw(冲浪)

长答覆:

对象应具有类型为的
.rect
属性。此属性定义精灵的位置(和大小)

在下文中,我假设
按钮列表
是一个。
shuold组中的每个精灵都有一个
.rect
属性,用于在其位置绘制精灵,例如:

classmysprite(pygame.sprite.sprite):
定义初始化(自):
super()。\uuuu init\uuuuu()
self.image=[…]
self.rect=self.image.get_rect()
组中的所有精灵都可以通过调用绘制。参数
surf
可以是任何曲面,例如显示曲面:

buttonList.draw(冲浪)
请注意,
pygame.sprite.Group
的方法将包含的精灵绘制到曲面上。每个精灵的
.image
.rect
位置为“blit”

pygame.Rect
有许多虚拟属性,用于设置其位置(和大小),例如
.center
.topleft
。使用它们设置精灵的位置:

mysprite=mysprite()
mysprite.rect.topleft=(x,y)
当然,位置
(x,y)
也可以是sprite类的构造函数的参数:

classmysprite(pygame.sprite.sprite):
定义初始化(self,x,y):
super()。\uuuu init\uuuuu()
self.image=[…]
self.rect=self.image.get_rect(左上=(x,y))
mysprite=mysprite(x,y)