Qt 二维人物行走动画
实现了一下,感觉有两个关键点:
1.首先是人物的逻辑控制方面,人物一种动作有一连串的图片,但是一旦松开按键后,不对状态进行记录并锁定按键输入的话人物的动作可能会停在动画序列中某一帧,而不是应有的停止状态。因为我的动作只有4张图,所以我没有锁定按键输入,只是简单的根据是否为stop状态绘制上一个动作序列图的最后一个。这让我想到有些游戏里人物加速行走时如果停下来还会有一段“刹车”动作,这个期间不接受方向控制,应该就是通过增加一个break状态,直到刹车序列播放完了才解除按键锁定。
2.不像3D渲染,不是帧数越高就越好,因为序列图就那么多,如果每帧都绘制其中一张的话,帧数高人物动作也会很快(疯狂状态?),因此应该根据动作序列图的张数来控制帧数,同时人物移动速度和帧数也相关,因为帧数不够的情况下人物移动速度很快的话就会出现抖动的感觉,看起来很不连贯。