我正在加载默认场景完美的“MainScene”。但是当你加载由mi创建的场景时 应用程序崩溃
这是好的
- (CCScene*) startScene
{
return [CCBReader loadAsScene:@"MainScene"];
}
这会导致APP崩溃
- (CCScene*) startScene
{
return [CCBReader loadAsScene:@"miNewScene"];
}
miNewScene : CCScene
EXCEPTION @“参数必须是非零的”
有谁知道这里可能会发生什么? 提前致谢 最好的祝福!
答案 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;
没有其他容器的子项和更少的内存占用