StarlingPunk is a framework built on top the Starling designed to add structure and organization to your 2D games. It’s perfect for rapidly prototyping ideas and promotes code reuse between projects.

StarlingPunk is heavily inspired by the popular FlashPunk, although its not a direct port.

Some features:

  • Easily encapsulate code into worlds and entities
  • Manages collections of entities based on assigned types
  • Fast and easy collision detection system
  • All the power of starling’s performance, sprite sheets, particles, mobile development

Why the use of Starling:

  • Best of both worlds allowing us to mix and match regular Starling code with FlashPunk like organization.
  • Fast Stage3D hardware accelerated graphics
  • Provides a familiar structure for Actionscript developers
  • Harness the power of the display-list; worlds and entities extend the Starling Sprite class meaning display objects can be nested within them
  • Pre-existing Starling code can easily be incorporated into the framework
  • Starling already does a ton of things right, sprite-sheet animation, events, dynamic resolutions
  • Tons of tools and extensions will already work, like sprite-manager and particles

Sample

package
{
	import com.saia.starlingPunk.SP;
	import com.saia.starlingPunk.SPEngine;
	import com.saia.starlingPunkExample.worlds.PlayWorld;

	/**
	 * ...
	 * @author Andy Saia
	 */
	public class GameEngine extends SPEngine
	{	
		public function GameEngine() 
		{
			super();
		}

		//-------------------
		//  event handlers
		//-------------------

		override public function init():void 
		{
			super.init();
			var world:PlayWorld = new PlayWorld();
			SP.world = world;
		}
	}
}
2D . URL.