我们如何在classB中运行classA的CCAction?我们可以使用什么方法?

时间:2010-07-16 07:23:13

标签: cocoa-touch cocos2d-iphone

我有CCAction * action1;在A班。我需要在classB中使用该动作 我需要在classB中运行action1和其他操作。我怎样才能做到这一点 ? 我按以下方式做了但没有工作。

warning: 'CCAction' may not respond to '+actionWithAction:'

这是我的classA和classB。

@interface classA : CCLayer {
    CCAction *ActionScale;
}
@property (nonatomic, retain)CCAction *ActionScale;
@end

#import "classA.h"
@implementation classA
@synthesize ActionScale;

-(id)init
{
    if( (self = [super init]) )
    {
     ...
     ActionScale = [CCScaleBy actionWithDuration:1.0f scale:2.0];
     }
    return self;
}

// CLASSB

@class classA;
@interface classB : CCLayer {
    CCSprite *sprite1;
    classA *object1;
}
@property(nonatomic, retain)classA *object1;
@end

#import "classB.h"
#import "classA.h"
@implementation classB
@synthesize object1;

-(id)init
{
    if( (self = [super init]) )
    {
     ...
     ...
    id eggAction3 = [CCAction actionWithAction:object1.ActionScale]; 
    }return self;
}  

我们应该使用什么方法将一个类的CCAction调用到其他类中?

谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定你到底想要做什么,但是你不能在课堂上说:

 id eggAction3 = object1.ActionScale;

这将为您提供对另一个对象中的操作的引用,因为您已将其设置为另一个类中的属性。

使用此设置描述您尝试实现的目标可能会有所帮助。