njin
Engine 2D gọn nhẹ để tự tay làm game theo ý mình. Vibe coding cũng ổn luôn
Loading...
Searching...
No Matches
njin::animator Struct Tham chiếu

Chạy animation từ một sheet có clip, cho entity có sprite. Tiếp...

#include <njin_anim.h>

Các thuộc tính Public

anim_graph_handle graph {}
 Máy trạng thái. Có thì sheet bị bỏ qua.
anim_sheet_handle sheet {}
 Sheet, khi không dùng graph.
f32 speed = 1.0f
 Tốc độ chung. 0 là đứng hình.
bool playing = true
 false để dừng ở frame hiện tại.
Trạng thái (do engine quản lý, chỉ đọc)
i32 state = -1
 Trạng thái hiện tại trong graph, -1 là chưa bắt đầu.
i32 clip = -1
 Clip đang chạy, -1 là không có.
i32 frame = -1
 Frame đang hiện trong sheet, -1 là chưa có.
i32 step = 0
 Vị trí trong thứ tự chạy của clip.
f32 time = 0.0f
 Thời gian đã ở frame hiện tại, giây.
f32 state_time = 0.0f
 Thời gian đã ở trạng thái (hoặc clip) hiện tại, giây.
i32 loops = 0
 Số lượt clip đã chạy xong.
i32 repeat = 0
 Số lượt của clip hiện tại, 0 là lặp mãi.
bool finished = false
 Clip không lặp đã chạy hết và dừng ở frame cuối.
std::array< f32, anim_max_params > params {}
 Giá trị các tham số của graph.

Mô tả chi tiết

Chạy animation từ một sheet có clip, cho entity có sprite.

Module anim của engine, trong phase_post_update, xét chuyển trạng thái, cho frame chạy theo delta() và ghi sprite.texture, sprite.source. Hai cách dùng:

Đây là bản đầy đủ của njin::sprite_anim: thời lượng riêng từng frame, clip có tên, chạy ngược và ping-pong. Đừng gắn cả hai lên một entity.