Как зажечь спрайт в cocos2d? - PullRequest
       21

Как зажечь спрайт в cocos2d?

2 голосов
/ 10 августа 2011

Я уже знаю, как затемнить объект CCSprite:

sprite.color = ccc3 (x, x, x); // значение x меньше 255

(Насколько я знаю, это должно быть прямое отображение функций openGL, поэтому его легко достичь.)

Но когда дело доходит до освещения, мое текущее решение - добавить еще один спрайт маски (той же формы, но белого цвета), изменив его blendFunc на {GL_SRC_ALPHA, GL_ONE} и накладывая его на цель. Помимо всех добавленных кодов, должно быть изображение маски для каждой нужной подсветки.

Есть ли способ сделать так же легко, как и затемнение?

1 Ответ

0 голосов
/ 03 августа 2012

Однако, не так просто, как setColor, в Cocos2d 2.x с поддержкой OpenGL ES 2.0 вы можете добиться этого с помощью пользовательских шейдеров.Вы можете начать здесь: http://www.raywenderlich.com/10862/how-to-create-cool-effects-with-custom-shaders-in-opengl-es-2-0-and-cocos2d-2-x

Вы также можете попробовать инвертировать более темный цвет спрайта, чтобы получить более светлый.

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