Thời gian của frame và thời gian đã chạy. Tiếp...
Các hàm | |
| f32 | njin::delta (const context &ctx) |
| Thời gian của frame trước, tính bằng giây, đã nhân với tốc độ thời gian. | |
| f32 | njin::delta_real (const context &ctx) |
| Thời gian thật của frame trước, không bị tốc độ thời gian hay tạm dừng ảnh hưởng. | |
| void | njin::time_set_scale (context &ctx, f32 scale) |
| Đặt tốc độ thời gian của game. | |
| f32 | njin::time_scale (const context &ctx) |
| Tốc độ thời gian hiện tại. | |
| void | njin::time_set_paused (context &ctx, bool paused) |
| Tạm dừng hoặc chạy tiếp thời gian của game. | |
| bool | njin::time_paused (const context &ctx) |
| Game có đang tạm dừng không. | |
| f32 | njin::fixed_delta (const context &ctx) |
| Độ dài một nhịp của phase_fixed_update, bằng 1 / config::fixed_hz. | |
| f32 | njin::fixed_alpha (const context &ctx) |
| Phần nhịp cố định còn dư sau phase_fixed_update của frame này, từ 0 đến 1. | |
| f32 | njin::elapsed (const context &ctx) |
| Thời gian đã trôi qua kể từ lúc mở cửa sổ, tính bằng giây. | |
Thời gian của frame và thời gian đã chạy.
| f32 njin::delta | ( | const context & | ctx | ) |
Thời gian của frame trước, tính bằng giây, đã nhân với tốc độ thời gian.
Nhân vận tốc với giá trị này để chuyển động không phụ thuộc FPS. Bằng 0 khi đang tạm dừng (time_set_paused()). Trong phase_fixed_update hàm này trả về đúng một nhịp cố định, xem fixed_delta().
| ctx | Context của engine. |
| f32 njin::delta_real | ( | const context & | ctx | ) |
Thời gian thật của frame trước, không bị tốc độ thời gian hay tạm dừng ảnh hưởng.
Dùng cho thứ vẫn phải chạy khi game dừng, như menu tạm dừng.
| ctx | Context của engine. |
| void njin::time_set_scale | ( | context & | ctx, |
| f32 | scale ) |
Đặt tốc độ thời gian của game.
1 là bình thường, 0.5 là chậm một nửa.
Ảnh hưởng delta(), phase_fixed_update và animation của sprite. Giá trị âm được coi là 0.
| ctx | Context của engine. |
| scale | Tốc độ thời gian. |
| f32 njin::time_scale | ( | const context & | ctx | ) |
Tốc độ thời gian hiện tại.
| ctx | Context của engine. |
| void njin::time_set_paused | ( | context & | ctx, |
| bool | paused ) |
Tạm dừng hoặc chạy tiếp thời gian của game.
Khi dừng, delta() trả về 0 và phase_fixed_update không chạy, nhưng các phase khác vẫn chạy mỗi frame: input vẫn đọc được, menu vẫn vẽ được. Giữ nguyên tốc độ thời gian đã đặt.
| ctx | Context của engine. |
| paused | true để tạm dừng. |
| bool njin::time_paused | ( | const context & | ctx | ) |
Game có đang tạm dừng không.
| ctx | Context của engine. |
| f32 njin::fixed_delta | ( | const context & | ctx | ) |
Độ dài một nhịp của phase_fixed_update, bằng 1 / config::fixed_hz.
| ctx | Context của engine. |
| f32 njin::fixed_alpha | ( | const context & | ctx | ) |
Phần nhịp cố định còn dư sau phase_fixed_update của frame này, từ 0 đến 1.
Dùng để nội suy vị trí khi vẽ, cho chuyển động mượt dù FPS khác nhịp vật lý: draw_pos = lerp(prev_pos, pos, fixed_alpha(ctx)).
| ctx | Context của engine. |
| f32 njin::elapsed | ( | const context & | ctx | ) |
Thời gian đã trôi qua kể từ lúc mở cửa sổ, tính bằng giây.
| ctx | Context của engine. |