Skip to content

Commit 4c1e494

Browse files
committed
Stop music when game ends
The BackgroundMusic node should have its Autoplay property set to start the music when the game starts. I haven't done this because it's so annoying in development. We have no blocks for AudioStreamPlayer nodes so we can't call stop on the track, but we can just remove the player from the scene.
1 parent 2c3111a commit 4c1e494

File tree

3 files changed

+81
-19
lines changed

3 files changed

+81
-19
lines changed

game-06/main.tscn

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[gd_scene load_steps=39 format=3 uid="uid://da28ei7q3d34p"]
1+
[gd_scene load_steps=45 format=3 uid="uid://da28ei7q3d34p"]
22

33
[ext_resource type="Texture2D" uid="uid://dtref83nk0xpi" path="res://game-06/graphics/alan-labisch-NJpQ85eQJDE-unsplash.jpg" id="1_1fkef"]
44
[ext_resource type="PackedScene" uid="uid://fvdldxg5au17" path="res://game-06/coin.tscn" id="2_2m1wf"]
@@ -29,6 +29,53 @@ distance = -30.0
2929
normal = Vector2(1, 0)
3030
distance = -60.0
3131

32+
[sub_resource type="Resource" id="Resource_4mjsn"]
33+
script = ExtResource("8_an3ek")
34+
name = &"ready"
35+
children = Array[ExtResource("8_an3ek")]([])
36+
arguments = {}
37+
38+
[sub_resource type="Resource" id="Resource_sr8pn"]
39+
script = ExtResource("7_8cvv3")
40+
root = SubResource("Resource_4mjsn")
41+
canvas_position = Vector2(54, 47)
42+
43+
[sub_resource type="Resource" id="Resource_fpgwh"]
44+
script = ExtResource("8_an3ek")
45+
name = &"queue_free"
46+
children = Array[ExtResource("8_an3ek")]([])
47+
arguments = {}
48+
49+
[sub_resource type="Resource" id="Resource_gg121"]
50+
script = ExtResource("8_an3ek")
51+
name = &"define_method"
52+
children = Array[ExtResource("8_an3ek")]([SubResource("Resource_fpgwh")])
53+
arguments = {
54+
"method_name": &"stop_music"
55+
}
56+
57+
[sub_resource type="Resource" id="Resource_dupqt"]
58+
script = ExtResource("7_8cvv3")
59+
root = SubResource("Resource_gg121")
60+
canvas_position = Vector2(425, 275)
61+
62+
[sub_resource type="Resource" id="Resource_l8ekv"]
63+
script = ExtResource("9_a8xal")
64+
script_inherits = "AudioStreamPlayer"
65+
block_serialization_trees = Array[ExtResource("7_8cvv3")]([SubResource("Resource_sr8pn"), SubResource("Resource_dupqt")])
66+
variables = Array[ExtResource("10_pjdut")]([])
67+
generated_script = "extends AudioStreamPlayer
68+
69+
70+
func _ready():
71+
pass
72+
73+
func stop_music():
74+
queue_free()
75+
76+
"
77+
version = 0
78+
3279
[sub_resource type="RectangleShape2D" id="RectangleShape2D_a01j5"]
3380
size = Vector2(63, 572)
3481

@@ -223,9 +270,13 @@ shape = SubResource("WorldBoundaryShape2D_ox1xw")
223270
position = Vector2(0, 276)
224271
shape = SubResource("WorldBoundaryShape2D_um3wv")
225272

226-
[node name="BackgroundMusic" type="AudioStreamPlayer" parent="."]
273+
[node name="BackgroundMusic" type="AudioStreamPlayer" parent="." groups=["Music"]]
227274
stream = ExtResource("6_2umo5")
228275

276+
[node name="BlockCode" type="Node" parent="BackgroundMusic"]
277+
script = ExtResource("6_by3km")
278+
block_script = SubResource("Resource_l8ekv")
279+
229280
[node name="Deadzone" type="Area2D" parent="."]
230281
position = Vector2(-72, 0)
231282

game-06/ship.tscn

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[gd_scene load_steps=36 format=3 uid="uid://dps3xjhs2ssns"]
1+
[gd_scene load_steps=37 format=3 uid="uid://dps3xjhs2ssns"]
22

33
[ext_resource type="Script" path="res://addons/block_code/simple_nodes/simple_character/simple_character.gd" id="1_rrros"]
44
[ext_resource type="Texture2D" uid="uid://dqobtlpqjmouw" path="res://game-06/graphics/engine.svg" id="2_qdvvn"]
@@ -149,7 +149,7 @@ _data = {
149149
"wobble": SubResource("Animation_4jhbx")
150150
}
151151

152-
[sub_resource type="Resource" id="Resource_fwfbt"]
152+
[sub_resource type="Resource" id="Resource_0cghc"]
153153
script = ExtResource("6_rpoob")
154154
name = &"animationplayer_play"
155155
children = Array[ExtResource("6_rpoob")]([])
@@ -159,18 +159,27 @@ arguments = {
159159
"wait_mode": "until done"
160160
}
161161

162-
[sub_resource type="Resource" id="Resource_of65a"]
162+
[sub_resource type="Resource" id="Resource_fycp7"]
163163
script = ExtResource("6_rpoob")
164164
name = &"ready"
165-
children = Array[ExtResource("6_rpoob")]([SubResource("Resource_fwfbt")])
165+
children = Array[ExtResource("6_rpoob")]([SubResource("Resource_0cghc")])
166166
arguments = {}
167167

168-
[sub_resource type="Resource" id="Resource_6gy71"]
168+
[sub_resource type="Resource" id="Resource_kuyvu"]
169169
script = ExtResource("5_8ag0i")
170-
root = SubResource("Resource_of65a")
170+
root = SubResource("Resource_fycp7")
171171
canvas_position = Vector2(54, 47)
172172

173-
[sub_resource type="Resource" id="Resource_uojjp"]
173+
[sub_resource type="Resource" id="Resource_juy0s"]
174+
script = ExtResource("6_rpoob")
175+
name = &"call_method_group"
176+
children = Array[ExtResource("6_rpoob")]([])
177+
arguments = {
178+
"group": "Music",
179+
"method_name": "stop_music"
180+
}
181+
182+
[sub_resource type="Resource" id="Resource_v40kv"]
174183
script = ExtResource("6_rpoob")
175184
name = &"animationplayer_play"
176185
children = Array[ExtResource("6_rpoob")]([])
@@ -180,7 +189,7 @@ arguments = {
180189
"wait_mode": "until done"
181190
}
182191

183-
[sub_resource type="Resource" id="Resource_7sqdd"]
192+
[sub_resource type="Resource" id="Resource_d6c1l"]
184193
script = ExtResource("6_rpoob")
185194
name = &"call_method_group"
186195
children = Array[ExtResource("6_rpoob")]([])
@@ -189,38 +198,38 @@ arguments = {
189198
"method_name": "game_over"
190199
}
191200

192-
[sub_resource type="Resource" id="Resource_k3l3i"]
201+
[sub_resource type="Resource" id="Resource_n61mn"]
193202
script = ExtResource("11_d0d2t")
194203
name = &"get_node"
195204
arguments = {
196205
"path": NodePath("..")
197206
}
198207

199-
[sub_resource type="Resource" id="Resource_xnd4j"]
208+
[sub_resource type="Resource" id="Resource_wercy"]
200209
script = ExtResource("6_rpoob")
201210
name = &"queue_free_node"
202211
children = Array[ExtResource("6_rpoob")]([])
203212
arguments = {
204-
"node": SubResource("Resource_k3l3i")
213+
"node": SubResource("Resource_n61mn")
205214
}
206215

207-
[sub_resource type="Resource" id="Resource_sfyj6"]
216+
[sub_resource type="Resource" id="Resource_lywxo"]
208217
script = ExtResource("6_rpoob")
209218
name = &"define_method"
210-
children = Array[ExtResource("6_rpoob")]([SubResource("Resource_uojjp"), SubResource("Resource_7sqdd"), SubResource("Resource_xnd4j")])
219+
children = Array[ExtResource("6_rpoob")]([SubResource("Resource_juy0s"), SubResource("Resource_v40kv"), SubResource("Resource_d6c1l"), SubResource("Resource_wercy")])
211220
arguments = {
212221
"method_name": &"crash"
213222
}
214223

215-
[sub_resource type="Resource" id="Resource_y4k1i"]
224+
[sub_resource type="Resource" id="Resource_rrur4"]
216225
script = ExtResource("5_8ag0i")
217-
root = SubResource("Resource_sfyj6")
218-
canvas_position = Vector2(50, 175)
226+
root = SubResource("Resource_lywxo")
227+
canvas_position = Vector2(250, 550)
219228

220229
[sub_resource type="Resource" id="Resource_gtmbp"]
221230
script = ExtResource("8_ui4ru")
222231
script_inherits = "AnimationPlayer"
223-
block_serialization_trees = Array[ExtResource("5_8ag0i")]([SubResource("Resource_6gy71"), SubResource("Resource_y4k1i")])
232+
block_serialization_trees = Array[ExtResource("5_8ag0i")]([SubResource("Resource_kuyvu"), SubResource("Resource_rrur4")])
224233
variables = Array[ExtResource("9_5ylav")]([])
225234
generated_script = "extends AnimationPlayer
226235
@@ -235,6 +244,7 @@ func _ready():
235244
236245
237246
func crash():
247+
get_tree().call_group('Music', 'stop_music')
238248
if 'forward' == \"forward\":
239249
play('crash')
240250
else:

project.godot

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Score=""
4141
coins=""
4242
obstacles=""
4343
Overlay=""
44+
Music=""
4445

4546
[input]
4647

0 commit comments

Comments
 (0)