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). | |
Cách nạp một level, dùng với level_load() và level_load_ldtk().
| 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.
| 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).
| 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 ô.
| 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.