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

Một câu hỏi cho spatial_nearest(). Tiếp...

#include <njin_spatial.h>

Các thuộc tính Public

vec2 at {}
 Điểm hỏi.
f32 radius = 0.0f
 Bán kính tìm quanh at.
bool touching = false
 false: vật được tính khi tâm của nó cách at dưới radius.
u32 skip = 0xFFFFFFFFu
 Tên một vật bỏ qua, thường là chính người hỏi.
u32 group = 0
 Khác 0: bỏ qua vật cùng nhóm này.
bool(*) filter (u32 item, void *user) = nullptr
 Lọc thêm: trả về false để bỏ qua vật item.
void * user = nullptr
 Truyền nguyên cho filter.

Mô tả chi tiết

Một câu hỏi cho spatial_nearest().

Thông tin về Member Data

◆ radius

f32 njin::spatial_query::radius = 0.0f

Bán kính tìm quanh at.

Dùng INFINITY để không giới hạn (k vật gần nhất dù xa đến đâu).

◆ touching

bool njin::spatial_query::touching = false

false: vật được tính khi tâm của nó cách at dưới radius.

true: khi hình tròn của nó chồng lên hình tròn (at, radius), tức khoảng cách tâm dưới radius + item.radius: ai đang chạm vào tôi.

◆ filter

bool(*) njin::spatial_query::filter(u32 item, void *user) = nullptr

Lọc thêm: trả về false để bỏ qua vật item.

Chỉ gọi cho vật đã qua điều kiện khoảng cách, nên có thể đắt hơn một phép so. Có thể null.