Слой маски Cocos2d (освещение карты) - PullRequest
2 голосов
/ 13 ноября 2011

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

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

Я не смог найти никакой документации о том, как добавить маски ко всему слою, это возможно? Или это плохая практика? Или вы можете придумать лучший способ достижения этого эффекта?

1 Ответ

1 голос
/ 14 ноября 2011

Самое простое и эффективное решение - изменить свойство цвета плитки. По умолчанию все узлы имеют цвет «белый», и применяя серые цвета между черным и белым, вы сможете контролировать яркость плитки.

Обратите внимание, однако, что когда вы обрабатываете плитку как CCSprite, cocos2d изменит плитку из ее базовой реализации и изменит ее на CCSprite. Это может стать проблемой производительности и / или памяти. Каждый экземпляр CCSprite занимал 420 байт, когда я в последний раз проверял cocos2d 0,99.

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