我有一个修改了所有属性的 CCSprite:旋转、缩放、skewX、skewY、位置等。
如何将该层重置为初始状态(创建时)?
我试过用
[mySprite setTransform:CGAffineTransformIdentity];
但 Xcode 抱怨这在 CCNode/CCSprite 中不存在
谢谢
我有一个修改了所有属性的 CCSprite:旋转、缩放、skewX、skewY、位置等。
如何将该层重置为初始状态(创建时)?
我试过用
[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;