我正在尝试加载游戏的开始菜单,并使用CCMenuItemImage添加了一个播放按钮。一切都很好。然而,当我尝试点击播放按钮时,我会收到这个错误消息。
013-08-18 13:38:46.091 PeevedPenguins iOS[5169:c07]*由于未捕获异常"NSInvalidArgumentException"而终止应用程序,原因:"-[StartMenuLayer]:无法识别的选择器发送到实例0x9e5b400'
我不知道我做错了什么,因为我的选择器已经定义好了。请帮帮我?我一直在努力弄清楚为什么Xcode会做这个
@interface StartMenuLayer ()
@end
@implementation StartMenuLayer
-(id) init
{
if ((self = [super init]))
{
CCMenu *myMenu = [CCMenu menuWithItems: nil];
CCMenuItemImage *menuBackground = [CCMenuItemImage itemWithNormalImage:@"menu-background-hd.png" selectedImage:@"menu-background-hd.png" target:self selector:nil];
[myMenu addChild:menuBackground];
CCMenuItemImage *menuPlayButton = [CCMenuItemImage itemWithNormalImage:@"button-hd.png" selectedImage:@"button-hd.png" target:self selector:@selector(playGame:)];
menuPlayButton.position = ccp(0, 0);
[myMenu addChild:menuPlayButton];
CCMenuItemImage * menuItem3 = [CCMenuItemImage itemWithNormalImage:@"catapult-hd.png"
selectedImage: @"catapult-hd.png"
target:self
selector:@selector(doSomethingThree:)];
[myMenu addChild: menuItem3];
menuPlayButton.position = ccp(0,-83.5);
[self addChild:myMenu];
}
return self;
}
-(void) playGame:(CCMenuItem *)sender
{
// [[CCDirector sharedDirector] replaceScene: (CCScene*)[[GameLayer alloc] init]];
NSLog(@"Play the game!");
}
- (void) doSomethingThree:(CCMenuItem *)sender
{
NSLog(@"The third menu was called");
}
@end
您使用nil
选择器[为清晰起见添加了换行符]配置了一个菜单项:
CCMenuItemImage *menuBackground = [CCMenuItemImage
itemWithNormalImage:@"menu-background-hd.png"
selectedImage:@"menu-background-hd.png"
target:self
selector:nil];