Обнаружение столкновения пикселей? - PullRequest
1 голос
/ 02 октября 2011

В моем приложении у меня есть куча CCSprites, и я хочу иметь функцию обнаружения столкновений, которая будет работать только при столкновении непрозрачных пикселей в CCSprites. Я не хочу ограничиваться цветом между сталкивающимися спрайтами. Я думаю, что именно этим занимается ветка Pixel Perfect Collision Detection на форуме Cocos2D, но я хочу использовать любой цвет для реального столкновения. Это обнаружение столкновений будет в моем игровом цикле, поэтому оно не может быть слишком дорогим. В любом случае, у кого-нибудь есть идеи, как я могу это сделать? Я готов использовать Cocos2D, Box2D или Chipmunk или даже UIKit, если он может это сделать.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 02 октября 2011

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

Либо напишите более простое средство визуализации, которое непозволяет такие сложные преобразования, сглаживание или субпиксельное размещение или использовать фактический графический процессор для рендеринга некоторой маски столкновения.Проблема с этим на GPU заключается в том, что отправлять данные на GPU быстро и дорого их возвращать.Есть причина, по которой этот метод довольно необычен.

Автоматическая геометрия Chipmunk Pro поддерживает преобразование изображений различных разновидностей в формы столкновения, но пока не завершена.

1 голос
/ 24 октября 2011

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

...