Rusher is a component based game engine. It was created by the developer of Stardust particle system. Some of its features:
- Dependency injection with SwiftSuspenders.
- Component-based.
- Extensible engine systems.
- State machine system.
- Keyboard/Mouse systems.
- Command system.
- Built-in camera-layer-based 2D rendering system (you can of course build your own).
- Integration with Box2D Physics Engine.
- Integration with Starling Framework.
- Integration with GreenSock Tweening Platform.
Sample
class Mover { [Inject] public var keyboard:Keyboard; [Inject] public var position:Position; [Inject] public var clock:Clock; [PostConstruct] public function listenToClock():void { clock.add(listener); } private function listener(dt:Number):void { var dx:Number = 0; var dy:Number = 0; if (keyboard.isDown(Key.LEFT)) dx -= 10; if (keyboard.isDown(Key.RIGHT)) dx += 10; if (keybaord.isDown(Key.UP)) dy -= 10; if (keyboard.isDown(Key.DOWN)) dy += 10; position.x += dx; position.y += dy; } }