2012-07-26 68 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 2012-07-26 18:44:46