2017-12-10 17 views
1

回転しながらSwiftでスプライトノード(フリスビー)を移動しようとしています。オブジェクトは予想どおりに移動しますが、回転はしません。 2つのアクションをまとめて並列に実行しましたが、まだ回転しません。両方のアクションを単独で実行すると、動作しますが、並行して動作しません。ここでは、コードは次のようになります。回転中にスプライトノードを移動する

 //spin frisbee 
     let oneRevolution = SKAction.rotate(byAngle: CGFloat.pi * 2, duration: 0.5) 
     let repeatRotation = SKAction.repeatForever(oneRevolution) 



     //move frisbee in an arc 

     let path = UIBezierPath() 
     path.move(to: CGPoint.zero) 
     path.addQuadCurve(to: CGPoint(x: 3200, y: 1500), controlPoint: CGPoint(x: 50, y: 2000)) 
     let moveFrisbee = SKAction.follow(path.cgPath, duration: 1.3) 


     let group = SKAction.group([repeatRotation, moveFrisbee]) 
     let frisbeeSequence = SKAction.sequence([frisbeeSound, group]) 
     frisbee.run(frisbeeSequence) 
+0

frisbeeSoundがあなたをブロックしている可能性はありますか? – Knight0fDragon

+0

私のそばかすが動くので、私はそうは思わないでしょうが、回転しません。 –

答えて

1

それは、これを実現するために私に約22分かかったが、SKAction.follow機能が自動的zRotationが、それは次のパスに対して回転するように設定します。私は「let moveFrisbee」コードを次のように変更して無効にしました:

let moveFrisbee = SKAction.follow(path.cgPath, asOffset: true, orientToPath: false, duration: 1.3) 
関連する問題