CCMenuItem의 기본값은 터치시 해당 블록을 시작합니다. 이걸 터치 다운으로 바꾸고 싶습니다. 어쨌든 CCMenu 클래스를 수정하지 않고이 작업을 수행하면 (다른 파트를 손상시킬 수 있음) 이 작업을 범주에서 수행 할 수 있습니까?CCMenuItem에 터치 다운시 블록이 실행되도록 함
UIKit (무료 이벤트 선택)과 같은 방식으로 이벤트가 구현되지 않는 이유가 궁금합니다.
CCMenuItem의 기본값은 터치시 해당 블록을 시작합니다. 이걸 터치 다운으로 바꾸고 싶습니다. 어쨌든 CCMenu 클래스를 수정하지 않고이 작업을 수행하면 (다른 파트를 손상시킬 수 있음) 이 작업을 범주에서 수행 할 수 있습니까?CCMenuItem에 터치 다운시 블록이 실행되도록 함
UIKit (무료 이벤트 선택)과 같은 방식으로 이벤트가 구현되지 않는 이유가 궁금합니다.
당신은 CCMenuItem를 서브 클래스 화해, 필요에 따라 selected
, unselected
및 activate
를 재정 의하여 가능한이 동작을 할 수 있습니다.
그런 다음 CCMenu에서 새 클래스를 사용하여 자동으로 레이아웃 할 수 있으며 나머지 응용 프로그램은 계속 작동합니다.
CCMenu
외부에서 여전히 CCMenuItem
을 사용할 수 있으며 직접 터치 할 수 있습니다. selected
, unselected
및 activate
방법을 사용하십시오. CCMenu
을 수정할 필요가 없습니다.
나는'selected'를 오버라이드 할 수 있으며'[super activate]'을 호출하면 작동 할 것입니다. 그렇다면 나는'activate'을 오버라이드해야하고 터치 업을하기 위해 아무것도하지 말아야합니다. 감사. 이것은 제가 찾고 있던 매끄러운 해결책의 종류입니다. – Jonny