2
我非常熟悉繪製一個填充的createEllipseInRect形狀節點,但我想知道是否有辦法以編程方式執行此操作。我想要一個在兩邊分開兩個不同顏色的圓圈。我沒有代碼,因爲我不知道從哪裏開始。如何畫兩種不同顏色的空心圓?
幫助非常感謝。
我非常熟悉繪製一個填充的createEllipseInRect形狀節點,但我想知道是否有辦法以編程方式執行此操作。我想要一個在兩邊分開兩個不同顏色的圓圈。我沒有代碼,因爲我不知道從哪裏開始。如何畫兩種不同顏色的空心圓?
幫助非常感謝。
您可以嘗試使用SKCropNode,這允許您只顯示每個圓的一半。例如下面的代碼。
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
anchorPoint = CGPointMake(0.5, 0.5)
// Half Circle #1
let myCrop1 = SKCropNode()
let myMask1 = SKSpriteNode(color: UIColor.blackColor(), size: CGSizeMake(100, 100))
myMask1.position.y = -50
let circle1 = SKShapeNode(circleOfRadius: 50)
circle1.lineWidth = 0
circle1.fillColor = UIColor.blueColor()
myCrop1.addChild(circle1)
myCrop1.maskNode = myMask1
addChild(myCrop1)
// Half Circle #2
let myCrop2 = SKCropNode()
let myMask2 = SKSpriteNode(color: UIColor.blackColor(), size: CGSizeMake(100, 100))
myMask2.position.y = 50
let circle2 = SKShapeNode(circleOfRadius: 50)
circle2.lineWidth = 0
circle2.fillColor = UIColor.redColor()
myCrop2.addChild(circle2)
myCrop2.maskNode = myMask2
addChild(myCrop2)
}
}
我還沒有真正使用SKCropNode,以前多了,所以我不知道我的代碼是多麼好,但下面是我在我的iPhone得到的結果。
編輯:你應該能夠添加3 SKCropNode使透明圈的中心,如果需要的話。
編輯:下面的透明中心
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
anchorPoint = CGPointMake(0.5, 0.5)
let transparentCenterMask = SKShapeNode(circleOfRadius: 50)
transparentCenterMask.lineWidth = 20
let transparentCenterCrop = SKCropNode()
transparentCenterCrop.maskNode = transparentCenterMask
// Half Circle #1
let myCrop1 = SKCropNode()
let myMask1 = SKSpriteNode(color: UIColor.blackColor(), size: CGSizeMake(100, 100))
myMask1.position.y = -50
let circle1 = SKShapeNode(circleOfRadius: 50)
circle1.lineWidth = 0
circle1.fillColor = UIColor.blueColor()
myCrop1.addChild(circle1)
myCrop1.maskNode = myMask1
transparentCenterCrop.addChild(myCrop1)
// Half Circle #2
let myCrop2 = SKCropNode()
let myMask2 = SKSpriteNode(color: UIColor.blackColor(), size: CGSizeMake(100, 100))
myMask2.position.y = 50
let circle2 = SKShapeNode(circleOfRadius: 50)
circle2.lineWidth = 0
circle2.fillColor = UIColor.redColor()
myCrop2.addChild(circle2)
myCrop2.maskNode = myMask2
transparentCenterCrop.addChild(myCrop2)
addChild(transparentCenterCrop)
}
}
這正是我所期待的!非常感謝! – KeepItSimple
好了,你可以給我從哪裏開始的想法? – KeepItSimple