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