2013-04-10 2 views
1

Я пытаюсь сделать CCMenuItem (например, CCMenuItemSprite) кликабельным в отключенном состоянии.Сделать CCMenutItemSprite отключенным состоянием clickable

Я подклассы 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

Доступно для инвалидов? Тогда почему вы отключили кнопку меню? Просто измените нормальное изображение, чтобы отключить рамку изображения.

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

Есть ли еще какой-нибудь способ удалить чек для отключенного флага где-нибудь? Что делает флаг отключен? Я думаю, я могу это сделать, просто плохо, чтобы создать еще один флаг, если уже есть предварительно построенные функции для этого –

Смежные вопросы