좌표(터치)를 이용하여 특정 스프라이트 터치 체크하는 방법
체크는 CGRectContainsPoint 메소드 사용. 참고:( http://goo.gl/BQ2HQ )
CGRectContainsPoint 에 필요한 인자값은 Rect 와 Point
Rect(사각형 스프라이트) 안에 Point 가 있는지 체크하는 메소드 입니다.
사각형 범위를 가져오기 위해서는 해당 sprite의 position과 width, height 를 이용하여 범위를 가져와야 합니다.
cocos2d 에서는 이것을 boundingBox 메소드를 이용하여 쉽게 가져올 수 있습니다.
CGPoint touchPoint = [touch locationInView:[touch view]]; touchPoint = [[CCDirector sharedDirector] convertToGL:touchPoint];
CCSprite *sprite = [CCSprite spriteWitheFile:@"파일명"];
if (CGRectContainsPoint([sprite boundingBox], touchPoint)) {
NSLog(@"해당 스프라이트 터치 성공.");
} else {
NSLog(@"해당 스프라이트 터치 안됨.");
}
진작에 쓸걸... 그동안 position, width, height 계산한걸 생각하면.... -_-;;
'Dev > iOS-cocos2d' 카테고리의 다른 글
[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 |