| Package | starling.core |
| Class | public class Starling |
| Inheritance | Starling EventDispatcher Object |
The Starling framework makes it possible to create 2D applications and games that make use of the Stage3D architecture introduced in Flash Player 11. It implements a display tree system that is very similar to that of conventional Flash, while leveraging modern GPUs to speed up rendering.
The Starling class represents the link between the conventional Flash display tree and the Starling display tree. To create a Starling-powered application, you have to create an instance of the Starling class:
var starling:Starling = new Starling(Game, stage);
The first parameter has to be a Starling display object class, e.g. a subclass of
starling.display.Sprite. In the sample above, the class "Game" is the
application root. An instance of "Game" will be created as soon as Starling is initialized.
The second parameter is the conventional (Flash) stage object. Per default, Starling will
display its contents directly below the stage.
It is recommended to store the Starling instance as a member variable, to make sure that the Garbage Collector does not destroy it. After creating the Starling object, you have to start it up like this:
starling.start();
It will now render the contents of the "Game" class in the frame rate that is set up for the application (as defined in the Flash stage).
Accessing the Starling objectFrom within your application, you can access the current Starling object anytime
through the static method Starling.current. It will return the active Starling
instance (most applications will only have one Starling object, anyway).
The area the Starling content is rendered into is, per default, the complete size of the stage. You can, however, use the "viewPort" property to change it. This can be useful when you want to render only into a part of the screen, or if the player size changes. For the latter, you can listen to the RESIZE-event dispatched by the Starling stage.
Native overlaySometimes you will want to display native Flash content on top of Starling. That's what the
nativeOverlay property is for. It returns a Flash Sprite lying directly
on top of the Starling content. You can add conventional Flash objects to that overlay.
Beware, though, that conventional Flash content on top of 3D content can lead to performance penalties on some (mobile) platforms. For that reason, always remove all child objects from the overlay when you don't need them any longer. Starling will remove the overlay from the display list when it's empty.
MultitouchStarling supports multitouch input on devices that provide it. During development,
where most of us are working with a conventional mouse and keyboard, Starling can simulate
multitouch events with the help of the "Shift" and "Ctrl" (Mac: "Cmd") keys. Activate
this feature by enabling the simulateMultitouch property.
On some operating systems and under certain conditions (e.g. returning from system sleep), Starling's stage3D render context may be lost. Starling can recover from a lost context if the class property "handleLostContext" is set to "true". Keep in mind, however, that this comes at the price of increased memory consumption; Starling will cache textures in RAM to be able to restore them when the context is lost.
In case you want to react to a context loss, Starling dispatches an event with the type "Event.CONTEXT3D_CREATE" when the context is restored. You can recreate any invalid resources in a corresponding event listener.
| Property | Defined By | ||
|---|---|---|---|
| antiAliasing : int The antialiasing level. | Starling | ||
| contentScaleFactor : Number [read-only] The ratio between viewPort width and stage width. | Starling | ||
| context : Context3D [read-only] The render context of this instance. | Starling | ||
| current : Starling [static] [read-only] The currently active Starling instance. | Starling | ||
| enableErrorChecking : Boolean Indicates if Stage3D render methods will report errors. | Starling | ||
| handleLostContext : Boolean [static] Indicates if Starling should automatically recover from a lost device context. | Starling | ||
| isStarted : Boolean [read-only] Indicates if this Starling instance is started. | Starling | ||
| juggler : Juggler [read-only] The default juggler of this instance. | Starling | ||
| multitouchEnabled : Boolean [static] Indicates if multitouch input should be supported. | Starling | ||
| nativeOverlay : Sprite [read-only] A Flash Sprite placed directly on top of the Starling content. | Starling | ||
| nativeStage : Stage [read-only] The Flash (2D) stage object Starling renders beneath. | Starling | ||
| showStats : Boolean Indicates if a small statistics box (with FPS and memory usage) is displayed. | Starling | ||
| simulateMultitouch : Boolean Indicates if multitouch simulation with "Shift" and "Ctrl"/"Cmd"-keys is enabled. | Starling | ||
| stage : Stage [read-only] The Starling stage object, which is the root of the display tree that is rendered. | Starling | ||
| stage3D : Stage3D [read-only] The Flash Stage3D object Starling renders into. | Starling | ||
| viewPort : Rectangle The viewport into which Starling contents will be rendered. | Starling | ||
| Method | Defined By | ||
|---|---|---|---|
Starling(rootClass:Class, stage:Stage, viewPort:Rectangle = null, stage3D:Stage3D = null, renderMode:String = auto) Creates a new Starling instance. | Starling | ||
![]() | addEventListener(type:String, listener:Function):void Registers an event listener at a certain object. | EventDispatcher | |
deleteProgram(name:String):void Deletes the vertex- and fragment-programs of a certain name. | Starling | ||
![]() | dispatchEvent(event:Event):void Dispatches an event to all objects that have registered for events of the same type. | EventDispatcher | |
dispose():void Disposes Shader programs and render context. | Starling | ||
getProgram(name:String):Program3D Returns the vertex- and fragment-programs registered under a certain name. | Starling | ||
![]() | hasEventListener(type:String):Boolean Returns if there are listeners registered for a certain event type. | EventDispatcher | |
hasProgram(name:String):Boolean Indicates if a set of vertex- and fragment-programs is registered under a certain name. | Starling | ||
makeCurrent():void Make this Starling instance the current one. | Starling | ||
registerProgram(name:String, vertexProgram:ByteArray, fragmentProgram:ByteArray):void Registers a vertex- and fragment-program under a certain name. | Starling | ||
![]() | removeEventListener(type:String, listener:Function):void Removes an event listener from the object. | EventDispatcher | |
![]() | removeEventListeners(type:String = null):void Removes all event listeners with a certain type, or all of them if type is null. | EventDispatcher | |
start():void Starts rendering and dispatching of ENTER_FRAME events. | Starling | ||
stop():void Stops rendering. | Starling | ||
| Event | Summary | Defined By | ||
|---|---|---|---|---|
| Dispatched when a new render context is created. | Starling | |||
| Dispatched when the root class has been created. | Starling | |||
| Constant | Defined By | ||
|---|---|---|---|
| VERSION : String = 1.1 [static] The version of the Starling framework. | Starling | ||
| antiAliasing | property |
antiAliasing:intThe antialiasing level. 0 - no antialasing, 16 - maximum antialiasing.
The default value is 0.
public function get antiAliasing():int public function set antiAliasing(value:int):void| contentScaleFactor | property |
contentScaleFactor:Number [read-only] The ratio between viewPort width and stage width. Useful for choosing a different set of textures depending on the display resolution.
public function get contentScaleFactor():Number| context | property |
context:Context3D [read-only] The render context of this instance.
public function get context():Context3D| current | property |
current:Starling [read-only] The currently active Starling instance.
public static function get current():Starling| enableErrorChecking | property |
enableErrorChecking:BooleanIndicates if Stage3D render methods will report errors. Activate only when needed, as this has a negative impact on performance.
The default value is false.
public function get enableErrorChecking():Boolean public function set enableErrorChecking(value:Boolean):void| handleLostContext | property |
handleLostContext:BooleanIndicates if Starling should automatically recover from a lost device context. On some systems, an upcoming screensaver or entering sleep mode may invalidate the render context. This setting indicates if Starling should recover from such incidents. Beware that this has a huge impact on memory consumption!
The default value is false.
public static function get handleLostContext():Boolean public static function set handleLostContext(value:Boolean):void| isStarted | property |
isStarted:Boolean [read-only] Indicates if this Starling instance is started.
public function get isStarted():Boolean| juggler | property |
juggler:Juggler [read-only] The default juggler of this instance. Will be advanced once per frame.
public function get juggler():Juggler| multitouchEnabled | property |
multitouchEnabled:BooleanIndicates if multitouch input should be supported.
public static function get multitouchEnabled():Boolean public static function set multitouchEnabled(value:Boolean):void| nativeOverlay | property |
nativeOverlay:Sprite [read-only] A Flash Sprite placed directly on top of the Starling content. Use it to display native Flash components.
public function get nativeOverlay():Sprite| nativeStage | property |
nativeStage:Stage [read-only] The Flash (2D) stage object Starling renders beneath.
public function get nativeStage():Stage| showStats | property |
showStats:BooleanIndicates if a small statistics box (with FPS and memory usage) is displayed.
public function get showStats():Boolean public function set showStats(value:Boolean):void| simulateMultitouch | property |
simulateMultitouch:BooleanIndicates if multitouch simulation with "Shift" and "Ctrl"/"Cmd"-keys is enabled.
The default value is false.
public function get simulateMultitouch():Boolean public function set simulateMultitouch(value:Boolean):void| stage | property |
stage:Stage [read-only] The Starling stage object, which is the root of the display tree that is rendered.
public function get stage():Stage| stage3D | property |
stage3D:Stage3D [read-only] The Flash Stage3D object Starling renders into.
public function get stage3D():Stage3D| viewPort | property |
viewPort:RectangleThe viewport into which Starling contents will be rendered.
public function get viewPort():Rectangle public function set viewPort(value:Rectangle):void| Starling | () | Constructor |
public function Starling(rootClass:Class, stage:Stage, viewPort:Rectangle = null, stage3D:Stage3D = null, renderMode:String = auto)Creates a new Starling instance.
ParametersrootClass:Class — A subclass of a Starling display object. It will be created as soon as
initialization is finished and will become the first child of the
Starling stage.
| |
stage:Stage — The Flash (2D) stage.
| |
viewPort:Rectangle (default = null) — A rectangle describing the area into which the content will be
rendered. | |
stage3D:Stage3D (default = null) — The Stage3D object into which the content will be rendered.
| |
renderMode:String (default = auto) — Use this parameter to force "software" rendering.
|
| deleteProgram | () | method |
public function deleteProgram(name:String):voidDeletes the vertex- and fragment-programs of a certain name.
Parameters
name:String |
| dispose | () | method |
public function dispose():voidDisposes Shader programs and render context.
| getProgram | () | method |
public function getProgram(name:String):Program3DReturns the vertex- and fragment-programs registered under a certain name.
Parameters
name:String |
Program3D |
| hasProgram | () | method |
public function hasProgram(name:String):BooleanIndicates if a set of vertex- and fragment-programs is registered under a certain name.
Parameters
name:String |
Boolean |
| makeCurrent | () | method |
public function makeCurrent():void Make this Starling instance the current one.
| registerProgram | () | method |
public function registerProgram(name:String, vertexProgram:ByteArray, fragmentProgram:ByteArray):voidRegisters a vertex- and fragment-program under a certain name.
Parameters
name:String | |
vertexProgram:ByteArray | |
fragmentProgram:ByteArray |
| start | () | method |
public function start():void Starts rendering and dispatching of ENTER_FRAME events.
| stop | () | method |
public function stop():voidStops rendering.
| context3DCreate | Event |
| rootCreated | Event |
| VERSION | Constant |
public static const VERSION:String = 1.1The version of the Starling framework.