每當我拍攝sprite時,我都希望能夠將它從屏幕上移除,但只能在半秒後(或其他任意時間段)移除。但我不想調查睡眠等待這段時間結束。Pygame - 在一段時間後刪除/殺掉Sprite,無需輪詢
這是我來迄今:
# detect collision here - all good
collisions = pygame.sprite.groupcollide(bullets, badGuys, True, False)
for baddies in collisions.values():
for bad in baddies:
# do stuff
baddiesToRemove.appendleft(bad)
# since a collision occured set timer for that specific bad guy:
startTime = pygame.time.get_ticks()
# now after 500 milliseconds have passed, sth like that:
milis = pygame.time.get_ticks() - startTime # result in milliseconds
if (milis > 500):
badGuyToRemove = baddiesToRemove.pop()
badGuyToRemove.kill() # i want to delete the sprite
我希望上面的代碼是可以理解的。簡而言之,這將無法工作,除非我在中間插入sleep()
以等待一段時間,然後刪除精靈。當然,這不是一個選項,因爲整個程序會凍結那段時間。我曾想過創建一個線程來處理這個計時器? pygame/python中可以有更好的選項嗎?有什麼建議嗎?提前致謝。