Как создать CCSprite в форме многоугольника - PullRequest
1 голос
/ 05 августа 2011

Я хочу, чтобы пользователь рисовал многоугольник, а спрайт - в форме многоугольника.У меня уже есть все программирование для пользователя, чтобы создать многоугольник, так что я могу читать вершины любого нарисованного изображения.Однако мне кажется, что я могу создавать спрайты только прямоугольной формы с помощью CGRectMake.Есть ли способ создать спрайт-изображение из файла, который имеет многоугольную форму?Как CGPolyMake, где я даю ему вершины или что-то в этом роде.

Я не знаю, какую форму будет рисовать пользователь, поэтому я не могу заранее создавать многоугольные спрайты.Спасибо за любую помощь!

1 Ответ

3 голосов
/ 05 августа 2011

Cocos2D не имеет выделенного класса CCNode для этой цели. Вам нужно создать подкласс CCNode и реализовать метод draw самостоятельно. Это требует некоторых знаний об OpenGL ES.

Вам также придется триангулировать многоугольник, чтобы вы могли заполнить его заданной текстурой. Вы можете использовать этот код C ++ для этого: http://www.flipcode.com/archives/triangulate.cpp

Эта ветка на форуме cocos2d очень полезна: http://www.cocos2d -iphone.org / forum / topic / 8142

...