DreamBall/index.tscn

51 lines
1.5 KiB
Text
Raw Normal View History

2025-02-21 21:47:35 +01:00
[gd_scene load_steps=2 format=3 uid="uid://ccgnnif026wb4"]
2025-02-21 15:59:01 +01:00
2025-02-21 21:47:35 +01:00
[sub_resource type="GDScript" id="GDScript_oxyvh"]
script/source = "extends Node
2025-02-21 15:59:01 +01:00
2025-02-21 21:47:35 +01:00
func makeAudioStreamPlayers(music_name: String) -> Array[AudioStreamPlayer]:
var path: String = \"res://music/\" + music_name
var dir: DirAccess = DirAccess.open(path)
var file_paths: Array[String] = []
assert(dir, path + \" is not a valid path!\")
if dir:
dir.list_dir_begin()
var file_name = dir.get_next()
while file_name != \"\":
if !dir.current_is_dir():
if file_name.ends_with(\".ogg\"):
file_paths.push_back(path + \"/\" + file_name)
file_name = dir.get_next()
assert(len(file_paths), path + \" had no .ogg files!\")
var players: Array[AudioStreamPlayer] = []
for file_path in file_paths:
var stream: AudioStreamOggVorbis = AudioStreamOggVorbis.load_from_file(file_path)
stream.loop = true
stream.bpm = 124
var player: AudioStreamPlayer = AudioStreamPlayer.new()
player.stream = stream
player.volume_db = -50
players.push_back(player)
return players
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
var players = makeAudioStreamPlayers(\"base\")
for player in players:
add_child(player)
#player.volume_db = 0
for player in players:
player.play()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
"
[node name="World" type="Node"]
script = SubResource("GDScript_oxyvh")