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
Component có sẵn

Các component engine hiểu sẵn: transform, camera_2d, camera_on, sprite, sprite_anim, scene_owned, child_of. Tiếp...

Classes

struct  njin::transform
 Vị trí, góc xoay và tỉ lệ của một entity trong thế giới. Tiếp...
struct  njin::camera_2d
 2D camera. Tiếp...
struct  njin::camera_on
 Tag đánh dấu camera đang được dùng để vẽ và cho w2scr()/scr2w(). Tiếp...
struct  njin::sprite
 Ảnh vẽ tại vị trí của entity. Tiếp...
struct  njin::sprite_anim
 Animation theo frame từ một sprite sheet. Tiếp...
struct  njin::scene_owned
 Gắn entity vào một scene. Tiếp...
struct  njin::child_of
 Gắn entity vào một entity cha: vũ khí trong tay nhân vật, bánh xe của xe. Tiếp...

Các hàm

void njin::anim_play (sprite_anim &anim, i32 first, i32 count, f32 fps, bool loop=true)
 Đổi sang một animation khác trong cùng sprite sheet.
transform njin::transform_combine (const transform &parent, const transform &local)
 Kết hợp transform của cha với transform tương đối của con.
transform njin::transform_relative (const transform &parent, const transform &world)
 Phép ngược của transform_combine(): transform tương đối của một entity so với cha, từ transform trong thế giới của cả hai.

Mô tả chi tiết

Các component engine hiểu sẵn: transform, camera_2d, camera_on, sprite, sprite_anim, scene_owned, child_of.

Thông tin về hàm

◆ anim_play()

void njin::anim_play ( sprite_anim & anim,
i32 first,
i32 count,
f32 fps,
bool loop = true )
inline

Đổi sang một animation khác trong cùng sprite sheet.

Nếu đang chạy đúng animation này thì không làm gì, nên gọi mỗi frame được: animation không bị bắt đầu lại liên tục.

Các tham số
animAnimation cần đổi.
firstFrame đầu tiên.
countSố frame.
fpsSố frame mỗi giây.
loopCó lặp lại không.

◆ transform_combine()

transform njin::transform_combine ( const transform & parent,
const transform & local )
inline

Kết hợp transform của cha với transform tương đối của con.

local.pos được nhân tỉ lệ và xoay theo cha, góc xoay cộng lại, tỉ lệ nhân lại. Đây đúng là phép tính module hierarchy dùng cho child_of.

Các tham số
parentTransform của cha, trong thế giới.
localTransform của con, so với cha.
Giá trị trả về
Transform của con, trong thế giới.

◆ transform_relative()

transform njin::transform_relative ( const transform & parent,
const transform & world )
inline

Phép ngược của transform_combine(): transform tương đối của một entity so với cha, từ transform trong thế giới của cả hai.

Dùng khi gắn một entity vào cha mà vẫn giữ nguyên vị trí hiện tại của nó: child_of{.parent = p, .local = transform_relative(tr_p, tr_c)}.

Các tham số
parentTransform của cha, trong thế giới.
worldTransform của con, trong thế giới.
Giá trị trả về
Transform của con, so với cha. Tỉ lệ cha bằng 0 thì coi như 1.