summaryrefslogtreecommitdiffstats
path: root/player.gd
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2026-01-28 21:27:04 +0200
committerJan Tuomi <jan@jantuomi.fi>2026-01-28 21:27:04 +0200
commitaa2f8723ab5b87bb357d58a0165321a2060debb3 (patch)
treed44d4b57d20e24c585644a92e66b2f35c0df157d /player.gd
parenta46cc0bb2268bec64b9219b10daa44f006410d46 (diff)
Add initial audio stuff
Diffstat (limited to 'player.gd')
-rw-r--r--player.gd24
1 files changed, 24 insertions, 0 deletions
diff --git a/player.gd b/player.gd
index 085d8e8..6e27c37 100644
--- a/player.gd
+++ b/player.gd
@@ -15,6 +15,11 @@ var state: PlayerState = PlayerStateInit.new(self)
@onready var top: Top = tree.root.get_node("Top") as Top
@onready var inventory: Inventory = top.inventory
+@onready var walk_audio: AudioStreamPlayer2D = $WalkAudio
+@onready var jump_audio: AudioStreamPlayer2D = $JumpAudio
+@onready var die_audio: AudioStreamPlayer2D = $DieAudio
+@onready var fanfare_audio: AudioStreamPlayer2D = $FanfareAudio
+
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
func _debug_info():
@@ -102,3 +107,22 @@ func _try_action_zoop():
var zoop: ZoopPoint = zoop_any as ZoopPoint
if request_state_zooping(zoop): return true
return false
+
+const walk_sfx_interval_ms = 300
+var last_walk_sfx_time = -INF
+func request_play_walk_sfx():
+ var now = Time.get_ticks_msec()
+ if now - last_walk_sfx_time > walk_sfx_interval_ms:
+ walk_audio.pitch_scale = 1 + 1 * randf()
+ walk_audio.volume_db = -3 + 0.5 * randf()
+ walk_audio.play()
+ last_walk_sfx_time = now
+
+func request_play_jump_sfx():
+ jump_audio.play()
+
+func request_play_die_sfx():
+ die_audio.play()
+
+func request_play_fanfare_sfx():
+ fanfare_audio.play()