SKSpriteNode
をCGPoints
の配列から迅速にアニメーション化するにはどうすればよいですか? SKSpriteNode
が次の位置に向かって回転するようにしたいと思います。どんな助けもありがとう。スプライトキットでCGPointの配列をアニメートする方法 - Swift
1
A
答えて
1
をKnightOfDragonの提案@を1として、あなたはこのように、パスを作成し、ノードは、それに従うことを行うことができます:
class GameScene: SKScene {
override func didMove(to view: SKView) {
//1. create points
let points = [
CGPoint(x:frame.minX,y:frame.minY),
CGPoint(x:frame.maxX,y:frame.maxY),
CGPoint(x:frame.maxX,y:frame.midY),
CGPoint.zero
]
//2. Create a path
let path = CGMutablePath()
//3. Define starting point
path.move(to: points[0])
//4. Add additional points
for point in points[1..<points.count]{
print("point : \(point)")
path.addLine(to: point)
}
//5. Create an action which will make the node to follow the path
let action = SKAction.follow(path, speed: 122)
let sprite = SKSpriteNode(color: .white, size: CGSize(width: 100, height: 100))
addChild(sprite)
sprite.run(action, withKey: "aKey")
}
}
これはあるかもしれませんノードがそれに続くパスに向かうようにする場合は、受け入れられた答えよりも便利です(zRotation
プロパティはノードがパスをたどるようにアニメートします)。
1
あなたはこのようにそれを行うことができます。
import SpriteKit
class GameScene: SKScene,SKSceneDelegate {
override func didMove(to view: SKView) {
//1. create points
let points = [CGPoint(x:120,y:20),CGPoint(x:220,y:20),CGPoint(x:40,y:320)]
var actions = [SKAction]()
//2. Create actions
for point in points {
actions.append(SKAction.move(to: point, duration: 1))
}
let sprite = SKSpriteNode(color: .white, size: CGSize(width: 100, height: 100))
addChild(sprite)
//3. Create the action sequence from previously created actions
let sequence = SKAction.sequence(actions)
//4. Run the sequence (use the key to stop this sequence)
sprite.run(sequence, withKey:"aKey")
}
}
関連する問題
- 1. CGPointの配列で線を描く方法
- 2. CGPointの配列を循環させる方法
- 3. swiftを使用してスプライトキットにメッシュトポロジを描画する方法
- 4. オンデマンドでキャラクターをアニメートする方法SceneKit Xcode Swift
- 5. SWIFT:配列からの画像とCGPointを関連付けます
- 6. Swiftで2つのCGPointを使ってCGVectorを生成する方法
- 7. スプライトキットの衝突検出Swift
- 8. swift change cgpoint .centerの値
- 9. Swiftで配列を使う方法は?
- 10. スプライトキット:円の軌道上にスプライトを配置する方法
- 11. `NSmutableArray`配列配列をチャンクに分割する方法swift 3?
- 12. コレクションビューの高さをアニメートする(Swift)
- 13. SwiftでJSONの配列を解析する方法は?
- 14. Swiftで2D配列のコンパイルを最適化する方法
- 15. swiftでユーザーのデフォルト配列に値を追加する方法
- 16. Swiftの配列ソートの理解方法
- 17. Swiftの別の配列に文字列の配列を入れる方法は?
- 18. UIImageの配列をswift 3のbase64の配列に変換する方法は?
- 19. 配列内のNSValueからCGPoint値を取得します
- 20. CGRectにCGPointを保存する方法
- 21. 空気でバルーンフィリングをアニメートする方法
- 22. ボタン内でテキストをアニメートする方法
- 23. matplotlibで3d plot_surfaceをアニメートする方法
- 24. オブジェクトタグでSVGをアニメートする方法
- 25. xamarin.androidでカスタムプロパティをアニメートする方法
- 26. swift配列でminElementを使用する方法
- 27. SwiftでNSNumber配列を合計する方法は?
- 28. CGPointの配列からCGContextを作成する
- 29. いくつかの関連するCGPoint配列でスウィフトコードを構成する方法
- 30. Swiftでオブジェクトの配列を並べ替える方法
SKSpriteNodeを移動する方向に回転する方法はありますか? –
また、アニメーションごとに速度を一定にすることはできますか? –
この[回答]の目標部分を見てください(http://stackoverflow.com/a/36235426/3402095)。一定の速度を解くには、式Time = Distance/Speedを使用します。あなたが立ち往生した場合は、別の質問をしてください。私または他の人がそれに答えるでしょう。これは別の話題であり、あなたはすでにあなたの元の質問に答えているからです... – Whirlwind