4#include "njin_particles.h"
5#include <entt/entity/fwd.hpp>
91 rgba color = {1.0f, 1.0f, 1.0f, 1.0f},
f32 duration = 0.1f);
134 rgba edge_color = {1.0f, 0.55f, 0.1f, 1.0f});
153 e.
life = {0.35f, 0.8f};
154 e.
speed = {120.0f, 420.0f};
162 e.
area = {8.0f, 8.0f};
171 e.
life = {0.2f, 0.5f};
172 e.
speed = {200.0f, 500.0f};
189 e.
life = {0.3f, 0.6f};
190 e.
speed = {20.0f, 70.0f};
199 e.
color_end = {0.75f, 0.7f, 0.62f, 0.0f};
200 e.
area = {16.0f, 2.0f};
209 e.
life = {1.2f, 2.2f};
210 e.
speed = {20.0f, 45.0f};
214 e.
spin = {-40.0f, 40.0f};
218 e.
color_end = {0.35f, 0.35f, 0.38f, 0.0f};
219 e.
area = {6.0f, 2.0f};
228 e.
life = {0.4f, 0.8f};
229 e.
speed = {50.0f, 120.0f};
236 e.
color_end = {0.9f, 0.15f, 0.05f, 0.0f};
238 e.
area = {14.0f, 4.0f};
247 e.
life = {0.4f, 0.9f};
248 e.
speed = {30.0f, 120.0f};
251 e.
spin = {-360.0f, 360.0f};
258 e.
area = {12.0f, 12.0f};
267 e.
life = {0.6f, 1.1f};
268 e.
speed = {120.0f, 320.0f};
272 e.
spin = {-540.0f, 540.0f};
277 e.
color_end = {0.45f, 0.32f, 0.2f, 0.0f};
287 e.
life = {0.35f, 0.7f};
288 e.
speed = {100.0f, 300.0f};
295 e.
color_end = {0.45f, 0.0f, 0.02f, 0.0f};
306 e.
life = {0.6f, 0.9f};
307 e.
speed = {700.0f, 900.0f};
315 e.
area = {1400.0f, 10.0f};
325 e.
life = {6.0f, 9.0f};
326 e.
speed = {30.0f, 70.0f};
334 e.
area = {1400.0f, 10.0f};
344 e.
life = {0.25f, 0.4f};
345 e.
speed = {0.0f, 8.0f};
@ blend_additive
Cộng màu: sáng lên. Dùng cho lửa, ánh sáng, tia lửa.
Definition njin_draw.h:273
bool hitstop_active(const context &ctx)
Có đang hitstop không.
f32 camera_shake_amount(const context &ctx)
Độ rung hiện tại, 0..1.
void camera_shake(context &ctx, f32 trauma)
Rung camera.
void camera_shake_config(context &ctx, const shake_config &config)
Đổi cách rung của camera_shake().
void hitstop(context &ctx, f32 seconds)
Dừng hình trong chốc lát (hitstop, freeze frame) để cú đánh có "lực".
void screen_flash(context &ctx, rgba color, f32 duration)
Nháy cả màn hình một màu rồi mờ dần: trắng khi nổ lớn, đỏ khi bị thương.
void sprite_dissolve(context &ctx, entt::entity entity, f32 duration=0.6f, rgba edge_color={1.0f, 0.55f, 0.1f, 1.0f})
Cho sprite của entity tan biến.
void sprite_flash(context &ctx, entt::entity entity, rgba color={1.0f, 1.0f, 1.0f, 1.0f}, f32 duration=0.1f)
Nháy sprite của entity.
@ particle_square
Hình vuông, xoay theo spin.
Definition njin_particles.h:24
float f32
Số thực 32 bit.
Definition _types.h:28
Các mẫu particle hay dùng, để truyền vào particles_spawn() hoặc gắn thẳng lên entity.
Definition njin_fx.h:147
particle_emitter trail()
Vệt đuôi: hạt để lại phía sau khi entity di chuyển (tên lửa, phi tiêu, sao băng).
Definition njin_fx.h:341
particle_emitter fire()
Lửa: ngọn lửa phát liên tục, bay lên, vàng chuyển đỏ, sáng (additive).
Definition njin_fx.h:225
particle_emitter splash()
Máu hoặc chất lỏng bắn: giọt đỏ văng ra rồi rơi.
Definition njin_fx.h:285
particle_emitter dust()
Bụi: bay lên chậm, xám nâu, mờ dần.
Definition njin_fx.h:187
particle_emitter smoke()
Khói: bay lên, nở to, mờ dần.
Definition njin_fx.h:206
particle_emitter snow()
Tuyết: bông trắng rơi chậm, lắc nhẹ.
Definition njin_fx.h:321
particle_emitter explosion()
Vụ nổ: tỏa mọi hướng, nhanh, vàng cam chuyển đỏ sẫm, sáng (additive).
Definition njin_fx.h:151
particle_emitter debris()
Mảnh vỡ: khối vuông văng lên rồi rơi, xoay.
Definition njin_fx.h:265
particle_emitter rain()
Mưa: vệt rơi nhanh, phủ một vùng rộng.
Definition njin_fx.h:302
particle_emitter sparks()
Tia lửa: nhỏ, rất nhanh, rơi theo trọng lực.
Definition njin_fx.h:169
particle_emitter sparkle()
Lấp lánh: hạt nhỏ xoay, trôi nhẹ, sáng.
Definition njin_fx.h:245
Cấu hình cửa sổ và vòng lặp, truyền vào create().
Definition njin_cfg.h:11
Cho một sprite tan biến từng mảng nhỏ, có viền cháy sáng ở chỗ đang tan: kẻ địch chết,...
Definition njin_fx.h:111
f32 time
Thời gian đã trôi qua, do engine cập nhật.
Definition njin_fx.h:117
bool destroy_when_done
Hủy entity khi tan hết. Không áp dụng cho reverse.
Definition njin_fx.h:119
bool reverse
true: hiện ra dần thay vì tan biến.
Definition njin_fx.h:118
f32 duration
Thời gian tan hết, giây.
Definition njin_fx.h:116
rgba edge_color
Màu viền cháy. a là độ đậm, 0 là bỏ viền.
Definition njin_fx.h:112
f32 grain
Cỡ mỗi mảng, tính bằng pixel của ảnh sprite. 1 là từng pixel, lớn hơn là mảng to.
Definition njin_fx.h:114
f32 seed
Đổi hình mẫu tan biến. Cho mỗi kẻ địch một giá trị riêng để chúng không tan giống hệt nhau.
Definition njin_fx.h:115
f32 edge_width
Độ dày viền, tính theo thang ngẫu nhiên 0..1. 0 là bỏ viền.
Definition njin_fx.h:113
Tô một sprite thành một màu trong chốc lát, thường là trắng khi trúng đòn.
Definition njin_fx.h:78
rgba color
Màu tô. a là độ phủ lúc đầu.
Definition njin_fx.h:79
bool fade
Mờ dần. false là giữ nguyên màu tô đến hết giờ.
Definition njin_fx.h:82
f32 duration
Thời gian nháy, giây.
Definition njin_fx.h:80
f32 time
Thời gian đã trôi qua, do engine cập nhật.
Definition njin_fx.h:81
Nguồn phát hạt: nổ, bụi, tia lửa, khói.
Definition njin_particles.h:57
vec2 area
Vùng sinh hạt quanh vị trí của entity: hình chữ nhật có tâm tại transform.pos.
Definition njin_particles.h:65
vec2 gravity
Gia tốc, đơn vị mỗi giây bình phương. {0, 400} là rơi xuống.
Definition njin_particles.h:77
f32 spread
Độ tỏa quanh angle, độ. 360 là mọi hướng.
Definition njin_particles.h:76
f32 angle
Hướng phát, độ (0 là sang phải, 90 là xuống dưới), cộng với góc xoay của transform.
Definition njin_particles.h:74
f32_range size_jitter
Hệ số kích thước ngẫu nhiên riêng của từng hạt.
Definition njin_particles.h:89
particle_shape shape
Hình khi không có texture.
Definition njin_particles.h:92
f32_range speed
Tốc độ ban đầu.
Definition njin_particles.h:71
f32 rate
Số hạt mỗi giây khi phát liên tục. 0 là chỉ phát theo loạt.
Definition njin_particles.h:60
f32 drag
Lực cản: vận tốc giảm theo tỉ lệ này mỗi giây. 0 là không cản.
Definition njin_particles.h:78
f32_range life
Tuổi thọ, giây.
Definition njin_particles.h:70
rgba color_end
Màu lúc chết. Mặc định mờ dần.
Definition njin_particles.h:91
rgba color_start
Màu lúc sinh.
Definition njin_particles.h:90
f32_range spin
Tốc độ xoay, độ mỗi giây.
Definition njin_particles.h:79
f32 size_start
Kích thước lúc sinh, pixel thế giới.
Definition njin_particles.h:87
f32 size_end
Kích thước lúc chết.
Definition njin_particles.h:88
i32 max_particles
Số hạt sống tối đa.
Definition njin_particles.h:62
blend_mode blend
Cách trộn màu. blend_additive cho lửa, tia lửa.
Definition njin_particles.h:97
Màu gồm đỏ, xanh lá, xanh dương và alpha.
Definition _types.h:64
Cách rung của camera_shake().
Definition njin_fx.h:18
f32 max_offset
Độ lệch tối đa khi độ rung = 1, pixel màn hình.
Definition njin_fx.h:19
f32 decay
Độ rung giảm bao nhiêu mỗi giây.
Definition njin_fx.h:22
f32 frequency
Tốc độ rung, số lần mỗi giây.
Definition njin_fx.h:21
f32 max_angle
Góc lệch tối đa khi độ rung = 1, độ.
Definition njin_fx.h:20