事件ID和pygame.time.set_timer

时间:2016-03-24 15:54:24

标签: python python-2.7 pygame rect

我试图用pygame制作一个简单的基本程序。我试图做的其中一件事就是在6秒内在屏幕上随机创建一个随机大小的矩形。 我对这一切都很陌生,我也是python 2.7的新手(我在课堂上学习了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相关的函数

1 个答案:

答案 0 :(得分:0)

您需要检查事件,例如按下按钮。首先,您需要对按下任何按钮进行pygame检查:

keystate = pygame.key.get_pressed()

然后你需要把它放在你的代码中,以便你的计时器中有一个事件:

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

这至少是我认为应该发生的事情,就像我使用空格按钮的例子一样。 我希望它适合你!