feat: Play sounds scene independent

This commit is contained in:
Jakob Feldmann 2023-08-08 21:38:46 +02:00
parent 85fd6a6c80
commit 3abef2dc74
7 changed files with 129 additions and 5 deletions

View File

@ -1,2 +1,14 @@
extends Node
var disposable_player: AudioStreamPlayer
func play_scene_independent(sound_name: String, bus: String = "Master", attenuation: float = 0.0) -> void:
disposable_player = AudioStreamPlayer.new()
add_child(disposable_player)
disposable_player.stream = GlobalState.sound_library[sound_name]
disposable_player.volume_db = attenuation
disposable_player.bus = bus
disposable_player.play()
disposable_player.connect("finished", self, "dispose_player")
func dispose_player(player: AudioStreamPlayer = disposable_player) -> void:
player.queue_free()

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=27 format=2]
[gd_scene load_steps=28 format=2]
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=1]
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=2]
@ -17,6 +17,7 @@
[ext_resource path="res://src/UserInterface/TutorialThingy.tscn" type="PackedScene" id=15]
[ext_resource path="res://assets/effects/pixelDissolve.gdshader" type="Shader" id=16]
[ext_resource path="res://assets/effects/noise.png" type="Texture" id=17]
[ext_resource path="res://src/ObstacleObjects/Mine.tscn" type="PackedScene" id=18]
[sub_resource type="AnimationNodeStateMachinePlayback" id=14]
@ -164,10 +165,10 @@ unique_name_in_owner = true
process_mode = 1
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 8
frame = 9
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 7
frame = 8
[node name="Blobby" parent="." instance=ExtResource( 7 )]
unique_name_in_owner = true
@ -596,6 +597,114 @@ anims/cease_4_exist = SubResource( 10 )
[node name="CollisionShape2D" parent="Tutorials/RightTut/StartTutorialArea" index="0"]
position = Vector2( -24.5, 0 )
[node name="Mine" parent="." instance=ExtResource( 18 )]
position = Vector2( 31, -6 )
[node name="Mine3" parent="." instance=ExtResource( 18 )]
position = Vector2( 31, -24 )
[node name="Mine2" parent="." instance=ExtResource( 18 )]
position = Vector2( 31, -41 )
[node name="Mine4" parent="." instance=ExtResource( 18 )]
position = Vector2( 48, -6 )
[node name="Mine5" parent="." instance=ExtResource( 18 )]
position = Vector2( 48, -24 )
[node name="Mine6" parent="." instance=ExtResource( 18 )]
position = Vector2( 48, -41 )
[node name="Mine7" parent="." instance=ExtResource( 18 )]
position = Vector2( 63, -6 )
[node name="Mine8" parent="." instance=ExtResource( 18 )]
position = Vector2( 63, -24 )
[node name="Mine9" parent="." instance=ExtResource( 18 )]
position = Vector2( 63, -41 )
[node name="Mine10" parent="." instance=ExtResource( 18 )]
position = Vector2( 80, -6 )
[node name="Mine11" parent="." instance=ExtResource( 18 )]
position = Vector2( 80, -24 )
[node name="Mine12" parent="." instance=ExtResource( 18 )]
position = Vector2( 80, -41 )
[node name="Mine13" parent="." instance=ExtResource( 18 )]
position = Vector2( 95, -6 )
[node name="Mine14" parent="." instance=ExtResource( 18 )]
position = Vector2( 95, -24 )
[node name="Mine15" parent="." instance=ExtResource( 18 )]
position = Vector2( 95, -41 )
[node name="Mine16" parent="." instance=ExtResource( 18 )]
position = Vector2( 112, -6 )
[node name="Mine17" parent="." instance=ExtResource( 18 )]
position = Vector2( 112, -24 )
[node name="Mine18" parent="." instance=ExtResource( 18 )]
position = Vector2( 112, -41 )
[node name="Mine19" parent="." instance=ExtResource( 18 )]
position = Vector2( 128, -6 )
[node name="Mine20" parent="." instance=ExtResource( 18 )]
position = Vector2( 128, -24 )
[node name="Mine21" parent="." instance=ExtResource( 18 )]
position = Vector2( 128, -41 )
[node name="Mine22" parent="." instance=ExtResource( 18 )]
position = Vector2( 145, -6 )
[node name="Mine23" parent="." instance=ExtResource( 18 )]
position = Vector2( 145, -24 )
[node name="Mine24" parent="." instance=ExtResource( 18 )]
position = Vector2( 145, -41 )
[node name="Mine25" parent="." instance=ExtResource( 18 )]
position = Vector2( 160, -6 )
[node name="Mine26" parent="." instance=ExtResource( 18 )]
position = Vector2( 160, -24 )
[node name="Mine27" parent="." instance=ExtResource( 18 )]
position = Vector2( 160, -41 )
[node name="Mine28" parent="." instance=ExtResource( 18 )]
position = Vector2( 177, -6 )
[node name="Mine29" parent="." instance=ExtResource( 18 )]
position = Vector2( 177, -24 )
[node name="Mine30" parent="." instance=ExtResource( 18 )]
position = Vector2( 177, -41 )
[node name="Mine31" parent="." instance=ExtResource( 18 )]
position = Vector2( 192, -6 )
[node name="Mine32" parent="." instance=ExtResource( 18 )]
position = Vector2( 192, -24 )
[node name="Mine33" parent="." instance=ExtResource( 18 )]
position = Vector2( 192, -41 )
[node name="Mine34" parent="." instance=ExtResource( 18 )]
position = Vector2( 209, -6 )
[node name="Mine35" parent="." instance=ExtResource( 18 )]
position = Vector2( 209, -24 )
[node name="Mine36" parent="." instance=ExtResource( 18 )]
position = Vector2( 209, -41 )
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
[editable path="SignalManager"]

View File

@ -4,6 +4,7 @@ export(String, FILE) var next_scene_path: String = ""
onready var selected_level_base_path: String = "res://src/Levels/"
func _on_button_up() -> void:
GlobalAudio.play_scene_independent("res://assets/sounds/MAGIC_SPELL_Morphing_Synth_Harp_Scales_Deep_stereo.wav", "Effects", -5)
get_tree().change_scene(next_scene_path)
get_tree().get_current_scene().queue_free()
get_tree().paused = false

View File

@ -763,7 +763,8 @@ margin_bottom = 250.0
focus_neighbour_top = NodePath("../RetryButton")
focus_neighbour_bottom = NodePath("../Continue")
text = "Main Menu"
next_scene_path = "res://src/UserInterface/Screens/MainMenu/MainScreen.tscn"
script = ExtResource( 29 )
next_screen_path = "res://src/UserInterface/Screens/MainMenu/MainScreen.tscn"
[node name="PauseLabel" type="Label" parent="PauseOverlay"]
anchor_left = 0.5

View File

@ -157,7 +157,6 @@ margin_bottom = 30.0
focus_neighbour_top = NodePath("../QuitButton")
focus_neighbour_bottom = NodePath("../Controlls")
theme = ExtResource( 13 )
press_sound = "res://assets/sounds/MAGIC_SPELL_Bending_Synth_Climb_stereo.wav"
next_scene_path = "res://src/Levels/1 Tutorial Level.tscn"
[node name="Controlls" parent="MenuContainer/Buttons" instance=ExtResource( 3 )]

View File

@ -146,6 +146,7 @@ extents = Vector2( 61, 8 )
[node name="TutorialComboThingy" type="Node2D"]
physics_interpolation_mode = 2
z_index = 10
script = ExtResource( 1 )
goal_state = "running"
tutorial_text = "Press to run:"

View File

@ -142,6 +142,7 @@ extents = Vector2( 62, 71 )
[node name="TutorialThingy" type="Node2D"]
physics_interpolation_mode = 2
visible = false
z_index = 10
script = ExtResource( 2 )
action = "jump"
tutorial_text = "Press to Jump:"