home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / filler.swf / scripts / mx / effects / effectClasses / TweenEffectInstance.as < prev    next >
Encoding:
Text File  |  2008-09-02  |  3.8 KB  |  151 lines

  1. package mx.effects.effectClasses
  2. {
  3.    import mx.core.UIComponentGlobals;
  4.    import mx.core.mx_internal;
  5.    import mx.effects.EffectInstance;
  6.    import mx.effects.Tween;
  7.    import mx.events.TweenEvent;
  8.    
  9.    use namespace mx_internal;
  10.    
  11.    public class TweenEffectInstance extends EffectInstance
  12.    {
  13.       
  14.       mx_internal static const VERSION:String = "2.0.1.0";
  15.        
  16.       
  17.       mx_internal var needToLayout:Boolean = false;
  18.       
  19.       private var _seekTime:Number = 0;
  20.       
  21.       public var tween:Tween;
  22.       
  23.       public var easingFunction:Function;
  24.       
  25.       public function TweenEffectInstance(param1:Object)
  26.       {
  27.          mx_internal::needToLayout = false;
  28.          _seekTime = 0;
  29.          super(param1);
  30.       }
  31.       
  32.       override public function get playheadTime() : Number
  33.       {
  34.          if(tween)
  35.          {
  36.             return tween.mx_internal::playheadTime + super.playheadTime;
  37.          }
  38.          return 0;
  39.       }
  40.       
  41.       override mx_internal function set playReversed(param1:Boolean) : void
  42.       {
  43.          super.mx_internal::playReversed = param1;
  44.          if(tween)
  45.          {
  46.             tween.mx_internal::playReversed = param1;
  47.          }
  48.       }
  49.       
  50.       override public function resume() : void
  51.       {
  52.          super.resume();
  53.          if(tween)
  54.          {
  55.             tween.resume();
  56.          }
  57.       }
  58.       
  59.       public function onTweenUpdate(param1:Object) : void
  60.       {
  61.       }
  62.       
  63.       mx_internal function applyTweenStartValues() : void
  64.       {
  65.          if(duration > 0)
  66.          {
  67.             onTweenUpdate(tween.mx_internal::getCurrentValue(0));
  68.          }
  69.       }
  70.       
  71.       protected function createTween(param1:Object, param2:Object, param3:Object, param4:Number = -1, param5:Number = -1) : Tween
  72.       {
  73.          var _loc6_:Tween = null;
  74.          (_loc6_ = new Tween(param1,param2,param3,param4,param5)).addEventListener(TweenEvent.TWEEN_START,tweenEventHandler);
  75.          _loc6_.addEventListener(TweenEvent.TWEEN_UPDATE,tweenEventHandler);
  76.          _loc6_.addEventListener(TweenEvent.TWEEN_END,tweenEventHandler);
  77.          if(easingFunction != null)
  78.          {
  79.             _loc6_.easingFunction = easingFunction;
  80.          }
  81.          if(_seekTime > 0)
  82.          {
  83.             _loc6_.seek(_seekTime);
  84.          }
  85.          _loc6_.mx_internal::playReversed = mx_internal::playReversed;
  86.          return _loc6_;
  87.       }
  88.       
  89.       override public function end() : void
  90.       {
  91.          mx_internal::stopRepeat = true;
  92.          if(mx_internal::delayTimer)
  93.          {
  94.             mx_internal::delayTimer.reset();
  95.          }
  96.          if(tween)
  97.          {
  98.             tween.endTween();
  99.             tween = null;
  100.          }
  101.       }
  102.       
  103.       override public function reverse() : void
  104.       {
  105.          super.reverse();
  106.          if(tween)
  107.          {
  108.             tween.reverse();
  109.          }
  110.          super.mx_internal::playReversed = !mx_internal::playReversed;
  111.       }
  112.       
  113.       private function tweenEventHandler(param1:TweenEvent) : void
  114.       {
  115.          dispatchEvent(param1);
  116.       }
  117.       
  118.       public function seek(param1:Number) : void
  119.       {
  120.          if(tween)
  121.          {
  122.             tween.seek(param1);
  123.          }
  124.          else
  125.          {
  126.             _seekTime = param1;
  127.          }
  128.       }
  129.       
  130.       override public function pause() : void
  131.       {
  132.          super.pause();
  133.          if(tween)
  134.          {
  135.             tween.pause();
  136.          }
  137.       }
  138.       
  139.       public function onTweenEnd(param1:Object) : void
  140.       {
  141.          onTweenUpdate(param1);
  142.          tween = null;
  143.          if(mx_internal::needToLayout)
  144.          {
  145.             UIComponentGlobals.mx_internal::layoutManager.validateNow();
  146.          }
  147.          finishRepeat();
  148.       }
  149.    }
  150. }
  151.