Godot 4 beta 16 : AnimatedSprite2D animation_finished signal maybe not emited
Asked Answered
D

5

0

Hi,

with the new beta16, it seems the signal "animation_finished" for a AnimatedSprite2D node is not generated at the end of the animation.

The project is the Match3 game from Mister Taft Creates.


(queue_free is not called as before in beta 15 or previous)

I believe it's linked to the PR 71907 as it is the only one related to animation.

Does anyone have the same or a similar issue with this beta ?
Thanks.

Diffraction answered 28/1, 2023 at 19:5 Comment(0)
O
0

Can you duplicate the error (no signal) in a minimal project, for example, nothing in the project except for one AnimatedSprite2D with two frames?

Outfitter answered 28/1, 2023 at 19:56 Comment(0)
D
0

Outfitter I thought of doing that but I'm not sure I can or it will be enough to trigger the issue. I've asked here before in case someone more experienced with Godot could confirm it.

Diffraction answered 28/1, 2023 at 20:40 Comment(0)
L
0

I had the same problem and I even started making an issue with minimal project etc. Then I saw what it was. All animations becomes looped by default, even if they were "OnShot" before beta 16.

Just check the "Loop"-toggle in the lower left corner of your screenshot there and it will trigger the "animation_finished"

Lezlielg answered 29/1, 2023 at 16:1 Comment(0)
D
0

Lezlielg ah ah good eyes 🙂 I takes time to see this loop toggle. Thanks.
Anyway, toggle on the left (disable I guess ? gray colored text) or on the right (enable ? blue colored text), it doesn't change anything, still animation finished not fired in the game project.

Does your minimal project shows the issue ?

Making a small working example on my own shows me the author either use something that has also been modified/broken since 3.5 or he's wrong cause it's "is_playing" method used instead of "play" ! I don't even know how it could worked in previous version, side effect ? issue ?

EDIT: I've replaced 'is_playing' call by 'play' and now it's ok, BUT animation runs faster than before. Quit unfortunate to be puzzled in a puzzle game !

Diffraction answered 29/1, 2023 at 17:22 Comment(0)
L
0

Diffraction Strange, my project worked after I toggled the loop to false. I also had to enable the "Autoplay on Load" on some of my animations to get the old behavior of toggling "Playing" in the inspector.

Lezlielg answered 31/1, 2023 at 18:23 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.