"Скошенные" фигуры с cocos2d - PullRequest
0 голосов
/ 29 января 2010

Я бы хотел нарисовать 2d фигуры в приложении для iPhone:

альтернативный текст http://www.shaggyfrog.com/junk/beveled-circle.jpg

Я задал похожий вопрос здесь , чтобы посмотреть, смогу ли я сделать это легко с Кварцем, но не нашел решения. Поэтому я подумал, что смогу использовать существующую 2d библиотеку, а потом подумал о cocos2d.

Цель состоит в том, чтобы динамически рисовать такие виды скошенных фигур, то есть с использованием произвольных цветов и, возможно, с выделением / скосом, нарисованным в произвольной позиции.

Возможно ли это с cocos2d?

Ответы [ 2 ]

2 голосов
/ 04 февраля 2010

Насколько мне известно о cocos2d, cocos2d не позволит вам сделать это каким-либо иным способом, чем OpenGL. Cocos2d использует OpenGL под капотом. В Cocos2d нет встроенного набора для создания такой графики.

Поскольку скос используется для создания 3D-эффекта, возможно, вам стоит не смотреть на его симуляцию с помощью 2D-рисования, а вместо этого использовать библиотеку 3D-рисунков? OpenGL наверняка сможет рисовать такие фигуры. Cocos2d фокусируется на 2D-графике вместо 3D.

Я не уверен, разрешит ли Cocos2D пользовательский объект для рисования 3D с использованием базового механизма OpenGL. Я никогда не пробовал.

Не проще ли создать изображение в фотошопе и динамически регулировать цвета? Я не уверен, что вы пытаетесь сделать.
Вы также можете создать форму маски с прозрачным «эффектом скоса» и масштабировать ее так, чтобы вместе с изображением вам нужно было сиять?

1 голос
/ 12 июня 2010

Помимо эффекта скоса, если вы хотите «раскрасить» каждый полукруг, вы можете использовать [sprite setColor:] или sprite.color = ccc3 (r, g, b )

CCSprite *sprite = [CCSprite spriteWithSpriteSheet:sheet rect:CGRectMake(32 * idx,0,128,32)];
[sprite setColor:ccc3(CCRANDOM_0_1()*255,CCRANDOM_0_1()*255,CCRANDOM_0_1()*255)];

Вы бы создали "белый полукруг" со скошенными (серыми) краями. Тогда вы можете сделать спрайты и раскрасить каждого отдельно.

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