2018년 3월 20일 화요일

cocos2d-x에서 멀티터치를 못하게 막으려면 (Disable or prevent multi-touch in cocos2dx)

2016. 6. 1. 14:56

Layer 쪽에서 이벤트 신호를 받아 코딩을해서 막는 방법외에 
근원적으로 android native를 수정해서 막는 방법 

\cocos2d\cocos\platform\android\java\src\org\cocos2dx\lib 폴더에 있는 
Cocos2dxGLSurfaceView.java 파일의 onTouchEvent()를 수정한다 

ACTION_DOWN 와 ACTION_POINTER_DOWN가 있는데 아래와 같다 

ACTION_DOWN         : 첫번째 터치 시작 
ACTION_UP           : 첫번째 터치 종료
ACTION_POINTER_DOWN : 두번째 터치 시작 
ACTION_POINTER_UP   : 두번째 터치 종료

따라서 ACTION_POINTER_DOWN, ACTION_POINTER_UP를 모두 주석처리하면 신호가 cocos의 layer까지 전혀 전달 되지 않는다

아래 예제 참고

//case MotionEvent.ACTION_POINTER_DOWN:  // 터치 시작(두번째 터치)
//    final int indexPointerDown = pMotionEvent.getAction() >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
.
. 생략
.

//    break;

댓글 없음:

댓글 쓰기