Chia game thành các màn: menu, đang chơi, game over. Tiếp...
Classes | |
| struct | njin::scene_desc |
| Mô tả một scene, dùng với scene_register(). Tiếp... | |
| struct | njin::scene_transition |
| Hiệu ứng chuyển scene, dùng với scene_fade(). Tiếp... | |
Các hàm | |
| scene_handle | njin::scene_register (context &ctx, const scene_desc &desc) |
| Đăng ký một scene. | |
| scene_handle | njin::scene_find (const context &ctx, const char *name) |
| Tìm scene theo tên. | |
| void | njin::scene_set (context &ctx, scene_handle scene) |
| Chuyển sang một scene khác. | |
| scene_handle | njin::scene_current (const context &ctx) |
| Scene đang chạy. | |
| void | njin::scene_fade (context &ctx, scene_handle scene, const scene_transition &transition={}) |
| Chuyển sang scene khác với hiệu ứng mờ dần (fade). | |
| bool | njin::scene_transitioning (const context &ctx) |
| Có đang chuyển scene bằng scene_fade() không. | |
| f32 | njin::scene_transition_cover (const context &ctx) |
| Độ phủ hiện tại của hiệu ứng chuyển scene. | |
Chia game thành các màn: menu, đang chơi, game over.
| scene_handle njin::scene_register | ( | context & | ctx, |
| const scene_desc & | desc ) |
Đăng ký một scene.
Nếu tên đã có thì trả về scene cũ.
Dùng được ở mọi lúc, kể cả trong setup của module: đăng ký scene trước, rồi dùng handle trong njin::sys_desc để system chỉ chạy ở scene đó.
| ctx | Context của engine. |
| desc | Mô tả scene. |
| scene_handle njin::scene_find | ( | const context & | ctx, |
| const char * | name ) |
Tìm scene theo tên.
| ctx | Context của engine. |
| name | Tên scene. |
| void njin::scene_set | ( | context & | ctx, |
| scene_handle | scene ) |
Chuyển sang một scene khác.
Việc chuyển diễn ra ở đầu frame sau, không phải ngay lập tức, nên frame hiện tại chạy trọn vẹn. Khi chuyển, engine lần lượt:
Gọi nhiều lần trong một frame thì lần cuối thắng. Chuyển sang chính scene đang chạy thì không làm gì.
| ctx | Context của engine. |
| scene | Scene đích. |
| scene_handle njin::scene_current | ( | const context & | ctx | ) |
Scene đang chạy.
| ctx | Context của engine. |
| void njin::scene_fade | ( | context & | ctx, |
| scene_handle | scene, | ||
| const scene_transition & | transition = {} ) |
Chuyển sang scene khác với hiệu ứng mờ dần (fade).
Giống scene_set() nhưng việc đổi scene xảy ra khi màn hình đã phủ kín. Game vẫn chạy trong lúc chuyển: dùng scene_transitioning() để bỏ qua nhập liệu nếu cần.
Gọi lại khi đang chuyển thì chỉ đổi scene đích (và hiệu ứng), không bắt đầu lại từ đầu; nếu đang mở màn hình thì phủ lại từ độ phủ hiện tại. Gọi scene_set() khi đang chuyển thì hủy hiệu ứng và đổi scene ngay frame sau.
| ctx | Context của engine. |
| scene | Scene đích. |
| transition | Hiệu ứng. |
| bool njin::scene_transitioning | ( | const context & | ctx | ) |
Có đang chuyển scene bằng scene_fade() không.
| ctx | Context của engine. |
| f32 njin::scene_transition_cover | ( | const context & | ctx | ) |
Độ phủ hiện tại của hiệu ứng chuyển scene.
| ctx | Context của engine. |