[Cocos] Anchor point 와 Rect의 관계2016. 4. 18. 21:53
Anchor point 와 Rect의 관계
코딩하다, 움직이는 객체끼리 충돌처리를 해야하는 상황이 있었다.
스프라이트의 크기보다 1/2 작은 Rect 충돌 범위를 맞추려고 하다가
충돌이 엉뚱하게되는 버그가 생겼다
이 버그를 잡느라ㅏ 2일 꼬박 고민했는데 이것이 문제였다...
(코코스에선 Rect 범위 출력해주는 기능이 없다.)
코코스의 좌표계다
왼쪽 하단부분이 0,0 으로 시작한다
스프라이트를 출력하다보면 앙크포인트 기본이 0.5 , 0.5 로 되어있는데
setAnchorPoint 함수로 앙크포인트 위치를 정할 수 있다
4가지로 나뉘는데, 이 게시글에선 생략한다.
문제는 앙크포인트와 Rect 출력에 대한 것이다.
코코스에서 Rect를 출력하면 좌표계 기준에 맞게 출력을한다
즉, x, y 위치가 rect 의 x, y 가 되는 것이고 그 좌표기준으로 오른쪽으로 width , 위쪽으로 height 라는 것이다.
중요한 것은,
스프라이트 앙크포인트가 0, 1 이고, 좌표가 x, y 일때
x, y 위치에서 앙크포인트 기준으로 그림은 하얀색 사각형으로 출력된다
하지만 Rect로 스프라이트의 크기를 출력할 경우 (바운딩박스 사용X)
x, y 좌표 기준으로 코코스 좌표계에 따라 출력이되서(분홍색 사각형) 예상치못한 버그가 생겼던 것이다
'Engine > Cocos2d-x' 카테고리의 다른 글
[Android/cocos] 안드로이드 포팅 후 앱 실행 시 게임 종료 현상 (0) | 2016.06.09 |
---|---|
[cocos/error] .cocos-priject,json is not found (0) | 2016.05.30 |
[Cocos] 텍스트 출력 CharMap (0) | 2016.03.15 |