njin
Engine 2D gọn nhẹ để tự tay làm game theo ý mình. Vibe coding cũng ổn luôn
Toggle main menu visibility
Loading...
Searching...
No Matches
njin_cfg.h
1
#pragma once
2
#include "_types.h"
3
4
namespace
njin {
5
struct
context;
6
9
11
struct
config
{
12
const
char
*
title
;
13
f32
width
;
14
f32
height
;
15
f32
target_fps
;
17
rgba
clear_bg_color
= { .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 };
19
f32
fixed_hz
= 60.0f;
22
key_code
exit_key
=
key_escape
;
24
bool
resizable
=
false
;
26
const
char
*
app_name
=
nullptr
;
29
vec2
virtual_size
{};
32
bool
integer_scale
=
true
;
36
bool
vsync
=
false
;
42
bool
crisp_text
=
true
;
51
bool
smooth_ui
=
false
;
69
i32
render_scale
= 1;
70
};
71
78
f32
fps
(
const
context &ctx);
79
89
vec2
screen_size
(
const
context &ctx);
91
}
njin::fps
f32 fps(const context &ctx)
Trả về FPS mục tiêu đã cấu hình (target_fps).
njin::screen_size
vec2 screen_size(const context &ctx)
Trả về kích thước màn hình mà game vẽ lên, tính bằng pixel.
njin::key_code
key_code
Mã phím bàn phím, dùng với key_pressed(), action_bind_key() và các hàm liên quan.
Definition
_types.h:340
njin::key_escape
@ key_escape
Esc.
Definition
_types.h:414
njin::i32
std::int32_t i32
Số nguyên có dấu 32 bit.
Definition
_types.h:14
njin::f32
float f32
Số thực 32 bit.
Definition
_types.h:28
njin::config
Cấu hình cửa sổ và vòng lặp, truyền vào create().
Definition
njin_cfg.h:11
njin::config::exit_key
key_code exit_key
Phím đóng game ngay lập tức.
Definition
njin_cfg.h:22
njin::config::clear_bg_color
rgba clear_bg_color
Màu nền xóa mỗi frame. Mặc định là trắng.
Definition
njin_cfg.h:17
njin::config::target_fps
f32 target_fps
FPS mục tiêu của vòng lặp.
Definition
njin_cfg.h:15
njin::config::smooth_ui
bool smooth_ui
Vẽ giao diện ở độ phân giải thật của cửa sổ, cho UI mịn.
Definition
njin_cfg.h:51
njin::config::width
f32 width
Chiều rộng cửa sổ (pixel).
Definition
njin_cfg.h:13
njin::config::crisp_text
bool crisp_text
Vẽ chữ ở độ phân giải thật của cửa sổ khi máy có GPU thật, để chữ nét ở mọi cỡ cửa sổ (mặc định bật).
Definition
njin_cfg.h:42
njin::config::vsync
bool vsync
Đồng bộ dọc: mỗi frame chờ màn hình làm tươi xong mới hiện, nên không xé hình và GPU,...
Definition
njin_cfg.h:36
njin::config::height
f32 height
Chiều cao cửa sổ (pixel).
Definition
njin_cfg.h:14
njin::config::integer_scale
bool integer_scale
Với độ phân giải ảo: chỉ phóng theo bội số nguyên (mọi pixel ảo to bằng nhau), phần thừa của cửa sổ l...
Definition
njin_cfg.h:32
njin::config::title
const char * title
Tiêu đề cửa sổ.
Definition
njin_cfg.h:12
njin::config::render_scale
i32 render_scale
Khử răng cưa bằng supersampling: thế giới và giao diện được vẽ ở độ phân giải gấp render_scale lần (t...
Definition
njin_cfg.h:69
njin::config::app_name
const char * app_name
Tên thư mục lưu game, xem save_path(). Để trống thì dùng title.
Definition
njin_cfg.h:26
njin::config::virtual_size
vec2 virtual_size
Độ phân giải ảo, ví dụ {320, 180} cho pixel art.
Definition
njin_cfg.h:29
njin::config::resizable
bool resizable
Cho phép người dùng kéo đổi kích thước cửa sổ.
Definition
njin_cfg.h:24
njin::config::fixed_hz
f32 fixed_hz
Số lần phase_fixed_update chạy mỗi giây. Mặc định 60.
Definition
njin_cfg.h:19
njin::rgba
Màu gồm đỏ, xanh lá, xanh dương và alpha.
Definition
_types.h:64
njin::vec2
Vector 2 chiều. Dùng cho vị trí, kích thước, độ dời.
Definition
_types.h:39
njin_cfg.h
Được biên soạn bởi
1.18.0