回転、スケール、skewX、skewY、positionなどのすべてのプロパティが変更されたCCSpriteがあります。
そのレイヤーを初期状態(作成時)にリセットするにはどうすればよいですか?
使ってみました
[mySprite setTransform:CGAffineTransformIdentity];
しかし、XcodeはこれがCCNode/CCSpriteに存在しないと文句を言います
ありがとう
回転、スケール、skewX、skewY、positionなどのすべてのプロパティが変更されたCCSpriteがあります。
そのレイヤーを初期状態(作成時)にリセットするにはどうすればよいですか?
使ってみました
[mySprite setTransform:CGAffineTransformIdentity];
しかし、XcodeはこれがCCNode/CCSpriteに存在しないと文句を言います
ありがとう
Steffenのコードを取得してカテゴリにラップすると、resetTransform
すべてのノードでメソッドを効果的に使用できるようになります。
@interface CCNode (ResetTransform)
-(void) resetTransform;
@end
@implementation CCNode (ResetTransform)
-(void) resetTransform
{
self.rotation = 0.0f;
self.scale = 1.0f;
self.skewX = 0.0f;
self.skewY = 0.0f;
self.position = CGPointZero;
}
@end
なぜこれをしないのですか?
mySprite.rotation = 0.0f;
mySprite.scale = 1.0f;
mySprite.skewX = 0.0f;
mySprite.skewY = 0.0f;
mySprite.position = CGPointZero;