Каков наилучший способ эффективного обнаружения столкновений между телами? - PullRequest
0 голосов
/ 21 сентября 2011

Я новичок в Cocos2d, Box2d и разработке игр все вместе, но я прочитал много уроков, чтобы хотя бы хорошо начать игру, настроенную и работающую ...

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

Здравый смысл подсказывает мне, что чем больше телЯ добавляю, и больше случаев, когда я добавляю проверку, чтобы увидеть, сталкивается ли, например, fixture1 с fixture2, в какой-то момент перегружает процессор.

Существуют ли передовые практики и / или эффективные алгоритмы, чтобы сделать эти проверки болееэффективно со временем, как растет количество тел?

Любые ссылки или направления будут оценены!спасибо!

Ответы [ 2 ]

0 голосов
/ 28 сентября 2013

Начиная с iOS 7, вы можете использовать Sprite Kit для обработки коллизий:

https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Physics/Physics.html#//apple_ref/doc/uid/TP40013043-CH6-SW14

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

Вы можете использовать QuadTree, чтобы разделить сцену и получить список тел, которые необходимо проверить.(Есть много статей, показывающих, как работает QuadTree, просто Google: D)

И если это немного сложно для вас.Затем вы можете попытаться разделить вашу сцену на множество сеток и сделать цикл, чтобы поместить тела в их сетку, основываясь на их 2-й позиции.Затем просто проверьте тела в каждой сетке.Это намного быстрее, чем обычный цикл.

http://i.stack.imgur.com/W5cBT.png

...