2012-01-10 3 views
1

私はCCTexture2Dのインスタンスを持っている場合、それを変更することはできませんか?例えば、それを回転させるように?CCTexture2Dを編集しますか?

私はCCSpriteを単純に回転させることができます。しかし、実際には、それを参照するすべてのCCSpritesに影響するテクスチャを回転させるだけでは不思議です。

答えて

1

CCTexture2Dは不変です。実行時に変更することはできません。

この理由から、私はin this example projectを使用したCCMutableTexture2Dクラスを作成しました。もちろん、テクスチャを回転させるには、独自の回転アルゴリズムを適用して個々のピクセルを回転させる必要があります。その代わりに、エッジを切り取らずに任意に回転したテクスチャに合わせてテクスチャのサイズを変更する必要があります。

これをよりよく理解するには、紙を手前に置き、平らにしてください。今すぐ別の紙を上に置き、回転を開始してください。回転した用紙は、回転していない用紙と同じ矩形に収まりません。

短いストーリーで、あなたがやりたいことはおそらく過度のものになるでしょう。回転するスプライトは、メモリ内の何千ものピクセルを移動させてから、OpenGLにテクスチャを再バインドするよりもはるかに簡単で計算的にはかなり安価です。

関連する問題