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 * deltaTrọ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.
Thử thách
DễLàm cho nhân vật bay rơi xuống.
- Trong
flyer.gd, thêmconst GRAVITY = 900. - Ở mỗi khung hình vật lý, cộng
GRAVITY * deltavàovelocity.y, sau đó di chuyển nhân vật bay theovelocity * 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
1Dự án: Breakout
Thanh đỡ trong BreakoutGiữ thanh đỡ trong màn hình4Dự án: trò chơi khám phá hầm ngục
Khám phá hầm ngụcNhặt chìa khóa3Dự án: Flappy Flyer
Trọng lực của FlyerVỗ cánh cho FlyerTự luyện tập: Playground Godot