Menu
CoddyTech

Trọng lực của Flyer

Thuộc phần Dự án trong hành trình Godot của Coddy. Bài học 22 trên 36.

Dự án thứ ba là một trò chơi bay lượn kiểu Flappy. Một chú chim robot liên tục rơi xuống và vỗ cánh bay lên khi bạn nhấn phím Space. Chú chim phải bay qua các khoảng trống giữa những chiếc ống.

Các script là flyer.gd, pipe.gd và main.gd. Bắt đầu với trọng lực. Trong mỗi khung hình vật lý, trọng lực làm tăng tốc độ rơi xuống của chú chim, rồi tốc độ di chuyển chú chim:

velocity.y += GRAVITY * delta
position += velocity * delta

Trọng lực làm thay đổi tốc độ chứ không làm thay đổi vị trí, vì vậy chú chim rơi nhanh hơn sau mỗi khung hình. Mỗi CharacterBody2D đều có sẵn velocity.

challenge icon

Thử thách

Dễ

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

  1. Trong flyer.gd, thêm const GRAVITY = 900.
  2. Ở mỗi khung hình vật lý, cộng GRAVITY * delta vào velocity.y, sau đó di chuyển nhân vật bay theo velocity * delta.

Nhấn Chơi: nhân vật bay rơi ngày càng nhanh. Sau đó nhấn Kiểm tra.

Tự làm thử

extends CharacterBody2D

func _physics_process(delta):
	pass

Tất cả bài học trong Dự án

Tự luyện tập: Playground Godot