床からのみジャンプ
CoddyのGodotジャーニー「入力と移動」セクションの一部。レッスン 14/28。
前のレッスンのヒーローは、好きなだけ空中で何度もジャンプできます。何かの上に立っているときだけジャンプするようにしましょう。
is_on_floor() は、最後の move_and_slide() によってボディが床の上にある場合に true になります。空中では false になります。
and は2つの条件をつなぎます。両方が真の場合にのみ if が実行されます。
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocityチャレンジ
簡単ヒーローが床に立っているときだけジャンプできるようにしましょう。空中でジャンプを押しても何も起こらないようにします。
自分で試してみよう
extends CharacterBody2D
var gravity = 1000
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()
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
入力と移動のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド