Slick2d Java反转对象的移动方向

时间:2018-09-25 21:50:46

标签: java slick2d

我正在使用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);
    }

1 个答案:

答案 0 :(得分:0)

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