Cocos2d菜单编程*无*图像

时间:2011-10-10 17:58:30

标签: cocos2d-iphone

晚上好,

我正在尝试编写菜单,但我一直在

  

线程1:编程接收信号:“SIGABRT”。

我的代码目前很少,只是想让它运行起来!

@implementation Menu

+(id)scene{
    CCScene *scene = [CCScene node];
    CCLayer *layer = [Menu node];
    [scene addChild:layer];
    return scene;
}

-(id)init{
    if((self = [super init])){
        CCLabelTTF *playLabel = [CCLabelTTF labelWithString:@"Play" fontName:@"Marker Felt" fontSize:40];
        CCMenuItemLabel *play = [CCMenuItemLabel itemWithLabel:playLabel target:self selector:@selector(doPlay:)]; //This is where SIGABRT happens//

        menu = [CCMenu menuWithItems:play, nil];
        [self addChild:menu];
    }
    return self;
}

-(void)doPlay{
    CCLOG(@"doPLay");
}
@end

任何帮助将不胜感激:) 没有图像的编码菜单似乎很少。

1 个答案:

答案 0 :(得分:2)

第一项业务:

  1. 转到“构建设置”
  2. 找到编译器警告标志“Undeclared Selector”
  3. 将其设为YES
  4. 这会捕获很多类似的错误,我真的不明白为什么在所有Xcode项目中默认情况下都没有启用此设置。

    让我解释一下你的错误是什么,如果没有启用警告,很容易被忽略。传递给菜单项的选择器是:

    @selector(doPlay:)
    

    实现的选择器是:

    -(void) doPlay
    {
    }
    

    他们不匹配!菜单项期望选择器采用一个参数,如:(冒号)所示。将选择器更改为:

    @selector(doPlay)
    
    你会没事的。下次,编译器会警告你这个事故。