2013-06-18 1 views
0

CCMenuItem 버튼이 작동하는 데 문제가 있습니다. 나는 이전의 예제와 질문에서 주어진 모든 지침/조언을 따랐지만 아무 것도 작동하지 않는 것 같습니다. 버튼을 클릭 할 때마다 이미지가 새 이미지로 변경되지 않습니다.Cocos2d CCMenuItem 응답이 없습니다

CCMenuItem *startButton = [CCMenuItemImage itemWithNormalImage:@"Start Button.png" selectedImage:@"Start Button Selected.png" target:self selector:@selector(startGame:)]; 
startButton.position = ccp(0, 0); 
CCMenu *menu = [CCMenu menuWithItems:startButton, nil]; 
menu.position = ccp(winSize.width/2, winSize.height/6); 
[self addChild:menu]; 
menu.touchEnabled = YES; 
+0

터치를 사용 설정하셨습니까? Self.isTouchEnabled = YES; – Renaissance

+0

위의 코드는 어디에서 작성 했습니까? 초기화? – IronMan

+0

문제는 introLayer 전환을 CCTransitionFade에서 CCTransitionScene으로 변경 한 것입니다. CCTransitionScene은 어떻게 든 엉망이 됐습니다. – adam1121

답변

0

당신은 아마 터치 이벤트가 처리할지 여부를 제어 할

menu.enabled=YES;  

해당 속성을 사용하고 싶습니다. 사용중인 속성 (touchEnabled)은 CCLayer 객체의 기본 속성이며 (CCMenu는 CCLayer를 확장 함) 레이어가 터치 이벤트를 수신할지 여부를 제어합니다.

'활성화'속성은 초기화하는 동안 기본 상태로 설정되지만 YES로 설정됩니다. 다른 방법을 사용하면 터치 이벤트의 전파를 변경하는 것이 가능합니다. 먼저 라인을 주석으로 처리하십시오.

+0

나는 touchEnabled, enabled, touchEnabled 및 enabled 둘 중 하나를 시도했지만 아무 것도 작동하지 않습니다. – adam1121

+0

CCMenuItem의 'selected'메소드에 중단 점을 배치하고 버튼을 누를 때 실행이 중지되는지 확인하십시오. 만약 그렇다면, 그 사건을 추적하여 왜 당신이 터치의 효과를 "보지 못하고 있는지"파악하십시오. 그렇지 않은 경우 CCMenu의 ccTouchBegan 메소드에 중단 점을 넣습니다. 깨진 경우, 메뉴가 menuItem에 이벤트를 전파하지 않는 이유를 찾아 내십시오. 그렇지 않으면 터치 이벤트가 어떻게 든 부러집니다 ... – YvesLeBorg

+0

터치 이벤트가 어떻게 든 손상됩니다. 내 생각에 그걸 가지고 돌아 다니면 돼. – adam1121