maybe this will help
http://content.gpwiki.org/index.php/...c_Bones_System
maybe this will help
http://content.gpwiki.org/index.php/...c_Bones_System
This is my solution.
A few words of introduction: We operate only on angles (one bone = one angle) and one start point (X0, Y0) from figure B (picture 1) - this is the only data that we need to read and write to the file (for one frame of animation).
Additionally, you can have a bone length L, but this is unnecessary when you have a human bones (ideal human proportion) or you can get L from sprite length.
Algorithm:
- starting from the point (X0, Y0), Figure B (picture 1).
- we have angle (a), length of bone (L1), start point (X0,Y0), so we can calculate the point (X1, Y1). (X1, Y1) is a central position of our next sprite (be sure your sprite can be rotated from a center (picture 2, figure A))
- if we have (X1, Y1), (b) and (L2), we can calculate (X2, Y2) and next (X3, Y3)
- we do this same for left and right leg (figure C), and left and right hand (figure D)
Optimization:
This method requires a large number of calculations, but it does not need a lot of resources to read and write. To better work with animation, we can use KeyFrames - write data only for KeyFrames, and the rest is calculated automatically (picture 2, Figure B). It's not difficult to calculate AutoFrames if we operate on angles.
Result (AutoFrames = 5):
http://www.youtube.com/watch?v=igSRP0J5q_I
Last edited by mobilus; 09-03-2012 at 11:46 PM.
Thanks Mobilus!
Your info will be very useful! =)
I think I have understood! I will try to make something here!
Thanks
Cezar Wagenheimer from Green Sauce Games
Programmer of Druids - Battle of Magic, Abra Academy, Abra Academy - Returning Cast, Rabbit Jump, Dreams of a Geisha and Heroes from the Past: Joan of Arc
Wagenheimer's Game Development Blog
Bookmarks