adaptative music
This commit is contained in:
parent
25664e36f5
commit
5a768af1f3
9 changed files with 171 additions and 125 deletions
107
index.tscn
107
index.tscn
|
@ -1,50 +1,85 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://ccgnnif026wb4"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://ccgnnif026wb4"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dujoplhd35kqg" path="res://level_base.tscn" id="1_ad0pp"]
|
||||
[ext_resource type="PackedScene" uid="uid://gis4s061n422" path="res://elements/platform.tscn" id="2_g4sgl"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_oxyvh"]
|
||||
script/source = "extends Node
|
||||
|
||||
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()
|
||||
pass
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
#print($LevelBase/Sphere.position)
|
||||
pass
|
||||
|
||||
|
||||
func _on_h_slider_value_changed(value: float) -> void:
|
||||
print(value)
|
||||
PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, PhysicsServer3D.AREA_PARAM_GRAVITY, value)
|
||||
|
||||
func _unhandled_key_input(ev: InputEvent) -> void:
|
||||
if ev is InputEventKey:
|
||||
var k = ev.keycode
|
||||
if k == KEY_UP or k == KEY_RIGHT or k == KEY_LEFT or k == KEY_DOWN:
|
||||
var direction = Vector3()
|
||||
if k == KEY_UP:
|
||||
direction = Vector3.UP
|
||||
elif k == KEY_LEFT:
|
||||
direction = Vector3.LEFT
|
||||
elif k == KEY_RIGHT:
|
||||
direction = Vector3.RIGHT
|
||||
elif k == KEY_DOWN:
|
||||
direction = Vector3.DOWN
|
||||
PhysicsServer3D.area_set_param(
|
||||
get_viewport().find_world_3d().space,
|
||||
PhysicsServer3D.AREA_PARAM_GRAVITY_VECTOR,
|
||||
direction
|
||||
)
|
||||
print(\"direction is \", direction)
|
||||
|
||||
|
||||
func _on_h_slider_focus_entered() -> void:
|
||||
$HSlider.release_focus()
|
||||
pass # Replace with function body.
|
||||
"
|
||||
|
||||
[node name="World" type="Node"]
|
||||
[node name="Game" type="Node"]
|
||||
script = SubResource("GDScript_oxyvh")
|
||||
|
||||
[node name="LevelBase" parent="." instance=ExtResource("1_ad0pp")]
|
||||
|
||||
[node name="Platform" parent="LevelBase" instance=ExtResource("2_g4sgl")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -13.7254, 0)
|
||||
|
||||
[node name="Platform2" parent="LevelBase" instance=ExtResource("2_g4sgl")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.8526, -13.7254, 0)
|
||||
|
||||
[node name="Platform3" parent="LevelBase" instance=ExtResource("2_g4sgl")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 44.7108, -13.7254, 0)
|
||||
|
||||
[node name="HSlider" type="HSlider" parent="."]
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.2
|
||||
anchor_top = 0.9
|
||||
anchor_right = 0.8
|
||||
anchor_bottom = 1.0
|
||||
offset_right = -0.00012207
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 1
|
||||
min_value = 10.0
|
||||
max_value = 20.0
|
||||
step = 0.2
|
||||
value = 10.0
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[connection signal="focus_entered" from="HSlider" to="." method="_on_h_slider_focus_entered"]
|
||||
[connection signal="value_changed" from="HSlider" to="." method="_on_h_slider_value_changed"]
|
||||
|
||||
[editable path="LevelBase"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue