2012-02-29 61 views
2

我在一个场景中使用3个CCLayers,并且我希望在所有三个图层上同时玩游戏,而用户将通过在这些图层之间切换来玩游戏。我可以轻松地在这些图层之间切换,但我的预定方法根本不被调用在cocos2d中同时在多个图层中玩游戏

那就是我在场景的init()方法和行[self schedule:@selector(gameLogic :) interval :1.0];是不是对我工作

请帮我我哪里得到它错了。

layer1 = [CCLayer node]; 
    layer2 = [CCLayer node]; 
    layer3 = [CCLayer node]; 

    // add layer as a child to scene 
    [self addChild:layer1]; 
    [self addChild:layer2]; 
    [layer2 setVisible:NO]; 
    [self addChild:layer3]; 
    [layer3 setVisible:NO]; 

    CCLabelTTF *layer1Label = [CCLabelTTF labelWithString:@"Layer1" fontName:@"Marker Felt" fontSize:64]; 
    CGSize size = [[CCDirector sharedDirector] winSize]; 
    layer1Label.position = ccp(size.width /2 , size.height/2); 
    [layer1 addChild: layer1Label]; 

    CCLabelTTF *layer2Label = [CCLabelTTF labelWithString:@"Layer2" fontName:@"Marker Felt" fontSize:64]; 
    layer2Label.position = ccp(size.width /2 , size.height/2); 
    [layer2 addChild: layer2Label]; 

    CCLabelTTF *layer3Label = [CCLabelTTF labelWithString:@"Layer3" fontName:@"Marker Felt" fontSize:64]; 
    layer3Label.position = ccp(size.width /2 , size.height/2); 
    [layer3 addChild: layer3Label]; 

    [self schedule:@selector(gameLogic:) interval:1.0]; 

} 
return self; 

}

+0

您的代码似乎没有任何问题 - 您已共享。 – samfisher 2012-02-29 13:12:50

+0

我有类似的意见,但不知道为什么gamelogic方法不会为我调用 – 2012-02-29 13:26:35

回答

0

喔亲爱的我把它设成自己。这个问题在init()中是没有的。 - (void)onEnter方法中缺少[super onEnter]。现在我所有的预定方法都做得很好。