2013-04-10 2 views
1

사용할 수없는 상태에서 CCMenuItem (예 : CCMenuItemSprite)을 클릭 가능하게하려고합니다.CCMenutItemSprite 비활성화 상태 클릭 가능

나는 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

어딘가에 사용 중지 된 깃발 수표를 삭제하는 다른 방법이 있습니까? 비활성화 플래그는 실제로 무엇을합니까? 이 작업을 수행 할 수있는 기능이 이미있는 경우 다른 플래그를 만드는 것이 좋지 않을까 생각합니다. –