![]() ![]() You can see this happening on line 6 below. We do this by passing it the current value of our animationStateTime variable. pack file with de dimensions and coordinates of all of them. It will pack every texture into one image AND create a. When it is time to render our sprite, we ask our Animation instance for the frame that we need to draw - AKA the Key Frame. You can use something like TexturePacker. To help cycle the animation frames, in our update() method we utilise a variable which accumulates the delta time between frames - animationStateTime. In other words, the duration between each frame is 1/15 seconds, or, 0.0666 seconds. On line 11, we create a new Animation instance and instruct it to animate our sprite frames 15 times per second. willcreate one image filepersubfolder thatbelongs to the texture atlas. The Animation class makes it a breeze to animate our sprites. Libgdx's texture packer hasaverysmart feature to tackle this type of problem. For our purposes, each AtlasRegion holds a frame of animation for our sprite. Note that AtlasRegion has the same parent class as Sprite - TextureRegion, which we have seen before. As an added bonus, because of the way I configured TexturePacker, we receive them in animation order. On line 10, we ask the TextureAtlas for an array of all the AtlasRegions (frames) belonging to the invader1 sprite. On line 9, we create an instance of TextureAtlas, by passing it the path to our spritesheet.atlas file. The TextureAtlas class deals with de-serialsing that file and provides us with handy methods to get hold of the frames for a particular sprite, along with other useful information. This file contains all of the information about each sprite frame I packed. When I packed my sprites into a texture atlas, TexturePacker generated a file called spritesheet.atlas. TextureAtlas = new TextureAtlas("spritesheet.atlas") // 9.įrames = textureAtlas.findRegions("invader1") // 10.Īnimation = new Animation(1/15f, frames) // 11. Let’s have a look at our create() method and it’s supporting class member variables. I’m not going to delve into the details of how to use the tool, as you can just click the link that I have provided.Īll you need to know for this tutorial, is that I have used it to pack the frames needed for my demonstration of Sprite animation, and, that we can get hold of the frames for that animation as shown in the source code below. LibGDX’s TexturePacker is nothing short of excellent. In this post, I just want to put those two classes to one side and look at what libGDX provides us with for sprite animation purposes.īy the end of this tutorial, we’ll have a simple application which animates a sprite, as shown in the video below. ![]() LibGDX Beginner Tutorial: Sprite Sheets & Physics with Box2d This tutorial is for libGDX beginners, explaining how to create sprite sheets, use sprites in your game and add game physics. Tutorials for other frameworks are available from the tutorials list. In my previous tutorial, we introduced a couple of new classes - XNASpriteBatch and XNASprite - to help us draw sprites in a more familiar way. We currently have these 4 tutorials for libGDX and TexturePacker. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |