Как узнать, когда мой спрайт сталкивается с объектом? - PullRequest
0 голосов
/ 14 апреля 2011

Извините, мой английский не очень хорош.

У меня тихий спрайт с картой, перемещающейся по оси X влево, создавая впечатление, что спрайт бежит вправо.

_tileMap runAction:[CCMoveBy actionWithDuration:80.0 position:ccp(-2000,0)]];

Моя карта тайлов установлена ​​в истинные пропорции. Разборчиво с программой "Tiled" с "Tileset> properties>" "Collidable", установленной в "True"

Положение карты мне известно всегдас _tileMap.position.x

Как узнать, когда мой спрайт сталкивается с объектом?

Спасибо !!

1 Ответ

1 голос
/ 03 мая 2011

Cocos2D не сделает этого за вас, вам нужно самостоятельно вычислять любые столкновения.

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

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

Более простой подход может состоять в том, чтобы использовать Box2D или другую 2D физическую систему и определять формы столкновений для ваших спрайтов, тогда вы можете получить обратные вызовы, когда столкновение произойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...