Chạy và nhảy
Thuộc phần Đầu vào và di chuyển trong hành trình Godot của Coddy. Bài học 15 trên 28.
Việc chạy chỉ thay đổi velocity.x. Trọng lực và cú nhảy chỉ thay đổi velocity.y. Vì vậy, hãy đặt riêng hai thành phần:
velocity.x = Input.get_axis("move_left", "move_right") * speedĐừng đặt toàn bộ vận tốc như thế này:
velocity = Vector2(Input.get_axis("move_left", "move_right") * speed, 0)Dòng đó đặt velocity.y thành 0 ở mỗi khung hình. Nó xóa tốc độ rơi và cú nhảy, khiến nhân vật chính lơ lửng.
Thử thách
DễCho nhân vật chạy khi rơi và nhảy.
- Phía trên
move_and_slide(), đặtvelocity.xbằngInput.get_axis("move_left", "move_right")nhân vớispeed. - Để trọng lực và cú nhảy điều khiển
velocity.y.
Nhấn “Chơi”: nhân vật chạy với tốc độ 220 pixel mỗi giây và có thể nhảy lên trên và sang phải. Sau đó nhấn “Kiểm tra”.
Tự làm thử
extends CharacterBody2D
var speed = 220
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
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