上にジャンプする
CoddyのGodotジャーニー「入力と移動」セクションの一部。レッスン 13/28。
ジャンプさせるには、プレイヤーがjumpを押したフレームで、velocity.yに大きな上向きの速度を設定します。上方向はyが小さくなるため、数値は負になります。
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump"):
velocity.y = jump_velocity
move_and_slide()下降する動きはコードに書く必要はありません。重力によってvelocity.yが増え続けるため、ヒーローは上昇するにつれて減速し、頂点で止まってから落下します。
is_action_pressedではなく、is_action_just_pressedを使います。キーを押し続けると、毎フレーム速度が-500に設定され、ヒーローが画面外へ飛んでいってしまいます。
チャレンジ
簡単jumpを押したとき、velocity.yをjump_velocityに設定します。ヒーローは上にジャンプし、再び床に着地するはずです。キーを押し続けても、飛び続けてはいけません。
自分で試してみよう
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
入力と移動のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド