2012-08-08 5 views
0

가능한 중복 :
Error “No known class method for selector 'Hello:'” in custom-made framework선택자 장면에 대한 알려진 클래스 방법이 없습니까?

여기 그것은 컴파일되지 않습니다 내 게임의 기본 메뉴를 만드는 오전 그러나

// 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 파일에서 무엇인가를 가져와야합니까? 또는 구현? 나를 도와 줄 수있는 도움을 주셔서 감사합니다.

+0

xcode의 오류 코드는 무엇입니까? 더 많이 씁니다. –

답변

1

지침 클래스가이 선택기를 구현합니까?

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

Instruction 클래스의 인터페이스가이 선택기를 선언하여 다른 클래스에서이를 참조 할 수 있습니까?

@interface Instructions : CCLayer 
{ 
} 

+(id) scene; 

@end 

둘 다 필요합니다.

0

게시 한 코드 + (CCScene *) sceneMainMenu 클래스 메서드이며 동일한 서명이있는 메서드가없는 Instructions에서 호출하는 것입니다.