2013-01-02 5 views
1

저는 Cocos2d에 익숙하며 일반적인 코코아 터치에서 Cocos2d로 포트 게임을 시도합니다. Cocos2d에서 CCMenuItem을 다루는 방법

나는 사용자 정의 방법으로 몇 가지 버튼을 만들어 :

+ (CCMenuItem *)createMenuItemImageWithNormalImage:(NSString *)normalImage selectedImage:(NSString *)selectedImage tag:(int)tag target:(id)target selector:(SEL)selector position:(CGPoint)position { 

    CCMenuItem *item = [CCMenuItemImage itemWithNormalImage:normalImage selectedImage:selectedImage]; 
    item.tag = tag; 
    [item setTarget:target selector:selector]; 
    item.position = [TSCCTransform transformPositionFromCocoaTouchToCocos2d:CGPointMake(position.x, position.y)]; 

    return item; 
} 

버튼 :

[self addChild:[TSCCLayer createMenuItemImageWithNormalImage:@"btn-mouse-dec.png" selectedImage:@"btn-mouse-dec.png" tag:0 target:self selector:@selector(changeNumberOfPlayers:) position:ccp([TSCCTransform winSizeWidth] - 140, 146)]]; 

하지만 난 그것을 클릭하면 아무 일도하지 않습니다. 문제가 어디 있니? 어떻게 제대로합니까?

답변

1

메뉴 항목을 메뉴에 추가 할 필요가 없습니다.

는 CCMenu 해당 CCMenuItem을 추가 한 다음 레이어의 자식으로 메뉴를 추가

CCMenuItem* item=[TSCCLayer createMenuItemImageWithNormalImage:@"btn-mouse-dec.png" selectedImage:@"btn-mouse-dec.png" tag:0 target:self selector:@selector(changeNumberOfPlayers:) position:ccp([TSCCTransform winSizeWidth] - 140, 146)] 
CCMenu* menu= [CCMenu menuWithItems: item, nil]; // item becomes child of menu 
[self addChild: menu]; 
+0

모두 동일합니다/I는 위와 같이 메뉴를 만들었지 만 뭔가 잘못이다. –

+0

프로젝트를 삭제하고 다시 컴파일하면 작동합니다. 감사. –