0 votes

Okay so I can’t figure this out.
I have an animation player that brings up a “stage select” menu where options and icons expand on load. Works great. Logic is fine.

I also have an “exit” screen you can go and leave the game from. However, when loading this scene and then returning to the stage select from it, my animations don’t run and stop halfway through one window! Makes no sense because it does not do it from the other scenes at all. Reset on save is also checked in the editor and i have even tried updating that setting in the code at ready.

Is this a 3.5 bug perhaps? I am using the exact same scene change function for all of the scenes.

Godot version 3.5 stable
in Engine by (534 points)

1 Answer

+1 vote
Best answer

Are You sure your other scene didn't leave expanded Control container in a way ? ;)
And AnimationPlayer wouldn't be able to completely expand SelectMenu because this Control node takes half of its space ;)

It actually happened to me :)

by (7,745 points)
selected by

I had the Control node expanded, fixed it, but that did not solve my problem.
I ended up fixing it by setting up a reset animation, putting the buttons into a group and checking the scale of that group with a for statement. It can be a bit janky, but it's better than the window not expanding at all.

func _on_AnimationPlayer_animation_finished(_anim_name):
     var _icons = get_tree().get_nodes_in_group('icons')

     for i in _icons:
        if i.scale.x < 2:
           $AnimationPlayer.play("RESET")
        else:
            $AnimationPlayer.stop()

If it works it is fine :)
Control nodes are huge hassle in Godot. I am sure You will find out what is blocking it later. actual size, max size and scale all interact in hardly predictable way, there is always some jank in manipulating these.

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 Frequently asked questions and 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 [email protected] with your username.