2014-02-01 9 views
1

Я пытаюсь сделать игру pong (моя математика очень плохая, и я работаю над ней) и пытаюсь сделать часть прыгающего шара.Как я могу найти угол отражающей линии?

Я пытаюсь вычислить вне идя (отражающий) ангел мяча после удара стены или педалей (стены всегда горизонтальны и педали всегда по вертикали)

Вот изображение, чтобы продемонстрировать, что лучше :

reflecting image

вот что я пытался до сих пор:

var m = (y2-y)/(x2-x); 
var angle = (Math.atan(-m)*57.2957795); 

Как никогда это не s чтобы работать.

+0

В каждом из случаев, которые вы указали, величина угла B такая же, как величина угла A. Ваш код мало смысла, поскольку вы не показали, что должны представлять переменные. –

+0

часть javascript, которую я сделал, я пытался найти наклон, а затем добавив к нему, чтобы получить противоположный наклон, а затем преобразовать его обратно в угол. –

ответ

4

Поскольку препятствия всегда вертикальны или горизонтальны, вам не нужно выполнять какие-либо вычисления угла. Если сохранить положение шара, как и (х, у), и это скорость, как (ст х, v у) вы можете в каждом кадре вычислить следующую позицию (х + у х, у + у у)

для того, чтобы отскакивать от горизонтальной границы, просто свести на нет v у, отскакивать от вертикальных границ свести на нет v х.

+0

То, как я работаю прямо сейчас, заключается в том, что мне нужно поставить угол, чтобы двигаться в определенном направлении. как я могу изменить y? –

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