2013-10-25 4 views
1

내가 이렇게 내 플레이어를 만드는거야 :Spritekit/UIBeziers는 : 접촉을 감지/nodeAtPoint

UIBezierPath *pPath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(0, 0) 
                radius:10 
               startAngle:0 
                endAngle:DEGREES_TO_RADIANS(360) 
                clockwise:YES]; 
_player = [[SKShapeNode alloc] init]; 
_player.path = pPath.CGPath; 
[_player setFillColor:[UIColor blueColor]]; 
[_player setStrokeColor:[UIColor clearColor]]; 
_player.position = arenaCentre; 
_player.zPosition = 1; 
_player.name = @"player"; 

그때 사용이 개체의 접촉을 감지 :

SKSpriteNode *touchedNode = (SKSpriteNode *)[self nodeAtPoint:touchLocation]; 

문제는 내 모양이다이다 너무 작아서/때로는 가끔 빠르게. 터치 영역을 보이는 물체보다 크게 만들려면 어떻게해야합니까?

이런 종류의 모범 사례가 있습니까?

많은 감사, 이안

답변

1

당신은 플레이어 모양의 부모로 원하는 크기의 큰 모양 (또는 컬러 스프라이트)를 그릴, 그리고 완전히 투명한 색상을 사용할 수 있습니다.

그러나 이것은 때때로 부모 모양을 찾고 다른 모양은 실제 모양을 찾습니다. 따라서 보상해야합니다.

+0

나는 그것을 시도하고 완벽하게 작동합니다. 많은 감사합니다. – Ian

관련 문제