Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Сильно много столкновений (http://www.flasher.ru/forum/showthread.php?t=194867)

KingMaks 23.02.2013 22:06

Сильно много столкновений
 
Допустим у меня на сцене сильно много объектов одного класса и мне нужно со всеми ними проверить столкновение, можно ли проверить с одним условием, чисто на столкновение с классом? а не перебирать все объекты в цикле?

caseyryan 23.02.2013 22:56

Нельзя. По-любому нужен цикл.
Да и вообще такое понятие как "столкновение с классом" не верно. Можно проверять столкновения между экземплярами классов, а не между классами.

expl 24.02.2013 13:03

Цитата:

чисто на столкновение с классом?
ээ.. может с экземпляром класса?

Классическая задача.
Если будете перебирать все объекты и проверять каждый с каждым - получите n*n проходов, т.е. было 1000 обектов - получили 1000000 проверок.
Чтобы проверок было 1000, ну 10 000 хотя-бы нужно использовать либо сетку, либо дерево.

KingMaks 25.02.2013 03:00

Ок, спасибо, попробуем)

-De- 25.02.2013 13:58

Есть ещё простой как дверь n log(n) способ проверки на пересечения AABB: сортируем (за n log(n) ) х координаты и отдельно у координаты. Затем линейно обходим эти отсортированные массивы координат. Пусть они отсортированы по возрастанию, тогда когда встречаем меньшую границу AABB кладём этот AABB в словарь и записываем пересечение со всеми остальными AABB из словаря. Когда встречаем большу границу, то достаем AABB из словаря.


Часовой пояс GMT +4, время: 04:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.