2016-03-15 2 views
-1

Я создаю игру на netbeans, и у меня есть следующий код для стрельбы из пули.Как сделать пулю выстрелом в другую сторону?

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

+0

Возможно, 'bullet.setLinearVelocity (новый Vec2 (body.getPosition(). X - 30, 2.5f)); '? – Shark

+0

Я уже пробовал использовать это значение раньше, он по-прежнему стреляет прямо вправо, но в меньшем диапазоне. – zmi

+1

@zmi. Вы можете показать свои реализации для всех ваших методов. 'setPosition',' setLinearVelocity' и так далее. Если нет, мы можем только догадываться. – user3437460

ответ

1

Я сомневаюсь, что вы хотите, чтобы скорость была связана с положением тела. то есть body.getPosition().x + 30 кажется ошибкой для меня. Так оно и должно быть просто:

bullet.setLinearVelocity(new Vec2(30, 2.5f)); 

И другой путь должен быть:

bullet.setLinearVelocity(new Vec2(-30, 2.5f)); 

Теперь 30 не может быть достаточно, как вы полагались дополнительные скорости от положения тела x, так что вам может понадобиться чтобы увеличить это.

+0

Просто подумал о том же, хорошо поймал. – Shark

+0

Спасибо за ответ, он по-прежнему стреляет только вправо. Я увеличил 30 до 70, но никаких изменений не произошло. – zmi

+0

Вы имеете в виду уменьшение до -70 да? – weston

Смежные вопросы