![]() |
Столкновение объектов
Ребят выручайте
Есть класс Bot и есть класс Bullet. В каждом классе создаются соответсующие объекты. Вопрос: Как организовать проверку на столкновение? |
Я бы математикой делал. Расстояние между объектами == 0. Если объекты сложной формы - делаем как в любом шутере - хиттест-маска - правильной, удобной для расчетов формы, и по ней считаем. Удобная для расчетов форма - круг.
Если физ-движок - то там есть для этого механизмы свои, в зависимости от движка. Можно навелосипедить через хиттест, но это будет не очень производительно. |
Demonstr, в зависимости от того, чем представлены bot и bullet. Если AABB (ограничивающие прямоугольники со сторонами, параллельными осям координат), то, если на каждой оси расстояние между центрами прямоугольников по модулю меньше суммы их полуширин - засчитываем столкновение. Верно для случая, когда скорость пуль не велика, т.к. на больших скоростях пули могут проскакивать сквозь бота. В этом случае можно выполнять проверку чаще, т.е. разбить расстояние пройденное пулей на несколько интервалов.
|
| Часовой пояс GMT +4, время: 10:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.