通过对一些代码进行微调,使得字符图像可以根据其方向和上下左右输入移动,我将它们组合起来了:(希望代码不会太乱)
精灵表只能按长度运行,因此每个精灵部分基本上都是不同的动作。现在是否有一种方法可以使用当前代码循环从设置的“动作”中向下运行,以制作动画?
例如: “向左跑”是精灵3。那么在我们指定该列之后,是否可能循环下跑步动画的帧数(假设为4),以制作动画?
通过对一些代码进行微调,使得字符图像可以根据其方向和上下左右输入移动,我将它们组合起来了:(希望代码不会太乱)
精灵表只能按长度运行,因此每个精灵部分基本上都是不同的动作。现在是否有一种方法可以使用当前代码循环从设置的“动作”中向下运行,以制作动画?
例如: “向左跑”是精灵3。那么在我们指定该列之后,是否可能循环下跑步动画的帧数(假设为4),以制作动画?
我相信这很容易。
如果您将帧编号记录在变量中,可以使用该变量对帧数取模,以获取要显示的动画帧编号。
frame_count = 0
animation_frames = 4
while quit == False:
# ...
# snip
# ...
area = pygame.Rect(
image_number * 100,
(frame_count % animation_frames) * 150,
100,
150
)
display.blit(sprite, sprite_pos, area)
pygame.display.flip()
frame_count += 1
area = pygame.Rect(
image_number * 100,
((frame_count - action_start_frame) % animation_frames) * 150,
100,
150
)