Редактировать CCTexture2D? - PullRequest
       6

Редактировать CCTexture2D?

1 голос
/ 11 января 2012

Если у меня есть экземпляр CCTexture2D, нельзя ли его изменить? Как, скажем, повернуть его?

Я знаю, что могу просто вращать CCSprite, который у меня есть. Но на самом деле мне интересно только вращение текстуры, затрагивающей все CCSprites, которые к ней относятся.

1 Ответ

1 голос
/ 12 января 2012

CCTexture2D является неизменным, его нельзя изменить во время выполнения.

По этой причине кто-то создал класс CCMutableTexture2D, который я использовал в этом примере проекта . Проблема, конечно, в том, что для поворота текстуры вам придется применять собственный алгоритм поворота для поворота отдельных пикселей. Это в свою очередь потребует от вас изменения размера текстуры, чтобы она соответствовала произвольно повернутой текстуре, не обрезая края.

Чтобы лучше понять это, возьмите лист бумаги и положите его перед собой. Теперь положите другой лист бумаги сверху и начните его вращать. Вы заметите, что повернутая бумага не соответствует тому же прямоугольнику, что и необращенная бумага.

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

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