2012-07-26 3 views
0

새 레이어를 만들고 세 개의 메뉴 항목을 추가하고 각각에 메소드를 가지고 콘솔에 로그인하고보기를 전환하지만 아무 일도 일어나지 않습니다. 왜 그래야만하지?Cocos2d 메뉴가 접촉하지 않습니다.

- (id) init 
{ 
    if (self = [super init]) 
    { 
    [self setIsTouchEnabled:YES]; 
    CCSprite *background = [CCSprite spriteWithFile:@"bg.png"]; 
    [background setPosition:CGPointMake(size.width/2, size.height/2)]; 
    [self addChild:background z: 0]; 
    CCMenuItemFont *menu1 = [CCMenuItemFont itemFromString:@"New game" target:self selector:@selector(startNewGame)]; 
    [menu1 setPosition:CGPointMake(size.width/2, 330)]; 
    CCMenuItemFont *menu2 = [CCMenuItemFont itemFromString:@"Options" target:self selector:@selector(options)]; 
    [menu2 setPosition:CGPointMake(size.width/2, 250)]; 
    CCMenuItemFont *menu3 = [CCMenuItemFont itemFromString:@"Credits" target:self selector:@selector(credits)]; 
    [menu3 setPosition:CGPointMake(size.width/2, 170)]; 
    [self addChild:menu1]; 
    [self addChild:menu2]; 
    [self addChild:menu3]; 
    } 
    return self; 
} 

- (void) credits 
{ 
    NSLog(@"In credits"); 
} 

// same methods for new game and options. It never gets called. 

답변

1

CCMenuItem 인스턴스는 레이어에 추가해야하는 CCMenu 인스턴스에 추가되어야합니다.

CCMenu *mainMenu = [CCMenu menuWithItems:menu1, menu2, menu3, nil]; 
mainMenu.position = CGPointZero; 
[self addChild:mainMenu]; 

행운을 빈다!

+0

감사합니다. 그것은 효과가있다! – Dvole

관련 문제