OpenFrameworks addon for loading and rendering sprites and animated sprites generated from CodeAndWeb's TexturePacker application.
What is TexturePacker?
- 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? http://www.codeandweb.com/what-is-a-sprite-sheet
Get Texture Packer (has free to use version) http://www.codeandweb.com/texturepacker
What this addon does?
- This addon loads the exported TexturePacker texture and format into a usable data structure for c++ and openFrameworks.
What export settings do I use in TexturePacker Application?
- Currently use "Generic XML"
- May look into getting openFrameworks offically supported and have our own defined XML format.
Why use this addon?
- 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.