1
これは4つのスプライトで構成されたホイールです。私の目的は、それらをホイールとして回転させることです。私は 'UIBezier' arccenterクラスを試しましたが、最終結果は個々のスプライトが中心に沿って動いていますが、その形状も回転して、望ましくない結果につながります。ここにrelavantコードがあります。 'orientToPath'をtrueに設定すると、スプライト自体が回転します。
//path rotation
let dx = whlPurple.position.x - self.size.width/2
let dy = whlPurple.position.y - (whlRed.size.height/2 + (whlPurple.position.y - whlRed.size.height))
let rad = atan2(dy, dx)
let radius = sqrt((dx*dx) + (dy*dy))
let path = UIBezierPath(arcCenter: CGPoint(x: self.size.width/2, y: (whlRed.size.height/2 + (whlPurple.position.y - whlRed.size.height))), radius: radius, startAngle: rad, endAngle: rad + CGFloat(M_PI * 6), clockwise: true)
let follow = SKAction.follow(path.cgPath, asOffset: false, orientToPath: true, speed: 200)
whlPurple.run(SKAction.repeatForever(follow))