この問題は何日も私を混乱させてきました。NSString 'spriteType' があります。プロパティと合成メソッドを使用して宣言されます。文字列が作成されるレイヤーで、CCNode も作成します。ノードはメソッドで作成されます。
- (void) spritePick {
CCMenuItemImage *go = [CCMenuItemImage itemFromNormalImage:@"button_go.png" selectedImage:@"button_go_selected.png" target:self selector:@selector(test)];
spritePickMenu = [CCMenu menuWithItems:go, nil];
spritePickMenu.position = ccp(0,0);
spritePick = [CCNode node];
[spritePick addChild:spritePickMenu];
spritePick.position = ccp(240,160);
[self addChild: spritePick];
}
ボタンから呼び出される 'test' メソッドは単純です。
- (void) test {
NSLog(@"%@",spriteType);
}
NSLog 行でゲームがクラッシュし、次のエラーが表示されます: EXC_BAD_ACCESS
「test」メソッド内以外のどこでも、コードは正常に機能します。メソッドがノードから呼び出されたときにエラーが発生するのに、他の場所から呼び出されたときにエラーが発生しないのはなぜですか?
必要に応じて、完全なコードを提供できます。