자작 게임도 잘 부탁드려요~

adsense



[cocos2d-x / 플래피위치] 정보 가시화(디버그모드), 타일 체크

디버그 모드






화면 좌표가 위치한 타일의 ID 읽어오기




더욱 간단한 좌표 얻기

tileX, tileY 계산할 때 자체적인 산술식을 썼는데, cocos2d-x에서는
map->convertToNodeSpace(pos) 이렇게 얻어내는 방법이 있습니다.
pos가 화면상의 좌표일 때, map을 기준으로 한 상대적인 좌표를 얻어내는 api가 convertToNodeSpace입니다.


tileX, tileY값 범위를 검사해야 하는 이유

맵이 오른쪽 끝부터 시작할 경우에는 tileX가 -값이,
화면 위로 캐릭터가 올라갈 경우 tileY는 -값이,
맵이 왼쪽 끝으로 나갔을 경우에는 tileX가 맵 너비width보다 큰 값이 각각 들어오고
이 값으로 getTileGIDAt을 걸면 오류납니다.


'타일이 존재하지 않는 것' 과 '공백 타일'이 존재하는 것은 다르다

Tiled 툴에서 찍을 때의 타일 ID값과, api로 읽어올때의 ID값(GID)값이 다른 것에 주의.
GID는 1부터 시작합니다.
setTileGIDAt 할 때 0 찍으면 오류납니다.
(아마 내부적으로 0은 아무 타일도 없는 상태일 것이라...)
해서 타일을 구성할 때 타일 하나 정도는 아무것도 없는 투명 공백이 필요합니다.
경험적으로는 제일 앞에 두는게 좋습니다.
타일로 배치된 요소를 삭제할 때는 removeTileAt이라는 api가 있습니다.
정확히는 이걸로 바꿔주는게 맞습니다.




덧글

댓글 입력 영역


Books

Geek라이프

기초부터 시작하는 모형 전자공작
박성윤 저

사이토 나오키의 일러스트 첨삭 레슨 Before & After
사이토 나오키 저/박수현 역

MSX&재믹스 퍼펙트 카탈로그
마에다 히로유키 저/조기현 역

핵심강좌! Cocos2d-x
이재환 저
예스24 | 애드온2
일본서적 전문사이트 NEPIC