Début de travail sur l'audio

This commit is contained in:
Maurane
2025-06-18 16:26:39 +02:00
parent 319d7ae1e8
commit 34e887afd2
5 changed files with 298 additions and 54 deletions
+62 -4
View File
@@ -17,7 +17,7 @@ signal main_menu_pressed
#Preloading Confirmation dialog
var confirmation_dialog = preload("res://confirmation_dialog.tscn")
#Text settings sliders
#Text settings UI nodes
@export var text_slider: Node
@export var auto_slider: Node
@export var text_counter: Node
@@ -32,7 +32,21 @@ var is_auto = false
signal text_value_changed
signal auto_value_changed
#Screen settings UI nodes
@export var display_button: Node
@export var resolution_button: Node
var screen_size = DisplayServer.screen_get_size(DisplayServer.window_get_current_screen()) #Computer screen size
var resolution_size = DisplayServer.screen_get_size(DisplayServer.window_get_current_screen()) #Used for changing screen resolution
var resolution_list: Dictionary = {
0: Vector2i(800,600),
1: Vector2i(1024,768),
2: Vector2i(1280,720),
3: Vector2i(1366,768),
4: Vector2i(1440,900),
5: Vector2i(1600,900),
6: Vector2i(1680,1050),
7: Vector2i(1920,1080)
}
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
@@ -79,10 +93,18 @@ func _ready() -> void:
text_counter.text = "[center]" + str(snapped((text_speed * 1000), 1)) + " ms/letter[/center]"
auto_counter.text = "[center]" + str(snapped(auto_speed, 0.01)) + " s delay[/center]"
#Initializes the auto-advance to false
#Initializes the auto-advance to false
autoplay.button_pressed = false
auto_mask.visible = true
#Screen settings signals and initialization
display_button.item_selected.connect(_on_display_selected)
resolution_button.item_selected.connect(_on_resolution_selected)
for index in resolution_list:
var item_text = str(resolution_list[index].x) + "x" + str(resolution_list[index].y)
resolution_button.add_item(item_text, index)
resolution_button.select(resolution_list.find_key(screen_size)) #Selects the computer resolution as initial screen resolution
#Hiding everything at start
for node in $UI.get_children():
node.hide()
@@ -263,4 +285,40 @@ func _on_autoplay_pressed():
else:
is_auto = false
auto_mask.visible = true
#Shows selected display
func _on_display_selected(index: int):
match index:
0:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
#Puts the windowed screen in the center of the computer's screen
var screen_center = screen_size / 2
var top_left = screen_center - (resolution_size / 2)
DisplayServer.window_set_size(resolution_size)
await get_tree().process_frame #Waits process_frame to avoid bugs
DisplayServer.window_set_position(top_left)
1:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MAXIMIZED)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, true)
2:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
print("window setting changed")
#Shows selected resolution
func _on_resolution_selected(index: int):
resolution_size = resolution_list.get(index)
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
#Puts the windowed screen in the center of the computer's screen
var screen_center = screen_size / 2
var top_left = screen_center - (resolution_size / 2)
DisplayServer.window_set_size(resolution_size)
await get_tree().process_frame #Waits process_frame to avoid bugs
DisplayServer.window_set_position(top_left)