如果我有CCTexture2D的实例,是不是可以修改它?比方说,旋转它?
我知道我可以简单地旋转我拥有的CCSprite。但实际上,我很好奇只是旋转纹理会影响所有引用它的CCSprit。
答案 0 :(得分:1)
CCTexture2D是不可变的,它不能在运行时修改。
出于这个原因,有人创建了一个CCMutableTexture2D类,我使用了in this example project。问题当然是为了旋转纹理,您必须应用自己的旋转算法来旋转单个像素。反过来要求您调整纹理大小以适应任意旋转的纹理而不切断边缘。
为了更好地理解这一点,拿一张纸放在你面前。现在将另一张纸放在上面并开始旋转它。您会注意到旋转的纸张与未旋转的纸张不在同一矩形中。
长话短说,你想要做的事情可能会有点过头了。与在内存中移动数千个像素相比,旋转精灵更容易,计算也相当便宜,然后将纹理重新绑定到OpenGL。