python精灵列表是如何工作的?我可以将雪碧坐标添加到列表中吗?
你好,亲爱的朋友们, 在我的python项目中,我制作了一个按钮类——以及它们的图像、坐标、动作等等——一切都很好。但我想我会在游戏中添加很多按钮,所以我决定将它们添加到一个带有坐标的单pygame精灵组中,并使用for循环自动执行blitpython精灵列表是如何工作的?我可以将雪碧坐标添加到列表中吗?,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(
对于按钮列表中的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)