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.
Thử thách
DễLàm cho nhân vật chính rơi xuống.
- Trong
_physics_process(), bên trênmove_and_slide(), cộnggravity * deltavàovelocity.y. - 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
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