18/01/01 15:25:49.26 ljD1K3gw.net
>>217
ちなみに、自分の場合は、2Dでジャンプ機能を実装する際は、
Startでint t = 100,float v = 1.0fをセット
Updateでボタン入力と接地を監視
①入力あり
t >= 0なら、Jump()へ飛んで、その後にt = t -1
②入力なし
接地ありなら、t = 100へ
接地なしなら、t = 0へ
Jump()
t = 100なら、AddForce(mass * v * Vector2.up, ForceMode2D.Impulse)
そうでない場合は、AddForce (mass * (t/100) * (- Physics2D.gravity))
最初のフレームで上向き初速v = 1.0をつけておき、
次のフレームからは重力加速度の相殺を線形的に減じていき、
t = 100フレームで重力加速度の相殺が消える仕組み
ボタン入力がない場合は、接地時はt = 100に戻して、
非接地時はt = 0をセットして連続での再ジャンプを防止