这是我尝试的第一个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启动此场景?
答案 0 :(得分:1)
您必须在导演的pushScene方法参数中发送Scene
,如
[director_ pushScene: [GameScene scene]];
答案 1 :(得分:0)
感谢您的帮助!
我确实使用过:
[director_ pushScene: [GameScene node]];
但实际问题是在我的GameScene init方法中我忘记了返回自己。