2013-05-28 3 views
0

CCMenuItem의 기본값은 터치시 해당 블록을 시작합니다. 이걸 터치 다운으로 바꾸고 싶습니다. 어쨌든 CCMenu 클래스를 수정하지 않고이 작업을 수행하면 (다른 파트를 손상시킬 수 있음) 이 작업을 범주에서 수행 할 수 있습니까?CCMenuItem에 터치 다운시 블록이 실행되도록 함

UIKit (무료 이벤트 선택)과 같은 방식으로 이벤트가 구현되지 않는 이유가 궁금합니다.

답변

1

당신은 CCMenuItem를 서브 클래스 화해, 필요에 따라 selected, unselectedactivate를 재정 의하여 가능한이 동작을 할 수 있습니다.

그런 다음 CCMenu에서 새 클래스를 사용하여 자동으로 레이아웃 할 수 있으며 나머지 응용 프로그램은 계속 작동합니다.

+0

나는'selected'를 오버라이드 할 수 있으며'[super activate]'을 호출하면 작동 할 것입니다. 그렇다면 나는'activate'을 오버라이드해야하고 터치 업을하기 위해 아무것도하지 말아야합니다. 감사. 이것은 제가 찾고 있던 매끄러운 해결책의 종류입니다. – Jonny

0

CCMenu 외부에서 여전히 CCMenuItem을 사용할 수 있으며 직접 터치 할 수 있습니다. selected, unselectedactivate 방법을 사용하십시오. CCMenu을 수정할 필요가 없습니다.