Menu
CoddyTech

Chỉ nhảy từ mặt đất

Thuộc phần Đầu vào và di chuyển trong hành trình Godot của Coddy. Bài học 14 trên 28.

Nhân vật trong bài học trước có thể nhảy liên tục trên không bao nhiêu lần tùy thích. Nhân vật chỉ nên nhảy khi đang đứng trên một bề mặt.

is_on_floor() là true khi lần gọi move_and_slide() gần nhất để cơ thể đứng trên sàn. Khi ở trên không, nó là false.

and kết hợp hai điều kiện. if chỉ chạy khi cả hai đều đúng:

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

Thử thách

Dễ

Chỉ cho nhân vật nhảy khi đang ở trên sàn.

  1. Thêm điều kiện thứ hai vào câu lệnh if của thao tác nhảy bằng and.
  2. Dùng is_on_floor().

Nhấn Chơi rồi nhấn phím cách hai lần: lần nhấn thứ hai khi đang ở trên không sẽ không làm gì. Sau đó, nhấn Kiểm tra.

Tự làm thử

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()

Tất cả bài học trong Đầu vào và di chuyển

Tự luyện tập: Playground Godot