使用另一个类的方法调用CCAction(CCTintTo)来更改另一个类的CCSprite

时间:2012-07-16 23:21:54

标签: cocos2d-iphone ccsprite ccaction

我有一个ButtonLayer类,其中有一个名为redClick的方法。 redClick的实现看起来像这样..

-(void) redClick {
    [red runAction: [CCTintTo actionWithDuration:0.1 red:200 green:200 blue:200]];
}

变量red是ButtonLayer类中的CCSprite。

我有另一个名为MainLayer的类,它继承自CCLayer。这个类中的场景方法看起来像这样..

+(CCScene *) scene
{
    CCScene *scene = [CCScene node];

    overlay = [ButtonLayer node];
    HelloWorldLayer *layer = [HelloWorldLayer node];

    [scene addChild: layer];
    [scene addChild: overlay];

    return scene;
}

在MainLayer中的ccTouchesBegan方法中,我调用[overlay redClick],但是当我调用它时,没有任何变化。 CCSprite保持不变。

1 个答案:

答案 0 :(得分:0)

将叠加图层添加到HelloWorldLayer'图层'。

+(CCScene *) scene
{
    CCScene *scene = [CCScene node];

    overlay = [ButtonLayer node];
    HelloWorldLayer *layer = [HelloWorldLayer node];

    [scene addChild: layer];
    [layer addChild: overlay];

    return scene;
}