我正在尝试在禁用状态下使CCMenuItem(例如CCMenuItemSprite)可点击。
我已经将CCMenuItemSprite子类化并覆盖了这些函数:
-(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_。我的场景中有逻辑取消选择除了按钮之外的所有内容(包括关闭菜单)。现在发生的事情是按下按钮后,它被禁用。如果我再次按下它,它就会关闭所有按钮不存在的东西。
我需要的是这些按钮可以在禁用状态下单击(它将运行选中和未选中但不激活)。有谁知道怎么做?
答案 0 :(得分:0)
在禁用状态下可点击?那为什么你禁用菜单按钮?只需更改普通图像即可禁用图像帧。
[menuBtn setNormalImage:[CCSprite spriteWithSpriteFrame:@"frameDisableBtn.png"] ];
[menuBtn setSelectedImage:[CCSprite spriteWithSpriteFrame:@"frameDisableBtn.png"] ];