implemented sfx slider in options menu with a audio sample on slider change
parent
5cc134ff7b
commit
682c22ca77
25
options.gd
25
options.gd
|
|
@ -1,12 +1,23 @@
|
||||||
extends CanvasLayer
|
extends CanvasLayer
|
||||||
|
|
||||||
|
var sfx_preview = preload("res://assets/music & sfx/sfx/hit2.wav")
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
# Music Slider
|
||||||
$VBoxContainer/HBoxContainer/HSlider.min_value = 0.0
|
$VBoxContainer/HBoxContainer/HSlider.min_value = 0.0
|
||||||
$VBoxContainer/HBoxContainer/HSlider.max_value = 1.0
|
$VBoxContainer/HBoxContainer/HSlider.max_value = 1.0
|
||||||
$VBoxContainer/HBoxContainer/HSlider.step = 0.01
|
$VBoxContainer/HBoxContainer/HSlider.step = 0.01
|
||||||
# Aktuellen Bus-Wert als Startwert setzen
|
# Aktuellen Bus-Wert als Startwert setzen
|
||||||
var bus_idx = AudioServer.get_bus_index("Music")
|
var bus_idx = AudioServer.get_bus_index("Music")
|
||||||
$VBoxContainer/HBoxContainer/HSlider.value = db_to_linear(AudioServer.get_bus_volume_db(bus_idx))
|
$VBoxContainer/HBoxContainer/HSlider.value = db_to_linear(AudioServer.get_bus_volume_db(bus_idx))
|
||||||
|
|
||||||
|
# SFX Slider
|
||||||
|
$VBoxContainer/HBoxContainer3/HSlider.min_value = 0.0
|
||||||
|
$VBoxContainer/HBoxContainer3/HSlider.max_value = 1.0
|
||||||
|
$VBoxContainer/HBoxContainer3/HSlider.step = 0.01
|
||||||
|
# Aktuellen Bus-Wert als Startwert setzen
|
||||||
|
var sfx_idx = AudioServer.get_bus_index("SFX")
|
||||||
|
$VBoxContainer/HBoxContainer3/HSlider.value = db_to_linear(AudioServer.get_bus_volume_db(sfx_idx))
|
||||||
|
|
||||||
func _on_back_button_pressed() -> void:
|
func _on_back_button_pressed() -> void:
|
||||||
get_tree().change_scene_to_file("res://scenes/mainmenu.tscn")
|
get_tree().change_scene_to_file("res://scenes/mainmenu.tscn")
|
||||||
|
|
@ -20,3 +31,17 @@ func _on_check_box_toggled(toggled_on: bool) -> void:
|
||||||
func _on_h_slider_value_changed(value: float) -> void:
|
func _on_h_slider_value_changed(value: float) -> void:
|
||||||
var bus_idx = AudioServer.get_bus_index("Music")
|
var bus_idx = AudioServer.get_bus_index("Music")
|
||||||
AudioServer.set_bus_volume_db(bus_idx, linear_to_db(value))
|
AudioServer.set_bus_volume_db(bus_idx, linear_to_db(value))
|
||||||
|
|
||||||
|
|
||||||
|
func _on_h2_slider_value_changed(value: float) -> void:
|
||||||
|
var bus_idx = AudioServer.get_bus_index("SFX")
|
||||||
|
AudioServer.set_bus_volume_db(bus_idx, linear_to_db(value))
|
||||||
|
|
||||||
|
# Vorschau-Sound abspielen
|
||||||
|
var preview = AudioStreamPlayer.new()
|
||||||
|
add_child(preview)
|
||||||
|
preview.stream = sfx_preview
|
||||||
|
preview.bus = "SFX"
|
||||||
|
preview.play()
|
||||||
|
await preview.finished
|
||||||
|
preview.queue_free()
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ horizontal_alignment = 1
|
||||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer" unique_id=1082653827]
|
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer" unique_id=1082653827]
|
||||||
custom_minimum_size = Vector2(300, 0)
|
custom_minimum_size = Vector2(300, 0)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer" unique_id=388379542]
|
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer" unique_id=388379542]
|
||||||
custom_minimum_size = Vector2(150, 0)
|
custom_minimum_size = Vector2(150, 0)
|
||||||
|
|
@ -63,9 +64,26 @@ text = "Music Volume"
|
||||||
custom_minimum_size = Vector2(300, 30)
|
custom_minimum_size = Vector2(300, 30)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer" unique_id=644962322]
|
||||||
|
custom_minimum_size = Vector2(300, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer3" unique_id=1188599982]
|
||||||
|
custom_minimum_size = Vector2(150, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_fonts/font = ExtResource("3_1sggn")
|
||||||
|
theme_override_font_sizes/font_size = 32
|
||||||
|
text = "SFX Volume"
|
||||||
|
|
||||||
|
[node name="HSlider" type="HSlider" parent="VBoxContainer/HBoxContainer3" unique_id=957752147]
|
||||||
|
custom_minimum_size = Vector2(300, 30)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer" unique_id=532391329]
|
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer" unique_id=532391329]
|
||||||
custom_minimum_size = Vector2(300, 0)
|
custom_minimum_size = Vector2(300, 0)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer2" unique_id=1484176872]
|
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer2" unique_id=1484176872]
|
||||||
custom_minimum_size = Vector2(150, 0)
|
custom_minimum_size = Vector2(150, 0)
|
||||||
|
|
@ -85,5 +103,6 @@ theme_override_font_sizes/font_size = 32
|
||||||
text = "Back"
|
text = "Back"
|
||||||
|
|
||||||
[connection signal="value_changed" from="VBoxContainer/HBoxContainer/HSlider" to="." method="_on_h_slider_value_changed"]
|
[connection signal="value_changed" from="VBoxContainer/HBoxContainer/HSlider" to="." method="_on_h_slider_value_changed"]
|
||||||
|
[connection signal="value_changed" from="VBoxContainer/HBoxContainer3/HSlider" to="." method="_on_h2_slider_value_changed"]
|
||||||
[connection signal="toggled" from="VBoxContainer/HBoxContainer2/CheckBox" to="." method="_on_check_box_toggled"]
|
[connection signal="toggled" from="VBoxContainer/HBoxContainer2/CheckBox" to="." method="_on_check_box_toggled"]
|
||||||
[connection signal="pressed" from="VBoxContainer/BackButton" to="." method="_on_back_button_pressed"]
|
[connection signal="pressed" from="VBoxContainer/BackButton" to="." method="_on_back_button_pressed"]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue