Python Pygame精灵计时器

Python Pygame精灵计时器,python,pygame,Python,Pygame,我需要制作一个精灵列表,每个精灵都应该有一个计时器,这样它就可以自己执行一个动作(比如每10秒拍摄一次)。但是它们将在不同的时间被创建并添加新的,所以每个都应该有自己的计时器。 我知道如何制作精灵列表,但我不知道如何在每个精灵上附加计时器或类似的东西。 有人能帮我吗?您可以将计时器添加为精灵的属性: class Sprite: def __init__(self, ...): self.timer = pygame.Clock() # ... #

我需要制作一个精灵列表,每个精灵都应该有一个计时器,这样它就可以自己执行一个动作(比如每10秒拍摄一次)。但是它们将在不同的时间被创建并添加新的,所以每个都应该有自己的计时器。 我知道如何制作精灵列表,但我不知道如何在每个精灵上附加计时器或类似的东西。
有人能帮我吗?

您可以将计时器添加为精灵的属性:

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