Maintain menu sizes when changing the screen

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By ZER0PSS

I made a menu, it should pop up when the player presses Escape, but when the screen size is increased, the settings window becomes visible, which should not be, I was looking for solutions but nothing helped (

Game screenshot:

(link for cloud drive)

code in autoload:

extends Node

 onready var vp = get_tree().get_root()
 onready var base_size = Vector2(1920, 1080)

  func _ready():
        		# Use whichever you would like by default

  func set_fullscreen():
      var window_size = OS.get_screen_size()
      if OS.get_name() == 'Windows' && window_size == base_size:
	            		# Not sure if this works outside of Windows / native resolution.
		            	#  - Mac didn't like it, nor smaller resolutions.

	      var scale = min(window_size.x / base_size.x, window_size.y / base_size.y)
	      var scaled_size = (base_size * scale).round()
	      var margins = Vector2(window_size.x - scaled_size.x, window_size.y - scaled_size.y)
	      var screen_rect = Rect2((margins / 2).round(), scaled_size)
	      OS.set_window_size(Vector2(window_size.x, window_size.y + 1)) # Black magic?
	      vp.set_size(scaled_size) # Not sure this is strictly necessary

  func set_windowed():
      var window_size = OS.get_screen_size()
	      # I set the windowed version to an arbitrary 80% of screen size here
      var scale = min(window_size.x / base_size.x, window_size.y / base_size.y) * 0.8
      var scaled_size = (base_size * scale).round()

      var window_x = (window_size.x / 2) - (scaled_size.x / 2)
      var window_y = (window_size.y / 2) - (scaled_size.y / 2)
      OS.set_window_position(Vector2(window_x, window_y))

help pls

:bust_in_silhouette: Reply From: AlexTheRegent

It is unclear what is exactly your problem. To handle multiple game resolutions I suggest to you to read following pages:

If you want to simply show/hide menu, then you can use visible property of Control nodes to quickly show/hide controls.