Войти
Box2DФорумОбщее

Скорость движения актера.

#0
18:03, 7 янв. 2017

Здравствуйте.

Мне необходимо вычислить скорость движения актера, который управляется мышкой/тачем.

            @Override
            public void touchDragged(InputEvent event, float x, float y, int pointer) {
                player.setPosition(x, y);
                super.touchDragged(event, x, y, pointer);
            }

Т.е. по удержанию мышки, я могу его перемещать по сцене. Как узнать его скорость?
P.s.Если задуматься, то скорость = дистанция/время. Но мне не понятно откуда брать дистанцию и время . Помогите пожалуйста. 


#1
18:54, 7 янв. 2017

Не очень хорошо двигать персонажа меняя его координаты напрямую. Он движется не за счет скорости, а просто телепортируется с место на место. Скорость 0.

В Box2D предусмотрен MouseJoint для того, чтобы таскать объекты мышкой.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Тогда проблем с определением скорости не будет. В каждый момент времени её можно будет получить методом body.getLinearVelocity();

#2
19:09, 7 янв. 2017

Спасибо большое! То, что нужно.

#3
20:20, 7 янв. 2017

Crunkor, помнится в движке был метод симуляции 1 шага мира. Ну и в секунду этот метод вызывался сколько-то раз. В этот метод передавался шаг~время. То есть ты сам туда передавал это, чтобы физика работала.

Box2DФорумОбщее

Тема в архиве.