0 votes

Hey everyone.
I'v found strange bahaviour of animation player.
My setup

I have following animation clip. Function Spam() just prints GD.Print output for debugging.

When i call my animation from code (once), it becomes looped.

_Animation.Play("FadeOut");

The only work around i'v found is to stop it from function that is triggered from animation itself with:
_Animation.Stop();

What am i doing wrong?

in Engine by (25 points)

I tried to reproduce this but it worked fine for me.
Your screenshot shows the looping button unchecked (top right, below the pin), but is it still unchecked in your project?

Iv'v uploaded a test project that reproduces my issue.

https://github.com/255h/Godot-LoopingIssue-Test/

And, yes i'v checked the looping option in my animation.

1 Answer

+2 votes
Best answer

In the animation player editor, click on the Animation button, then choose Edit Transitions. You'll see that your FadeOut animation has a transition leading to itself, causing it to loop. If you remove it, it should no longer loop (choose the empty item in the selection box).

by (27,603 points)
selected by

Thank you!
That explains everything!

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.