Ajout du menu principal et des paramètres. Attention : ça ne fonctionne pas
This commit is contained in:
parent
ffaa27de5c
commit
432f7ccc7a
28 changed files with 69743 additions and 19 deletions
52
parametres/drop_menu/drop_menu_fenetre.gd
Normal file
52
parametres/drop_menu/drop_menu_fenetre.gd
Normal file
|
@ -0,0 +1,52 @@
|
|||
extends Control
|
||||
|
||||
@onready var option_button = $HBoxContainer/OptionButton as OptionButton
|
||||
|
||||
const MODE_FENETRE_LISTE : Array[String] = [
|
||||
"Plein écran",
|
||||
"Fenetré",
|
||||
"Fenetré sans bordure",
|
||||
"Plein écran sans bordure"
|
||||
]
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
add_window_mode_items()
|
||||
option_button.item_selected.connect(on_window_mode_selected)
|
||||
set_default_status()
|
||||
|
||||
|
||||
func set_default_status() -> void :
|
||||
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_WINDOWED :
|
||||
if DisplayServer.window_get_flag(DisplayServer.WINDOW_FLAG_BORDERLESS) :
|
||||
option_button.select(2)
|
||||
else :
|
||||
option_button.select(1)
|
||||
else :
|
||||
if DisplayServer.window_get_flag(DisplayServer.WINDOW_FLAG_BORDERLESS) :
|
||||
option_button.select(3)
|
||||
else :
|
||||
option_button.select(0)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
|
||||
func add_window_mode_items() -> void:
|
||||
for mode_fenetre in MODE_FENETRE_LISTE:
|
||||
option_button.add_item(mode_fenetre)
|
||||
|
||||
func on_window_mode_selected (index : int) -> void :
|
||||
match index:
|
||||
0: #Fullscreen
|
||||
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
|
||||
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
|
||||
1: #Windowed
|
||||
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|
||||
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
|
||||
2: #Windowed Borderless
|
||||
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|
||||
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, true)
|
||||
3: #Fullscreen Borderless
|
||||
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
|
||||
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, true)
|
13
parametres/drop_menu/drop_menu_fenetre.tscn
Normal file
13
parametres/drop_menu/drop_menu_fenetre.tscn
Normal file
|
@ -0,0 +1,13 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://bql1rrrswwr0y"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bbnto4k0qufd7" path="res://parametres/drop_menu/drop_menu_parametres.tscn" id="1_uosn5"]
|
||||
[ext_resource type="Script" path="res://parametres/drop_menu/drop_menu_fenetre.gd" id="2_s8chm"]
|
||||
|
||||
[node name="Drop_Menu_Parametres_Feunetre" instance=ExtResource("1_uosn5")]
|
||||
script = ExtResource("2_s8chm")
|
||||
|
||||
[node name="HBoxContainer" parent="." index="0"]
|
||||
alignment = 1
|
||||
|
||||
[node name="Label" parent="HBoxContainer" index="1"]
|
||||
text = "Mode d'affichage"
|
50
parametres/drop_menu/drop_menu_parametres.tscn
Normal file
50
parametres/drop_menu/drop_menu_parametres.tscn
Normal file
|
@ -0,0 +1,50 @@
|
|||
[gd_scene format=3 uid="uid://bbnto4k0qufd7"]
|
||||
|
||||
[node name="Drop_Menu_Parametres" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_right = -375.0
|
||||
offset_bottom = -586.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 42
|
||||
|
||||
[node name="VSeparator" type="VSeparator" parent="HBoxContainer"]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer"]
|
||||
custom_minimum_size = Vector2(264, 0)
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "TEXTE_PAR_DEFAUT"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="VSeparator2" type="VSeparator" parent="HBoxContainer"]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="OptionButton" type="OptionButton" parent="HBoxContainer"]
|
||||
custom_minimum_size = Vector2(256, 64)
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 32
|
||||
|
||||
[node name="VSeparator3" type="VSeparator" parent="HBoxContainer"]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
34
parametres/drop_menu/drop_menu_resolution.gd
Normal file
34
parametres/drop_menu/drop_menu_resolution.gd
Normal file
|
@ -0,0 +1,34 @@
|
|||
extends Control
|
||||
|
||||
@onready var option_button = $HBoxContainer/OptionButton as OptionButton
|
||||
|
||||
const RESOLUTION_DICT : Dictionary = {
|
||||
"1152 x 648" : Vector2i(1152, 648),
|
||||
"1280 x 720" : Vector2i(1280, 720),
|
||||
"1920 x 1080" : Vector2i(1920, 1080),
|
||||
}
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
add_resolution_items()
|
||||
option_button.item_selected.connect(on_resolution_selected)
|
||||
set_default_status()
|
||||
|
||||
func set_default_status() -> void :
|
||||
if DisplayServer.window_get_size() == Vector2i(1280, 720) :
|
||||
option_button.select(1)
|
||||
elif DisplayServer.window_get_size() == Vector2i(1920, 1080):
|
||||
option_button.select(2)
|
||||
else :
|
||||
option_button.select(0)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
|
||||
func add_resolution_items() -> void:
|
||||
for resolution in RESOLUTION_DICT:
|
||||
option_button.add_item(resolution)
|
||||
|
||||
func on_resolution_selected (index : int) -> void :
|
||||
DisplayServer.window_set_size(RESOLUTION_DICT.values()[index])
|
10
parametres/drop_menu/drop_menu_resolution.tscn
Normal file
10
parametres/drop_menu/drop_menu_resolution.tscn
Normal file
|
@ -0,0 +1,10 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://d30k33gvnoo46"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bbnto4k0qufd7" path="res://parametres/drop_menu/drop_menu_parametres.tscn" id="1_ufhut"]
|
||||
[ext_resource type="Script" path="res://parametres/drop_menu/drop_menu_resolution.gd" id="2_53mh2"]
|
||||
|
||||
[node name="Drop_Menu_Resolution" instance=ExtResource("1_ufhut")]
|
||||
script = ExtResource("2_53mh2")
|
||||
|
||||
[node name="Label" parent="HBoxContainer" index="1"]
|
||||
text = "Résolution"
|
Loading…
Add table
Add a link
Reference in a new issue