没有用于选择器场景的已知类方法? [英] No known class method for selector scene?

查看:55
本文介绍了没有用于选择器场景的已知类方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:
错误没有已知的分类方法"选择器你好:"在定制框架中

我正在这里为我的游戏创建一个主菜单它不能编译,但我不明白为什么

I am creating a Main menu for my game here It does not compile but i do not understand why

//  Main Menu.m
//
//
//

#import "MainMenu.h"
#import "CCTouchDispatcher.h"
#import "Instructions.h"

CCSprite *seeker1;
CCSprite *cocosGuy;

@implementation MainMenu


+ (CCScene *) scene
{
    CCScene * scene = [CCScene node]; // scene is an autorelease object
    MainMenu * layer =  [MainMenu node]; // later is an autorelease object
    [scene addChild: layer]; // add layer as a child to scene
    return scene; // return the scene
}

- (id) init
{
    if ( ( self = [super init] ) )
    {
        [ self setUpMenus ];
    }
    return self;
}

- (void) setUpMenus
{

    // create menu items

    CCMenuItemImage * startButton = [CCMenuItemImage itemFromNormalImage:@"startbutton.png"
                                                           selectedImage:@"startbutton_selected.png"
                                                                  target: self
                                                                selector: @selector (doSomethingOne:)];


    CCMenuItemImage * instructionsButton = [CCMenuItemImage itemFromNormalImage:@"instructionsbutton.png"
                                                                  selectedImage:@"instructionbutton_selected.png"
                                                                         target: self
                                                                       selector: @selector(doSomethingTwo:)];


    CCMenuItemImage * unlockList = [CCMenuItemImage itemFromNormalImage: @"unlocklist.png"
                                                          selectedImage:@"unlocklist_selected.png"
                                                                 target: self
                                                               selector: @selector(doSomethingThree:)];

    // create the menu and add the items to it
    CCMenu * myMenu = [CCMenu menuWithItems: startButton, instructionsButton, unlockList,nil];


    // arrange the items vertically
    [myMenu alignItemsVertically];


    // add the menu to the scene
    [self addChild:myMenu];

}


- (void) doSomethingOne: (CCMenuItem *) menuItem
{


}

- (void) doSomethingTwo: (CCMenuItem  *) menuItem
{
    [[CCDirector sharedDirector] replaceScene:
     [CCTransitionFade transitionWithDuration:0.5f scene:[Instructions scene] ]];
}

- (void) doSomethingThree: (CCMenuItem  *) menuItem
{

}


@end

为什么会出现错误:选择器场景没有已知的类方法?关于doSomethingTwo.我是否需要在.h文件中导入某些内容?或实施?谢谢您能为我提供的任何帮助.

Why do I get the error that there is No known class method for the selector scene? regarding doSomethingTwo. Do I have to import something in the .h file? or an implementation? Thank you for any help you can provide me.

推荐答案

Instructions类是否实现了此选择器?

Does the Instructions class implement this selector?

+(id) scene
{
   id scene = [CCScene node];
   return scene;
}

指令类的接口是否声明了该选择器,以便其他类可以引用它?

And does the Instruction class' interface declare this selector so other classes can reference it?

@interface Instructions : CCLayer
{
}

+(id) scene;

@end

你们两个都需要.

这篇关于没有用于选择器场景的已知类方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆