Menu
CoddyTech

床からのみジャンプ

CoddyのGodotジャーニー「入力と移動」セクションの一部。レッスン 14/28。

前のレッスンのヒーローは、空中でも好きなだけ何度でもジャンプできます。何かの上に立っているときだけジャンプするようにしましょう。

is_on_floor() は、最後の move_and_slide() によってボディが床の上に残った場合に true になります。空中では false になります。

and は2つの条件をつなぎます。両方がtrueの場合にのみ、if が実行されます。

if Input.is_action_just_pressed("jump") and is_on_floor():
	velocity.y = jump_velocity
challenge icon

チャレンジ

簡単

ヒーローが床にいるときだけジャンプするようにしましょう。

  1. ジャンプのifにandを使って2つ目の条件を追加します。
  2. is_on_floor()にします。

「プレイ」を押して、スペースキーを2回押します。空中で押す2回目は何も起こりません。その後、「確認」を押します。

自分で試してみよう

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プレイグラウンド