无法加载新场景

时间:2014-11-28 21:41:38

标签: objective-c cocos2d-iphone

我正在加载默认场景完美的“MainScene”。但是当你加载由mi创建的场景时 应用程序崩溃

这是好的

  - (CCScene*) startScene
  {
       return [CCBReader loadAsScene:@"MainScene"];
  }

这会导致APP崩溃

  - (CCScene*) startScene
  {
       return [CCBReader loadAsScene:@"miNewScene"];
  }

   miNewScene : CCScene

EXCEPTION @“参数必须是非零的”

有谁知道这里可能会发生什么? 提前致谢 最好的祝福!

2 个答案:

答案 0 :(得分:1)

听起来您在SpriteBuilder中没有名为miNewScene.ccb的CCB文档。

仅仅拥有该名称的CCScene子类是不够的。 CCBReader加载CCB文档,如果需要,它将实例化与文档关联的自定义类。它没有实例化类。

如果要使用非SpriteBuilder场景启动,请执行以下操作:

- (CCScene*) startScene
{
    return [miNewScene node];
}

请注意,在Objective-C中习惯使用大写字母启动类名,以免将它们与应该以小写字母开头的变量/属性混淆。

答案 1 :(得分:0)

如果您使用SpriteBuilder,那么加载自定义CCScene的最佳方式是:

MainScene *mainScene = (MainScene *)[CCBReader load:@"MainScene"];
/** Reset contentSize : SpriteBuilder changes this **/
mainScene.contentSizeType = CCSizeTypePoints;
mainScene.contentSize = [CCDirector sharedDirector].designSize;

没有其他容器的子项和更少的内存占用