2011-04-03 72 views
0

我希望能够分配一些操作,以便我可以在任何目标CCNode上使用和重复使用它们。我认为我可以在init中加载一个通用的NSObject类,然后在方法中调用它们时调用它们,但不能。什么是重用cocos2d动画的最佳方法?

我刚刚尝试过,还是有更优雅的解决方案?

@implementation Animation 

@synthesize animation; 

-(id) init 
{ 
    if ((self=[super init])) { 
     animation = [CCScaleTo actionWithDuration: 0.15 scale: 2.0]; 
    } 
    return self; 
} 

- (id) myAnimation 
{ 
    return animation; 
} 

[targetCCNode runAction:[Animation myAnimation]]; 

回答

0

创建一个动作是非常快的。我认为这不合理。如果你只想用一些常见的配置来创建动作,那么我建议你创建一个静态方法的类(或者使用一个现有的类)来创建这个动作。或者如果在创建动作时需要一些上下文,则使用非静态方法的单例

+0

谢谢,这很有道理。即使没有出现这种需求,我认为我已经过度思考并试图尽可能预先加载一切。 – Sup3rpanda 2011-04-04 19:52:02

+0

@Sup:如果您的游戏使用了大量资源,则不可能将它们全部预加载,因为在这种情况下您将使用大量内存。我为此使用了cocos钱币,如果你预先加载的话,他们会自动发布旧资源 – Andrew 2011-04-05 04:19:24

相关问题