1

私は 12 歳の志望プログラマーなので、答える場合は難解なことは避けてください。(12 歳が理解できる用語を使用してください) Spritebuilder を使用してアプリを作成しています。MainScene と LevelSelect の 2 つのシーンがあります。これは自明ですが、念のため: MainScene の Play というボタンを使用して、LevelSelect に移動します。LevelSelect の Back ボタンは、MainScene に戻るために使用されます。問題は、戻るボタンを押すたびにゲームがクラッシュし、SIGABRTという単語が表示されることです。

意味も教えていただけると助かります。(定義が見つかりませんでした)。

Button Play: Doc root var: _playbutton Selector: play Target:Document root

Button Play: Doc root var: _backbutton Selector: back Target: Document root.

また、Xcode には 2 つのファイルがあり、どちらも CCNode のサブクラスです。1 つは MainScene と呼ばれ、もう 1 つは 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];
}

また、例外ブレークポイントを 1 つ追加しました。

例外: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