소스 검색

:sparkles: added global shortcut to toggle fullscreen mode

Felix Bytow 10 달 전
부모
커밋
4603810bb0
4개의 변경된 파일32개의 추가작업 그리고 0개의 파일을 삭제
  1. 11 0
      assets/autoload/global_input.gd
  2. 6 0
      assets/autoload/global_input.tscn
  3. 12 0
      project.godot
  4. 3 0
      screens/main_menu.gd

+ 11 - 0
assets/autoload/global_input.gd

@@ -0,0 +1,11 @@
+extends Node
+
+var fullscreen = false
+
+func _input(event: InputEvent):
+	if event.is_action_pressed("toggle_fullscreen"):
+		fullscreen = !fullscreen
+		if fullscreen:
+			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
+		else:
+			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)

+ 6 - 0
assets/autoload/global_input.tscn

@@ -0,0 +1,6 @@
+[gd_scene load_steps=2 format=3 uid="uid://dru2nvlrc4jf"]
+
+[ext_resource type="Script" path="res://assets/autoload/global_input.gd" id="1_milwh"]
+
+[node name="GlobalInput" type="Node"]
+script = ExtResource("1_milwh")

+ 12 - 0
project.godot

@@ -14,11 +14,23 @@ config/name="gdtv-gamejam-2024-last-stand"
 run/main_scene="res://screens/main_menu.tscn"
 config/features=PackedStringArray("4.2", "GL Compatibility")
 
+[autoload]
+
+GlobalInput="*res://assets/autoload/global_input.tscn"
+
 [display]
 
 window/size/viewport_width=1280
 window/size/viewport_height=720
 
+[input]
+
+toggle_fullscreen={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":true,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null)
+]
+}
+
 [rendering]
 
 renderer/rendering_method="gl_compatibility"

+ 3 - 0
screens/main_menu.gd

@@ -8,6 +8,9 @@ func _ready():
 	if OS.get_name() not in ["Windows", "macOS", "Linux"]:
 		quit_button.visible = false
 
+func _process(_delta):
+	print(get_viewport_rect().size)
+
 func _on_new_game_pressed():
 	pass # Replace with function body.