事件 ID 和 pygame.time.set_timer

event IDs and pygame.time.set_timer

我正在尝试用 pygame 制作一个简单的基本程序。我试图让它做的一件事是在 6 秒内在屏幕上的某个随机位置创建一个随机大小的矩形。 我对所有这些都很陌生,而且我对 python 2.7 也很陌生(我在 class 学习 3.5)

到目前为止我有:

mob2_spawn = 0

def create_mob():
    mob2 = pygame.Rect(random.randint(0,800), random.randint(0,600), random.randint(20,60), random.randint(30,50))
    pygame.draw.rect(window_surface, mob_color, mob2)
    pygame.display.update()
    mob2_spawn = 1

if mob_spawn == 0:
    pygame.time.set_timer(25,6000)
    mob2_spawn = 1

如何将事件 ID 附加到某物?我知道 pygame.time.set_timer 中的第一个变量是事件 ID,应该是 25 到 32 之间的整数。本质上,计时器应该 运行 每 X 毫秒与该事件 ID 关联的函数正确

您需要检查事件,例如按下按钮。首先,您需要 pygame 检查是否按下了任何按钮:

keystate = pygame.key.get_pressed()

然后你需要把这个放在你的代码中,这样你的计时器就有一个事件:

pygame.time.set_timer(keystate[pygame.K_SPACE], (25, 6000))

这至少是我认为应该发生的事情,顺便说一句,我正在使用带有 space 按钮的示例。 希望对你有用!