Я установил круг с 4 даже секторов, используя следующий код:UIBezierPath вращаться вокруг точки внутри самого круга, быстры и SpriteKit
func centerCircle() {
let center = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
// node1
let node1bezierPath = UIBezierPath()
node1bezierPath.addArcWithCenter(center, radius: 100, startAngle: 0.78, endAngle: 2.35, clockwise: true)
node1bezierPath.addLineToPoint(center)
let node1 = SKShapeNode(path: node1bezierPath.CGPath)
node1.strokeColor = SKColor.redColor()
node1.fillColor = SKColor.redColor()
self.addChild(node1)
// node2
let node2bezierPath = UIBezierPath()
node2bezierPath.addArcWithCenter(center, radius: 100, startAngle: 2.35, endAngle: 3.92, clockwise: true)
node2bezierPath.addLineToPoint(center)
let node2 = SKShapeNode(path: node2bezierPath.CGPath)
node2.strokeColor = SKColor.blueColor()
node2.fillColor = SKColor.blueColor()
self.addChild(node2)
// node3
let node3bezierPath = UIBezierPath()
node3bezierPath.addArcWithCenter(center, radius: 100, startAngle: 3.92, endAngle: 5.48, clockwise: true)
node3bezierPath.addLineToPoint(center)
let node3 = SKShapeNode(path: node3bezierPath.CGPath)
node3.strokeColor = SKColor.greenColor()
node3.fillColor = SKColor.greenColor()
self.addChild(node3)
// node4
let node4bezierPath = UIBezierPath()
node4bezierPath.addArcWithCenter(center, radius: 100, startAngle: 5.48, endAngle: 0.78, clockwise: true)
node4bezierPath.addLineToPoint(center)
let node4 = SKShapeNode(path: node4bezierPath.CGPath)
node4.strokeColor = SKColor.yellowColor()
node4.fillColor = SKColor.yellowColor()
self.addChild(node4)
}
То, что я хочу, чтобы достичь является этот круг будет вращаться вокруг своего центра по 90 градусов, когда я нажимаю на экран.
center = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
Я попытался установить centerCircle() -> SKSpriteNode и добавьте SKAction.rotateByAngle, он не работает. И я искал некоторые другие сообщения в StackOverflow, и вам не удавалось заставить их работать. Любые идеи, как я могу заставить его работать? Большое спасибо.
Привет @rakeshbs, Я новичок в программировании, могли бы вы объяснить больше 'переопределение инициализации() { super.init() self.createCircle()} требует инициализации (кодер aDecoder: NSCoder)? { super.init (кодер: aDecoder) }' Благодаря. –
Они инициализаторы. https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html – rakeshbs
Большое спасибо, я взгляну на ссылку. –