Free software tool for creating xml's from sprite positions
While there are a lot of animation tools and some good animation support for example in The Gimp
those tools seem all to expect that animations are using
images with several layers. Unfortunately there are situations when it's more practical to have all
sprites on a single page. In such a case it's rather tedious work to find out all the needed coordinates and
offsets for smooth animations. I did this once by hand and thereafter decided to write this tool. You can select
parts of images, put them together to form sprites and display those sprites on specified frames and positions thereby creating animations. The whole data can be saved using XML, which makes it easy to include it in any other applications.
Well an image tells more 'n thousand words, so here it is:
Platforms and dependencies
It runs only on GNU/linux systems so far, but i used wxWidgets and no platform dependent stuff is included. Therefore a port to other systems like Windows or Mac should not be much of a deal. I might do that some day, but it's no high priority currently. If you'd like to port i would be very grateful and you could contact me for any help you'd need to do it.
Anifast depends on the following development libs to be installed:
- wxWidgets (>= 2.6)
That lib needs some more libs itself, but apt will help you (on non-debian distros it's usually also easy to find out).
Certainly it also needs the gcc (i'm using gcc 4.0.2 right now).
tar xvzf anifast-version.tar.gz
Do the usual stuff:
Or you can install it on your system (as root) with:
For more detailed instructions and some additional install parameters, please check the INSTALL file.
Anifast is using the GPL
The application does also include tinyxml
which is using the
The GUI is still very much work in process, but i think you'll get used to it within a few minutes just by playing around.
Important is the pipeline needed to create an animation:
1. Open an image from file by File-Open File
2. Click "New Clipping" and select a part of the image which is needed for your sprite.
If you click directly on the image it will automatically select the smallest rectangular area which is surrounded by transparent pixels.
3. Click "New Sprite" to make a new sprite container.
4. Click "Add Clipping" to add the currently selected clipping to the currently selected sprite.
5. Click "New Animation" to make a new animation container.
6. Click "Add Sprite" to add the currently selected sprite to the currently selected animation (if it doesn't work you've probably selected a
Spritepart instead of a sprite).
7. Now you can position the sprites, select on which frames they should be displayed, etc.
To delete something, select the item in the tree and press "delete".
You can move items in the trees up and down. The uppermost item will always be drawn first.
You can save and load the complete project in the "Project" menu.
Bugs and future plans
* The animationtree behaves strange sometimes and doesn't highlight items when selecting them.
* Some UI Elements do overlap.
* Images of dependent elements are not always updated immediately.
* The selection does flicker when moving elements up/down.
* Rework GUI Behaviour (disable buttons, better feedback, better guessing of actions which users expect).
* Some more refactoring of the code.
* Rethink GUI-Layout, maybe there's no need to display always three images.
* Allow to move clippings around within an image.
* Allow to copy clippings (and maybe also sprites) to new images.
* Allow to save images.
* More clipping selection methods (p.E. allow to select a clipping by dragging the clippingframe by mouse).
* Display *all* clippings in an image.
* Save the current frameposition in the animations.
* Make it possible to save the image filenames without path (maybe by adding includepaths which will be searched).
Features which might be added when i find the time for it
* Support Drag 'n Drop.
* Display several Animations at once.
* Save animations in other formats like gif or some movie formats.
* Write another tool which will create j2me code for the xml-files (Yeah, i know you don't need that. That's just something for myself.)
You can download the source releases from sourceforge
Do not hesitate to contact me if you have any problems, feature request or if you just need some more information about this application.
I'll try to put all known problems on this page, so if something does not work as expected and there's no information about it here, then it's probably because i don't know about it. By sending me bugreports and featurewishes you can help me and others and generally make this world a
little bit better ;-)
Mail me: firstname.lastname@example.org
22. January 2006
Version 0.03 is out.
This version did not add any new features, but a lot of bugs where fixed, the speed is increased and i did some code refactoring (more to follow). Also the fileformat has changed somewhat and i used the chance to think of a system to guarantee backward compatibility. Old files
can still be loaded but will be converted on loading and when you save them they will be in the new format.
* Added downward compatibility for old file-format (only on loading - files will be saved in the new format)
* UI: selection gets now updated when changing images
* Cut and paste with images does work now without losing the clippings
* UI: when deleting items the corresponding displayed images will now also be removed
* UI: when deleting items the itemtrees select now the item above the deleted one afterwards
* UI: more immediate feedback when using spincontrols for clippings and spriteparts
* UI: when selecting child-elements in the trees, now the corresponding parent elements are displayed
* Changed xml-format: attribute "display_name" is now called "name"
* Changed xml-format: clipping nodes are now part of media nodes
* Changed xml-format: Added versionnumbers for anifast-version and xml-version
* Bugfix: clippings can no longer be outside the image
* configure.ac reworked (cleanup and --enable-profile added)
* Speed increase
* Some code cleanup and class refactoring
16. November 2005
Version 0.02 is out.
The following things have been done:
* Switched from wxWidgets 2.4 to wxWidgets 2.6
* Compiles now with unicode
* Better names for wx_helper functions
* Changed layout to make better use of space
* Items can now be moved around in trees
* Support copy and paste
* Bugfix: last animationframe is now displayed
18. October 2005
Anifast is now available on https://sourceforge.net/projects/anifast/
17. October 2005
First version online