PDA

Просмотр полной версии : Столкновение объектов


Demonstr
24.11.2013, 16:58
Ребят выручайте

Есть класс Bot и есть класс Bullet. В каждом классе создаются соответсующие объекты. Вопрос: Как организовать проверку на столкновение?

Dukobpa3
24.11.2013, 17:28
Я бы математикой делал. Расстояние между объектами == 0. Если объекты сложной формы - делаем как в любом шутере - хиттест-маска - правильной, удобной для расчетов формы, и по ней считаем. Удобная для расчетов форма - круг.
Если физ-движок - то там есть для этого механизмы свои, в зависимости от движка.
Можно навелосипедить через хиттест, но это будет не очень производительно.

shmaser
25.11.2013, 00:38
Demonstr, в зависимости от того, чем представлены bot и bullet. Если AABB (ограничивающие прямоугольники со сторонами, параллельными осям координат), то, если на каждой оси расстояние между центрами прямоугольников по модулю меньше суммы их полуширин - засчитываем столкновение. Верно для случая, когда скорость пуль не велика, т.к. на больших скоростях пули могут проскакивать сквозь бота. В этом случае можно выполнять проверку чаще, т.е. разбить расстояние пройденное пулей на несколько интервалов.