'cgrectcontainspoint'에 해당되는 글 1건

  1. 2011.08.05 [Cocos2D] 스프라이트 터치 체크하기 2
Dev/iOS-cocos2d2011. 8. 5. 12:03

좌표(터치)를 이용하여 특정 스프라이트 터치 체크하는 방법

체크는 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 계산한걸 생각하면.... -_-;;



Posted by 놀란