Как мы можем запустить CCAction класса A в классе B?Какой метод мы можем использовать для этого? - PullRequest
1 голос
/ 16 июля 2010

У меня есть CCAction * action1; в классе А. Мне нужно использовать это действие в классе B.
Мне нужно запустить action1 вместе с другими действиями в классе B. Как я могу это сделать ? Я сделал следующим образом, но не работает.

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

Вот мой класс A и класс B.

@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 голосов
/ 17 июля 2010

Я не совсем уверен, что именно вы пытаетесь сделать, но вы не могли бы просто сказать в классе B:

 id eggAction3 = object1.ActionScale;

Это даст вам ссылку на действие в другом объекте,так как вы настроили его как свойство в другом классе.

Это может помочь описать, чего вы пытаетесь достичь с помощью этой настройки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...