Slick2d Java изменяет направление движения объекта - PullRequest
0 голосов
/ 26 сентября 2018

Я работаю над этой игрой, используя Java и библиотеку slick2d, и я должен изменить направление движения некоторых транспортных средств (например, велосипедов), когда они достигают определенной x-координаты.Логика кажется достаточно простой, но некоторые из них движутся прямо за координатой X, а некоторые меняют направление.Запутался, почему.Любая помощь будет оценена.

Вот мой код в методе update ().getX () возвращает местоположение x из суперкласса как float.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 голосов
/ 26 сентября 2018

Я не знаком с slick2d, но в целом лучше использовать >= или <= вместо == в подобных случаях.Объект (велосипед) может «прыгнуть» прямо за границы, не вызывая условия смены направления.

...