我在一个场景中使用3个CCLayers,我希望在所有三个层上同时玩游戏,而用户将通过在这两个层之间切换来玩游戏。我可以轻松地在这些层之间切换,但是根本不会调用我的计划方法

那就是我在场景的init()方法和[[schedul:@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;

}

最佳答案

哦,亲爱的,我自己弄了。问题不在init()中。 -(void)onEnter方法中缺少[super onEnter]。现在,我所有的预定方法都运行良好。

关于iphone - 在cocos2d中同时多层玩游戏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9499642/

10-10 20:01