如何创建跳跃动画

时间:2014-04-17 15:18:01

标签: java

我想创建非常简单的跳跃动画 - 在用户HITS空间之后,角色跳跃(向上移动轴为400px和向下)。问题是设置跳跃限制(400px)。按空格会启动动画,让它一无变化,角色上升而不会停在400px处。

public void keyPressed(KeyEvent e)
{
    int key = e.getKeyCode();

    if(key == KeyEvent.VK_SPACE) {
        if(y > 400) {
            dy = -1;
        } else {                
            dy = 0;
        }
    }
}

y是角色的坐标,dy在actionPerformed()方法中改变y。

因此,击中低于400px的空间会将dy更改为-1并且永远不会再次为0。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你可以引入重力,重力可以是一个恒定的力向下推动你的精灵,每次更新,经过一段特定的速度加到你的Y速度的时间。然后当用户按下跳跃时,你给你的Y速度一些负值。在每次更新期间,精灵都会减慢跳跃到跳跃峰值的速度,然后在加速时开始缓慢回落。这里的技巧是选择足够大的初始负Y速度以达到所需的高度。

如果您的速度是以每毫秒像素为单位指定的,那么在您的Y速度上添加大约.01到.04的重力应该是开始测试的好数字。