编辑CCTexture2D?

时间:2012-01-10 20:05:36

标签: objective-c cocos2d-iphone

如果我有CCTexture2D的实例,是不是可以修改它?比方说,旋转它?

我知道我可以简单地旋转我拥有的CCSprite。但实际上,我很好奇只是旋转纹理会影响所有引用它的CCSprit。

1 个答案:

答案 0 :(得分:1)

CCTexture2D是不可变的,它不能在运行时修改。

出于这个原因,有人创建了一个CCMutableTexture2D类,我使用了in this example project。问题当然是为了旋转纹理,您必须应用自己的旋转算法来旋转单个像素。反过来要求您调整纹理大小以适应任意旋转的纹理而不切断边缘。

为了更好地理解这一点,拿一张纸放在你面前。现在将另一张纸放在上面并开始旋转它。您会注意到旋转的纸张与未旋转的纸张不在同一矩形中。

长话短说,你想要做的事情可能会有点过头了。与在内存中移动数千个像素相比,旋转精灵更容易,计算也相当便宜,然后将纹理重新绑定到OpenGL。