所以,我有一个问题,我没有完全理解需要给定时器命令的事件,它并没有说在任何地方在线,我在哪里搜索了几个小时。所以我只是使用了大多数人似乎在使用'USEREVENT + 1'。我不确定它是否正确,但我的计时器不工作。我是否正确使用它?这里是我的代码:pygame.time.set_timer混淆?
nyansecond=462346
nyanint=0
spin=0
aftin=452345
def nyanmusic(nyansecond,nyanint,spin):
if nyanint == 0:
nyansound.play()
nyanint= 1
elif nyanint == 1:
nyansecond = pygame.time.set_timer(USEREVENT+1,7000)
if nyansecond < 200 and spin == 1:
spin = 0
nyansecond = pygame.time.set_timer(USEREVENT+1,7000)
elif nyansecond > 6500 and nyansecond < 100000 and spin == 0:
spin = 1
nyansoundm.play()
return nyansecond,nyanint,spin
然后我将它在我实现的第二页(它工作正常)中定义为我的代码。它运行nyansound,但在6.5秒(6500毫秒)后不运行nyansoundm。我正在制作这个程序来帮助我学习python和pygame的基础知识,然后再转向更复杂的东西。当我想要听尼安猫或其他循环歌曲时,我也可以使用它,而无需在YouTube上播放并浪费宝贵的带宽。不过,不要担心。
哦,这里是我已经把我的循环的代码,但我不认为这都不算什么:
#music
nyansecond,nyanint,spin = nyanmusic(nyansecond,nyanint,spin)
谢谢!这完全奏效。我完全误解了计时器:D。对不起,我不使用事件D :.不幸的是,我遇到了一个新问题。我的循环有时候,因为我在一台相当慢的PC上,不会在定时器耗尽的同时运行'pygame.event.get(PLAYSOUNDEVENT)'并导致事件发生。有没有办法解决这个问题,或者这是一个无法解决的问题? – Bluetiger6001 2013-02-24 22:06:21
好的,我把它作为我的答案,我会赞成它,但我刚刚加入该网站,并没有足够的声誉。当我得到足够的时候,我会挑战你的回答。谢谢:) – Bluetiger6001 2013-02-24 22:20:54
Upvoted :)谢谢你的好回答 – Bluetiger6001 2013-02-25 20:46:26