Python Pygame精灵计时器
我需要制作一个精灵列表,每个精灵都应该有一个计时器,这样它就可以自己执行一个动作(比如每10秒拍摄一次)。但是它们将在不同的时间被创建并添加新的,所以每个都应该有自己的计时器。 我知道如何制作精灵列表,但我不知道如何在每个精灵上附加计时器或类似的东西。Python Pygame精灵计时器,python,pygame,Python,Pygame,我需要制作一个精灵列表,每个精灵都应该有一个计时器,这样它就可以自己执行一个动作(比如每10秒拍摄一次)。但是它们将在不同的时间被创建并添加新的,所以每个都应该有自己的计时器。 我知道如何制作精灵列表,但我不知道如何在每个精灵上附加计时器或类似的东西。 有人能帮我吗?您可以将计时器添加为精灵的属性: class Sprite: def __init__(self, ...): self.timer = pygame.Clock() # ... #
有人能帮我吗?您可以将计时器添加为精灵的属性:
class Sprite:
def __init__(self, ...):
self.timer = pygame.Clock()
# ...
# ...
或(确保没有已调用的成员<代码>计时器代码>):
或者,您可以将列表更改为元组列表,其中包含精灵和计时器:
sprites = [(sprite, pygame.Clock()) for sprite in sprites]
这将创建一个具有以下格式的列表:
[(sprite, timer), (sprite, timer), ...]
然后,您可以访问精灵和计时器:
sprite = sprites[0][0] # first sprite
timer = sprites[0][1] # first timer
或:
您还可以拥有一个{sprite:timer}
字典,然后使用sprite\u to\u timer[sprite]
访问sprite的计时器
注意:用您想要使用的计时器替换
pygame.Clock
您可以将计时器添加为精灵的属性:
class Sprite:
def __init__(self, ...):
self.timer = pygame.Clock()
# ...
# ...
或(确保没有已调用的成员<代码>计时器代码>):
或者,您可以将列表更改为元组列表,其中包含精灵和计时器:
sprites = [(sprite, pygame.Clock()) for sprite in sprites]
这将创建一个具有以下格式的列表:
[(sprite, timer), (sprite, timer), ...]
然后,您可以访问精灵和计时器:
sprite = sprites[0][0] # first sprite
timer = sprites[0][1] # first timer
或:
您还可以拥有一个{sprite:timer}
字典,然后使用sprite\u to\u timer[sprite]
访问sprite的计时器
注意:用您想要使用的计时器替换
pygame.Clock
您可以将计时器添加为精灵的属性:
class Sprite:
def __init__(self, ...):
self.timer = pygame.Clock()
# ...
# ...
或(确保没有已调用的成员<代码>计时器代码>):
或者,您可以将列表更改为元组列表,其中包含精灵和计时器:
sprites = [(sprite, pygame.Clock()) for sprite in sprites]
这将创建一个具有以下格式的列表:
[(sprite, timer), (sprite, timer), ...]
然后,您可以访问精灵和计时器:
sprite = sprites[0][0] # first sprite
timer = sprites[0][1] # first timer
或:
您还可以拥有一个{sprite:timer}
字典,然后使用sprite\u to\u timer[sprite]
访问sprite的计时器
注意:用您想要使用的计时器替换
pygame.Clock
您可以将计时器添加为精灵的属性:
class Sprite:
def __init__(self, ...):
self.timer = pygame.Clock()
# ...
# ...
或(确保没有已调用的成员<代码>计时器代码>):
或者,您可以将列表更改为元组列表,其中包含精灵和计时器:
sprites = [(sprite, pygame.Clock()) for sprite in sprites]
这将创建一个具有以下格式的列表:
[(sprite, timer), (sprite, timer), ...]
然后,您可以访问精灵和计时器:
sprite = sprites[0][0] # first sprite
timer = sprites[0][1] # first timer
或:
您还可以拥有一个{sprite:timer}
字典,然后使用sprite\u to\u timer[sprite]
访问sprite的计时器
注意:用您想要使用的计时器替换pygame.Clock