Nhảy lên
Thuộc phần Đầu vào và di chuyển trong hành trình Godot của Coddy. Bài học 13 trên 28.
Để nhảy, hãy đặt velocity.y thành một tốc độ hướng lên lớn trong khung hình người chơi nhấn jump. Hướng lên có y nhỏ hơn, nên giá trị này là số âm:
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()Bạn không cần viết code cho lúc đi xuống. Trọng lực tiếp tục cộng vào velocity.y, khiến nhân vật chậm lại khi bay lên, dừng ở điểm cao nhất rồi rơi xuống.
Dùng is_action_just_pressed, không dùng is_action_pressed. Nếu giữ phím, tốc độ sẽ được đặt thành -500 ở mỗi khung hình và nhân vật sẽ bay khỏi màn hình.
Thử thách
DễLàm cho nhân vật nhảy.
- Giữa dòng trọng lực và
move_and_slide(), thêm câu lệnhifchoInput.is_action_just_pressed("jump"). - Bên trong câu lệnh đó, đặt
velocity.ythànhjump_velocity.
Nhấn Chơi rồi nhấn phím cách: nhân vật nhảy lên rồi hạ xuống, và giữ phím cách không khiến nhân vật bay. 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
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