Limit tile animation to one loop

With TileSet -> Select -> Animation it is possible to make animated tiles that loop endlessly.

Is there a way to stop the looping? Or to set it not to loop? Or to find out when the last tile in the animation has been shown? Or when all tiles have been displayed? Or when a single loop has been completed? All questions are basically the same.

Thank you all.


For any animation there is a checkbox to loop or not loop. There are signals for animation finished for non looping animations as well as telling the animation to stop via code.


once you figure out the animation player, go look at animation tree and tweens.

1 Like

Thank you for the quick reply.

I am aware of the AnimationPlayer, etc, but these are not tiles in a TileSet, which is the animation I want to control.

I think this video will help you

1 Like

Thank you but that’s not it.

I already have the animated tile set up and working.

The problem is that it loops infinitely. I want to be able to stop it or to make it look only once.

I think you need to use something else as a tileset is mainly for ground/backwards.

Your sprite sheet looks like an effect, Which an animation player is primed for.

There is also

Which will give you some helpful tools to work specifically with a sprite sheet.

If you really want to use a tileset, i think you may need to estimate the time it takes for the animation tile to play and switch it to a different tile.

1 Like

Thank you for your patience and persistence.

In case someone has a similar problem, I have ended up using an AnimationSprite2D and then using the z-index to insert it in the correct layer.