私は Swift 3.0 を使用しており、SKCameraNode クラスをゲームのカメラとして使用しようとしています。
動かしたり、回転させたり、ズームインしたりズームアウトしたりします。なんらかの理由で、まるで通常の 10 分の 1 の時間しか更新されていないかのように、非常にエッチなこれらのラフなパッチ (約 30 秒) が出たり入ったりします。カメラの動きを除いて、ゲーム内で遅れているものは何もないことに注意してください。
ただし、これは、ズームインおよびズームアウトしようとしているときにのみ非常に目立ちます。
この発生は通常、大量に移動した後に発生しますが、常にではありません。アプリを起動した瞬間に発生する場合もあれば、まったく発生しない場合もあります。
didFinishUpdateで実行されている私のコードは次のとおりです。
camera.run(SkAction.scale(to: size, duration time))
time は通常 0.0 ですが、そうでない場合もあるので、可能であれば SKAction のままにしておきたいと思います。ただし、問題はこの SKAction の使用にあると思います。(99% のように、問題は時間に誤って 0.0 を渡していないことではないと確信しています)
では、この問題を修正または回避するにはどうすればよいでしょうか? これは Swift の単なる制限ですか?
編集:他の更新機能でも使用してみました。また、didFinishUpdate の実行時間もテストしましたが (ラグかどうかを確認するため)、一貫性が保たれていました。また、これはカメラを回転させようとすると発生します。別の編集: gamePhysics の速度を 0.9999 に設定しようとしましたが、これはラグの問題がある別の投稿で提案されました
ありがとう!