0

回転、スケール、skewX、skewY、positionなどのすべてのプロパティが変更されたCCSpriteがあります。

そのレイヤーを初期状態(作成時)にリセットするにはどうすればよいですか?

使ってみました

[mySprite setTransform:CGAffineTransformIdentity];

しかし、XcodeはこれがCCNode/CCSpriteに存在しないと文句を言います

ありがとう

4

2 に答える 2

2

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
于 2012-06-17T08:48:59.540 に答える
0

なぜこれをしないのですか?

mySprite.rotation = 0.0f;
mySprite.scale = 1.0f;
mySprite.skewX = 0.0f;
mySprite.skewY = 0.0f;
mySprite.position = CGPointZero;
于 2012-06-15T19:57:26.130 に答える