【问题标题】:Slick2d Java reversing the moving direction of an objectSlick2d Java反转对象的移动方向
【发布时间】:2018-09-26 05:55:17
【问题描述】:

我正在使用 Java 和 slick2d 库开发这款游戏,我应该在某些移动车辆(例如:自行车)到达某个 x 坐标时反转它们的方向。 逻辑似乎很简单,但其中一些直接越过 x 坐标,而另一些则反转方向。很困惑为什么。任何帮助将不胜感激。

这是我在 update() 方法中的代码。 getX() 从超类返回 x 位置作为浮点数。 BIKE_SPEED 是一个浮点数,增量是自上一帧以来经过的毫秒数。

@Override 
    public void update(Input input, int delta) {
        if ((int)getX() == 24 || (int)getX() == 1000) {
            moveRight = !moveRight;
        }

        move(BIKE_SPEED * delta * (moveRight ? 1 : -1), 0);
    }

【问题讨论】:

  • 试试<= 24>= 1000

标签: java slick2d


【解决方案1】:

我不熟悉 slick2d,但总的来说,在这种情况下,最好使用 >=<= 而不是 ==。物体(自行车)可能会“跳”过边界,而不会触发您改变方向的条件。

【讨论】:

  • 您也可以检查头部。我的意思是:如果(x + 速度 > 限制)。这可能看起来更平滑,具体取决于您的游戏对象命中框的 x 位置。
猜你喜欢
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 2013-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
相关资源
最近更新 更多