Hello! In the beginning of game, I have four Area2D objects that represent four element classes: Air, Earth, Fire and Water:

When I click on one element class, all four should move on left side of the screen, and a clone of the clicked one should go on right.
I tried to implement this, but the clicked clone stays glued to the original element class.
Here you can see the node tree and that the Air_Class2 (clone) is detached from the Air_Class (original). [I started with one clone. Then, when this will work, I will add the rest.]

I attached a script to Air_Class2 node, and in the function _ready(), I set the node's position to be the same as the position of Air_Class. So, only in the beginning, the two nodes should have the same position.
Here is the script of the main scene, where I'm implementing the interpolation of both nodes. In fact, the original element classes are grouped into a Node2D, and I apply the interpolation to this Node2D.
extends Node2D
var interpolation_velocity = 0.05
var interpolating = false
var air_class_interpolating = false
func _process(delta):
if (Input.is_action_just_pressed("ui_cancel")): #ui_cancel is ESC key
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
get_tree().quit() #quit the game
if (Input.is_action_just_pressed("restart")):
get_tree().reload_current_scene()
if ($Class_Collection/Air_Class.click == true or
$Class_Collection/Earth_Class.click == true or
$Class_Collection/Fire_Class.click == true or
$Class_Collection/Water_Class.click == true):
print ("Element")
interpolating = true
if $Class_Collection/Air_Class.click == true:
air_class_interpolating = true
$Class_Collection/Air_Class.click = false
$Class_Collection/Earth_Class.click = false
$Class_Collection/Fire_Class.click = false
$Class_Collection/Water_Class.click = false
if interpolating == true:
$Class_Collection.position = $Class_Collection.position.linear_interpolate(Vector2(200, $Class_Collection.position.y), interpolation_velocity)
if air_class_interpolating == true:
$Air_Class2.position = $Air_Class2.position.linear_interpolate(Vector2(-200, $Air_Class2.position.y), interpolation_velocity)
if $Class_Collection.position.x == 200:
interpolating == false
if $Air_Class2.position.x == -200:
air_class_interpolating = false
How should I make the clone go its way and not to stay glued to the original?