4#include "njin_collision.h"
7#include <entt/entity/entity.hpp>
level_handle level_load(context &ctx, const char *path, const level_desc &desc={})
Nạp một bản đồ và tạo entity cho nó.
entt::entity level_find(context &ctx, level_handle level, const char *name)
Tìm object đầu tiên của level có tên (hoặc, nếu không có tên nào khớp, lớp) là name.
level_handle level_load_ldtk(context &ctx, const char *path, const char *level, const level_desc &desc={})
Nạp một level cụ thể từ project LDtk.
vec2 level_size(const context &ctx, level_handle level)
Kích thước level, pixel.
vec2 level_origin(const context &ctx, level_handle level)
Góc trên trái của level trong thế giới.
bool level_list_ldtk(const char *path, std::vector< std::string > &out)
Tên mọi level trong một project LDtk, theo thứ tự trong editor.
const json_value & level_properties(const context &ctx, level_handle level)
Thuộc tính tùy chỉnh của cả bản đồ (Tiled) hoặc của level (LDtk).
void level_unload(context &ctx, level_handle level)
Hủy mọi entity mà level đã tạo và giải phóng ảnh của nó.
texture_filter
Cách lấy mẫu khi texture bị co giãn.
Definition njin_draw.h:197
@ filter_nearest
Giữ nguyên từng pixel, sắc cạnh. Dùng cho pixel art.
Definition njin_draw.h:198
std::int32_t i32
Số nguyên có dấu 32 bit.
Definition _types.h:14
std::uint32_t u32
Số nguyên không dấu 32 bit.
Definition _types.h:22
Hình va chạm của một entity.
Definition njin_collision.h:46
Một giá trị JSON: null, bool, số, chuỗi, mảng hoặc object.
Definition njin_json.h:33
Cách nạp một level, dùng với level_load() và level_load_ldtk().
Definition njin_level.h:25
bool scene_owned
Gắn mọi entity của level vào scene đang chạy (njin::scene_owned).
Definition njin_level.h:46
texture_filter filter
Cách lấy mẫu ảnh tileset.
Definition njin_level.h:43
collider solid
Mẫu collider cho vật cản: layer, mask được giữ, hình được đặt lại.
Definition njin_level.h:40
vec2 origin
Vị trí trong thế giới của góc trên trái level.
Definition njin_level.h:27
i32 layer_base
Lớp vẽ (njin::sprite::layer) của layer dưới cùng.
Definition njin_level.h:33
bool use_world_position
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ư t...
Definition njin_level.h:30
std::vector< std::string > solid_layers
Tên các layer làm vật cản.
Definition njin_level.h:38
Định danh của một level đã nạp, trả về từ level_load().
Definition njin_level.h:20
Một object đặt trong editor: điểm xuất hiện, cửa, vùng, quái...
Definition njin_level.h:62
std::vector< vec2 > points
Đỉnh của đa giác hoặc đường gấp khúc, so với transform.pos.
Definition njin_level.h:68
level_handle level
Level chứa object.
Definition njin_level.h:72
vec2 size
Kích thước, pixel.
Definition njin_level.h:65
bool ellipse
Object là hình elip (Tiled).
Definition njin_level.h:69
bool closed
Với points: đa giác (đóng) hay đường gấp khúc (mở).
Definition njin_level.h:70
json_value props
Thuộc tính tùy chỉnh (Tiled: properties; LDtk: field).
Definition njin_level.h:71
std::string type
Lớp (Tiled: class hoặc type; LDtk: tên entity).
Definition njin_level.h:64
std::string name
Tên (Tiled: name; LDtk: iid).
Definition njin_level.h:63
Vector 2 chiều. Dùng cho vị trí, kích thước, độ dời.
Definition _types.h:39