我正在编写一个简单的2D Java游戏,并且我有一个动画,一个人从站立开始,到用户移动他时跑步。当用户释放箭头键时,动画将重置为站立状态。
问题是,当这个家伙开始跑步并开始前几帧时,在他移动很远之前他的后腿已经落后于他最初站立的位置。这让他看起来像是在滑倒"他迈出了一步。我的意思是,不是他的身体向前移动,好像这个台阶是在地上种植的,下一帧显示他的脚步在他身后,他没有移动相当数量。
我不确定解决方案,因为我是新手,但我有3种可能性。
A)播放每帧显示的时间和/或速度的时间(现在是不变的,也许它应该以某种方式变化)?
B)在我目前拥有的5或6帧之间添加更多帧?这样他的腿一直回来的时候他会走得更远吗?
C)为每个框架添加一些偏移量以假装他的腿被种植在地上(我担心这里的动画看起来不会那么光滑)
有什么建议吗?
由于
答案 0 :(得分:0)
我认为你已经涵盖了你问题中的所有选项。
如果你无法改变速度以达到令人满意的程度,你必须改变动画中的帧数,以便每个人移动'角色具有相同数量的像素(然后试验速度),或者每个动画必须有一个值数组,动画中每帧一个值。随着动画的进展,您将使用这些来改变x值。