AnimationPlayer.play(anim2) automatically plays anim1

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By akhilrajca

I am making a scene in Godot with a human hand and 5 sliders. Each slider controls the position of corresponding finger by manipulating the corresponding animation in the AnimationPlayer.
For example, the slider “Index” can take values from 0 to 1.25. Using the code

slidertime = slider.value
anim_player.seek(slidertime, true)

the animation is “seeked” to a time between 0 and 1.25 seconds. This method works well to control the position of any one finger. But when I apply this code for all fingers, all the animations except the last one on the queue in the AnimationPlayer loads, as soon as the scene is loaded.
In other words, assume that the AnimationPlayer has two animations: anim1 and anim2 and the queue is anim1 and then anim2. I then write a script that says AnimationPlayer.play(anim1) and attach it to a node. I write another script that says AnimationPlayer.play(anim2) and attach to another node. When the scene loads, anim1 would have already played and I can only control anim2.
I want to control anim1 and anim2 independent of each other. I have been trying for several hours on how to do that and any help is appreciated.

:bust_in_silhouette: Reply From: exuin

AnimationPlayer can only play one animation at a time. It doesn’t queue animations. If you want to play two animations at the same time you need to use multiple AnimationPlayers.