UIBezierPath를 사용하여 SKShapeNode를 사용하여 원의 채워진 섹터를 그립니다. 나는 대부분의 경우에 잘 작동하지만 작은 각도에서는 모양이 완전히 채워지지 않습니다 (아크 바로 아래에 약간의 간격이 있음). 이처럼 :UIBezierPath가있는 SKShapeNode가 완전히 채워지지 않습니다.
CGPoint center = CGPointMake(500, 300) ;
UIBezierPath *bezierPath = [UIBezierPath bezierPath];
[bezierPath addArcWithCenter:center radius:400 startAngle:1.825777 endAngle:2.011118 clockwise:YES];
[bezierPath addLineToPoint:center];
[bezierPath closePath];
SKShapeNode *shapeNode = [SKShapeNode shapeNodeWithPath:bezierPath.CGPath];
shapeNode.strokeColor = [UIColor whiteColor];
shapeNode.fillColor = [UIColor whiteColor];
[self addChild:shapeNode];
결과는 아이 패드와 시뮬레이터 (아이폰 OS 8.1)에서 동일 : 여기
은 내가 사용하는 코드입니다.내가 잘못했거나 제한이나 버그가 있습니까?
이 API로이 모양을보다 정확하게 그릴 수없는 경우 SpriteKit 게임의 컨텍스트에서 그릴 수있는 다른 방법을 제안 해주십시오.
미리 감사드립니다.
간단히 그리지 않고 SpriteKit 노드가 되려면이 모양이 필요합니다. 나는 drawRect를 사용하여 그것을 어떻게 얻을 수 있는지 이해하지 못한다. 좀 더 자세히 설명해 주시겠습니까? –
지금은 테스트 할 수 없지만 lineWidth> 4를 사용하여이 문제를 해결했다고 생각합니다. –
drawRect에 대한 @akmidd 죄송합니다. SpriteKit 노드에서 사용할 수 없으므로 SpriteKit을 삭제하고 모든 작업을 수행했습니다. UIKit의 애니메이션/그림. – netbe