Delta
Thuộc phần Nút và cảnh trong hành trình Godot của Coddy. Bài học 8 trên 28.
Không phải máy tính nào cũng vẽ 60 khung hình mỗi giây. Màn hình nhanh vẽ 144 khung hình, còn điện thoại đang bận có thể vẽ 30. Robot di chuyển 2 pixel mỗi khung hình sẽ nhanh trên máy này nhưng chậm trên máy kia.
Godot truyền delta cho _process(delta) ở mỗi khung hình. Đây là số giây kể từ khung hình trước: khoảng 0.0167 ở tốc độ 60 khung hình mỗi giây, khoảng 0.033 ở tốc độ 30.
Nhân quãng đường di chuyển với delta để chuyển thành quãng đường di chuyển mỗi giây:
func _process(delta):
position.y += 60 * deltaCách này giúp nút di chuyển 60 pixel mỗi giây trên mọi máy tính.
Thử thách
DễKhiến robot di chuyển với cùng tốc độ trên mọi máy tính.
- Trong
_process(), đổiposition.x += 2để robot di chuyển100pixel mỗi giây. - Nhân
100vớidelta.
Nhấn Chơi: robot lướt sang phải, 100 pixel mỗi giây. Sau đó nhấn Kiểm tra.
Tự làm thử
extends Node2D
func _process(delta):
position.x += 2
Tất cả bài học trong Nút và cảnh
1Trò chơi Godot đầu tiên
Godot là gì?Ready chỉ chạy một lầnIn ra trong GodotCây cảnhĐặt vị tríDi chuyển một nút một lần3Các giá trị bạn có thể điều chỉnh
Biến trên một nútHằng sốBiến xuấtPhép toán với Vector2Vòng qua mép màn hìnhHàm của riêng bạnTự luyện tập: Playground Godot