I need to animate my node from a position below the bar to a random point that is created by code. What I want is to achieve an animation that looks fluid until reaching the random position. image 1image 2
I know I could achieve the animation with the AnimationPlayer, but I don’t know how to assign the random position each time (there are 5 nodes that need to be moved). The nodes are created and assigned their position in the random_location() function
You can animate the position (to a certain fixed placeholder position).
Then, via code, dymanically modify the value of the keyframe of that animation (use Animation.track_set_key_value) to your random position, and then play the animation.
In this case I made it so that when I press the space bar, the animation resets and goes back to 0,0 and then to a different random position every time.
You can use a tween instead of the animation player.
var final_position := Vector2(rand_x, rand_y)
var starting_position := Vector2.ZERO
var duration: float = 2.0 # in seconds
var tween := create_tween()
tween.tween_property(objInstance, "position", final_position, duration).from(starting_position)
Thank you for your reply. I’m going to choose the tween version because it’s more comfortable for me in this case, but know that both options are viable.