2D вектор математика с направлением и скоростью - PullRequest
1 голос
/ 05 сентября 2011

Heyo!

Я начинаю создавать игры на iOS и пытаюсь запустить Breakout-клон. В качестве практики я хотел, чтобы шар отскакивал в прямоугольник, поэтому я обхожу голову вокруг простого столкновения, направления и скорости.

Мой мяч получил следующее:

Point position; // x, y
float direction;
float velocity;

В моей функции «обновления» я хочу переместить шар в текущем направлении. Какая следующая позиция, учитывая скорость и направление?

Есть ли какие-нибудь помощники в некоторых встроенных фреймворках в iOS?

Мне бы очень хотелось узнать больше о 2D-математике, поэтому, если у кого-то есть какие-то ресурсы, я буду очень признателен, если вы отправите мне ссылку.

Ответы [ 2 ]

4 голосов
/ 05 сентября 2011

Какая следующая позиция, учитывая скорость и направление?

Обратите внимание, что скорость уже имеет направление;это вектор

Учитывая, что ваша новая позиция:

position = CGPointMake(position.x + velocity.x, position.y + velocity.y)

Сделайте скорость CGPoint и сделайте ваше направление переменной избыточным.

0 голосов
/ 05 сентября 2011

Преобразование направления и скорости в вектор, масштабирование его для времени, а затем добавление его к текущей позиции с учетом препятствий, встречающихся на пути.

...