0
現在、SpriteKitでゲームを作成しています。このゲームでは、この円の輪郭に小さな隙間(おそらく円の全周の約1/8)を持つ円の輪郭を描こうとしています。ここに私が描いているものの描かれた絵があります。小さな隙間を描く円の輪郭スプライトキットスウィフト
は、どのように私はこの使用してSpriteKitベースをしますか? SKShapeNodeを使用しますか?どんな助けもありがとう。ありがとうございました。
現在、SpriteKitでゲームを作成しています。このゲームでは、この円の輪郭に小さな隙間(おそらく円の全周の約1/8)を持つ円の輪郭を描こうとしています。ここに私が描いているものの描かれた絵があります。小さな隙間を描く円の輪郭スプライトキットスウィフト
は、どのように私はこの使用してSpriteKitベースをしますか? SKShapeNodeを使用しますか?どんな助けもありがとう。ありがとうございました。
あなたはこのように、SKEffectNode
と組み合わせてSKShapeNode
を使用して同様の何かを得ることができます。
override func didMoveToView(view: SKView) {
let effectNode = SKEffectNode()
let gap = CGFloat(M_PI_4/4.0)
for i in 0...3 {
let shape = SKShapeNode(circleOfRadius: 50)
shape.fillColor = .clearColor()
shape.lineWidth = 6.8
shape.strokeColor = .darkGrayColor()
let startAngle:CGFloat = CGFloat(i) * CGFloat(M_PI_2) + gap
let endAngle:CGFloat = startAngle + CGFloat(M_PI_2) - gap * 2
print("Iteration \(i) : start angle (\(startAngle * 180/CGFloat(M_PI)), end angle (\(endAngle * 180/CGFloat(M_PI)))")
shape.path = UIBezierPath(arcCenter: CGPointZero, radius: -50, startAngle: startAngle, endAngle: endAngle, clockwise: true).CGPath
effectNode.addChild(shape)
}
effectNode.position = CGPoint(x: frame.midX, y: frame.midY)
effectNode.shouldRasterize = true
addChild(effectNode)
}
結果:
それとも、プログラム的にマスクを作成し、それを適用することができa SKCropNode
。もちろん、SKCropNodeはリングの親になります(SKShapeNode
.clearColor()
に設定され、適切な値に設定されたfillColor
)。