1

我是一名 12 岁的程序员,所以如果回答,请避免深奥。(使用 12 年会理解的术语)我正在使用 Spritebuilder 创建一个应用程序。我有两个场景:MainScene 和 LevelSelect。这是不言自明的,但只是以防万一:MainScene 上名为 Play 的按钮用于转到 LevelSelect。LevelSelect 上的按钮 Back,用于返回 MainScene。问题是,每次按下后退按钮时,游戏都会崩溃并让我看到这个词:SIGABRT

告诉我这也意味着什么会很有用。(找不到定义)。

按钮播放:Doc root var:_playbutton 选择器:play 目标:Document root

按钮播放:Doc root var:_backbutton 选择器:back 目标:Document root

我在 Xcode 中也有两个文件,都是 CCNode 的子类。一个称为 MainScene,另一个称为 LevelSelect。

MainScene.m 代码

#import "MainScene.h"
@implementation MainScene

CCButton *_playButton;
- (void)play {
    CCScene *scene = [CCBReader loadAsScene:@"LevelSelect"];
    [[CCDirector sharedDirector] replaceScene:scene];
}

LevelSelect.m 代码

#import "LevelSelect.h"
@implementation LevelSelect

CCButton *_backButton;
- (void)back {
    CCScene *backScene = [CCBReader loadAsScene:@"MainScene"];
    [[CCDirector sharedDirector] replaceScene:backScene];
}

我还添加了一个异常断点。

例外:Objective C

休息:On Throw

行动:Debugger Command

调试器命令:de bug

选项:NOt checked

应用断点 SIGABRT 后停止显示。该应用程序只是崩溃了,并没有导致我输入错误的代码。

0x0257029e __CFRunLoopRun + 910
    19  CoreFoundation                      0x0256fac3              CFRunLoopRunSpecific + 467
    20  CoreFoundation                      0x0256f8db              CFRunLoopRunInMode + 123
    21  GraphicsServices                    0x03bbe9e2              GSEventRunModal + 192
    22  GraphicsServices                    0x03bbe809 GSEventRun               + 104
    23  UIKit                               0x00d3dd3b              UIApplicationMain + 1225
    24  TrapMaster                          0x00002d5c main + 92
    25  TrapMaster                          0x00002795 start + 53
    26  ???                                 0x00000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type                NSException
(lldb)

这些是 Xcode 调试控制台中的最后 23 行代码。

我觉得可能跟CCDirector、sharedDirector、replaceScene有关系。如果答案很明显,我是 12 岁。在回答说这很容易时请不要苛刻。如果你回答了,谢谢。:)

4

0 回答 0