extends Node2D var zoomIncrement = - 0.05; var zoom = 0.38; var xOffset; var yOffset; var screenWidth; var screenHeight; func _ready(): screenWidth = SettingsSingleton.GetCurrectScreenResolutionVector2().x screenHeight = SettingsSingleton.GetCurrectScreenResolutionVector2().y func _process(_delta): xOffset = (1 - zoom) * (self.get_parent().get_global_transform_with_canvas().origin.x) / screenWidth; yOffset = (1 - zoom) * (screenHeight - self.get_parent().get_global_transform_with_canvas().origin.y) / screenHeight; var tiling = Vector2(zoom, zoom); var offset = Vector2(xOffset, yOffset); self.material.set_shader_param("offset", offset); self.material.set_shader_param("tiling", tiling);