OpenFrameworks addon for loading and rendering sprites and animated sprites generated from CodeAndWeb's TexturePacker application.
- Allows quick creation of sprite sheets with reference name of the original image
- Optimises rendering speed and memory usage of an App or Game
- Mutli-OS (OSX,Linux,Windows)
- Supports generating sprite sheets for different targets automatically (i.e. retina and non-retina)
What is a Sprite Sheet? https://www.codeandweb.com/what-is-a-sprite-sheet
Get Texture Packer (has free to use version) https://www.codeandweb.com/texturepacker
- This addon loads the exported TexturePacker texture and format into a usable data structure for c++ and openFrameworks.
- Currently use "Generic XML"
- May look into getting openFrameworks offically supported and have our own defined XML format.
- Easy intergration.
- Saves memory
- Optimises rendering
- Supports animation
How to refactor an ofImage into ofxTPSprite:
// Turn:
ofImage * normal = new ofImage();
normal.loadImage("images/normal.png");
// Into:
ofxTPSprite * normal = texturePacker.getSprite("images/normal.png");
How to load an animated sprite
ofxTexturePackerPtr texturepacker;
ofxTPAnimatedSpritePtr spaceship_sprite;
texturepacker = ofxTexturePackerPtr(new ofxTexturePacker());
texturepacker->load("spaceship/spaceship.xml");
spaceship_sprite = texturepacker->getAnimatedSprite("spaceship");
spaceship_sprite->play();
Don't forget to update()
your sprite.
- ofxTexturePacker loads the png image designated by the xml file using a path relative to the xml file's location.
- getAnimationNames requires that you name your sprites with a common prefix
- disable trimming if you set the pivot
Still a work in progress. Will be maintained.