Sound and Haptics
Play sound effects and local impact feedback.
Quick start (play a sound)
click := get_asset(SFX_Asset, "sfx/click.wav");
desc := SFX.default_sfx_desc();
SFX.play(click, desc);SFX API reference
SFX_Asset :: class : Asset {}
SFX_Channel :: enum {
SFX;
MUSIC;
}
SFX_Desc :: struct {
specific_to_player: Player;
positional: bool;
position: v2 #read_only;
delay: float;
volume: float;
speed: float;
volume_perturb: float;
speed_perturb: float;
range_multiplier: float;
loop_timeout: float;
entity_to_follow: u64;
loop: bool;
channel: SFX_Channel;
set_position :: method(p: v2);
}
SFX :: struct {
play :: proc(asset: SFX_Asset, desc: SFX_Desc) -> u64;
stop :: proc(id: u64);
fade_out_and_stop :: proc(id: u64, fade_time: float);
default_sfx_desc :: proc() -> SFX_Desc;
}Getting an SFX_Asset
Positional (3D-ish) sounds
Following an entity (moving sound source)
Player-targeted sounds
Looping + stopping
Variation (recommended for spammy SFX)
Prediction and targeting
Haptics
Last updated