extends Node2D # Declare member variables here. Examples: # var a = 2 # var b = "text" # Called when the node enters the scene tree for the first time. var target: = Vector3() var rect: = Rect2() func _ready(): pass # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): var pos = get_viewport().get_camera().unproject_position(target) rect = get_viewport_rect() rect = rect.grow(-8.0) if get_viewport().get_camera().is_position_behind(target): if visible: hide() else: if rect.has_point(pos): if !visible: show() else: pos.x = clamp(pos.x, rect.position.x, rect.position.x + rect.size.x) pos.y = clamp(pos.y, rect.position.y, rect.position.y + rect.size.y) if position.distance_squared_to(pos) < 480.0: position = position.linear_interpolate(pos, delta) else: position = pos