Menu
CoddyTech

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.

challenge icon

Thử thách

Dễ

Cho nhân vật chạy khi rơi và nhảy.

  1. Phía trên move_and_slide(), đặt velocity.x bằng Input.get_axis("move_left", "move_right") nhân với speed.
  2. Để 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

Tự luyện tập: Playground Godot