Hi all,
I am having a bit of dilemma on how to approach the following problem. Sprites that I use in my game are 1024x1024 and the animations are 60 FPS. Throughout the development of the game and while I was using placeholder art, I have used AnimationTree + AnimationPlayer to animate stuff, which was fine since the art had like 2-3 FPS.
Now, while that was no trouble, manually entering 60 frames for each second of animation of each character sounds like A LOT of trouble. Initially I tried making a huge spritesheet and handling it like that, which would be slightly easier then manually changing the texture each time. The spritesheet was too large, however, and couldn't be imported. I guess I could try to evolve this approach and make smaller spritesheets for each animation sequence, but it might be tight for some longer animations.
So, next I tried to make some sort of Frankenstein of AnimationTree + AnimationPlayer + AnimatedSprite2D, where the AnimationPlayer would dictate the frames of the AnimatedSprite2D. In the AnimationPlayer I would set the animation
property of AnimatedSprite2D to the desired animation. This behaved pretty weirdly, since the actual animation wouldn't trigger during the AnimatedPlayer's animation, but it did as soon as it finished. I also tried setting the frames
property of AnimatedSprite2D during the AnimatedPlayer's animation, which worked - but another animation played right after it finished.
I assume this is because the player from AnimationPlayer and AnimatedSprite2D are clashing for some weird reason. I also tried stopping the AnimatedSprite2D both through code and through animation and in various points, with no luck.
It is also inconvenient for me to just use AnimatedSprite2D, as AnimationTree and AnimationPlayer are just a much more powerful combination.
I was toying with the idea to just change textures of Sprite2D through some sort of function in a script which I would call at the beginning of animation in AnimationPlayer.
Sorry for the long post everyone .
Anyways - does anyone have any ideas how I could approach this?