【发布时间】:2018-06-30 13:52:39
【问题描述】:
我对我的 Flappy Bird 克隆很感兴趣。如果你不知道这个游戏,当小鸟飞起来时会有一个动画发生。
以下是我尝试制作动画的大致思路: self.x 和 self.y 指的是照片的位置
这是我的代码:
def move_up_animation(self):
#list of bird photos to animate
animation_list = ['1.tiff','2.tiff','3.tiff','4.tiff','5.tiff']
for i in range(len(animation_list)):
if self.y - 1 > 0: # checks if the bird is within the frame
self.y = self.y - 1 #changes the bird's, allowing the bird to fly up
self.image = pygame.image.load(animation[i])
self.display_image()
我尝试了 time.sleep(1) 但它不起作用。
我不知道这段代码是如何工作的:
for i in range(5):
print(i)
time.sleep(1)
【问题讨论】:
-
您无法使用
for loop和time.sleep执行此操作。您必须将第一张图像放在屏幕上,然后 mainloop 必须进行一个循环并返回给您将第二张图像放在屏幕上的功能。然后 mainloop 必须进行另一个循环并返回给您将第三个图像放在屏幕上的函数,等等。 -
不要再使用
time.sleep了。 -
考虑使用让你的鸟成为精灵。 (sprite tutorial)
-
每个游戏帧都会将小鸟精灵更改为下一个动画帧。