跳跃动画的问题

时间:2017-05-22 08:53:08

标签: android libgdx 2d-games aide-ide

我做了一个跳跃动画但是当我停止触摸屏幕时,动画停止了。

以下是代码:

    boolean touching = Gdx.input.isTouched();
    long elapsed = (System.currentTimeMillis() - startTime)%1000;

    if (touching){
        float jump = 500 * (float)Math.sin(((Math.PI*2)/1000)*(elapsed/2));
        sprite.setPosition(Gdx.graphics.getWidth()/2,jump);
    }

我停止触摸屏幕后如何完成动画制作?

这是运行代码的GIF:

enter image description here

1 个答案:

答案 0 :(得分:2)

我认为你想要达到的目标是通过一次触摸即可完成。我会用某种状态来做这件事。目前,语句中的代码仅在触摸时运行。

每当用户触摸屏幕时,您都可以将boolean jumping设置为true。然后,检查if (touching)而不是检查if (jumping)。在这里你把跳转的代码。当有人在跳跃时按下屏幕时,你不应该让它重置(除非是双跳的情况)。每当实体再次触地时,跳跃应该回到false