sprite builder

Started by tmoney, May 06, 2011, 11:52:00 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

tmoney

i've been playing around with a program to help make my work on zombie city a little less tedious, and i thought i would share it.   the program is designed for making sprite animations, and you can export the animations to an fpg file.  it's pretty simplistic, and not the most user friendly, as i've basically just been building it as i found i need it to do something new, but i thought others may be interested. 

here is the zip file (includes source): http://www.megaupload.com/?d=B9S6KPFT



this is designed specifically for humaniod sprites, with graphics for a head, body, 2 arms (upper, lower, and hand sections), and 2 legs (upper, lower, and foot sections), and can be particularly useful if you want to have multiple sprites performing the same animations (walking, running, punching, etc.).

you'll need to make an fpg with those component body parts, angled to the left, and point 0 where that body parts axis is (please see included fpg for reference):


the fpg is divided up based on the body part:
1-40: heads
41-80: torsos
81-120: upper arms
121-160: lower arms
161-200: hands
201-240: upper legs
241-280: lower legs
281-320: feet
and 999 is a single pixel to represent the sprites 0 point

in addition, on each of the graphics in the fpg, you'll need to put control points 1-4 on the four corners of the graphic (this is for determining the size of the sprite when outputting to the fpg)

then just drop the fpg into the fpg folder.  you can then access it from the program.


a couple of notes for using the program.
  1- you can use the left mouse button to move the body parts around.
  2- you can use the right mouse button to adjust the angle of the head, hands, and feet
  3- the remaining body parts angles are determined by their related body parts.  for example the angle of the torso is determined by the the torso's 0 control point, and the the heads 0 control point.  in the same way, the upper arm's angle is determined by it's position relative to the lower arm, and the lower arms angle is relative to the position of the hand.
  4- press enter to update a frame.  if you move body parts around, the angle's are not updated until you press enter.
  5- you can move the entire sprite by holding down the enter key, and pressing the arrow keys.
  6- you can adjust the size of the sprite by holding down the enter key, and pressing ethier 'w' or 's'.
  7- you can grab multiple body parts at the same time by holding down the 'control' key.
  8- to move a body part(s) one pixel at a time, select the part(s) with the left mouse button, and use the arrow keys.



quick descriptions of the buttons
  1- save button will save the current animation to the "anm" folder
  2- load button will load the current animation from the "anm" folder
  3- stop button will set the animations stop frame
  4- the copy to previous frame button takes current frame data and pastes it to the preceding frame (default is all info, but you can use the control key to specify one or more body parts rather than entire frame).
  5- the copy to next frame button works the same, only to the following frame.
  6- the copy from frame copies frame info.
  7- paste into frame button pastes the info that was previously copied into the current frame.
  8- clear frame button clears the frame.
  9- clear all frames button clears all the frames.
  10- change graphic button requires you to select a body part and hold control before.  then you can press the button and it will present you with other graphics for that body part to select.
  11- change z button also requires you to select the body part and hold control first.
  12- the export button will export the current animation, from frame 0 until the frame that has been selected as the stop frame, to an existing fpg in the "export folder" (in which case it will add graphics into open spaces in the fpg starting from 1), or to a new fpg.
  13- the lock button locks a body parts X and Y variables so that they aren't moved by accident when trying to move a nearby body part. note, the angle will still be changable if you move a body part that affects it's angle.  it requires you hold select the body part you wish to lock and hold control.
  14- the unlock button unlocks a locked body part.  it also requires you hold control.
  15- the auto animate button will animate a limb (arm or leg) based on the opposite limb.  it will invert the animation of the opposite limb.  this was designed specifically to reduce work making walking and running animations.  you need to animate one limb, making sure to set the animation stop point, and then select the upper portion of the limb which has not been animated (upper arm or upper leg), hold the control key, and then press the button.
  16- the half speed button will either reduce the animation cycle to half speed, or return to full speed.
  17- the FPG button allows you to select a body parts fpg from the "fpg" folder
  18- the flag flip button will flip the flags of a body part or body parts.  this button requires you to select the body part(s), hold control, and then press the button.
  19- the frame back button will step the animation back one frame, or take the animation to the stop frame, if the current frame is 0.
  20- the animation cycle button will loop the animation from 0 to stop, over and over again.
  21- the frame forward/return button will step the animation one frame forward until the stop frame, and then will return to frame 0.
  22- the frame forward button will step the animation one frame forward INCLUDING beyond the stop frame up until frame 29.


FreeYourMind


SplinterGU

cool! thanks! karma!

what language you use for do it? bennugd?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

tmoney

Quote from: SplinterGU on May 07, 2011, 12:25:35 AM
cool! thanks! karma!

what language you use for do it? bennugd?

yep it's bennugd  :D

Outlaw

Great tool!! And made in BennuGD! Karma++ ! ;)
"Life is cheap when the bounty is high"

darío

Nice tool! I liked specially the drag&drop functionality :)

I didn't get however  the meaning of the two "frame fordward" buttons. Could you explain?
My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

SplinterGU

Quote from: tmoney on May 07, 2011, 02:17:52 AM
Quote from: SplinterGU on May 07, 2011, 12:25:35 AM
cool! thanks! karma!

what language you use for do it? bennugd?

yep it's bennugd  :D

cool!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

this is creepy, I'm doing exactly the same  :o
Working on Anarkade. A couch multiplayer 2D shooter.

SplinterGU

ohh, I see... this is like my re65535 (resident evil 65535) animation editor, included in the game.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

tmoney

Quote from: darío on May 07, 2011, 09:59:49 AM
I didn't get however  the meaning of the two "frame fordward" buttons. Could you explain?

the first frame forward button takes you to the stop frame and then returns to the zero frame, which is useful when you want to cycle through the animation.  the second frame forward button will go beyond the stop frame, which is necessary when you want to expand the animation past the current stop point.