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_velocityThử thách
DễChỉ cho nhân vật nhảy khi đang ở trên sàn.
- Thêm điều kiện thứ hai vào câu lệnh
ifcủa thao tác nhảy bằngand. - 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
5Dự án: nhân vật anh hùng trong game đi cảnh
Anh hùng: chạyAnh hùng: nhảy3Trọng lực và nhảy
Rơi do trọng lựcNhảy lênChỉ nhảy từ mặt đấtChạy và nhảyNhảy biến thiênNhảy hai lầnTự luyện tập: Playground Godot