diff --git a/metroidvania/.DS_Store b/metroidvania/.DS_Store new file mode 100644 index 0000000..605f6e7 Binary files /dev/null and b/metroidvania/.DS_Store differ diff --git a/metroidvania/Scenes/Music/Music.gd b/metroidvania/Scenes/Music/Music.gd new file mode 100644 index 0000000..ae9d62a --- /dev/null +++ b/metroidvania/Scenes/Music/Music.gd @@ -0,0 +1,22 @@ +extends Node + +export (Array, AudioStream) var music_list = [] + +var music_index = 0 + +onready var Player = $AudioStreamPlayer + +func list_play(): + assert(music_list.size() > 0) + Player.stream = music_list[music_index] + Player.play() + music_index += 1 + if music_index == music_list.size(): + music_index = 0 + +func list_stop(): + Player.stop() + +func _on_AudioStreamPlayer_finished(): + music_list.shuffle() + list_play() diff --git a/metroidvania/Scenes/Music/Music.tscn b/metroidvania/Scenes/Music/Music.tscn new file mode 100644 index 0000000..06e139d --- /dev/null +++ b/metroidvania/Scenes/Music/Music.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Assets/Music and Sounds/Music.ogg" type="AudioStream" id=1] +[ext_resource path="res://Scenes/Music/Music.gd" type="Script" id=2] + +[node name="Music" type="Node"] +script = ExtResource( 2 ) +music_list = [ ExtResource( 1 ) ] + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 1 ) + +[connection signal="finished" from="AudioStreamPlayer" to="." method="_on_AudioStreamPlayer_finished"] diff --git a/metroidvania/Scenes/World/World.gd b/metroidvania/Scenes/World/World.gd index aa93acd..5ab16bb 100644 --- a/metroidvania/Scenes/World/World.gd +++ b/metroidvania/Scenes/World/World.gd @@ -7,6 +7,8 @@ onready var currentLevel = $Level_00 func _ready(): VisualServer.set_default_clear_color(Color.black) + Music.list_play() + if SaverLoader.is_loading: SaverLoader.load_game() SaverLoader.is_loading = false diff --git a/metroidvania/project.godot b/metroidvania/project.godot index 485c63f..4c343a4 100644 --- a/metroidvania/project.godot +++ b/metroidvania/project.godot @@ -43,6 +43,7 @@ ResourceLoader="*res://ResourceLoader.gd" Events="*res://Events.gd" SaverLoader="*res://SaverLoader.gd" SoundFx="*res://Scenes/Music/SoundFX.tscn" +Music="*res://Scenes/Music/Music.tscn" [display]