Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | MyNameIsMir |
I have a very simple character set up wtih a CharacterBody2D, linked with a Sprite2D containing the sprite-sheet, a AnimationPlayer which features various WalkCycles for my character, both with a shield and without a shield.
I want my character’s walk animation to play when moving but stop when not moving (there’s no actual idle animation).
I also want to switch from my shieldless animations to switch directly to shielded animations when I press a button.
So far I was able to follow simple tutorials online on and get the character to face where it walks, but how exactly do I stop the looping animation of the walk cycle to stop… looping when I stop? I even have a is_moving() func made that returns true/false based on whether the character is moving, but, I’m not sure on how to use it exactly.
I know for a fact that pause() on the AnimationPlayer doesn’t work, so I think it’s something about the AnimationTree. Maybe I need the state to go from Start to “walk” when moving and then end it when it stops moving? How do connection nodes even work?
Would this work?
Or do I need a specific Idle animation that somehow tells my other animations to stop looping or even playing?
Or does that actually not work and just need to “animate” a single frame of idleness for every state like this?