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