2011-03-04 108 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