Swift 如何用两种不同的颜色画一个空心圆?
我非常熟悉绘制填充的createEllipseInRect形状节点,但我想知道是否有一种方法可以通过编程实现这一点。我想要一个圆心,两边各有两种颜色。我没有代码,因为我不知道从哪里开始Swift 如何用两种不同的颜色画一个空心圆?,swift,sprite-kit,skshapenode,Swift,Sprite Kit,Skshapenode,我非常熟悉绘制填充的createEllipseInRect形状节点,但我想知道是否有一种方法可以通过编程实现这一点。我想要一个圆心,两边各有两种颜色。我没有代码,因为我不知道从哪里开始 非常感谢你的帮助 您可以尝试使用SKCropNode,这样可以只显示每个圆的一半。请参见下面的代码以获取此示例 class GameScene: SKScene { override func didMoveToView(view: SKView) { anchorPoint = CGPointMake
非常感谢你的帮助 您可以尝试使用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上得到的结果
编辑:如果需要,您应该能够添加第三个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)
}
}
好的,你能告诉我从哪里开始吗?这正是我想要的!非常感谢你!