向导演cocos2d iOS添加一个场景

时间:2013-01-23 01:28:41

标签: ios cocos2d-iphone scene

这是我尝试的第一个cocos2d应用程序,我正在关注学习Cocos2d的示例,但它似乎指的是旧版本的cocos。

我创建了一个场景,并在其init方法中添加了2个图层。

现在教程说,在我的delegate.m中,我应该添加这一行(准确地改变前一个使用HelloWorldScene的行):

[director_ runWithScene:[GameScene node]];

但我收到了错误。

奇怪的是它根本不使用那个代码,而是那个代码:

[director_ pushScene: [IntroLayer Scene]];

但如果我使用它,我也会收到错误:

[director_ pushScene: [GameScene node]];

我的GameScene就在这里:

#import "GameScene.h"

@implementation GameScene
-(id) init{
    self=[super init];
    if (self!=nil){
        BackgroundLayer *backgroundLayer=[BackgroundLayer node];
        [self addChild:backgroundLayer z:0];

        GameplayLayer *gameplayLayer=[GameplayLayer node];
        [self addChild:gameplayLayer z:5];
    }
}

@end

以及我得到的错误:

EXC_BAD_ACCESS in both cases.

如何从我的appdelegate启动此场景?

2 个答案:

答案 0 :(得分:1)

您必须在导演的pushScene方法参数中发送Scene,如

[director_ pushScene: [GameScene scene]];

答案 1 :(得分:0)

感谢您的帮助!

我确实使用过:

[director_ pushScene: [GameScene node]];

但实际问题是在我的GameScene init方法中我忘记了返回自己。