2011-03-04 116 views
3

所以我增加了CCMenuItemImage到我的層像這樣:CCMenuItemImage不響應觸摸!

CCMenuItemImage *pauseButton = [CCMenuItemImage itemFromNormalImage:@"pausebutton.png" 
                   selectedImage:@"pausebutton.png" // TODO add selected image 
                   disabledImage:@"pausebutton.png" 
                    target:self 
                    selector:@selector(pauseGame:)]; 
     pauseButton.position = ccp(24, 292); 
     [self addChild:pauseButton]; 

問題是我的pauseGame:當我觸摸暫停按鈕選擇永遠不會觸發!

我已經驗證選擇器是通過[pauseButton activate](調用選擇器)正確設置的。

此外,我已驗證我的圖層是通過在ccTouchesBegan和ccTouchesEnded中輸出日誌信息來響應觸摸。

還值得一提的是,我在我的層精靈其註冊自己的像這樣接觸:

- (void) onEnter 
{ 
    [[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES]; 
    [super onEnter]; 
} 

還有什麼問題呢?

回答

2

嗯......你沒有添加到CCMenu ...

CCMenu* menu = [CCMenu menuWithItems:pauseButton, nil]; 
menu.isTouchEnabled = YES; 
[self addChild:menu]; 

請注意,您pausegame應該是:

-(void)pauseGame:(id)sender 
{ 
//pause game!!! 
} 
+0

感謝。這是絕對正確的。我需要將CCMenuItem添加到CCMenu中以註冊觸摸... – elsurudo 2011-03-07 05:09:50