cocos2d-x는 m_pTargetedHandlers, m_pStandardHandlers 이 두가지로 터치을 관리한다.



m_pTargetedHandlers 는 직접 터치이벤트을 받을 타켓이 모여있는 집합이고

m_pStandardHandlers 는 CCLayer들이 모여 있는 집합이다.


m_pTargetedHandlers  여기에 셋팅하는 방법은
CCTouchDispatcher* touchDispatcher = CCDirector::sharedDirector()->getTouchDispatcher();
if(touchDispatcher){
CCTouchHandler* handler = touchDispatcher->findHandler(this);

//if is not already added to the touch dispatcher - then lets add it
if(!handler){
touchDispatcher->addTargetedDelegate( tCCTouchDelegate *pDelegate, int nPriority, bool bSwallowsTouches );
}
}

m_pStandardHandlers 에 셋팅하는 방법은
CCLayer에서 setTouchEnabled( true ) 이 함수만 실행 해주면 된다.

터치 이벤트 순서는

m_pTargetedHandlers  1

m_pStandardHandlers  2




터치 이벤트가 들어오면 터치 핸들러에 등록된 순서대로 아래 그림과 같이 번호가 적힌 대로 터치 이벤트를 발생 시켜 준다.


위에가 지금 보여지고 있는 레이어상에 등록된 모든 터치 이벤트라고 생각하고

지금 레이어 위에 새로운 레이어(팝업창)을 띄워 보자 그 새로운 레이어에는 총 4가지의 터치 이벤트가 있다고 생각하면

아래와 같은 그림처럼 되어 있을 것이다. 

따로 터치 가중치를 안주면 처리 방식은 스택형식으로 된다.





이제 우리가 원하는거는 Layer_2(팝업창)에만 터치 이벤트를 받아오게 하고 싶은 것이다.

이것을 하기 위해선 세가지 조건을 충족 시켜야한다.


첫쨰

touchDispatcher->addTargetedDelegate( tCCTouchDelegate *pDelegate, int nPriority, bool bSwallowsTouches );

여기 함수에서 bool bSwallowsTouches 이 속성이 있는데 여기에 ture을 주면 된다.


둘째 

이타겟은 충돌범위는 화면 전체를 가지고 있거나 터치다운 이벤트 시  무조건 true값을 넘겨줘야 한다.


셋째 

bool bSwallowsTouches 이 속성을 줄 녀석은 팝업창 등록 시 맨 처음 등록 되는 타겟에 셋팅이 들어가야한다.

무슨 말이냐면 레이어2번에는 총 4개의 터치 이벤트가 있는데 따로 터치 가중치를 안주면 첫번째로 등록 시킨

터치 이벤트는 4번째로 터치 이벤트를 받게 된다.


이렇게 되면 Layer2(팝업창)에만 터치이벤트를 받을 수 있게 된다.







Posted by 부우산사나이
:

1.  Cygwin에서 아래와 같이 입력해준다.

    $ ssh-keygen -t rsa


2. 처리가 잘되면 C:\cygwin64\home\(사용자아이디)\.ssh   이 폴더안에

 id_rsa
 id_rsa.pub
 known_hosts

이 세가지 파일이 생긴다.

id_rsa.pub 이파일은 BItbucket에 넣어줘야 할 키값이고

id_rsa 이 파일은 SourceTree에 넣어줘야 할 키값이다.

 

 

빨간색 부분 Manage account 클릭한다.

 

 

 

 

여기까지하면 Git 서버에 키값이 등록 완료 된다.

 

이제 SourceTree에 키값 등록만 하면 된다.

 

 

 

이렇게 하면 모든 것이 끝.

'Programing > etc' 카테고리의 다른 글

쉘 스크립트(shell script) - 명령어  (0) 2014.10.23
$'\r': command not found  (0) 2014.04.02
addr2line 사용법  (0) 2014.03.25
tinyxml 문제점??  (0) 2013.01.08
킹스툴즈 2008 ( 비주얼스튜디오 문서화 )  (0) 2012.06.12
Posted by 부우산사나이
:

cygwin 에서 쉘을 실행 시킬 때 나오는 에러

 

윈도우 환경에서 텍스트 작업으로 \n을 리눅스 환경에서 인식 되지 않는 문제

 

해결 방법

 

dos2unix 원하는파일명

 

'Programing > etc' 카테고리의 다른 글

쉘 스크립트(shell script) - 명령어  (0) 2014.10.23
Bitbucket - SourceTree OpenSSH 키 등록  (0) 2014.04.03
addr2line 사용법  (0) 2014.03.25
tinyxml 문제점??  (0) 2013.01.08
킹스툴즈 2008 ( 비주얼스튜디오 문서화 )  (0) 2012.06.12
Posted by 부우산사나이
: