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::level_desc Struct Tham chiếu

Cách nạp một level, dùng với level_load() và level_load_ldtk(). Tiếp...

#include <njin_level.h>

Các thuộc tính Public

vec2 origin {}
 Vị trí trong thế giới của góc trên trái level.
bool use_world_position = false
 Với LDtk: cộng thêm vị trí của level trong world (worldX, worldY), để nạp nhiều level liền nhau như trong editor.
i32 layer_base = 0
 Lớp vẽ (njin::sprite::layer) của layer dưới cùng.
std::vector< std::string > solid_layers {}
 Tên các layer làm vật cản.
collider solid {}
 Mẫu collider cho vật cản: layer, mask được giữ, hình được đặt lại.
texture_filter filter = filter_nearest
 Cách lấy mẫu ảnh tileset.
bool scene_owned = true
 Gắn mọi entity của level vào scene đang chạy (njin::scene_owned).

Mô tả chi tiết

Cách nạp một level, dùng với level_load() và level_load_ldtk().

Thông tin về Member Data

◆ layer_base

i32 njin::level_desc::layer_base = 0

Lớp vẽ (njin::sprite::layer) của layer dưới cùng.

Mỗi layer phía trên cao hơn một: layer thứ i từ dưới lên vẽ ở layer_base + i.

◆ solid_layers

std::vector<std::string> njin::level_desc::solid_layers {}

Tên các layer làm vật cản.

Ô của chúng thành collider_tiles, object không có prefab thành collider hộp hoặc tròn. Để trống thì dùng quy tắc mặc định: layer có thuộc tính solid = true (Tiled), hoặc có tên chứa "collision", "collide", "solid" hoặc "wall" (không phân biệt hoa thường).

◆ filter

texture_filter njin::level_desc::filter = filter_nearest

Cách lấy mẫu ảnh tileset.

Mặc định filter_nearest: pixel art sắc nét, và không bị viền mờ giữa các ô.

◆ scene_owned

bool njin::level_desc::scene_owned = true

Gắn mọi entity của level vào scene đang chạy (njin::scene_owned).

Khi rời scene, entity bị hủy và level tự được unload.