0

我有一个修改了所有属性的 CCSprite:旋转、缩放、skewX、skewY、位置等。

如何将该层重置为初始状态(创建时)?

我试过用

[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 回答