Objective c 使CCmenuteMsprite禁用状态可单击

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

我正在尝试使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。我在我的场景中有逻辑取消选择一切,如果任何东西,但按钮被按下(包括关闭菜单)。现在发生的事情是在按下按钮后,它被禁用。如果我再按一次,它会关闭所有东西,就像按钮不在那里一样


我需要的是,这些按钮可以在禁用状态下单击(它将运行选中和未选中,但不会激活)。有人知道怎么做吗?

在禁用状态下可单击?那为什么要禁用菜单按钮呢?只需将普通图像更改为禁用图像边框

[menuBtn setNormalImage:[CCSprite spriteWithSpriteFrame:@"frameDisableBtn.png"] ];
[menuBtn setSelectedImage:[CCSprite spriteWithSpriteFrame:@"frameDisableBtn.png"] ];

是否有其他方法可以在某个地方删除禁用标志的检查?禁用标志实际上是做什么的?我想我可以做到这一点,只是如果已经有了预构建的功能,那么创建另一个标志会让我感觉很糟糕