diff --git a/starling/src/starling/animation/Juggler.as b/starling/src/starling/animation/Juggler.as index 3d0b001d0..01e433278 100644 --- a/starling/src/starling/animation/Juggler.as +++ b/starling/src/starling/animation/Juggler.as @@ -10,10 +10,10 @@ package starling.animation { - import starling.core.starling_internal; - import starling.events.Event; - import starling.events.EventDispatcher; - + import starling.core.starling_internal; + import starling.events.Event; + import starling.events.EventDispatcher; + /** The Juggler takes objects that implement IAnimatable (like Tweens) and executes them. * *

A juggler is a simple object. It does no more than saving a list of objects implementing @@ -48,12 +48,14 @@ package starling.animation { private var mObjects:Vector.; private var mElapsedTime:Number; + private var mPaused : Boolean; /** Create an empty juggler. */ public function Juggler() { mElapsedTime = 0; mObjects = new []; + mPaused = false; } /** Adds an object to the juggler. */ @@ -187,7 +189,9 @@ package starling.animation /** Advances all objects by a certain time (in seconds). */ public function advanceTime(time:Number):void - { + { + if (mPaused) return; + var numObjects:int = mObjects.length; var currentIndex:int = 0; var i:int; @@ -237,6 +241,10 @@ package starling.animation } /** The total life time of the juggler. */ - public function get elapsedTime():Number { return mElapsedTime; } + public function get elapsedTime():Number { return mElapsedTime; } + + public function get paused():Boolean { return mPaused; } + public function set paused(value:Boolean):void { mPaused = value; } + } } \ No newline at end of file diff --git a/starling/src/starling/core/Starling.as b/starling/src/starling/core/Starling.as index 7da1aad86..43eb3df35 100644 --- a/starling/src/starling/core/Starling.as +++ b/starling/src/starling/core/Starling.as @@ -173,6 +173,7 @@ package starling.core private var mLastFrameTimestamp:Number; private var mLeftMouseDown:Boolean; private var mStatsDisplay:StatsDisplay; + private var mStatsAlpha:Number; private var mShareContext:Boolean; private var mProfile:String; private var mSupportHighResolutions:Boolean; @@ -779,6 +780,10 @@ package starling.core { mStatsDisplay = new StatsDisplay(); mStatsDisplay.touchable = false; + if (!isNaN(mStatsAlpha)) + { + mStatsDisplay.alpha = mStatsAlpha; + } mStage.addChild(mStatsDisplay); } @@ -802,6 +807,18 @@ package starling.core removeEventListener(starling.events.Event.ROOT_CREATED, onRootCreated); } } + + public function set statsAlpha(value:Number):void + { + if (mStatsDisplay == null) + { + mStatsAlpha = value; + } + else + { + mStatsDisplay.alpha = value; + } + } /** The Starling stage object, which is the root of the display tree that is rendered. */ public function get stage():Stage