Objective c 使CCmenuteMsprite禁用状态可单击
我正在尝试使CCMenuItem(例如CCMenuItemSprite)在禁用状态下可单击 我已将CCMenuItemSprite子类化并覆盖了以下函数:Objective c 使CCmenuteMsprite禁用状态可单击,objective-c,cocos2d-iphone,ccmenuitem,Objective C,Cocos2d Iphone,Ccmenuitem,我正在尝试使CCMenuItem(例如CCMenuItemSprite)在禁用状态下可单击 我已将CCMenuItemSprite子类化并覆盖了以下函数: -(void) selected { CCLOG(@"selected"); [super selected]; [self setScale:0.775]; [normalImage_ setVisible:NO]; [selecte
-(void) selected
{
CCLOG(@"selected");
[super selected];
[self setScale:0.775];
[normalImage_ setVisible:NO];
[selectedImage_ setVisible:YES];
[disabledImage_ setVisible:NO];
}
-(void) unselected
{
CCLOG(@"unselected");
[super unselected];
[self setScale:1];
[normalImage_ setVisible:YES];
[selectedImage_ setVisible:NO];
[disabledImage_ setVisible:NO];
}
-(void) activate
{
CCLOG(@"activate");
if( block_ )
block_(self);
}
基本上,我从这三个函数中取出了标志检查isEnabled。我在我的场景中有逻辑取消选择一切,如果任何东西,但按钮被按下(包括关闭菜单)。现在发生的事情是在按下按钮后,它被禁用。如果我再按一次,它会关闭所有东西,就像按钮不在那里一样
我需要的是,这些按钮可以在禁用状态下单击(它将运行选中和未选中,但不会激活)。有人知道怎么做吗?在禁用状态下可单击?那为什么要禁用菜单按钮呢?只需将普通图像更改为禁用图像边框
[menuBtn setNormalImage:[CCSprite spriteWithSpriteFrame:@"frameDisableBtn.png"] ];
[menuBtn setSelectedImage:[CCSprite spriteWithSpriteFrame:@"frameDisableBtn.png"] ];
是否有其他方法可以在某个地方删除禁用标志的检查?禁用标志实际上是做什么的?我想我可以做到这一点,只是如果已经有了预构建的功能,那么创建另一个标志会让我感觉很糟糕