2013-06-17 3 views
0

어리석은 질문이지만 나를 위해 매우 명확하게 설명하는 것이 유용합니다.Cocos2d : ccTouchesEnded 이벤트에서 어떤 정보를 추출 할 수 있습니까?

저는 특별 촬영을 시작하기 위해 일련의 두 번 연속 스 와이프 (가로 및 세로)를 인식하고 싶은 게임을 개발 중입니다.

여기에 문제가 있습니다. ccTouchesEnded, ccTouchesMoved ccTouchesBegan 메서드를 처리 할 때 멀티 터치 이벤트의 경우 동시성 문제가 발생합니다.

일련의 접촉 (position (0,0)의 touchBegan, pos (1,0)의 touchMoved, pos (2,0)의 touchMoved, posEnded의 posEnded 0)) 사용자가 새 터치 시리즈를 시작하면 (예 : 위치 (10,40)) 두 시리즈를 구별하기가 어려울 수 있습니다.

제안 사항?

Cocos2d에서 제공하는 기능의 NSSet이 유용합니까?

예는 :

-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 

어떻게 다양한 접촉을 구별 할 수 있습니까?

-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 

답변

2

당신이 들어오는 터치를 저장하고 그들이 ccTouchesMoved/ccTouchesEnded/ccTouchesCancelledtouches 매개 변수에있는 경우 다음 확인하고 적절하게 처리 할 수있을 때 내 말은. ccTouchesEnded/ccTouchesCancelled 일 때 저장된 터치를 삭제하는 것을 잊지 마십시오.

+0

두 개의 병렬 터치 이벤트를 어떻게 구별합니까? – mm24

+0

if (touch == mySomehowStoredEarlierTouch) – Kreiri