From 3a6fd0caa58a41b611b39c16d60adbbcb74b14f1 Mon Sep 17 00:00:00 2001 From: SondreElg Date: Sat, 4 Oct 2025 21:14:03 +0200 Subject: [PATCH] fix: music switching --- growth/music.tscn | 34 ++++++++++++++++++++++++++++------ growth/music_mixer.gd | 22 +++++++--------------- 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/growth/music.tscn b/growth/music.tscn index 67fa7de..938c564 100644 --- a/growth/music.tscn +++ b/growth/music.tscn @@ -8,10 +8,26 @@ clip_count = 2 clip_0/name = &"Base" clip_0/stream = ExtResource("1_5vxup") -clip_0/auto_advance = 0 +clip_0/auto_advance = 1 +clip_0/next_clip = 0 clip_1/name = &"Boss" clip_1/stream = ExtResource("2_w5q55") -clip_1/auto_advance = 0 +clip_1/auto_advance = 1 +clip_1/next_clip = 1 +_transitions = { +Vector2i(-1, -1): { +"fade_beats": 2.0, +"fade_mode": 3, +"from_time": 2, +"to_time": 2 +}, +Vector2i(1, 1): { +"fade_beats": 2.0, +"fade_mode": 3, +"from_time": 2, +"to_time": 2 +} +} [sub_resource type="CircleShape2D" id="CircleShape2D_khlsn"] @@ -22,12 +38,18 @@ script = ExtResource("1_w5q55") stream = SubResource("AudioStreamInteractive_lr66j") [node name="BossArea" type="Area2D" parent="."] -collision_layer = 16 -collision_mask = 16 +collision_layer = 31 +collision_mask = 31 [node name="CollisionShape2D" type="CollisionShape2D" parent="BossArea"] scale = Vector2(50, 50) shape = SubResource("CircleShape2D_khlsn") -[connection signal="area_entered" from="BossArea" to="." method="_on_boss_area_entered"] -[connection signal="area_exited" from="BossArea" to="." method="_on_boss_area_exited"] +[node name="ColorRect" type="ColorRect" parent="BossArea/CollisionShape2D"] +offset_left = -10.0 +offset_top = -10.0 +offset_right = 10.0 +offset_bottom = 10.0 + +[connection signal="body_entered" from="BossArea" to="." method="_on_boss_area_body_entered"] +[connection signal="body_exited" from="BossArea" to="." method="_on_boss_area_body_exited"] diff --git a/growth/music_mixer.gd b/growth/music_mixer.gd index c844af2..e46a69d 100644 --- a/growth/music_mixer.gd +++ b/growth/music_mixer.gd @@ -1,22 +1,14 @@ extends Node func _ready() -> void: - $AudioStreamPlayer.play() + $AudioStreamPlayer.play() -func _on_boss_area_entered(_body: Node2D) -> void: - print_debug("Boss area entered") - if $AudioStreamPlayer["parameters/switch_to_clip"] == "Boss": - print_debug("Already in boss music") - return - - $AudioStreamPlayer["parameters/switch_to_clip"] = "-> Boss" +func _on_boss_area_body_entered(_body: Node2D) -> void: + print_debug("Boss area entered") + $AudioStreamPlayer.get_stream_playback().switch_to_clip_by_name("Boss") -func _on_boss_area_exited(_body: Node2D) -> void: - print_debug("Boss area exited") - if $AudioStreamPlayer["parameters/switch_to_clip"] == "Base": - print_debug("Already in base music") - return - - $AudioStreamPlayer["parameters/switch_to_clip"] = "-> Base" \ No newline at end of file +func _on_boss_area_body_exited(_body: Node2D) -> void: + print_debug("Boss area exited") + $AudioStreamPlayer.get_stream_playback().switch_to_clip_by_name("Base")