きれいなジャンプ(ボタンを押した長さに応じたジャンプ)
マリオ

サンプルソース

実行結果
v1

【概要】
ジャンプする瞬間から、初速にボタンを押している時間を加算する。

※初速に加算することは、僕たちが地球でジャンプする時に力を入れるのと同じ方法
※重力加速度を変更することは、地球の重力を変えることと同じ。


【詳細】
PlayerY += (4 + JumpCount + (-0.3270f) * (JumpTimer)) / 60;

4が最低限のジャンプの高さを表す

JumpCountは初速

-0.3270fは重力加速度を表す(現実世界と同じにするなら-0.980fにするとよいが、50cm位しかジャンプできないのでゲームでは仮想的な値を入れることが多い)

JumpTimerは毎フレーム加算し重力加速度を上昇させることで、落下の力を毎フレーム増加する。

なお、このプログラムでは地面を設定していない為、地面に落ちた時は別途移動を止める必要がある。