이것때문에 여러날을 고생했는데,

어떤 분이 도움을 주셔서 해결했다.

 

 

첫번째 문제점.

 

일단 타일맵 기반이면 줌인 줌아웃, 맵 이동도 되어야하는데

터치를 거기에다가만 쓰면 건물짓기와 같은 다른 수행을 할 수가 없다.

그래서 줌인줌아웃클래스를 따로 만들어서 그것을 상속받고,

터치를 다음 처럼 이중으로 써야한다

 

ccTouchBegan(CCTouch* pTouch, CCEvent* pEvent ){

 

 

//@brief : 받은 인자를 고대로 물려준다. 사용하기전에 헤더를 인클루드 해주는 것은 잊지말자

 

줌인클래스::ccTouchBegan(pTouch, pEvent);

 

//내가 하고 싶은 다른 수행 입력

 

}

 

 

 

두번째 문제점.

 

터치의 좌표가 일치하지 않는다.

convert 라는 내용이 들어간 함수를 써야할 것 같다는 느낌은 오는데 어떻게 사용해야하는지 몰라서 헤맸다.

상황에 따라 다르겠지만, 우리는 layer위에 타일맵을 addchild하고, 해당 layer에서 터치를 받아와서 쓰려고했는데 좌표가 전혀 엉뚱한 곳을 가리켰다.

그래서 이런식으로 해결했다.

 

ccTouchBegan(생략){

 

 

CCTMXTileMap* map = CCTMXTileMap::create("맵파일이름.tmx"); 

CCPoint touchLocation  = map->convertTouchToNodeSpace(pTouch);

CCLog("좌표확인 : (%f, %f)"touchLocation.x, touchLocation.y);

}

 

 

//pTouch가 갑자기 등장했는데 pTouch를 가져오는게 정확히 생각이 안난다 ㅋㅋㅋㅋㅋ 생각나면 적어드릴게요

 

'개발일지 > cocos2d-x' 카테고리의 다른 글

CCTileMapAtlas 의 정체는...  (0) 2014.02.19
table scroll 참고 사이트  (0) 2014.02.17
나중에 살펴볼 함수들  (0) 2014.02.13
동적으로 파일 가져오기  (0) 2014.02.10
오브젝트 가져오기와 애니메이션 적용  (0) 2014.02.03
Posted by jeff제프
,