【发布时间】:2015-04-18 21:40:27
【问题描述】:
我正在尝试学习 pygame 精灵动画。我试图按照教程进行操作,一切都很好。只有一个问题我想不通。
在下面的代码中,我试图运行一个简单正方形的精灵动画。 这是精灵: https://www.dropbox.com/s/xa39gb6m3k8085c/playersprites.png
我可以让它工作,但动画太快了。我希望它更平滑一点,以便可以看到褪色效果。我看到了一些使用 clock.tick 的解决方案,但我猜这会减慢整个游戏的速度。
如何让动画变慢,同时保持窗口的通常帧速率?
下面是我的代码:
lightblue=(0,174,255)
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 300))
done = False
screen.fill(lightblue)
images=pygame.image.load('playersprites.png')
noi=16
current_image=0
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
pygame.quit()
quit()
if(current_image>noi-1):
current_image=0
else:
current_image+=1
screen.blit(images,(50,100),(current_image*32,0,32,32))
pygame.display.flip()
【问题讨论】:
-
使用您在循环中添加的整数值并检查可分性。
-
我的意思见here。
-
@malik Brahimi,谢谢它的工作
-
@malik brahimi,你能解释一下你做了什么
-
所以有一个整数用于在循环之前从零开始计数。然后我们只需使用模算术以固定间隔更新图像。
标签: python animation pygame sprite