android - 跳跃动画的问题

标签 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

最佳答案

我觉得你想要达到的效果是轻轻一触就跳起来让它完成。我会使用某种状态来做到这一点。目前,您语句中的代码仅在触摸时运行。

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

关于android - 跳跃动画的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44108581/

相关文章:

java - 基于马里奥瓷砖的横向卷轴 2d 游戏的碰撞检测

android - 使用 FFMPEG 从视频中更快地提取缩略图/图像?

java - 通过 Intent 传递 ID

java - 在 LibGDX 中保存和检索图像文件

java - libgdx 中 Sprite 会粘在相机上?

java - 如何在连接四中添加定时器? java

Android 在应用程序启动时以编程方式更改 windowBackground

android - 让安卓模拟器跑得更快

java - 将 Libgdx 桌面导出为 swf?

ios - 具有 4 位小数的 iOS 游戏计时器。我的开发团队说这是不可能的