Menu
CoddyTech

Rơi do trọng lực

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

Trò chơi này có góc nhìn từ bên cạnh, và nhân vật chính bắt đầu ở trên không. Trọng lực khiến nhân vật rơi ngày càng nhanh, vì nó làm tăng tốc độ rơi sau mỗi khung hình.

Hướng xuống là giá trị y lớn hơn, nên trọng lực làm tăng velocity.y:

var gravity = 1000

func _physics_process(delta):
	velocity.y += gravity * delta
	move_and_slide()

gravity cho biết tốc độ rơi tăng thêm bao nhiêu trong một giây. Mỗi khung hình nhận thêm gravity * delta. Bản thân velocity vẫn không bao giờ nhận delta.

Khi nhân vật chính tiếp đất, move_and_slide() dừng nhân vật và đặt velocity.y thành 0.

challenge icon

Thử thách

Dễ

Làm cho nhân vật chính rơi xuống.

  1. Trong _physics_process(), bên trên move_and_slide(), cộng gravity * delta vào velocity.y.
  2. Dùng += để nhân vật rơi nhanh hơn qua mỗi khung hình.

Nhấn Chơi: nhân vật chính rơi ngày càng nhanh rồi đáp xuống sàn. Sau đó nhấn Kiểm tra.

Tự làm thử

extends CharacterBody2D

var gravity = 1000

func _physics_process(delta):
	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