How to purchase:
See the Share*It link for prices, purchase through Share*It or Paypal.
http://www.shareit.com/product.html?cart=1&productid=208046&languageid=1¤cies=USD
https://www.paypal.com/us/cgi-bin/webscr?cmd=_flow&SESSION=xn5BsqRDKZUxQQrUr33hZNbsavuX384ejLgKTCHoH2WJS6p8hW6T0AalZPC&dispatch=5885d80a13c0db1f02baca35d810c8ec2183bdc6f7b1b0f09dbb1d35ec78ad4b
"Shareware" license is for amateurs making small freeware or shareware games for sale over the internet.
"Commercial" license is for professionals with a registered business, employees, or who intend to publish their software in stores. Commercial licensees also get better support, and my gratitude. :-)
System information:
Right click to save this, then load it in Blitzmax, and you will see all the functions the system contained as of version 118, with comments describing how to use the system and what all the functions and variables do. Only the code and comments contained inside the functions themselves is missing.
http://shawnswift.com/blitz/Swift.Sprite.System-118.function.names.only.bmx
This is a font system which uses the sprite system. It is free for you to use.
http://shawnswift.com/blitz/font-009.bmx
It requires a standard graphical font image with the letters centered horizontally in each cell, and roughly centered vertically, but with the bottoms of the letters aligned.
The "character set" should be a list of each letter that is allowed in the font, in the order it appers in the image, including space.
Here is sample code to load a font:
When you create a string of text with this system, you get back a string of text where each letter is an individual sprite, attached to a pivot in the center. (Pivot means any sprite with no image.)
Thus the string of text as a whole and the individual letters in it can be animated just as one would animate any other collection of sprites. Fade the pivot and the text fades. Move the pivot and the text moves. Or tell the individual letters to oscillate up and down in a sine wave with an animation age offset, and the pivot to rise up with increasing speed, and you've got a standard text effect seen in many games.
Demos:
Here are some demos with source which used an older version of the system. They'll give you a VERY basic idea of what the system can do.
(Ie, display sprites, animate them in motion, and parent one to another and have the size/transparency/position./rotatio/etc of the parent affect the children.)
http://shawnswift.com/blitz/Swift.Sprite.System.Demos.zip
Here is an old physics demo for the system. There hasn't been a lot of demand for physics in the sprite system, so it hasn't been developed much*, and the code here is out of date as well**.
http://shawnswift.com/blitz/Swift.Sprite.System.Physics.Demo.zip
* Ie, there's still no support for friction, because nobody's ever requested it.
** The physics system has been revamped to make it as easy to apply gravity acceleration to a sprite as it is to animate its position. There is no longer any need to call a seperate animation function for physics, and all the force applying code is part of the main sprite type now just like the animation code. See the 118 version of the code linked above for details.
And finally, here is my Alien Space Beetles game, in progress. Most of the animation you see here is handled by the sprite system. The ship movement and star scroll are handled by manually updating the sprite locations, but the alien attacks are animated with position animations.
Take the part where the alien flies down from the top of the screen and takes up a position on the grid for example. That's done by having a pivot that bounces back and forth on the screen. When I spawn the alien, I attach it to the pivot, and then calculate where the top center of the screen is in pivot space using functions provided by the sprite system for determining this, much like the tformpoint() function in Blitz3D. Then I tell the alien to move from this position in pivot space, to the desired location in pivot space. Now if the pivot weren't moving, this would be a straight line. But because the pivot is moving, the alien ends up flying along a curved trajectory that takes it to the desired point on the "grid". That's the true power of the sprite system right there. Animation and physics combined with the ability to parent obejcts to one another and have the parent properties transferred to the children. (Or not, if desired.)
Notice how objects appear to accelerate or decelerate. That's all done with some simple flags specified for the animations. MODE_SPEEDUP uses a cosine style acceleration. MODE_SPEEDUP_EXP uses an exponential acceleration.
Also the system supports moving objects along paths. Attach to a path, and move the object from X1 to X2 and it follows the path, because it is now in path space. (Y moves perpenduclar to the path at any point.) But that is not demonstrated in the space beetles game yet.
http://raccoonrocket.com/blitz/asb-041.zip
Mouse moves, left mouse fires, right mouse selects weapons, middle mouse spawns enemies. Only laser and missile affect enemies. Spacebar toggles levels, but I think right now it just does the space scroll for all levels.
See the Share*It link for prices, purchase through Share*It or Paypal.
http://www.shareit.com/product.html?cart=1&productid=208046&languageid=1¤cies=USD
https://www.paypal.com/us/cgi-bin/webscr?cmd=_flow&SESSION=xn5BsqRDKZUxQQrUr33hZNbsavuX384ejLgKTCHoH2WJS6p8hW6T0AalZPC&dispatch=5885d80a13c0db1f02baca35d810c8ec2183bdc6f7b1b0f09dbb1d35ec78ad4b
"Shareware" license is for amateurs making small freeware or shareware games for sale over the internet.
"Commercial" license is for professionals with a registered business, employees, or who intend to publish their software in stores. Commercial licensees also get better support, and my gratitude. :-)
System information:
Right click to save this, then load it in Blitzmax, and you will see all the functions the system contained as of version 118, with comments describing how to use the system and what all the functions and variables do. Only the code and comments contained inside the functions themselves is missing.
http://shawnswift.com/blitz/Swift.Sprite.System-118.function.names.only.bmx
This is a font system which uses the sprite system. It is free for you to use.
http://shawnswift.com/blitz/font-009.bmx
It requires a standard graphical font image with the letters centered horizontally in each cell, and roughly centered vertically, but with the bottoms of the letters aligned.
The "character set" should be a list of each letter that is allowed in the font, in the order it appers in the image, including space.
Here is sample code to load a font:
Global Font1:Font Font1 = Font.Load("gfx\font1.png", 32, 32, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789?!:-+=/'%;_."+ Chr$(34) + Chr$(126) + "<>,`‘@$^&*|{}[]()" + Chr$(32))
When you create a string of text with this system, you get back a string of text where each letter is an individual sprite, attached to a pivot in the center. (Pivot means any sprite with no image.)
Thus the string of text as a whole and the individual letters in it can be animated just as one would animate any other collection of sprites. Fade the pivot and the text fades. Move the pivot and the text moves. Or tell the individual letters to oscillate up and down in a sine wave with an animation age offset, and the pivot to rise up with increasing speed, and you've got a standard text effect seen in many games.
Demos:
Here are some demos with source which used an older version of the system. They'll give you a VERY basic idea of what the system can do.
(Ie, display sprites, animate them in motion, and parent one to another and have the size/transparency/position./rotatio/etc of the parent affect the children.)
http://shawnswift.com/blitz/Swift.Sprite.System.Demos.zip
Here is an old physics demo for the system. There hasn't been a lot of demand for physics in the sprite system, so it hasn't been developed much*, and the code here is out of date as well**.
http://shawnswift.com/blitz/Swift.Sprite.System.Physics.Demo.zip
* Ie, there's still no support for friction, because nobody's ever requested it.
** The physics system has been revamped to make it as easy to apply gravity acceleration to a sprite as it is to animate its position. There is no longer any need to call a seperate animation function for physics, and all the force applying code is part of the main sprite type now just like the animation code. See the 118 version of the code linked above for details.
And finally, here is my Alien Space Beetles game, in progress. Most of the animation you see here is handled by the sprite system. The ship movement and star scroll are handled by manually updating the sprite locations, but the alien attacks are animated with position animations.
Take the part where the alien flies down from the top of the screen and takes up a position on the grid for example. That's done by having a pivot that bounces back and forth on the screen. When I spawn the alien, I attach it to the pivot, and then calculate where the top center of the screen is in pivot space using functions provided by the sprite system for determining this, much like the tformpoint() function in Blitz3D. Then I tell the alien to move from this position in pivot space, to the desired location in pivot space. Now if the pivot weren't moving, this would be a straight line. But because the pivot is moving, the alien ends up flying along a curved trajectory that takes it to the desired point on the "grid". That's the true power of the sprite system right there. Animation and physics combined with the ability to parent obejcts to one another and have the parent properties transferred to the children. (Or not, if desired.)
Notice how objects appear to accelerate or decelerate. That's all done with some simple flags specified for the animations. MODE_SPEEDUP uses a cosine style acceleration. MODE_SPEEDUP_EXP uses an exponential acceleration.
Also the system supports moving objects along paths. Attach to a path, and move the object from X1 to X2 and it follows the path, because it is now in path space. (Y moves perpenduclar to the path at any point.) But that is not demonstrated in the space beetles game yet.
http://raccoonrocket.com/blitz/asb-041.zip
Mouse moves, left mouse fires, right mouse selects weapons, middle mouse spawns enemies. Only laser and missile affect enemies. Spacebar toggles levels, but I think right now it just does the space scroll for all levels.