我想爆炸立即发生或很快发生。有没有一种方法可以加快圆的形成或显示每个圆的形成,而不是全部形成20个然后显示呢?
我尝试问过很多人,我的老师,youtube,并在玩pygame.display.update()的位置
def explosion(x,y):
explode = True
while explode:
startpoint = x,y
colorchoice = [red,yellow,black,white]
magnitude = 1
while magnitude < 20:
boom_bit_x = x + random.randrange(-1*magnitude,magnitude)
boom_bit_y = y + random.randrange(-1*magnitude,magnitude)
pygame.draw.circle(screen,colorchoice[random.randrange(0,4)],(boom_bit_x, boom_bit_y),random.randrange(4,7))
magnitude += 1
pygame.display.update()
explode = False
答案 0 :(得分:0)
您必须处理应用程序循环中的事件。分别见pygame.event.get()
pygame.event.pump()
:
对于游戏的每一帧,您都需要对事件队列进行某种调用。这可确保您的程序可以在内部与操作系统的其余部分进行交互。
def explosion(x,y):
explode = True
while explode:
startpoint = x,y
colorchoice = [red,yellow,black,white]
magnitude = 1
while magnitude < 20:
pygame.event.pump()
boom_bit_x = x + random.randrange(-1*magnitude,magnitude)
boom_bit_y = y + random.randrange(-1*magnitude,magnitude)
pygame.draw.circle(screen,colorchoice[random.randrange(0,4)],(boom_bit_x, boom_bit_y),random.randrange(4,7))
magnitude += 1
pygame.display.update()
explode = False