- (CGPoint)convertToNodeSpace:(CGPoint)worldPoint
worldPoint(전체 화면상의 좌표) 값을 특정노드(스프라이트, 레이어 포함) 기준의 좌표값으로 변경
- (CGPoint)convertToWorldSpace:(CGPoint)nodePoint
특정노드(스프라이트, 레이어 포함)에서의 좌표값을 worldPoint(전체 화면상의 좌표) 기준의 좌표값으로 변경
'Dev > iOS-cocos2d' 카테고리의 다른 글
| [Cocos2D] 스프라이트 터치 체크하기 (2) | 2011.08.05 |
|---|---|
| [Cocos2D] world, node 좌표값으로 변경하기 (4) | 2011.07.12 |
| [Cocos2D] 스프라이트 2개 이미지 사이에 실선이 보일 때 (0) | 2011.07.11 |
| [cocos2d] iPhone Tutorials - Cocos2D Framework (0) | 2011.06.16 |
| [cocos2d] Define function (0) | 2011.06.15 |
댓글을 달아 주세요
비밀댓글입니다
2011.08.15 15:20 [ ADDR : EDIT/ DEL : REPLY ]안녕하세요.
CGPoint)nodePoint
2011.08.22 11:18 신고 [ ADDR : EDIT/ DEL ]몸 sprite 위에 얼굴 등의 sprite를 addchild 했으면, 이미 상대적인 좌표로 들어가게 되겠네요.
- (CGPoint)convertToWorldSpace
이용하시면 되겠지요?
터치 좌표는 월드 좌표인데, 몸 sprite 기준으로 상대적인 좌표값(머리 등)이 나오니 엉뚱한 터치 영역을 체크하고 있겠네요.
[self convertToWorldSpace: 머리 sprite] 이런 식으로 레이어에서의 월드좌표 값을 가져오고 그 좌표값이 터치부분에 들어가있는지 보면 될 것 같습니다.
그리고 다른 방법으로는 몸에 addchild 할때 터치영역을 만들어주는건 어떨까요?
몸 sprite rect에 머리 붙일때의 최대값(최대값 가져오는건 제 포스팅에 있습니다.) 가져와서 x, y 값을 늘려주고 팔 붙이면서 오른쪽 x 값 늘려주고 해서 최종 rect 값을 터치영역으로 해서 CGRectContainsPoint 메소드로 체크해도 될 듯 싶습니다.
저도 할때마다 헷갈려요.. ^^;;
맞는 답변이길...
터치하는 좌표와 맵 이동시에 나오는 좌표가 계속 틀려서 고민하고 있었는데 덕분에 해결했습니다. 감사합니다. ^^
2012.09.26 04:04 신고 [ ADDR : EDIT/ DEL : REPLY ]도움이 되셨다니 다행이네요. =)
2012.10.17 13:51 신고 [ ADDR : EDIT/ DEL ]