Animations - UQcsse3200/2024-studio-1 GitHub Wiki
The game engine has a pre-made AnimationRenderComponent
(code) which can be used to show animations on entities. This is a thin wrapper around libGDX's animation system, so it is recommended to read that before using animations.
Usage
Creating animations
Animations have to be created in libGDX's atlas format to be compatible with the animation component. You can generate an animation atlas from a series of still images, where each image represents a frame of animation. Some recommended tools that support this:
- libGDX Texture Packer: Official command-line tool.
- Texture Packer GUI Free open-source GUI.
- TexturePacker Alternative tool, some features are payment only.
Adding animations to the game
Add an AnimationRenderComponent
to the entity you want to render, then register each animation that's in the texture atlas. Start and stop an animation with startAnimation()
and stopAnimation()
.
AnimationRenderComponent animator = new AnimationRenderComponent("player.atlas");
Entity player = new Entity().addComponent(animator);
// The animation name must match the name in the atlas
animator.addAnimation("walk", 0.1f);
animator.addAnimation("attack", 0.1f);
animator.addAnimation("jump", 0.1f);
// Now, we can start/stop the animatifon at any time
animator.startAnimation("walk");
animator.startAnimation("jump");
animator.stopAnimation();