[Lập Trình Game] Hiển thị FPS cho game bằng Godot Engine

FPS (frames per second) hay còn gọi là khung hình trên giây. Nếu trong một giây mà máy tính của bạn hiển thị càng nhiều khung hình thì game càng mượt. FPS phụ thuộc tốc độ mạng và phần cứng máy tính. Để hiển thị FPS của Game do bạn lập trình bằng Godot Engine là bao nhiêu thì hãy làm theo hướng dẫn dưới đây nhé.

Hiển thị FPS cho game bằng Godot Engine

FPS

Đầu tiên các bạn tạo cho mình 2 Node là CanvasLayer  và  label. Label là node con của canvaslayer

Và mình đổi tên label -> fps label

Các bạn tạo cho mình 1 cái script ở Node World

ở phần khai báo các bạn khai báo cho mình như sau

onready var fps_label = get_node("CanvasLayer/fps_label")

get_node() là lấy địa chỉ node của bạn

onready var là khai báo biến luôn luôn sẵn sàng VD như này:

Thêm cho mình hàm func _process(delta):

_process(delta): là hàm được gọi trên mỗi khung nhàn rỗi

_ physical _process: là 1 chức năng gọi trên mọi khung vật lý

Bạn có thể tra ở tài liệu của godot: https://docs.godotengine.org/en/3.0/classes/class_node.html#class-node-process

Và nếu bạn sử dụng hàm _process(delta): bạn cần phải kích hoạt nó ở hàm func _ready bằng lệnh set_process(true)

Và quay trở lại phần chính nào.

_process các bạn gõ cho mình

func _process(delta):

fps_label.set_text("FPS: " + str(Engine.get_frames_per_second()))

Sau khi gõ xong chạy game sẽ thấy fps đã được hiện

Note: Phải chỉnh lại vị trí của cái label nếu bạn muốn thấy fps nhé

Và bạn cũng có thể in FPS ra phần debug bằng cách sau

Project > Project Setting > Tìm FPS > nhấn Debug Settings > Click Print FPS On > chạy game để ý debug sẽ thấy fps được hiển thị

Deathgm!

Đánh giá post
Exit mobile version