Menu
CoddyTech

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 * delta

Cách này giúp nút di chuyển 60 pixel mỗi giây trên mọi máy tính.

challenge icon

Thử thách

Dễ

Khiến robot di chuyển với cùng tốc độ trên mọi máy tính.

  1. Trong _process(), đổi position.x += 2 để robot di chuyển 100 pixel mỗi giây.
  2. Nhân 100 với delta.

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

Tự luyện tập: Playground Godot