单击CCMenuItemImage时无法识别的选择器

时间:2013-08-18 20:42:49

标签: objective-c selector ccmenuitem ccmenu

我正在尝试为游戏加载开始菜单,并且我使用CCMenuItemImage添加了一个播放按钮。一切都很好。但是,当我尝试单击播放按钮时,我收到此错误消息。

013-08-18 13:38:46.0​​91 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

1 个答案:

答案 0 :(得分:1)

您使用nil选择器配置了一个菜单项[为清晰起见添加了换行符]:

CCMenuItemImage *menuBackground = [CCMenuItemImage
                                  itemWithNormalImage:@"menu-background-hd.png"
                                  selectedImage:@"menu-background-hd.png" 
                                  target:self
                                  selector:nil];
相关问题