私はスプライトキットとスウィフトでアプリケーションを作成していますが、画面が押されている間に上方に飛ぶスプライトを作成したいので、スクリーンを高く押すほど高くジャンプします。私はその効果を達成しましたが、物理エンジンの重力はスクリーンが解放されるまで適用されません。したがって、ある点(2次方程式/放物線のような)で平準化するのではなく、無限にジャンプします(指数関数的に増加します)。スプライトキットとスウィフトでジャンプする
スプライトの移動中に重力を積極的に適用するにはどうすればよいですか?ここで
は、私の基本的な動きコードです:
override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
// touched is true while screen is touched
if touched {
nodeLeft.physicsBody?.applyImpulse(CGVector(dx: -5, dy: 0))
}
}
注:オブジェクトは、右と左のジャンプではなく
私はあなたにキスすることができたら私はそうです。これは偉大な仕事をありがとう –
ハハ、あなた自身にあなたの唇を保つ。 :-Dあなたにはうまくいったことがうれしい! –
また、インパルス間のタイムラインを奪うこともできます。インパルスは、画面がタッチされ、最後のタッチから一定の時間(1秒、5秒、10秒など)が経過したときにのみ適用されます。 update()は呼び出されたときに現在時刻が渡されるので、これは実装するのがかなり簡単です。 –