STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228089
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/58406523?noj=FRM58406523-3DC" width="1" height="1"></div>

A Biscuit Tale.swf

This is the info page for
Flash #150755

(Click the ID number above for more basic data on this flash file.)


Text
<p align="left"><font face="High Tower Text" size="30" color="#ffffff" letterSpacing="0.000000" kerning="1">Start Game</font></p>

PLAY

<p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Biscuit busily works on your member, her soft small tongue caressing </b></font></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>your tip. Drool lathers up your shaft as she continues her way up and </b></font></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>down. Powerless and shocked, you sit back and watch her </b></font></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>hungrily work.</b></font></p>

<p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Nope! Still a demo.</b></font></p><p align="left"></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Well guys - I&apos;d like to thank everyone who&apos;s donated so far &lt;3!</b></font></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>(YOU GUYS ARE GIVING ME A LOT OF WORK TO DO)</b></font></p>

<p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>But really - I do appreciate it. The more you guys give, the more </b></font></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>you guys will get &lt;3! If you&apos;re interested in donating - go ahead </b></font></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>and click the TV! </b></font></p>

<p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>I hope you guys enjoy the User Interface!</b></font></p><p align="left"></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>I appreciate you guys being patient - this thing&apos;s gonna take a </b></font></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>long time to finish. I&apos;ve got some big plans =) </b></font></p>

<p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Thanks again for looking!</b></font></p><p align="left"></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Feel free to donate to this smutty cause, and as always, spread</b></font></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>the word if you like what you see ^-^.</b></font></p><p align="left"></p><p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~Carrot/werdna250250</b></font></p>

<p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Next</b></font></p><p align="left"></p>

<p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Hide</b></font></p><p align="left"></p><p align="left"></p><p align="left"></p><p align="left"></p>

<p align="left"><font face="Arial" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Show</b></font></p><p align="left"></p><p align="left"></p><p align="left"></p><p align="left"></p>

ActionScript [AS3]

Section 1
//Dialogue_71 (Again_fla.Dialogue_71) package Again_fla { import flash.display.*; public dynamic class Dialogue_71 extends MovieClip { public function Dialogue_71(){ addFrameScript(1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } } }//package Again_fla
Section 2
//Hidex_83 (Again_fla.Hidex_83) package Again_fla { import flash.display.*; public dynamic class Hidex_83 extends MovieClip { public function Hidex_83(){ addFrameScript(36, frame37); } function frame37(){ gotoAndPlay(15); } } }//package Again_fla
Section 3
//Hidexc_90 (Again_fla.Hidexc_90) package Again_fla { import flash.display.*; public dynamic class Hidexc_90 extends MovieClip { public function Hidexc_90(){ addFrameScript(36, frame37); } function frame37(){ gotoAndPlay(15); } } }//package Again_fla
Section 4
//MainTimeline (Again_fla.MainTimeline) package Again_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class MainTimeline extends MovieClip { public var bgcolor:MovieClip; public var IBPage:SimpleButton; public var startbutton:MovieClip; public var FAPage:SimpleButton; public var LMNU2:MovieClip; public var $req1:URLRequest; public var $req:URLRequest; public var SCN:MovieClip; public function MainTimeline(){ addFrameScript(0, frame1, 11, frame12, 18, frame19, 23, frame24); } public function openLink1(_arg1:String):void{ $req1 = new URLRequest(_arg1); navigateToURL($req1); } function frame12(){ stop(); startbutton.addEventListener(MouseEvent.CLICK, playscene); IBPage.addEventListener(MouseEvent.CLICK, function (_arg1){ openLink("https://inkbunny.net/Carrot"); }); FAPage.addEventListener(MouseEvent.CLICK, function (_arg1){ openLink1("http://www.furaffinity.net/user/werdna250250/"); }); } function frame19(){ } public function playscene(_arg1:MouseEvent):void{ play(); } public function openLink(_arg1:String):void{ $req = new URLRequest(_arg1); navigateToURL($req); } function frame1(){ stop(); this.addEventListener(Event.ENTER_FRAME, loading); } function frame24(){ stop(); } public function loading(_arg1:Event):void{ var _local2:Number = this.stage.loaderInfo.bytesTotal; var _local3:Number = this.stage.loaderInfo.bytesLoaded; bgcolor.alpha = (_local3 / _local2); if (_local2 == _local3){ play(); this.removeEventListener(Event.ENTER_FRAME, loading); }; } } }//package Again_fla
Section 5
//NextFlash_76 (Again_fla.NextFlash_76) package Again_fla { import flash.display.*; public dynamic class NextFlash_76 extends MovieClip { public function NextFlash_76(){ addFrameScript(37, frame38); } function frame38(){ gotoAndPlay(15); } } }//package Again_fla
Section 6
//Scenelike_14 (Again_fla.Scenelike_14) package Again_fla { import flash.geom.*; import flash.display.*; import flash.events.*; import flash.filters.*; import flash.utils.*; import flash.net.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.media.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.xml.*; public dynamic class Scenelike_14 extends MovieClip { public var HEAD:MovieClip; public var JAW:MovieClip; public function Scenelike_14(){ addFrameScript(0, frame1, 6, frame7); } function frame1(){ JAW.gotoAndPlay(2); } function frame7(){ HEAD.L.play(); HEAD.R.play(); HEAD.H.play(); } } }//package Again_fla
Section 7
//Scenes_13 (Again_fla.Scenes_13) package Again_fla { import flash.display.*; public dynamic class Scenes_13 extends MovieClip { public function Scenes_13(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Again_fla
Section 8
//startgame_10 (Again_fla.startgame_10) package Again_fla { import flash.display.*; import flash.events.*; public dynamic class startgame_10 extends MovieClip { public var Playgame:SimpleButton; public function startgame_10(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ Playgame.addEventListener(MouseEvent.MOUSE_OVER, rolloverplayon); Playgame.addEventListener(MouseEvent.MOUSE_OUT, rolloverplayoff); stop(); } public function rolloverplayoff(_arg1:MouseEvent):void{ gotoAndPlay(15); } public function rolloverplayon(_arg1:MouseEvent):void{ play(); } function frame11(){ stop(); } } }//package Again_fla
Section 9
//Symbol26_35 (Again_fla.Symbol26_35) package Again_fla { import flash.display.*; public dynamic class Symbol26_35 extends MovieClip { public function Symbol26_35(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Again_fla
Section 10
//Symbol34_59 (Again_fla.Symbol34_59) package Again_fla { import flash.display.*; public dynamic class Symbol34_59 extends MovieClip { public function Symbol34_59(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Again_fla
Section 11
//Symbol35_44 (Again_fla.Symbol35_44) package Again_fla { import flash.display.*; public dynamic class Symbol35_44 extends MovieClip { public function Symbol35_44(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Again_fla
Section 12
//Symbol63xx_67 (Again_fla.Symbol63xx_67) package Again_fla { import flash.display.*; import flash.events.*; public dynamic class Symbol63xx_67 extends MovieClip { public var AUTOx:SimpleButton; public var AUTO:SimpleButton; public function Symbol63xx_67(){ addFrameScript(0, frame1, 8, frame9); } public function onRollOutMyButton(_arg1:MouseEvent):void{ gotoAndPlay(10); } function frame1(){ stop(); AUTO.addEventListener(MouseEvent.CLICK, onRollOverMyButton); } function frame9(){ stop(); AUTOx.addEventListener(MouseEvent.CLICK, onRollOutMyButton); } public function onRollOverMyButton(_arg1:MouseEvent):void{ gotoAndPlay(2); } } }//package Again_fla
Section 13
//Symbol64xx_68 (Again_fla.Symbol64xx_68) package Again_fla { import flash.display.*; public dynamic class Symbol64xx_68 extends MovieClip { public function Symbol64xx_68(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Again_fla
Section 14
//Symbol76_15 (Again_fla.Symbol76_15) package Again_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class Symbol76_15 extends MovieClip { public var $req:URLRequest; public var ToJournal:SimpleButton; public function Symbol76_15(){ addFrameScript(0, frame1, 7, frame8); } public function onRollOutMyButtonff(_arg1:MouseEvent):void{ gotoAndPlay(9); } function frame8(){ stop(); } public function openLink(_arg1:String):void{ $req = new URLRequest(_arg1); navigateToURL($req); } function frame1(){ stop(); ToJournal.addEventListener(MouseEvent.MOUSE_OVER, onRollOverMyButtoni); ToJournal.addEventListener(MouseEvent.MOUSE_OUT, onRollOutMyButtonff); ToJournal.addEventListener(MouseEvent.CLICK, function (_arg1){ openLink("https://inkbunny.net/journalview.php?id=38236"); }); } public function onRollOverMyButtoni(_arg1:MouseEvent):void{ play(); } } }//package Again_fla
Section 15
//Textbox_69 (Again_fla.Textbox_69) package Again_fla { import fl.motion.*; import flash.geom.*; import flash.display.*; import flash.events.*; import flash.filters.*; import flash.utils.*; import flash.net.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.media.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.xml.*; public dynamic class Textbox_69 extends MovieClip { public var BTN:SimpleButton; public var __motion_FADE:MotionBase; public var TXT:MovieClip; public var FADE:AnimatorFactory; public function Textbox_69(){ addFrameScript(0, frame1, 12, frame13); if (__motion_FADE == null){ __motion_FADE = new Motion(); __motion_FADE.duration = 25; __motion_FADE.overrideTargetTransform(); __motion_FADE.addPropertyArray("x", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); __motion_FADE.addPropertyArray("y", [0, -2.145, -4.29, -6.435, -8.58, -10.725, -12.87, -15.015, -17.16, -19.305, -21.45, -20.499, -19.5479, -17.9189, -16.2899, -14.6609, -13.0319, -11.4029, -9.77395, -8.14496, -6.51597, -4.88698, -3.25799, -1.62899, 1.77636E-15]); __motion_FADE.addPropertyArray("scaleX", [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]); __motion_FADE.addPropertyArray("scaleY", [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]); __motion_FADE.addPropertyArray("skewX", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); __motion_FADE.addPropertyArray("skewY", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); __motion_FADE.addPropertyArray("rotationConcat", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); __motion_FADE.addPropertyArray("blendMode", ["normal"]); __motion_FADE.addPropertyArray("alphaMultiplier", [0, 0.083333, 0.166667, 0.25, 0.333333, 0.416666, 0.5, 0.583333, 0.666667, 0.75, 0.833333, 0.916667, 1, 0.916667, 0.833333, 0.75, 0.666667, 0.583334, 0.5, 0.416667, 0.333333, 0.25, 0.166667, 0.083333, 0]); FADE = new AnimatorFactory(__motion_FADE); FADE.transformationPoint = new Point(0.516177, 0.5); }; } function frame1(){ BTN.addEventListener(MouseEvent.CLICK, Button1); TXT.play(); MovieClip(this.parent.parent.parent).SCN.play(); } public function Button1(_arg1:MouseEvent):void{ play(); } function frame13(){ stop(); } } }//package Again_fla
Section 16
//AdjustColor (fl.motion.AdjustColor) package fl.motion { public class AdjustColor { private var m_brightnessMatrix:ColorMatrix; private var m_saturationMatrix:ColorMatrix; private var m_hueMatrix:ColorMatrix; private var m_finalMatrix:ColorMatrix; private var m_contrastMatrix:ColorMatrix; private static var s_arrayOfDeltaIndex:Array = [0, 0.01, 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.1, 0.11, 0.12, 0.14, 0.15, 0.16, 0.17, 0.18, 0.2, 0.21, 0.22, 0.24, 0.25, 0.27, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.53, 0.56, 0.59, 0.62, 0.65, 0.68, 0.71, 0.74, 0.77, 0.8, 0.83, 0.86, 0.89, 0.92, 0.95, 0.98, 1, 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78, 1.84, 1.9, 1.96, 2, 2.12, 2.25, 2.37, 2.5, 2.62, 2.75, 2.87, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.3, 4.7, 4.9, 5, 5.5, 6, 6.5, 6.8, 7, 7.3, 7.5, 7.8, 8, 8.4, 8.7, 9, 9.4, 9.6, 9.8, 10]; private function CalculateFinalMatrix():Boolean{ if (!this.AllValuesAreSet()){ return (false); }; this.m_finalMatrix = new ColorMatrix(); this.m_finalMatrix.Multiply(this.m_brightnessMatrix); this.m_finalMatrix.Multiply(this.m_contrastMatrix); this.m_finalMatrix.Multiply(this.m_saturationMatrix); this.m_finalMatrix.Multiply(this.m_hueMatrix); return (true); } public function set brightness(_arg1:Number):void{ if (this.m_brightnessMatrix == null){ this.m_brightnessMatrix = new ColorMatrix(); }; if (_arg1 != 0){ this.m_brightnessMatrix.SetBrightnessMatrix(_arg1); }; } public function set contrast(_arg1:Number):void{ var _local2:Number = _arg1; if (_arg1 == 0){ _local2 = 127; } else { if (_arg1 > 0){ _local2 = ((s_arrayOfDeltaIndex[int(_arg1)] * 127) + 127); } else { _local2 = (((_arg1 / 100) * 127) + 127); }; }; if (this.m_contrastMatrix == null){ this.m_contrastMatrix = new ColorMatrix(); }; this.m_contrastMatrix.SetContrastMatrix(_local2); } public function set hue(_arg1:Number):void{ if (this.m_hueMatrix == null){ this.m_hueMatrix = new ColorMatrix(); }; if (_arg1 != 0){ this.m_hueMatrix.SetHueMatrix(((_arg1 * Math.PI) / 180)); }; } public function CalculateFinalFlatArray():Array{ if (this.CalculateFinalMatrix()){ return (this.m_finalMatrix.GetFlatArray()); }; return (null); } public function AllValuesAreSet():Boolean{ return (((((((this.m_brightnessMatrix) && (this.m_contrastMatrix))) && (this.m_saturationMatrix))) && (this.m_hueMatrix))); } public function set saturation(_arg1:Number):void{ var _local2:Number = _arg1; if (_arg1 == 0){ _local2 = 1; } else { if (_arg1 > 0){ _local2 = (1 + ((3 * _arg1) / 100)); } else { _local2 = ((_arg1 / 100) + 1); }; }; if (this.m_saturationMatrix == null){ this.m_saturationMatrix = new ColorMatrix(); }; this.m_saturationMatrix.SetSaturationMatrix(_local2); } } }//package fl.motion
Section 17
//Animator (fl.motion.Animator) package fl.motion { import flash.geom.*; import flash.display.*; public class Animator extends AnimatorBase { public function Animator(_arg1:XML=null, _arg2:DisplayObject=null){ this.motion = new Motion(_arg1); super(_arg1, _arg2); } override protected function setTimeClassic(_arg1:int, _arg2:MotionBase, _arg3:KeyframeBase):Boolean{ var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Matrix; var _local21:Number; var _local4:Motion = (_arg2 as Motion); if (!_local4){ return (false); }; var _local5:Number = _local4.getValue(_arg1, Tweenables.X); var _local6:Number = _local4.getValue(_arg1, Tweenables.Y); var _local7:Point = new Point(_local5, _local6); if (this.positionMatrix){ _local7 = this.positionMatrix.transformPoint(_local7); }; _local7.x = (_local7.x + this.targetState.x); _local7.y = (_local7.y + this.targetState.y); var _local8:Number = (_local4.getValue(_arg1, Tweenables.SCALE_X) * this.targetState.scaleX); var _local9:Number = (_local4.getValue(_arg1, Tweenables.SCALE_Y) * this.targetState.scaleY); var _local10:Number = 0; var _local11:Number = 0; if (this.orientToPath){ _local17 = _local4.getValue((_arg1 + 1), Tweenables.X); _local18 = _local4.getValue((_arg1 + 1), Tweenables.Y); _local19 = (Math.atan2((_local18 - _local6), (_local17 - _local5)) * (180 / Math.PI)); if (!isNaN(_local19)){ _local10 = (_local19 + this.targetState.skewX); _local11 = (_local19 + this.targetState.skewY); }; } else { _local10 = (_local4.getValue(_arg1, Tweenables.SKEW_X) + this.targetState.skewX); _local11 = (_local4.getValue(_arg1, Tweenables.SKEW_Y) + this.targetState.skewY); }; var _local12:Matrix = new Matrix((_local8 * Math.cos((_local11 * (Math.PI / 180)))), (_local8 * Math.sin((_local11 * (Math.PI / 180)))), (-(_local9) * Math.sin((_local10 * (Math.PI / 180)))), (_local9 * Math.cos((_local10 * (Math.PI / 180)))), 0, 0); var _local13:Boolean; if (_local4.useRotationConcat(_arg1)){ _local20 = new Matrix(); _local21 = _local4.getValue(_arg1, Tweenables.ROTATION_CONCAT); _local20.rotate(_local21); _local12.concat(_local20); _local13 = true; }; _local12.tx = _local7.x; _local12.ty = _local7.y; var _local14:Point = _local12.transformPoint(this.targetState.transformPointInternal); var _local15:Number = (_local12.tx - _local14.x); var _local16:Number = (_local12.ty - _local14.y); _local12.tx = (_local12.tx + _local15); _local12.ty = (_local12.ty + _local16); if (!_local13){ this._target.rotation = _local11; }; this._target.transform.matrix = _local12; if (((((_local13) && ((this._target.scaleX == 0)))) && ((this._target.scaleY == 0)))){ this._target.scaleX = _local8; this._target.scaleY = _local9; }; this._target.cacheAsBitmap = _arg3.cacheAsBitmap; return (true); } override public function set motion(_arg1:MotionBase):void{ super.motion = _arg1; var _local2:Motion = (_arg1 as Motion); if (((((_local2) && (_local2.source))) && (_local2.source.transformationPoint))){ this.transformationPoint = _local2.source.transformationPoint.clone(); }; } override protected function setTargetState():void{ var _local2:Number; var _local3:Number; var _local4:Point; this.targetState.scaleX = this._target.scaleX; this.targetState.scaleY = this._target.scaleY; this.targetState.skewX = MatrixTransformer.getSkewX(this._target.transform.matrix); this.targetState.skewY = MatrixTransformer.getSkewY(this._target.transform.matrix); var _local1:Object = (this.targetState.bounds = this._target.getBounds(this._target)); if (this.transformationPoint){ _local2 = ((this.transformationPoint.x * _local1.width) + _local1.left); _local3 = ((this.transformationPoint.y * _local1.height) + _local1.top); this.targetState.transformPointInternal = new Point(_local2, _local3); _local4 = this._target.transform.matrix.transformPoint(this.targetState.transformPointInternal); this.targetState.x = _local4.x; this.targetState.y = _local4.y; } else { this.targetState.transformPointInternal = new Point(0, 0); this.targetState.x = this._target.x; this.targetState.y = this._target.y; }; this.targetState.z = 0; this.targetState.rotationX = (this.targetState.rotationY = 0); } public static function fromXMLString(_arg1:String, _arg2:DisplayObject=null):Animator{ return (new Animator(new XML(_arg1), _arg2)); } } }//package fl.motion
Section 18
//AnimatorBase (fl.motion.AnimatorBase) package fl.motion { import flash.geom.*; import flash.display.*; import flash.events.*; import flash.utils.*; public class AnimatorBase extends EventDispatcher { public var transformationPoint:Point; protected var targetState:Object; private var _isPlaying:Boolean;// = false private var _time:int;// = -1 protected var _target:DisplayObject; public var repeatCount:int;// = 1 private var _lastRenderedTime:int;// = -1 private var _spanStart:int;// = -1 public var transformationPointZ:int; protected var _isAnimator3D:Boolean; private var _sceneName:String;// = "" public var positionMatrix:Matrix; private var _frameEvent:String;// = "enterFrame" public var autoRewind:Boolean;// = false private var _motion:MotionBase; private var _targetName:String;// = "" private var _useCurrentFrame:Boolean;// = false private var playCount:int;// = 0 public var orientToPath:Boolean;// = false private var targetStateOriginal:Object;// = null private var _targetState3D:Array;// = null private var _targetParent:DisplayObjectContainer;// = null private static var _registeredParents:Dictionary = new Dictionary(true); private static var enterFrameBeacon:MovieClip = new MovieClip(); public function AnimatorBase(_arg1:XML=null, _arg2:DisplayObject=null){ this.target = _arg2; this._isAnimator3D = false; this.transformationPoint = new Point(0.5, 0.5); this.transformationPointZ = 0; this._sceneName = ""; } protected function setTime3D(_arg1:int, _arg2:MotionBase):Boolean{ return (false); } private function handleLastFrame(_arg1:Boolean=false, _arg2:Boolean=true):void{ this.playCount++; if ((((this.repeatCount == 0)) || ((this.playCount < this.repeatCount)))){ this.rewind(); } else { this.end(_arg1, _arg2); }; } public function get targetState3D():Array{ return (this._targetState3D); } public function get target():DisplayObject{ return (this._target); } private function get enterFrameHandler():Function{ if (AnimatorBase.hasRegisteredParents){ return (AnimatorBase.parentEnterFrameHandler); }; return (this.handleEnterFrame); } public function get usingCurrentFrame():Boolean{ return (this._useCurrentFrame); } public function set initialPosition(_arg1:Array):void{ } public function useCurrentFrame(_arg1:Boolean, _arg2:int):void{ this._useCurrentFrame = _arg1; this._spanStart = _arg2; } public function set time(_arg1:int):void{ var _local5:ColorTransform; var _local6:Array; if (_arg1 == this._time){ return; }; var _local2:MotionBase = this.motion; if (_arg1 > (_local2.duration - 1)){ _arg1 = (_local2.duration - 1); } else { if (_arg1 < 0){ _arg1 = 0; }; }; this._time = _arg1; this.dispatchEvent(new MotionEvent(MotionEvent.TIME_CHANGE)); var _local3:KeyframeBase = _local2.getCurrentKeyframe(_arg1); var _local4:Boolean = (((_local3.index == this._lastRenderedTime)) && (!(_local3.tweensLength))); if (_local4){ return; }; this._target.visible = false; if (!_local3.blank){ if (this._isAnimator3D){ this.setTime3D(_arg1, _local2); } else { this.setTimeClassic(_arg1, _local2, _local3); }; _local5 = _local2.getColorTransform(_arg1); if (_local5){ this._target.transform.colorTransform = _local5; }; _local6 = _local2.getFilters(_arg1); if (_local6){ this._target.filters = _local6; }; this._target.blendMode = _local3.blendMode; this._target.visible = true; }; this._lastRenderedTime = this._time; this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_UPDATE)); } public function set target(_arg1:DisplayObject):void{ if (!_arg1){ return; }; this._target = _arg1; var _local2:Boolean; if (((this.targetParent) && (!((this.targetName == ""))))){ if (this.targetStateOriginal){ this.targetState = this.targetStateOriginal; return; }; _local2 = true; }; this.targetState = {}; this.setTargetState(); if (_local2){ this.targetStateOriginal = this.targetState; }; } public function get isPlaying():Boolean{ return (this._isPlaying); } public function startFrameEvents():void{ enterFrameBeacon.addEventListener(this.frameEvent, this.enterFrameHandler, false, 0, true); } public function get frameEvent():String{ return (this._frameEvent); } public function stop():void{ enterFrameBeacon.removeEventListener(this.frameEvent, this.enterFrameHandler); this._isPlaying = false; this.playCount = 0; this.rewind(); this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_END)); } public function get spanEnd():int{ if (((this._motion) && ((this._motion.duration > 0)))){ return (((this._spanStart + this._motion.duration) - 1)); }; return (this._spanStart); } public function get targetParent():DisplayObjectContainer{ return (this._targetParent); } public function get spanStart():int{ return (this._spanStart); } public function play(_arg1:int=-1, _arg2:Boolean=true):void{ if (!this._isPlaying){ if ((((((this._target == null)) && (this._targetParent))) && (!((this._targetName == ""))))){ this.target = this._targetParent[this._targetName]; if (!this.target){ this.target = this._targetParent.getChildByName(this._targetName); }; }; if (_arg2){ enterFrameBeacon.addEventListener(this.frameEvent, this.enterFrameHandler, false, 0, true); }; if (!this.target){ return; }; this._isPlaying = true; }; this.playCount = 0; if (_arg1 > -1){ this.time = _arg1; } else { this.rewind(); }; this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_START)); } public function get targetName():String{ return (this._targetName); } public function set targetParent(_arg1:DisplayObjectContainer):void{ this._targetParent = _arg1; } protected function setTargetState():void{ } protected function setTimeClassic(_arg1:int, _arg2:MotionBase, _arg3:KeyframeBase):Boolean{ return (false); } private function handleEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function get motion():MotionBase{ return (this._motion); } public function get sceneName():String{ return (this._sceneName); } public function nextFrame():void{ if (this.time >= (this.motion.duration - 1)){ this.handleLastFrame(); } else { this.time++; }; } public function get time():int{ return (this._time); } public function resume():void{ enterFrameBeacon.addEventListener(this.frameEvent, this.enterFrameHandler, false, 0, true); this._isPlaying = true; } public function rewind():void{ this.time = 0; } public function set frameEvent(_arg1:String):void{ this._frameEvent = _arg1; } public function set targetState3D(_arg1:Array):void{ this._targetState3D = _arg1; } public function end(_arg1:Boolean=false, _arg2:Boolean=true):void{ if (_arg2){ enterFrameBeacon.removeEventListener(this.frameEvent, this.enterFrameHandler); }; this._isPlaying = false; this.playCount = 0; if (this.autoRewind){ this.rewind(); } else { if (this.time != (this.motion.duration - 1)){ this.time = (this.motion.duration - 1); }; }; if (_arg1){ if (((this._targetParent) && (!((this._targetName == ""))))){ this._target = null; }; this._lastRenderedTime = -1; this._time = -1; }; this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_END)); } public function set motion(_arg1:MotionBase):void{ this._motion = _arg1; } public function set sceneName(_arg1:String):void{ this._sceneName = _arg1; } public function pause():void{ enterFrameBeacon.removeEventListener(this.frameEvent, this.enterFrameHandler); this._isPlaying = false; } public function set targetName(_arg1:String):void{ this._targetName = _arg1; } public static function processCurrentFrame(_arg1:MovieClip, _arg2:AnimatorBase, _arg3:Boolean, _arg4:Boolean=false):void{ var _local5:int; var _local6:int; if (((_arg2) && (_arg1))){ if (!_arg1.root){ if (((((_arg2.usingCurrentFrame) && (!(_arg2.isPlaying)))) && (_arg4))){ _arg2.startFrameEvents(); }; return; }; if (_arg2.usingCurrentFrame){ _local5 = (_arg1.currentFrame - 1); if (_arg1.scenes.length > 1){ if (_arg1.currentScene.name != _arg2.sceneName){ _local5 = -1; }; }; if ((((_local5 >= _arg2.spanStart)) && ((_local5 <= _arg2.spanEnd)))){ _local6 = (_local5 - _arg2.spanStart); if (!_arg2.isPlaying){ _arg2.play(_local6, _arg3); } else { if (!_arg4){ if (_local5 == _arg2.spanEnd){ _arg2.handleLastFrame(true, false); } else { _arg2.time = _local6; }; }; }; } else { if (((_arg2.isPlaying) && (!(_arg4)))){ _arg2.end(true, false); } else { if (((!(_arg2.isPlaying)) && (_arg4))){ _arg2.startFrameEvents(); }; }; }; } else { if (((((_arg2.targetParent) && ((_arg2.targetParent[_arg2.targetName] == null)))) && ((_arg2.targetParent.getChildByName(_arg2.targetName) == null)))){ if (_arg2.isPlaying){ _arg2.end(true, false); } else { if (_arg4){ _arg2.startFrameEvents(); }; }; } else { if (!_arg2.isPlaying){ _arg2.play(0, _arg3); } else { if (!_arg4){ _arg2.nextFrame(); }; }; }; }; }; } public static function registerParentFrameHandler(_arg1:MovieClip, _arg2:AnimatorBase, _arg3:int, _arg4:int=0, _arg5:Boolean=false):void{ var _local6:AnimatorParent = (_registeredParents[_arg1] as AnimatorParent); if (_local6 == null){ _local6 = new AnimatorParent(); _local6.parent = _arg1; _registeredParents[_arg1] = _local6; }; if (_arg3 == -1){ _arg3 = (_arg1.currentFrame - 1); }; if (_arg5){ _arg2.useCurrentFrame(true, _arg3); } else { _arg2.repeatCount = _arg4; }; _local6.animators.push(_arg2); } private static function parentEnterFrameHandler(_arg1:Event):void{ var _local2:*; var _local3:AnimatorParent; var _local4:MovieClip; var _local5:Array; var _local6:int; var _local7:AnimatorBase; for (_local2 in _registeredParents) { _local3 = (_registeredParents[_local2] as AnimatorParent); if (!_local3){ } else { _local4 = _local3.parent; _local5 = _local3.animators; if (((!(_local4)) || (!(_local5)))){ } else { _local6 = 0; while (_local6 < _local5.length) { _local7 = (_local5[_local6] as AnimatorBase); if (((!(_local7.usingCurrentFrame)) || (!((_local4.currentFrame == _local3.lastFrameHandled))))){ processCurrentFrame(_local4, _local7, false); }; _local6++; }; _local3.lastFrameHandled = _local4.currentFrame; }; }; }; } public static function registerButtonState(_arg1:SimpleButton, _arg2:AnimatorBase, _arg3:int):void{ var _local4:DisplayObject = _arg1.upState; switch (_arg3){ case 1: _local4 = _arg1.overState; break; case 2: _local4 = _arg1.downState; break; case 3: _local4 = _arg1.hitTestState; break; }; if (!_local4){ return; }; _arg2.target = _local4; _arg2.time = 0; } private static function get hasRegisteredParents():Boolean{ var _local1:*; for (_local1 in _registeredParents) { return (true); }; return (false); } } }//package fl.motion import flash.display.*; class AnimatorParent { public var parent:MovieClip;// = null public var lastFrameHandled:int;// = -1 public var animators:Array; private function AnimatorParent(){ this.animators = new Array(); super(); } }
Section 19
//AnimatorFactory (fl.motion.AnimatorFactory) package fl.motion { public class AnimatorFactory extends AnimatorFactoryBase { public function AnimatorFactory(_arg1:MotionBase){ super(_arg1); } override protected function getNewAnimator():AnimatorBase{ return (new Animator(null, null)); } } }//package fl.motion
Section 20
//AnimatorFactoryBase (fl.motion.AnimatorFactoryBase) package fl.motion { import flash.geom.*; import flash.display.*; import flash.utils.*; public class AnimatorFactoryBase { protected var _transformationPoint:Point; private var _animators:Dictionary; protected var _transformationPointZ:int; private var _motion:MotionBase; protected var _sceneName:String; protected var _is3D:Boolean; public function AnimatorFactoryBase(_arg1:MotionBase){ this._motion = _arg1; this._animators = new Dictionary(); this._transformationPoint = new Point(0.5, 0.5); this._transformationPointZ = 0; this._is3D = false; this._sceneName = ""; } public function addTargetInfo(_arg1:DisplayObject, _arg2:String, _arg3:int=0, _arg4:Boolean=true, _arg5:int=-1, _arg6:Boolean=false, _arg7:Array=null):AnimatorBase{ var _local11:Class; if (((!((_arg1 is DisplayObjectContainer))) && (!((_arg1 is SimpleButton))))){ return (null); }; var _local8:Dictionary = this._animators[_arg1]; if (!_local8){ _local8 = new Dictionary(); this._animators[_arg1] = _local8; }; var _local9:AnimatorBase = _local8[_arg2]; var _local10:Boolean; if (!_local9){ _local9 = this.getNewAnimator(); _local11 = (getDefinitionByName("flash.events.Event") as Class); if (_local11.hasOwnProperty("FRAME_CONSTRUCTED")){ _local9.frameEvent = "frameConstructed"; }; _local8[_arg2] = _local9; _local10 = true; }; _local9.motion = this._motion; _local9.transformationPoint = this._transformationPoint; _local9.transformationPointZ = this._transformationPointZ; _local9.sceneName = this._sceneName; if (_local10){ if ((_arg1 is MovieClip)){ AnimatorBase.registerParentFrameHandler((_arg1 as MovieClip), _local9, _arg5, _arg3, _arg6); }; }; if ((_arg1 is MovieClip)){ _local9.targetParent = MovieClip(_arg1); _local9.targetName = _arg2; } else { if ((_arg1 is SimpleButton)){ AnimatorBase.registerButtonState((_arg1 as SimpleButton), _local9, _arg5); }; }; if (_arg7){ _local9.initialPosition = _arg7; }; if (_arg4){ AnimatorBase.processCurrentFrame((_arg1 as MovieClip), _local9, true, true); }; return (_local9); } public function set transformationPointZ(_arg1:int):void{ this._transformationPointZ = _arg1; } public function set transformationPoint(_arg1:Point):void{ this._transformationPoint = _arg1; } protected function getNewAnimator():AnimatorBase{ return (null); } public function get motion():MotionBase{ return (this._motion); } public function addTarget(_arg1:DisplayObject, _arg2:int=0, _arg3:Boolean=true, _arg4:int=-1, _arg5:Boolean=false):AnimatorBase{ if (_arg1){ return (this.addTargetInfo(_arg1.parent, _arg1.name, _arg2, _arg3, _arg4, _arg5)); }; return (null); } public function set sceneName(_arg1:String):void{ this._sceneName = _arg1; } } }//package fl.motion
Section 21
//BezierEase (fl.motion.BezierEase) package fl.motion { import flash.geom.*; public class BezierEase implements ITween { public var points:Array; private var firstNode:Point; private var _target:String;// = "" private var lastNode:Point; public function BezierEase(_arg1:XML=null){ this.points = []; this.parseXML(_arg1); } public function set target(_arg1:String):void{ this._target = _arg1; } private function parseXML(_arg1:XML=null):BezierEase{ var _local3:XML; if (!_arg1){ return (this); }; if (_arg1.@target.length()){ this.target = _arg1.@target; }; var _local2:XMLList = _arg1.elements(); for each (_local3 in _local2) { this.points.push(new Point(Number(_local3.@x), Number(_local3.@y))); }; return (this); } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg4 <= 0){ return (NaN); }; var _local5:Number = (_arg1 / _arg4); if (_local5 <= 0){ return (_arg2); }; if (_local5 >= 1){ return ((_arg2 + _arg3)); }; this.firstNode = new Point(0, _arg2); this.lastNode = new Point(1, (_arg2 + _arg3)); var _local6:Array = [this.firstNode].concat(this.points); _local6.push(this.lastNode); var _local7:Number = CustomEase.getYForPercent(_local5, _local6); return (_local7); } } }//package fl.motion
Section 22
//BezierSegment (fl.motion.BezierSegment) package fl.motion { import flash.geom.*; public class BezierSegment { public var a:Point; public var c:Point; public var b:Point; public var d:Point; public function BezierSegment(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point){ this.a = _arg1; this.b = _arg2; this.c = _arg3; this.d = _arg4; } public function getValue(_arg1:Number):Point{ var _local2:Number = this.a.x; var _local3:Number = (((((_arg1 * _arg1) * (this.d.x - _local2)) + ((3 * (1 - _arg1)) * ((_arg1 * (this.c.x - _local2)) + ((1 - _arg1) * (this.b.x - _local2))))) * _arg1) + _local2); var _local4:Number = this.a.y; var _local5:Number = (((((_arg1 * _arg1) * (this.d.y - _local4)) + ((3 * (1 - _arg1)) * ((_arg1 * (this.c.y - _local4)) + ((1 - _arg1) * (this.b.y - _local4))))) * _arg1) + _local4); return (new Point(_local3, _local5)); } public function getYForX(_arg1:Number, _arg2:Array=null):Number{ var _local6:Number; if (this.a.x < this.d.x){ if (_arg1 <= (this.a.x + 1E-16)){ return (this.a.y); }; if (_arg1 >= (this.d.x - 1E-16)){ return (this.d.y); }; } else { if (_arg1 >= (this.a.x + 1E-16)){ return (this.a.y); }; if (_arg1 <= (this.d.x - 1E-16)){ return (this.d.y); }; }; if (!_arg2){ _arg2 = getCubicCoefficients(this.a.x, this.b.x, this.c.x, this.d.x); }; var _local3:Array = getCubicRoots(_arg2[0], _arg2[1], _arg2[2], (_arg2[3] - _arg1)); var _local4:Number = NaN; if (_local3.length == 0){ _local4 = 0; } else { if (_local3.length == 1){ _local4 = _local3[0]; } else { for each (_local6 in _local3) { if ((((0 <= _local6)) && ((_local6 <= 1)))){ _local4 = _local6; break; }; }; }; }; if (isNaN(_local4)){ return (NaN); }; var _local5:Number = getSingleValue(_local4, this.a.y, this.b.y, this.c.y, this.d.y); return (_local5); } public static function getCubicCoefficients(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Array{ return ([(((-(_arg1) + (3 * _arg2)) - (3 * _arg3)) + _arg4), (((3 * _arg1) - (6 * _arg2)) + (3 * _arg3)), ((-3 * _arg1) + (3 * _arg2)), _arg1]); } public static function getSingleValue(_arg1:Number, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0):Number{ return ((((((_arg1 * _arg1) * (_arg5 - _arg2)) + ((3 * (1 - _arg1)) * ((_arg1 * (_arg4 - _arg2)) + ((1 - _arg1) * (_arg3 - _arg2))))) * _arg1) + _arg2)); } public static function getCubicRoots(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):Array{ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:int; var _local16:Number; if (!_arg1){ return (BezierSegment.getQuadraticRoots(_arg2, _arg3, _arg4)); }; if (_arg1 != 1){ _arg2 = (_arg2 / _arg1); _arg3 = (_arg3 / _arg1); _arg4 = (_arg4 / _arg1); }; var _local5:Number = (((_arg2 * _arg2) - (3 * _arg3)) / 9); var _local6:Number = (((((_arg2 * _arg2) - (3 * _arg3)) / 9) * _local5) * _local5); var _local7:Number = ((((((2 * _arg2) * _arg2) * _arg2) - ((9 * _arg2) * _arg3)) + (27 * _arg4)) / 54); var _local8:Number = (_local6 - (_local7 * _local7)); if (_local8 >= 0){ if (!_local5){ return ([0]); }; _local9 = Math.acos((_local7 / Math.sqrt(_local6))); _local10 = Math.sqrt(_local5); _local11 = (((-2 * _local10) * Math.cos((_local9 / 3))) - (_arg2 / 3)); _local12 = (((-2 * _local10) * Math.cos(((_local9 + (2 * Math.PI)) / 3))) - (_arg2 / 3)); _local13 = (((-2 * _local10) * Math.cos(((_local9 + (4 * Math.PI)) / 3))) - (_arg2 / 3)); return ([_local11, _local12, _local13]); //unresolved jump }; _local14 = Math.pow((Math.sqrt(-(_local8)) + Math.abs(_local7)), (1 / 3)); _local15 = ((_local7)>0) ? 1 : ((_local7 < 0)) ? -1 : 0; _local16 = ((-(_local15) * (_local14 + (_local5 / _local14))) - (_arg2 / 3)); return ([_local16]); } public static function getQuadraticRoots(_arg1:Number, _arg2:Number, _arg3:Number):Array{ var _local7:Number; var _local4:Array = []; if (!_arg1){ if (!_arg2){ return ([]); }; _local4[0] = (-(_arg3) / _arg2); return (_local4); }; var _local5:Number = ((_arg2 * _arg2) - ((4 * _arg1) * _arg3)); var _local6:int = ((_local5)>0) ? 1 : ((_local5 < 0)) ? -1 : 0; if (_local6 < 0){ return ([]); }; if (!_local6){ _local4[0] = (-(_arg2) / (2 * _arg1)); } else { _local4[0] = (_local4[1] = (-(_arg2) / (2 * _arg1))); _local7 = (Math.sqrt(_local5) / (2 * _arg1)); _local4[0] = (_local4[0] - _local7); _local4[1] = (_local4[1] + _local7); }; return (_local4); } } }//package fl.motion
Section 23
//Color (fl.motion.Color) package fl.motion { import flash.geom.*; import flash.display.*; public class Color extends ColorTransform { private var _tintColor:Number;// = 0 private var _tintMultiplier:Number;// = 0 public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } private function deriveTintColor():uint{ var _local1:Number = (1 / this.tintMultiplier); var _local2:uint = Math.round((this.redOffset * _local1)); var _local3:uint = Math.round((this.greenOffset * _local1)); var _local4:uint = Math.round((this.blueOffset * _local1)); var _local5:uint = (((_local2 << 16) | (_local3 << 8)) | _local4); return (_local5); } public function set brightness(_arg1:Number):void{ if (_arg1 > 1){ _arg1 = 1; } else { if (_arg1 < -1){ _arg1 = -1; }; }; var _local2:Number = (1 - Math.abs(_arg1)); var _local3:Number = 0; if (_arg1 > 0){ _local3 = (_arg1 * 0xFF); }; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2)); this.redOffset = (this.greenOffset = (this.blueOffset = _local3)); } private function parseXML(_arg1:XML=null):Color{ var _local3:XML; var _local4:String; var _local5:uint; if (!_arg1){ return (this); }; var _local2:XML = _arg1.elements()[0]; if (!_local2){ return (this); }; for each (_local3 in _local2.attributes()) { _local4 = _local3.localName(); if (_local4 == "tintColor"){ _local5 = (Number(_local3.toString()) as uint); this.tintColor = _local5; } else { this[_local4] = Number(_local3.toString()); }; }; return (this); } public function get tintColor():uint{ return (this._tintColor); } public function set tintColor(_arg1:uint):void{ this.setTint(_arg1, this.tintMultiplier); } public function get brightness():Number{ return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1)); } public function set tintMultiplier(_arg1:Number):void{ this.setTint(this.tintColor, _arg1); } public function get tintMultiplier():Number{ return (this._tintMultiplier); } public function setTint(_arg1:uint, _arg2:Number):void{ this._tintColor = _arg1; this._tintMultiplier = _arg2; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2))); var _local3:uint = ((_arg1 >> 16) & 0xFF); var _local4:uint = ((_arg1 >> 8) & 0xFF); var _local5:uint = (_arg1 & 0xFF); this.redOffset = Math.round((_local3 * _arg2)); this.greenOffset = Math.round((_local4 * _arg2)); this.blueOffset = Math.round((_local5 * _arg2)); } public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{ var _local4:Number = (1 - _arg3); var _local5:uint = ((_arg1 >> 24) & 0xFF); var _local6:uint = ((_arg1 >> 16) & 0xFF); var _local7:uint = ((_arg1 >> 8) & 0xFF); var _local8:uint = (_arg1 & 0xFF); var _local9:uint = ((_arg2 >> 24) & 0xFF); var _local10:uint = ((_arg2 >> 16) & 0xFF); var _local11:uint = ((_arg2 >> 8) & 0xFF); var _local12:uint = (_arg2 & 0xFF); var _local13:uint = ((_local5 * _local4) + (_local9 * _arg3)); var _local14:uint = ((_local6 * _local4) + (_local10 * _arg3)); var _local15:uint = ((_local7 * _local4) + (_local11 * _arg3)); var _local16:uint = ((_local8 * _local4) + (_local12 * _arg3)); var _local17:uint = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16); return (_local17); } public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{ var _local4:Number = (1 - _arg3); var _local5:ColorTransform = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3))); return (_local5); } public static function fromXML(_arg1:XML):Color{ return (Color(new (Color).parseXML(_arg1))); } } }//package fl.motion
Section 24
//ColorMatrix (fl.motion.ColorMatrix) package fl.motion { public class ColorMatrix extends DynamicMatrix { protected static const LUMINANCEB:Number = 0.082; protected static const LUMINANCER:Number = 0.3086; protected static const LUMINANCEG:Number = 0.6094; public function ColorMatrix(){ super(5, 5); LoadIdentity(); } public function GetFlatArray():Array{ var _local4:int; if (!m_matrix){ return (null); }; var _local1:Array = new Array(); var _local2:int; var _local3:int; while (_local3 < 4) { _local4 = 0; while (_local4 < 5) { _local1[_local2] = m_matrix[_local3][_local4]; _local2++; _local4++; }; _local3++; }; return (_local1); } public function SetBrightnessMatrix(_arg1:Number):void{ if (!m_matrix){ return; }; m_matrix[0][4] = _arg1; m_matrix[1][4] = _arg1; m_matrix[2][4] = _arg1; } public function SetContrastMatrix(_arg1:Number):void{ if (!m_matrix){ return; }; var _local2:Number = (0.5 * (127 - _arg1)); _arg1 = (_arg1 / 127); m_matrix[0][0] = _arg1; m_matrix[1][1] = _arg1; m_matrix[2][2] = _arg1; m_matrix[0][4] = _local2; m_matrix[1][4] = _local2; m_matrix[2][4] = _local2; } public function SetHueMatrix(_arg1:Number):void{ var _local11:int; if (!m_matrix){ return; }; LoadIdentity(); var _local2:DynamicMatrix = new DynamicMatrix(3, 3); var _local3:DynamicMatrix = new DynamicMatrix(3, 3); var _local4:DynamicMatrix = new DynamicMatrix(3, 3); var _local5:Number = Math.cos(_arg1); var _local6:Number = Math.sin(_arg1); var _local7:Number = 0.213; var _local8:Number = 0.715; var _local9:Number = 0.072; _local2.SetValue(0, 0, _local7); _local2.SetValue(1, 0, _local7); _local2.SetValue(2, 0, _local7); _local2.SetValue(0, 1, _local8); _local2.SetValue(1, 1, _local8); _local2.SetValue(2, 1, _local8); _local2.SetValue(0, 2, _local9); _local2.SetValue(1, 2, _local9); _local2.SetValue(2, 2, _local9); _local3.SetValue(0, 0, (1 - _local7)); _local3.SetValue(1, 0, -(_local7)); _local3.SetValue(2, 0, -(_local7)); _local3.SetValue(0, 1, -(_local8)); _local3.SetValue(1, 1, (1 - _local8)); _local3.SetValue(2, 1, -(_local8)); _local3.SetValue(0, 2, -(_local9)); _local3.SetValue(1, 2, -(_local9)); _local3.SetValue(2, 2, (1 - _local9)); _local3.MultiplyNumber(_local5); _local4.SetValue(0, 0, -(_local7)); _local4.SetValue(1, 0, 0.143); _local4.SetValue(2, 0, -((1 - _local7))); _local4.SetValue(0, 1, -(_local8)); _local4.SetValue(1, 1, 0.14); _local4.SetValue(2, 1, _local8); _local4.SetValue(0, 2, (1 - _local9)); _local4.SetValue(1, 2, -0.283); _local4.SetValue(2, 2, _local9); _local4.MultiplyNumber(_local6); _local2.Add(_local3); _local2.Add(_local4); var _local10:int; while (_local10 < 3) { _local11 = 0; while (_local11 < 3) { m_matrix[_local10][_local11] = _local2.GetValue(_local10, _local11); _local11++; }; _local10++; }; } public function SetSaturationMatrix(_arg1:Number):void{ if (!m_matrix){ return; }; var _local2:Number = (1 - _arg1); var _local3:Number = (_local2 * LUMINANCER); m_matrix[0][0] = (_local3 + _arg1); m_matrix[1][0] = _local3; m_matrix[2][0] = _local3; _local3 = (_local2 * LUMINANCEG); m_matrix[0][1] = _local3; m_matrix[1][1] = (_local3 + _arg1); m_matrix[2][1] = _local3; _local3 = (_local2 * LUMINANCEB); m_matrix[0][2] = _local3; m_matrix[1][2] = _local3; m_matrix[2][2] = (_local3 + _arg1); } } }//package fl.motion class XFormData { public var ox:Number; public var oy:Number; public var oz:Number; private function XFormData(){ } }
Section 25
//CustomEase (fl.motion.CustomEase) package fl.motion { import flash.geom.*; public class CustomEase implements ITween { public var points:Array; private var firstNode:Point; private var _target:String;// = "" private var lastNode:Point; public function CustomEase(_arg1:XML=null){ this.points = []; this.parseXML(_arg1); this.firstNode = new Point(0, 0); this.lastNode = new Point(1, 1); } public function set target(_arg1:String):void{ this._target = _arg1; } private function parseXML(_arg1:XML=null):CustomEase{ var _local3:XML; if (!_arg1){ return (this); }; if (_arg1.@target.length()){ this.target = _arg1.@target; }; var _local2:XMLList = _arg1.elements(); for each (_local3 in _local2) { this.points.push(new Point(Number(_local3.@x), Number(_local3.@y))); }; return (this); } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg4 <= 0){ return (NaN); }; var _local5:Number = (_arg1 / _arg4); if (_local5 <= 0){ return (_arg2); }; if (_local5 >= 1){ return ((_arg2 + _arg3)); }; var _local6:Array = [this.firstNode].concat(this.points); _local6.push(this.lastNode); var _local7:Number = getYForPercent(_local5, _local6); return ((_arg2 + (_local7 * _arg3))); } static function getYForPercent(_arg1:Number, _arg2:Array):Number{ var _local8:int; var _local9:BezierSegment; var _local3:BezierSegment = new BezierSegment(_arg2[0], _arg2[1], _arg2[2], _arg2[3]); var _local4:Array = [_local3]; var _local5 = 3; while (_local5 < (_arg2.length - 3)) { _local4.push(new BezierSegment(_arg2[_local5], _arg2[(_local5 + 1)], _arg2[(_local5 + 2)], _arg2[(_local5 + 3)])); _local5 = (_local5 + 3); }; var _local6:BezierSegment = _local3; if (_arg2.length >= 5){ _local8 = 0; while (_local8 < _local4.length) { _local9 = _local4[_local8]; if ((((_local9.a.x <= _arg1)) && ((_arg1 <= _local9.d.x)))){ _local6 = _local9; break; }; _local8++; }; }; var _local7:Number = _local6.getYForX(_arg1); return (_local7); } } }//package fl.motion
Section 26
//DynamicMatrix (fl.motion.DynamicMatrix) package fl.motion { public class DynamicMatrix { protected var m_matrix:Array; protected var m_width:int; protected var m_height:int; public static const MATRIX_ORDER_APPEND:int = 1; public static const MATRIX_ORDER_PREPEND:int = 0; public function DynamicMatrix(_arg1:int, _arg2:int){ this.Create(_arg1, _arg2); } public function Add(_arg1:DynamicMatrix):Boolean{ var _local5:int; var _local6:Number; if (((!(this.m_matrix)) || (!(_arg1)))){ return (false); }; var _local2:int = _arg1.GetHeight(); var _local3:int = _arg1.GetWidth(); if (((!((this.m_width == _local3))) || (!((this.m_height == _local2))))){ return (false); }; var _local4:int; while (_local4 < this.m_height) { _local5 = 0; while (_local5 < this.m_width) { _local6 = 0; _local6 = (this.m_matrix[_local4][_local5] + _arg1.GetValue(_local4, _local5)); this.m_matrix[_local4][_local5] = _local6; _local5++; }; _local4++; }; return (true); } public function LoadIdentity():void{ var _local1:int; var _local2:int; if (this.m_matrix){ _local1 = 0; while (_local1 < this.m_height) { _local2 = 0; while (_local2 < this.m_width) { if (_local1 == _local2){ this.m_matrix[_local1][_local2] = 1; } else { this.m_matrix[_local1][_local2] = 0; }; _local2++; }; _local1++; }; }; } public function LoadZeros():void{ var _local1:int; var _local2:int; if (this.m_matrix){ _local1 = 0; while (_local1 < this.m_height) { _local2 = 0; while (_local2 < this.m_width) { this.m_matrix[_local1][_local2] = 0; _local2++; }; _local1++; }; }; } public function Multiply(_arg1:DynamicMatrix, _arg2:int=0):Boolean{ var _local5:DynamicMatrix; var _local6:int; var _local7:int; var _local8:Number; var _local9:int; var _local10:int; if (((!(this.m_matrix)) || (!(_arg1)))){ return (false); }; var _local3:int = _arg1.GetHeight(); var _local4:int = _arg1.GetWidth(); if (_arg2 == MATRIX_ORDER_APPEND){ if (this.m_width != _local3){ return (false); }; _local5 = new DynamicMatrix(_local4, this.m_height); _local6 = 0; while (_local6 < this.m_height) { _local7 = 0; while (_local7 < _local4) { _local8 = 0; _local9 = 0; _local10 = 0; while ((((_local9 < Math.max(this.m_height, _local3))) && ((_local10 < Math.max(this.m_width, _local4))))) { _local8 = (_local8 + (_arg1.GetValue(_local9, _local7) * this.m_matrix[_local6][_local10])); _local9++; _local10++; }; _local5.SetValue(_local6, _local7, _local8); _local7++; }; _local6++; }; this.Destroy(); this.Create(_local4, this.m_height); _local6 = 0; while (_local6 < _local3) { _local7 = 0; while (_local7 < this.m_width) { this.m_matrix[_local6][_local7] = _local5.GetValue(_local6, _local7); _local7++; }; _local6++; }; } else { if (this.m_height != _local4){ return (false); }; _local5 = new DynamicMatrix(this.m_width, _local3); _local6 = 0; while (_local6 < _local3) { _local7 = 0; while (_local7 < this.m_width) { _local8 = 0; _local9 = 0; _local10 = 0; while ((((_local9 < Math.max(_local3, this.m_height))) && ((_local10 < Math.max(_local4, this.m_width))))) { _local8 = (_local8 + (this.m_matrix[_local9][_local7] * _arg1.GetValue(_local6, _local10))); _local9++; _local10++; }; _local5.SetValue(_local6, _local7, _local8); _local7++; }; _local6++; }; this.Destroy(); this.Create(this.m_width, _local3); _local6 = 0; while (_local6 < _local3) { _local7 = 0; while (_local7 < this.m_width) { this.m_matrix[_local6][_local7] = _local5.GetValue(_local6, _local7); _local7++; }; _local6++; }; }; return (true); } public function MultiplyNumber(_arg1:Number):Boolean{ var _local3:int; var _local4:Number; if (!this.m_matrix){ return (false); }; var _local2:int; while (_local2 < this.m_height) { _local3 = 0; while (_local3 < this.m_width) { _local4 = 0; _local4 = (this.m_matrix[_local2][_local3] * _arg1); this.m_matrix[_local2][_local3] = _local4; _local3++; }; _local2++; }; return (true); } public function SetValue(_arg1:int, _arg2:int, _arg3:Number):void{ if ((((((((_arg1 >= 0)) && ((_arg1 < this.m_height)))) && ((_arg2 >= 0)))) && ((_arg2 <= this.m_width)))){ this.m_matrix[_arg1][_arg2] = _arg3; }; } public function GetWidth():Number{ return (this.m_width); } protected function Destroy():void{ this.m_matrix = null; } public function GetValue(_arg1:int, _arg2:int):Number{ var _local3:Number = 0; if ((((((((_arg1 >= 0)) && ((_arg1 < this.m_height)))) && ((_arg2 >= 0)))) && ((_arg2 <= this.m_width)))){ _local3 = this.m_matrix[_arg1][_arg2]; }; return (_local3); } protected function Create(_arg1:int, _arg2:int):void{ var _local3:int; var _local4:int; if ((((_arg1 > 0)) && ((_arg2 > 0)))){ this.m_width = _arg1; this.m_height = _arg2; this.m_matrix = new Array(_arg2); _local3 = 0; while (_local3 < _arg2) { this.m_matrix[_local3] = new Array(_arg1); _local4 = 0; while (_local4 < _arg2) { this.m_matrix[_local3][_local4] = 0; _local4++; }; _local3++; }; }; } public function GetHeight():Number{ return (this.m_height); } } }//package fl.motion
Section 27
//FunctionEase (fl.motion.FunctionEase) package fl.motion { import flash.utils.*; public class FunctionEase implements ITween { private var _functionName:String;// = "" public var parameters:Array;// = null private var _target:String;// = "" public var easingFunction:Function;// = null public function FunctionEase(_arg1:XML=null){ this.parseXML(_arg1); } public function get functionName():String{ return (this._functionName); } public function set target(_arg1:String):void{ this._target = _arg1; } public function set functionName(_arg1:String):void{ var _local2:Array = _arg1.split("."); var _local3:String = _local2.pop(); var _local4:String = _local2.join("."); var _local5:Class = (getDefinitionByName(_local4) as Class); if ((_local5[_local3] is Function)){ this.easingFunction = _local5[_local3]; this._functionName = _arg1; }; } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Array; if ((this.parameters is Array)){ _local5 = [_arg1, _arg2, _arg3, _arg4].concat(this.parameters); return (this.easingFunction.apply(null, _local5)); }; return (this.easingFunction(_arg1, _arg2, _arg3, _arg4)); } private function parseXML(_arg1:XML=null):FunctionEase{ if (!_arg1){ return (this); }; if (_arg1.@functionName.length()){ this.functionName = _arg1.@functionName; }; if (_arg1.@target.length()){ this.target = _arg1.@target; }; return (this); } } }//package fl.motion
Section 28
//ITween (fl.motion.ITween) package fl.motion { public interface ITween { function get target():String; function set target(_arg1:String):void; function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number; } }//package fl.motion
Section 29
//Keyframe (fl.motion.Keyframe) package fl.motion { import flash.filters.*; import flash.utils.*; public class Keyframe extends KeyframeBase { public var tweenSync:Boolean;// = false public var tweens:Array; public var tweenSnap:Boolean;// = false public var tweenScale:Boolean;// = true public function Keyframe(_arg1:XML=null){ super(_arg1); this.tweens = []; this.parseXML(_arg1); } private function parseXML(_arg1:XML=null):KeyframeBase{ var tweenableName:String; var elements:XMLList; var filtersArray:Array; var child:XML; var attribute:XML; var attributeValue:String; var name:String; var tweenChildren:XMLList; var tweenChild:XML; var tweenName:String; var filtersChildren:XMLList; var filterXML:XML; var filterName:String; var filterClassName:String; var filterClass:Object; var filterInstance:BitmapFilter; var filterTypeInfo:XML; var accessorList:XMLList; var ratios:Array; var attrib:XML; var attribName:String; var accessor:XML; var attribType:String; var attribValue:String; var uintValue:uint; var valuesArray:Array; var xml = _arg1; if (!xml){ return (this); }; var indexString:String = xml.@index.toXMLString(); var indexValue:int = parseInt(indexString); if (indexString){ this.index = indexValue; } else { throw (new Error("<Keyframe> is missing the required attribute \"index\".")); }; if (xml.@label.length()){ this.label = xml.@label; }; if (xml.@tweenScale.length()){ this.tweenScale = (xml.@tweenScale.toString() == "true"); }; if (xml.@tweenSnap.length()){ this.tweenSnap = (xml.@tweenSnap.toString() == "true"); }; if (xml.@tweenSync.length()){ this.tweenSync = (xml.@tweenSync.toString() == "true"); }; if (xml.@blendMode.length()){ this.blendMode = xml.@blendMode; }; if (xml.@cacheAsBitmap.length()){ this.cacheAsBitmap = (xml.@cacheAsBitmap.toString() == "true"); }; if (xml.@rotateDirection.length()){ this.rotateDirection = xml.@rotateDirection; }; if (xml.@rotateTimes.length()){ this.rotateTimes = parseInt(xml.@rotateTimes); }; if (xml.@orientToPath.length()){ this.orientToPath = (xml.@orientToPath.toString() == "true"); }; if (xml.@blank.length()){ this.blank = (xml.@blank.toString() == "true"); }; var tweenableNames:Array = ["x", "y", "scaleX", "scaleY", "rotation", "skewX", "skewY"]; for each (tweenableName in tweenableNames) { attribute = xml.attribute(tweenableName)[0]; if (!attribute){ } else { attributeValue = attribute.toString(); if (attributeValue){ this[tweenableName] = Number(attributeValue); }; }; }; elements = xml.elements(); filtersArray = []; for each (child in elements) { name = child.localName(); if (name == "tweens"){ tweenChildren = child.elements(); for each (tweenChild in tweenChildren) { tweenName = tweenChild.localName(); if (tweenName == "SimpleEase"){ this.tweens.push(new SimpleEase(tweenChild)); } else { if (tweenName == "CustomEase"){ this.tweens.push(new CustomEase(tweenChild)); } else { if (tweenName == "BezierEase"){ this.tweens.push(new BezierEase(tweenChild)); } else { if (tweenName == "FunctionEase"){ this.tweens.push(new FunctionEase(tweenChild)); }; }; }; }; }; } else { if (name == "filters"){ filtersChildren = child.elements(); for each (filterXML in filtersChildren) { filterName = filterXML.localName(); filterClassName = ("flash.filters." + filterName); if (filterName == "AdjustColorFilter"){ } else { filterClass = getDefinitionByName(filterClassName); filterInstance = new (filterClass); filterTypeInfo = describeType(filterInstance); accessorList = filterTypeInfo.accessor; ratios = []; for each (attrib in filterXML.attributes()) { attribName = attrib.localName(); accessor = accessorList.(@name == attribName)[0]; attribType = accessor.@type; attribValue = attrib.toString(); if (attribType == "int"){ filterInstance[attribName] = parseInt(attribValue); } else { if (attribType == "uint"){ filterInstance[attribName] = (parseInt(attribValue) as uint); uintValue = (parseInt(attribValue) as uint); } else { if (attribType == "Number"){ filterInstance[attribName] = Number(attribValue); } else { if (attribType == "Boolean"){ filterInstance[attribName] = (attribValue == "true"); } else { if (attribType == "Array"){ attribValue = attribValue.substring(1, (attribValue.length - 1)); valuesArray = null; if ((((attribName == "ratios")) || ((attribName == "colors")))){ valuesArray = splitUint(attribValue); } else { if (attribName == "alphas"){ valuesArray = splitNumber(attribValue); }; }; if (attribName == "ratios"){ ratios = valuesArray; } else { if (valuesArray){ filterInstance[attribName] = valuesArray; }; }; } else { if (attribType == "String"){ filterInstance[attribName] = attribValue; }; }; }; }; }; }; }; if (ratios.length){ filterInstance["ratios"] = ratios; }; filtersArray.push(filterInstance); }; }; } else { if (name == "color"){ this.color = Color.fromXML(child); }; }; }; this.filters = filtersArray; }; return (this); } override public function get tweensLength():int{ return (this.tweens.length); } override protected function hasTween():Boolean{ return (!((this.getTween() == null))); } public function getTween(_arg1:String=""):ITween{ var _local2:ITween; for each (_local2 in this.tweens) { if ((((((((_local2.target == _arg1)) || ((((_local2.target == "rotation")) && ((((_arg1 == "skewX")) || ((_arg1 == "skewY")))))))) || ((((_local2.target == "position")) && ((((_arg1 == "x")) || ((_arg1 == "y")))))))) || ((((_local2.target == "scale")) && ((((_arg1 == "scaleX")) || ((_arg1 == "scaleY")))))))){ return (_local2); }; }; return (null); } private static function splitNumber(_arg1:String):Array{ var _local2:Array = _arg1.split(","); var _local3:int; while (_local3 < _local2.length) { _local2[_local3] = Number(_local2[_local3]); _local3++; }; return (_local2); } private static function splitUint(_arg1:String):Array{ var _local2:Array = _arg1.split(","); var _local3:int; while (_local3 < _local2.length) { _local2[_local3] = (parseInt(_local2[_local3]) as uint); _local3++; }; return (_local2); } private static function splitInt(_arg1:String):Array{ var _local2:Array = _arg1.split(","); var _local3:int; while (_local3 < _local2.length) { _local2[_local3] = (parseInt(_local2[_local3]) as int); _local3++; }; return (_local2); } } }//package fl.motion
Section 30
//KeyframeBase (fl.motion.KeyframeBase) package fl.motion { import flash.display.*; import flash.filters.*; import flash.utils.*; public class KeyframeBase { public var y:Number;// = NAN public var filters:Array; public var skewX:Number;// = NAN public var skewY:Number;// = NAN public var blendMode:String; public var useRotationConcat:Boolean;// = false public var rotationX:Number;// = NAN public var rotationY:Number;// = NAN public var firstFrame:String; public var cacheAsBitmap:Boolean;// = false public var rotateTimes:uint;// = 0 public var loop:String; public var rotationConcat:Number;// = NAN public var scaleX:Number;// = NAN public var scaleY:Number;// = NAN private var _index:int;// = -1 public var blank:Boolean;// = false public var adjustColorObjects:Dictionary;// = null public var color:Color; public var orientToPath:Boolean;// = false public var rotateDirection:String;// = "auto" public var label:String;// = "" public var x:Number;// = NAN public var matrix3D:Object;// = null public var z:Number;// = NAN public function KeyframeBase(_arg1:XML=null){ this.blendMode = BlendMode.NORMAL; super(); this.filters = []; this.adjustColorObjects = new Dictionary(); } public function set index(_arg1:int):void{ this._index = ((_arg1)<0) ? 0 : _arg1; if (this._index == 0){ this.setDefaults(); }; } public function getValue(_arg1:String):Number{ return (Number(this[_arg1])); } public function setValue(_arg1:String, _arg2:Number):void{ this[_arg1] = _arg2; } public function get index():int{ return (this._index); } private function setDefaults():void{ if (isNaN(this.x)){ this.x = 0; }; if (isNaN(this.y)){ this.y = 0; }; if (isNaN(this.z)){ this.z = 0; }; if (isNaN(this.scaleX)){ this.scaleX = 1; }; if (isNaN(this.scaleY)){ this.scaleY = 1; }; if (isNaN(this.skewX)){ this.skewX = 0; }; if (isNaN(this.skewY)){ this.skewY = 0; }; if (isNaN(this.rotationConcat)){ this.rotationConcat = 0; }; if (!this.color){ this.color = new Color(); }; } public function setAdjustColorProperty(_arg1:int, _arg2:String, _arg3):void{ var _local5:ColorMatrixFilter; var _local6:Array; if (_arg1 >= this.filters.length){ return; }; var _local4:AdjustColor = this.adjustColorObjects[_arg1]; if (_local4 == null){ _local4 = new AdjustColor(); this.adjustColorObjects[_arg1] = _local4; }; switch (_arg2){ case "adjustColorBrightness": _local4.brightness = _arg3; break; case "adjustColorContrast": _local4.contrast = _arg3; break; case "adjustColorSaturation": _local4.saturation = _arg3; break; case "adjustColorHue": _local4.hue = _arg3; break; }; if (_local4.AllValuesAreSet()){ _local5 = (this.filters[_arg1] as ColorMatrixFilter); if (_local5){ _local6 = _local4.CalculateFinalFlatArray(); if (_local6){ _local5.matrix = _local6; }; }; }; } public function affectsTweenable(_arg1:String=""):Boolean{ return (((((((((((((!(_arg1)) || (!(isNaN(this[_arg1]))))) || ((((_arg1 == "color")) && (this.color))))) || ((((_arg1 == "filters")) && (this.filters.length))))) || ((((_arg1 == "matrix3D")) && (this.matrix3D))))) || (this.blank))) || (this.hasTween()))); } public function get tweensLength():int{ return (0); } protected function hasTween():Boolean{ return (false); } public function set rotation(_arg1:Number):void{ if (((isNaN(this.skewX)) || (isNaN(this.skewY)))){ this.skewX = _arg1; } else { this.skewX = (this.skewX + (_arg1 - this.skewY)); }; this.skewY = _arg1; } public function get rotation():Number{ return (this.skewY); } } }//package fl.motion
Section 31
//MatrixTransformer (fl.motion.MatrixTransformer) package fl.motion { import flash.geom.*; public class MatrixTransformer { public static function getSkewY(_arg1:Matrix):Number{ return ((Math.atan2(_arg1.b, _arg1.a) * (180 / Math.PI))); } public static function getScaleX(_arg1:Matrix):Number{ return (Math.sqrt(((_arg1.a * _arg1.a) + (_arg1.b * _arg1.b)))); } public static function getScaleY(_arg1:Matrix):Number{ return (Math.sqrt(((_arg1.c * _arg1.c) + (_arg1.d * _arg1.d)))); } public static function setSkewXRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number = getScaleY(_arg1); _arg1.c = (-(_local3) * Math.sin(_arg2)); _arg1.d = (_local3 * Math.cos(_arg2)); } public static function setRotation(_arg1:Matrix, _arg2:Number):void{ setRotationRadians(_arg1, (_arg2 * (Math.PI / 180))); } public static function rotateAroundInternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Point = new Point(_arg2, _arg3); _local5 = _arg1.transformPoint(_local5); _arg1.tx = (_arg1.tx - _local5.x); _arg1.ty = (_arg1.ty - _local5.y); _arg1.rotate((_arg4 * (Math.PI / 180))); _arg1.tx = (_arg1.tx + _local5.x); _arg1.ty = (_arg1.ty + _local5.y); } public static function setSkewX(_arg1:Matrix, _arg2:Number):void{ setSkewXRadians(_arg1, (_arg2 * (Math.PI / 180))); } public static function setSkewY(_arg1:Matrix, _arg2:Number):void{ setSkewYRadians(_arg1, (_arg2 * (Math.PI / 180))); } public static function setScaleX(_arg1:Matrix, _arg2:Number):void{ var _local4:Number; var _local5:Number; var _local3:Number = getScaleX(_arg1); if (_local3){ _local4 = (_arg2 / _local3); _arg1.a = (_arg1.a * _local4); _arg1.b = (_arg1.b * _local4); } else { _local5 = getSkewYRadians(_arg1); _arg1.a = (Math.cos(_local5) * _arg2); _arg1.b = (Math.sin(_local5) * _arg2); }; } public static function setScaleY(_arg1:Matrix, _arg2:Number):void{ var _local4:Number; var _local5:Number; var _local3:Number = getScaleY(_arg1); if (_local3){ _local4 = (_arg2 / _local3); _arg1.c = (_arg1.c * _local4); _arg1.d = (_arg1.d * _local4); } else { _local5 = getSkewXRadians(_arg1); _arg1.c = (-(Math.sin(_local5)) * _arg2); _arg1.d = (Math.cos(_local5) * _arg2); }; } public static function setRotationRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number = getRotationRadians(_arg1); var _local4:Number = getSkewXRadians(_arg1); setSkewXRadians(_arg1, ((_local4 + _arg2) - _local3)); setSkewYRadians(_arg1, _arg2); } public static function setSkewYRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number = getScaleX(_arg1); _arg1.a = (_local3 * Math.cos(_arg2)); _arg1.b = (_local3 * Math.sin(_arg2)); } public static function getSkewX(_arg1:Matrix):Number{ return ((Math.atan2(-(_arg1.c), _arg1.d) * (180 / Math.PI))); } public static function getSkewYRadians(_arg1:Matrix):Number{ return (Math.atan2(_arg1.b, _arg1.a)); } public static function getSkewXRadians(_arg1:Matrix):Number{ return (Math.atan2(-(_arg1.c), _arg1.d)); } public static function getRotation(_arg1:Matrix):Number{ return ((getRotationRadians(_arg1) * (180 / Math.PI))); } public static function rotateAroundExternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{ _arg1.tx = (_arg1.tx - _arg2); _arg1.ty = (_arg1.ty - _arg3); _arg1.rotate((_arg4 * (Math.PI / 180))); _arg1.tx = (_arg1.tx + _arg2); _arg1.ty = (_arg1.ty + _arg3); } public static function getRotationRadians(_arg1:Matrix):Number{ return (getSkewYRadians(_arg1)); } public static function matchInternalPointWithExternal(_arg1:Matrix, _arg2:Point, _arg3:Point):void{ var _local4:Point = _arg1.transformPoint(_arg2); var _local5:Number = (_arg3.x - _local4.x); var _local6:Number = (_arg3.y - _local4.y); _arg1.tx = (_arg1.tx + _local5); _arg1.ty = (_arg1.ty + _local6); } } }//package fl.motion
Section 32
//Motion (fl.motion.Motion) package fl.motion { import flash.geom.*; import flash.filters.*; import flash.utils.*; public class Motion extends MotionBase { public var source:Source; private var _keyframesCompact:Array; private static var typeCache:Object = {}; public function Motion(_arg1:XML=null){ var _local2:Keyframe; super(); this.keyframes = []; this.parseXML(_arg1); if (!this.source){ this.source = new Source(); }; if (this.duration == 0){ _local2 = (this.getNewKeyframe() as Keyframe); _local2.index = 0; this.addKeyframe(_local2); }; } override protected function findTweenedValue(_arg1:Number, _arg2:String, _arg3:KeyframeBase, _arg4:Number, _arg5:Number):Number{ var _local10:Number; var _local11:Number; var _local12:Number; var _local6:Keyframe = (_arg3 as Keyframe); if (!_local6){ return (NaN); }; var _local7:ITween = ((_local6.getTween(_arg2)) || (_local6.getTween())); if (((((!(_local7)) || (((!(_local6.tweenScale)) && ((((_arg2 == Tweenables.SCALE_X)) || ((_arg2 == Tweenables.SCALE_Y)))))))) || ((((_local6.rotateDirection == RotateDirection.NONE)) && ((((((_arg2 == Tweenables.ROTATION)) || ((_arg2 == Tweenables.SKEW_X)))) || ((_arg2 == Tweenables.SKEW_Y)))))))){ return (_arg5); }; var _local8:String = _arg2; if (_local7.target == ""){ _local8 = ""; }; var _local9:Keyframe = (this.getNextKeyframe(_arg1, _local8) as Keyframe); if (((!(_local9)) || (_local9.blank))){ return (_arg5); }; _local10 = _local9.getValue(_arg2); if (isNaN(_local10)){ _local10 = _arg5; }; _local11 = (_local10 - _arg5); if ((((((_arg2 == Tweenables.SKEW_X)) || ((_arg2 == Tweenables.SKEW_Y)))) || ((_arg2 == Tweenables.ROTATION)))){ if (_local6.rotateDirection == RotateDirection.AUTO){ _local11 = (_local11 % 360); if (_local11 > 180){ _local11 = (_local11 - 360); } else { if (_local11 < -180){ _local11 = (_local11 + 360); }; }; } else { if (_local6.rotateDirection == RotateDirection.CW){ if (_local11 < 0){ _local11 = ((_local11 % 360) + 360); }; _local11 = (_local11 + (_local6.rotateTimes * 360)); } else { if (_local11 > 0){ _local11 = ((_local11 % 360) - 360); }; _local11 = (_local11 - (_local6.rotateTimes * 360)); }; }; }; _local12 = (_local9.index - _local6.index); return (_local7.getValue(_arg4, _arg5, _local11, _local12)); } private function parseXML(_arg1:XML):Motion{ var _local4:XML; var _local5:XML; if (!_arg1){ return (this); }; if (_arg1.@duration.length()){ this.duration = parseInt(_arg1.@duration); }; var _local2:XMLList = _arg1.elements(); var _local3:Number = 0; while (_local3 < _local2.length()) { _local4 = _local2[_local3]; if (_local4.localName() == "source"){ _local5 = _local4.children()[0]; this.source = new Source(_local5); } else { if (_local4.localName() == "Keyframe"){ this.addKeyframe(this.getNewKeyframe(_local4)); }; }; _local3++; }; return (this); } override public function getFilters(_arg1:Number):Array{ var _local7:Keyframe; var _local8:Array; var _local9:Number; var _local10:Number; var _local2:Array; var _local3:Keyframe = (this.getCurrentKeyframe(_arg1, "filters") as Keyframe); if (((!(_local3)) || (((_local3.filters) && (!(_local3.filters.length)))))){ return ([]); }; var _local4:Array = _local3.filters; var _local5:Number = (_arg1 - _local3.index); var _local6:ITween = ((_local3.getTween("filters")) || (_local3.getTween())); if ((((_local5 == 0)) || (!(_local6)))){ _local2 = _local4; } else { if (_local6){ _local7 = (this.getNextKeyframe(_arg1, "filters") as Keyframe); if (((!(_local7)) || (!(_local7.filters.length)))){ _local2 = _local4; } else { _local8 = _local7.filters; _local9 = (_local7.index - _local3.index); _local10 = _local6.getValue(_local5, 0, 1, _local9); _local2 = interpolateFilters(_local4, _local8, _local10); }; }; }; return (_local2); } override protected function getNewKeyframe(_arg1:XML=null):KeyframeBase{ return (new Keyframe(_arg1)); } public function set keyframesCompact(_arg1:Array):void{ var _local2:KeyframeBase; this._keyframesCompact = _arg1.concat(); this.keyframes = []; for each (_local2 in this._keyframesCompact) { this.addKeyframe(_local2); }; } public function get keyframesCompact():Array{ var _local1:KeyframeBase; this._keyframesCompact = []; for each (_local1 in this.keyframes) { if (_local1){ this._keyframesCompact.push(_local1); }; }; return (this._keyframesCompact); } override public function getColorTransform(_arg1:int):ColorTransform{ var _local7:Keyframe; var _local8:ColorTransform; var _local9:Number; var _local10:Number; var _local2:ColorTransform; var _local3:Keyframe = (this.getCurrentKeyframe(_arg1, "color") as Keyframe); if (((!(_local3)) || (!(_local3.color)))){ return (null); }; var _local4:ColorTransform = _local3.color; var _local5:Number = (_arg1 - _local3.index); var _local6:ITween = ((((_local3.getTween("color")) || (_local3.getTween("alpha")))) || (_local3.getTween())); if ((((_local5 == 0)) || (!(_local6)))){ _local2 = _local4; } else { if (_local6){ _local7 = (this.getNextKeyframe(_arg1, "color") as Keyframe); if (((!(_local7)) || (!(_local7.color)))){ _local2 = _local4; } else { _local8 = _local7.color; _local9 = (_local7.index - _local3.index); _local10 = _local6.getValue(_local5, 0, 1, _local9); _local2 = Color.interpolateTransform(_local4, _local8, _local10); }; }; }; return (_local2); } private static function getTypeInfo(_arg1):XML{ var _local2 = ""; if ((_arg1 is String)){ _local2 = _arg1; } else { _local2 = getQualifiedClassName(_arg1); }; if ((_local2 in typeCache)){ return (typeCache[_local2]); }; if ((_arg1 is String)){ _arg1 = getDefinitionByName(_arg1); }; return ((typeCache[_local2] = describeType(_arg1))); } public static function interpolateFilter(_arg1:BitmapFilter, _arg2:BitmapFilter, _arg3:Number):BitmapFilter{ var _local8:XML; var _local9:String; var _local10:String; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:int; var _local20:int; var _local21:int; var _local22:Number; var _local23:uint; var _local24:Number; var _local25:int; var _local26:Number; var _local27:uint; var _local28:Number; var _local29:int; var _local30:uint; var _local31:Number; if (((!(_arg2)) || (!((_arg1["constructor"] == _arg2["constructor"]))))){ return (_arg1); }; if (_arg3 > 1){ _arg3 = 1; } else { if (_arg3 < 0){ _arg3 = 0; }; }; var _local4:Number = (1 - _arg3); var _local5:BitmapFilter = _arg1.clone(); var _local6:XML = getTypeInfo(_arg1); var _local7:XMLList = _local6.accessor; for each (_local8 in _local7) { _local9 = _local8.@name.toString(); _local10 = _local8.@type; if ((((_local10 == "Number")) || ((_local10 == "int")))){ _local5[_local9] = ((_arg1[_local9] * _local4) + (_arg2[_local9] * _arg3)); } else { if (_local10 == "uint"){ switch (_local9){ case "color": case "highlightColor": case "shadowColor": _local11 = _arg1[_local9]; _local12 = _arg2[_local9]; _local13 = Color.interpolateColor(_local11, _local12, _arg3); _local5[_local9] = _local13; break; default: _local5[_local9] = ((_arg1[_local9] * _local4) + (_arg2[_local9] * _arg3)); break; }; }; }; }; if ((((_arg1 is GradientGlowFilter)) || ((_arg1 is GradientBevelFilter)))){ _local14 = []; _local15 = []; _local16 = []; _local17 = _arg1["ratios"].length; _local18 = _arg2["ratios"].length; _local19 = Math.max(_local17, _local18); _local20 = 0; while (_local20 < _local19) { _local21 = Math.min(_local20, (_local17 - 1)); _local22 = _arg1["ratios"][_local21]; _local23 = _arg1["colors"][_local21]; _local24 = _arg1["alphas"][_local21]; _local25 = Math.min(_local20, (_local18 - 1)); _local26 = _arg2["ratios"][_local25]; _local27 = _arg2["colors"][_local25]; _local28 = _arg2["alphas"][_local25]; _local29 = ((_local22 * _local4) + (_local26 * _arg3)); _local30 = Color.interpolateColor(_local23, _local27, _arg3); _local31 = ((_local24 * _local4) + (_local28 * _arg3)); _local14[_local20] = _local29; _local15[_local20] = _local30; _local16[_local20] = _local31; _local20++; }; _local5["colors"] = _local15; _local5["alphas"] = _local16; _local5["ratios"] = _local14; }; return (_local5); } public static function interpolateFilters(_arg1:Array, _arg2:Array, _arg3:Number):Array{ var _local6:BitmapFilter; var _local7:BitmapFilter; var _local8:BitmapFilter; if (_arg1.length != _arg2.length){ return (null); }; var _local4:Array = []; var _local5:int; while (_local5 < _arg1.length) { _local6 = _arg1[_local5]; _local7 = _arg2[_local5]; _local8 = interpolateFilter(_local6, _local7, _arg3); if (_local8){ _local4.push(_local8); }; _local5++; }; return (_local4); } public static function fromXMLString(_arg1:String):Motion{ var _local2:XML = new XML(_arg1); return (new Motion(_local2)); } } }//package fl.motion
Section 33
//MotionBase (fl.motion.MotionBase) package fl.motion { import flash.geom.*; import flash.filters.*; import flash.utils.*; public class MotionBase { private var _is3D:Boolean;// = false public var keyframes:Array; private var _overrideSkew:Boolean; private var _overrideScale:Boolean; private var _overrideRotate:Boolean; private var _duration:int;// = 0 public function MotionBase(_arg1:XML=null){ var _local2:KeyframeBase; super(); this.keyframes = []; if (this.duration == 0){ _local2 = this.getNewKeyframe(); _local2.index = 0; this.addKeyframe(_local2); }; this._overrideScale = false; this._overrideSkew = false; this._overrideRotate = false; } public function addKeyframe(_arg1:KeyframeBase):void{ this.keyframes[_arg1.index] = _arg1; if (this.duration < this.keyframes.length){ this.duration = this.keyframes.length; }; } public function initFilters(_arg1:Array, _arg2:Array, _arg3:int=-1, _arg4:int=-1):void{ var _local6:Class; var _local7:int; var _local8:KeyframeBase; var _local9:BitmapFilter; var _local10:int; if ((((_arg3 == -1)) || ((_arg4 == -1)))){ _arg3 = 0; _arg4 = this.duration; }; var _local5:int; while (_local5 < _arg1.length) { _local6 = (getDefinitionByName(_arg1[_local5]) as Class); _local7 = _arg3; while (_local7 < _arg4) { _local8 = KeyframeBase(this.keyframes[_local7]); if (_local8 == null){ _local8 = this.getNewKeyframe(); _local8.index = _local7; this.addKeyframe(_local8); }; if (((_local8) && ((_local8.filters == null)))){ _local8.filters = new Array(); }; if (((_local8) && (_local8.filters))){ _local9 = null; switch (_arg1[_local5]){ case "flash.filters.GradientBevelFilter": case "flash.filters.GradientGlowFilter": _local10 = _arg2[_local5]; _local9 = BitmapFilter(new _local6(4, 45, new Array(_local10), new Array(_local10), new Array(_local10))); break; default: _local9 = BitmapFilter(new (_local6)); break; }; if (_local9){ _local8.filters.push(_local9); }; }; _local7++; }; _local5++; }; } public function getCurrentKeyframe(_arg1:int, _arg2:String=""):KeyframeBase{ var _local4:KeyframeBase; if (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))){ return (null); }; var _local3:int = _arg1; while (_local3 > 0) { _local4 = this.keyframes[_local3]; if (((_local4) && (_local4.affectsTweenable(_arg2)))){ return (_local4); }; _local3--; }; return (this.keyframes[0]); } public function addFilterPropertyArray(_arg1:int, _arg2:String, _arg3:Array, _arg4:int=-1, _arg5:int=-1):void{ var _local10:KeyframeBase; var _local11:*; var _local12:int; var _local6:int = _arg3.length; var _local7:* = null; var _local8:Boolean; if (_local6 > 0){ if ((_arg3[0] is Number)){ _local8 = false; }; }; if (this.duration < _local6){ this.duration = _local6; }; if ((((_arg4 == -1)) || ((_arg5 == -1)))){ _arg4 = 0; _arg5 = this.duration; }; var _local9:int = _arg4; while (_local9 < _arg5) { _local10 = KeyframeBase(this.keyframes[_local9]); if (_local10 == null){ _local10 = this.getNewKeyframe(); _local10.index = _local9; this.addKeyframe(_local10); }; _local11 = _local7; _local12 = (_local9 - _arg4); if (_local12 < _arg3.length){ if (((_arg3[_local12]) || (!(_local8)))){ _local11 = _arg3[_local12]; }; }; switch (_arg2){ case "adjustColorBrightness": case "adjustColorContrast": case "adjustColorSaturation": case "adjustColorHue": _local10.setAdjustColorProperty(_arg1, _arg2, _local11); break; default: if (_arg1 < _local10.filters.length){ _local10.filters[_arg1][_arg2] = _local11; }; break; }; _local7 = _local11; _local9++; }; } public function get duration():int{ if (this._duration < this.keyframes.length){ this._duration = this.keyframes.length; }; return (this._duration); } public function useRotationConcat(_arg1:int):Boolean{ var _local2:KeyframeBase = this.getCurrentKeyframe(_arg1, "rotationConcat"); return ((_local2) ? _local2.useRotationConcat : false); } public function get is3D():Boolean{ return (this._is3D); } public function getFilters(_arg1:Number):Array{ var _local2:Array; var _local3:KeyframeBase = this.getCurrentKeyframe(_arg1, "filters"); if (((!(_local3)) || (((_local3.filters) && (!(_local3.filters.length)))))){ return ([]); }; var _local4:Array = _local3.filters; var _local5:Number = (_arg1 - _local3.index); if (_local5 == 0){ _local2 = _local4; }; return (_local2); } protected function findTweenedValue(_arg1:Number, _arg2:String, _arg3:KeyframeBase, _arg4:Number, _arg5:Number):Number{ return (NaN); } public function addPropertyArray(_arg1:String, _arg2:Array, _arg3:int=-1, _arg4:int=-1):void{ var _local10:KeyframeBase; var _local11:*; var _local12:int; var _local13:*; var _local5:int = _arg2.length; var _local6:* = null; var _local7:Boolean; var _local8:Number = 0; if (_local5 > 0){ if ((_arg2[0] is Number)){ _local7 = false; if ((_arg2[0] is Number)){ _local8 = Number(_arg2[0]); }; }; }; if (this.duration < _local5){ this.duration = _local5; }; if ((((_arg3 == -1)) || ((_arg4 == -1)))){ _arg3 = 0; _arg4 = this.duration; }; var _local9:int = _arg3; while (_local9 < _arg4) { _local10 = KeyframeBase(this.keyframes[_local9]); if (_local10 == null){ _local10 = this.getNewKeyframe(); _local10.index = _local9; this.addKeyframe(_local10); }; if (((_local10.filters) && ((_local10.filters.length == 0)))){ _local10.filters = null; }; _local11 = _local6; _local12 = (_local9 - _arg3); if (_local12 < _arg2.length){ if (((_arg2[_local12]) || (!(_local7)))){ _local11 = _arg2[_local12]; }; }; switch (_arg1){ case "blendMode": _local10.blendMode = _local11; break; case "matrix3D": _local10[_arg1] = _local11; break; case "rotationConcat": _local10.useRotationConcat = true; if (((!(this._overrideRotate)) && (!(_local7)))){ _local10.setValue(_arg1, (((_local11 - _local8) * Math.PI) / 180)); } else { _local10.setValue(_arg1, ((_local11 * Math.PI) / 180)); }; break; case "brightness": case "tintMultiplier": case "tintColor": case "alphaMultiplier": case "alphaOffset": case "redMultiplier": case "redOffset": case "greenMultiplier": case "greenOffset": case "blueMultiplier": case "blueOffset": if (_local10.color == null){ _local10.color = new Color(); }; _local10.color[_arg1] = _local11; break; case "rotationZ": _local10.useRotationConcat = true; this._is3D = true; if (((!(this._overrideRotate)) && (!(_local7)))){ _local10.setValue("rotationConcat", (_local11 - _local8)); } else { _local10.setValue("rotationConcat", _local11); }; break; case "rotationX": case "rotationY": case "z": this._is3D = true; default: _local13 = _local11; if (!_local7){ switch (_arg1){ case "scaleX": case "scaleY": if (!this._overrideScale){ if (_local8 == 0){ _local13 = (_local11 + 1); } else { _local13 = (_local11 / _local8); }; }; break; case "skewX": case "skewY": if (!this._overrideSkew){ _local13 = (_local11 - _local8); }; break; case "rotationX": case "rotationY": if (!this._overrideRotate){ _local13 = (_local11 - _local8); }; break; }; }; _local10.setValue(_arg1, _local13); break; }; _local6 = _local11; _local9++; }; } public function getMatrix3D(_arg1:int):Object{ var _local2:KeyframeBase = this.getCurrentKeyframe(_arg1, "matrix3D"); return ((_local2) ? _local2.matrix3D : null); } public function setValue(_arg1:int, _arg2:String, _arg3:Number):void{ if (_arg1 == 0){ return; }; var _local4:KeyframeBase = this.keyframes[_arg1]; if (!_local4){ _local4 = this.getNewKeyframe(); _local4.index = _arg1; this.addKeyframe(_local4); }; _local4.setValue(_arg2, _arg3); } private function indexOutOfRange(_arg1:int):Boolean{ return (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))); } public function overrideTargetTransform(_arg1:Boolean=true, _arg2:Boolean=true, _arg3:Boolean=true):void{ this._overrideScale = _arg1; this._overrideSkew = _arg2; this._overrideRotate = _arg3; } public function set duration(_arg1:int):void{ if (_arg1 < this.keyframes.length){ _arg1 = this.keyframes.length; }; this._duration = _arg1; } protected function getNewKeyframe(_arg1:XML=null):KeyframeBase{ return (new KeyframeBase(_arg1)); } public function getValue(_arg1:Number, _arg2:String):Number{ var _local3:Number = NaN; var _local4:KeyframeBase = this.getCurrentKeyframe(_arg1, _arg2); if (((!(_local4)) || (_local4.blank))){ return (NaN); }; var _local5:Number = _local4.getValue(_arg2); if (((isNaN(_local5)) && ((_local4.index > 0)))){ _local5 = this.getValue((_local4.index - 1), _arg2); }; if (isNaN(_local5)){ return (NaN); }; var _local6:Number = (_arg1 - _local4.index); if (_local6 == 0){ return (_local5); }; _local3 = this.findTweenedValue(_arg1, _arg2, _local4, _local6, _local5); return (_local3); } public function set is3D(_arg1:Boolean):void{ this._is3D = _arg1; } public function getNextKeyframe(_arg1:int, _arg2:String=""):KeyframeBase{ var _local4:KeyframeBase; if (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))){ return (null); }; var _local3:int = (_arg1 + 1); while (_local3 < this.keyframes.length) { _local4 = this.keyframes[_local3]; if (((_local4) && (_local4.affectsTweenable(_arg2)))){ return (_local4); }; _local3++; }; return (null); } public function getColorTransform(_arg1:int):ColorTransform{ var _local2:ColorTransform; var _local3:KeyframeBase = this.getCurrentKeyframe(_arg1, "color"); if (((!(_local3)) || (!(_local3.color)))){ return (null); }; var _local4:ColorTransform = _local3.color; var _local5:Number = (_arg1 - _local3.index); if (_local5 == 0){ _local2 = _local4; }; return (_local2); } } }//package fl.motion
Section 34
//MotionEvent (fl.motion.MotionEvent) package fl.motion { import flash.events.*; public class MotionEvent extends Event { public static const MOTION_UPDATE:String = "motionUpdate"; public static const TIME_CHANGE:String = "timeChange"; public static const MOTION_START:String = "motionStart"; public static const MOTION_END:String = "motionEnd"; public function MotionEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new MotionEvent(this.type, this.bubbles, this.cancelable)); } } }//package fl.motion
Section 35
//RotateDirection (fl.motion.RotateDirection) package fl.motion { public class RotateDirection { public static const CW:String = "cw"; public static const CCW:String = "ccw"; public static const NONE:String = "none"; public static const AUTO:String = "auto"; } }//package fl.motion
Section 36
//SimpleEase (fl.motion.SimpleEase) package fl.motion { public class SimpleEase implements ITween { private var _ease:Number;// = 0 private var _target:String;// = "" public function SimpleEase(_arg1:XML=null){ this.parseXML(_arg1); } public function set target(_arg1:String):void{ this._target = _arg1; } private function parseXML(_arg1:XML=null):SimpleEase{ if (_arg1){ if (_arg1.@ease.length()){ this.ease = Number(_arg1.@ease); }; if (_arg1.@target.length()){ this.target = _arg1.@target; }; }; return (this); } public function get ease():Number{ return (this._ease); } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (easeQuadPercent(_arg1, _arg2, _arg3, _arg4, this.ease)); } public function set ease(_arg1:Number):void{ this._ease = ((_arg1 > 1)) ? 1 : ((_arg1 < -1)) ? -1 : (isNaN(_arg1)) ? 0 : _arg1; } public static function easeQuadPercent(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ if (_arg4 <= 0){ return (NaN); }; if (_arg1 <= 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 >= 1){ return ((_arg2 + _arg3)); }; if (!_arg5){ return (((_arg3 * _arg1) + _arg2)); }; if (_arg5 > 1){ _arg5 = 1; } else { if (_arg5 < -1){ _arg5 = -1; }; }; if (_arg5 < 0){ return ((((_arg3 * _arg1) * ((_arg1 * -(_arg5)) + (1 + _arg5))) + _arg2)); }; return ((((_arg3 * _arg1) * (((2 - _arg1) * _arg5) + (1 - _arg5))) + _arg2)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg4 <= 0){ return (NaN); }; if (_arg1 <= 0){ return (_arg2); }; if (_arg1 >= _arg4){ return ((_arg2 + _arg3)); }; return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package fl.motion
Section 37
//Source (fl.motion.Source) package fl.motion { import flash.geom.*; public class Source { public var instanceName:String;// = "" public var symbolName:String;// = "" public var dimensions:Rectangle; public var scaleX:Number;// = 1 public var skewX:Number;// = 0 public var skewY:Number;// = 0 public var elementType:String;// = "" public var transformationPoint:Point; public var linkageID:String;// = "" public var scaleY:Number;// = 1 public var frameRate:Number;// = NAN public var x:Number;// = 0 public var y:Number;// = 0 public var rotation:Number;// = 0 public function Source(_arg1:XML=null){ this.parseXML(_arg1); } private function parseXML(_arg1:XML=null):Source{ var _local3:XML; var _local4:XML; var _local5:XML; if (!_arg1){ return (this); }; if (_arg1.@instanceName){ this.instanceName = String(_arg1.@instanceName); }; if (_arg1.@symbolName){ this.symbolName = String(_arg1.@symbolName); }; if (_arg1.@linkageID){ this.linkageID = String(_arg1.@linkageID); }; if (!isNaN(_arg1.@frameRate)){ this.frameRate = Number(_arg1.@frameRate); }; var _local2:XMLList = _arg1.elements(); for each (_local3 in _local2) { if (_local3.localName() == "transformationPoint"){ _local4 = _local3.children()[0]; this.transformationPoint = new Point(Number(_local4.@x), Number(_local4.@y)); } else { if (_local3.localName() == "dimensions"){ _local5 = _local3.children()[0]; this.dimensions = new Rectangle(Number(_local5.@left), Number(_local5.@top), Number(_local5.@width), Number(_local5.@height)); }; }; }; return (this); } } }//package fl.motion
Section 38
//Tweenables (fl.motion.Tweenables) package fl.motion { public class Tweenables { public static const SCALE_X:String = "scaleX"; public static const SCALE_Y:String = "scaleY"; public static const SKEW_X:String = "skewX"; public static const SKEW_Y:String = "skewY"; public static const ROTATION_CONCAT:String = "rotationConcat"; public static const ROTATION_X:String = "rotationX"; public static const X:String = "x"; public static const Y:String = "y"; public static const Z:String = "z"; public static const ROTATION:String = "rotation"; public static const ROTATION_Y:String = "rotationY"; } }//package fl.motion

Library Items

Symbol 1 BitmapUsed by:2
Symbol 2 GraphicUses:1Used by:3
Symbol 3 MovieClipUses:2Used by:Timeline
Symbol 4 BitmapUsed by:5
Symbol 5 GraphicUses:4Used by:12
Symbol 6 BitmapUsed by:7
Symbol 7 GraphicUses:6Used by:8
Symbol 8 MovieClipUses:7Used by:9
Symbol 9 MovieClipUses:8Used by:12
Symbol 10 BitmapUsed by:11
Symbol 11 GraphicUses:10Used by:12
Symbol 12 MovieClipUses:5 9 11Used by:Timeline
Symbol 13 BitmapUsed by:14 15 16 18 20 21
Symbol 14 GraphicUses:13Used by:22
Symbol 15 GraphicUses:13Used by:22
Symbol 16 GraphicUses:13Used by:17
Symbol 17 MovieClipUses:16Used by:22
Symbol 18 GraphicUses:13Used by:19 22
Symbol 19 MovieClipUses:18Used by:22
Symbol 20 GraphicUses:13Used by:22
Symbol 21 GraphicUses:13Used by:22
Symbol 22 MovieClipUses:14 15 17 19 20 18 21Used by:Timeline
Symbol 23 BitmapUsed by:24 25 26
Symbol 24 GraphicUses:23Used by:27
Symbol 25 GraphicUses:23Used by:27
Symbol 26 GraphicUses:23Used by:27
Symbol 27 ButtonUses:24 25 26Used by:Timeline
Symbol 28 BitmapUsed by:29 30 31
Symbol 29 GraphicUses:28Used by:32
Symbol 30 GraphicUses:28Used by:32
Symbol 31 GraphicUses:28Used by:32
Symbol 32 ButtonUses:29 30 31Used by:Timeline
Symbol 33 FontUsed by:34
Symbol 34 EditableTextUses:33Used by:35
Symbol 35 ButtonUses:34Used by:38
Symbol 36 GraphicUsed by:37
Symbol 37 ButtonUses:36Used by:38
Symbol 38 MovieClip {Again_fla.startgame_10}Uses:35 37Used by:Timeline
Symbol 39 GraphicUsed by:Timeline
Symbol 40 FontUsed by:41
Symbol 41 TextUses:40Used by:46
Symbol 42 BitmapUsed by:43
Symbol 43 GraphicUses:42Used by:44
Symbol 44 MovieClipUses:43Used by:45
Symbol 45 MovieClipUses:44Used by:46
Symbol 46 MovieClipUses:41 45Used by:57
Symbol 47 BitmapUsed by:48 53
Symbol 48 GraphicUses:47Used by:54
Symbol 49 BitmapUsed by:50
Symbol 50 GraphicUses:49Used by:54
Symbol 51 BitmapUsed by:52
Symbol 52 GraphicUses:51Used by:54
Symbol 53 GraphicUses:47Used by:54
Symbol 54 MovieClipUses:48 50 52 53Used by:57
Symbol 55 GraphicUsed by:56
Symbol 56 ButtonUses:55Used by:57
Symbol 57 MovieClip {Again_fla.Symbol76_15}Uses:46 54 56Used by:167
Symbol 58 BitmapUsed by:59
Symbol 59 GraphicUses:58Used by:167
Symbol 60 BitmapUsed by:61 63 66 69 72 75 76 80 82 84 87 90 92 94 97 100 103 106 109 111 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 146 149 151 154 158 161 164
Symbol 61 GraphicUses:60Used by:62
Symbol 62 MovieClipUses:61Used by:167
Symbol 63 GraphicUses:60Used by:64
Symbol 64 MovieClipUses:63Used by:65
Symbol 65 MovieClipUses:64Used by:167
Symbol 66 GraphicUses:60Used by:67
Symbol 67 MovieClipUses:66Used by:68
Symbol 68 MovieClipUses:67Used by:167
Symbol 69 GraphicUses:60Used by:70
Symbol 70 MovieClipUses:69Used by:71
Symbol 71 MovieClipUses:70Used by:167
Symbol 72 GraphicUses:60Used by:73
Symbol 73 MovieClipUses:72Used by:74
Symbol 74 MovieClipUses:73Used by:167
Symbol 75 GraphicUses:60Used by:79
Symbol 76 GraphicUses:60Used by:77
Symbol 77 MovieClipUses:76Used by:78
Symbol 78 MovieClipUses:77Used by:79
Symbol 79 MovieClipUses:75 78Used by:167
Symbol 80 GraphicUses:60Used by:81
Symbol 81 MovieClipUses:80Used by:167
Symbol 82 GraphicUses:60Used by:83
Symbol 83 MovieClipUses:82Used by:167
Symbol 84 GraphicUses:60Used by:85
Symbol 85 MovieClipUses:84Used by:86
Symbol 86 MovieClip {Again_fla.Symbol26_35}Uses:85Used by:167
Symbol 87 GraphicUses:60Used by:96
Symbol 88 GraphicUsed by:89
Symbol 89 MovieClipUses:88Used by:96
Symbol 90 GraphicUses:60Used by:91
Symbol 91 MovieClipUses:90Used by:96
Symbol 92 GraphicUses:60Used by:93
Symbol 93 MovieClipUses:92Used by:96
Symbol 94 GraphicUses:60Used by:95
Symbol 95 MovieClipUses:94Used by:96
Symbol 96 MovieClipUses:87 89 91 93 95Used by:167
Symbol 97 GraphicUses:60Used by:98
Symbol 98 MovieClipUses:97Used by:167
Symbol 99 GraphicUsed by:167
Symbol 100 GraphicUses:60Used by:101
Symbol 101 MovieClipUses:100Used by:102
Symbol 102 MovieClip {Again_fla.Symbol35_44}Uses:101Used by:157
Symbol 103 GraphicUses:60Used by:104
Symbol 104 MovieClipUses:103Used by:105
Symbol 105 MovieClipUses:104Used by:157
Symbol 106 GraphicUses:60Used by:107
Symbol 107 MovieClipUses:106Used by:108
Symbol 108 MovieClipUses:107Used by:157
Symbol 109 GraphicUses:60Used by:110
Symbol 110 MovieClipUses:109Used by:157
Symbol 111 GraphicUses:60Used by:112
Symbol 112 MovieClipUses:111Used by:157
Symbol 113 GraphicUses:60Used by:144
Symbol 114 GraphicUses:60Used by:144
Symbol 115 GraphicUses:60Used by:144
Symbol 116 GraphicUses:60Used by:144
Symbol 117 GraphicUses:60Used by:144
Symbol 118 GraphicUses:60Used by:144
Symbol 119 GraphicUses:60Used by:144
Symbol 120 GraphicUses:60Used by:144
Symbol 121 GraphicUses:60Used by:144
Symbol 122 GraphicUses:60Used by:144
Symbol 123 GraphicUses:60Used by:144
Symbol 124 GraphicUses:60Used by:144
Symbol 125 GraphicUses:60Used by:144
Symbol 126 GraphicUses:60Used by:144
Symbol 127 GraphicUses:60Used by:144
Symbol 128 GraphicUses:60Used by:144
Symbol 129 GraphicUses:60Used by:144
Symbol 130 GraphicUses:60Used by:144
Symbol 131 GraphicUses:60Used by:144
Symbol 132 GraphicUses:60Used by:144
Symbol 133 GraphicUses:60Used by:144
Symbol 134 GraphicUses:60Used by:144
Symbol 135 GraphicUses:60Used by:144
Symbol 136 GraphicUses:60Used by:144
Symbol 137 GraphicUses:60Used by:144
Symbol 138 GraphicUses:60Used by:144
Symbol 139 GraphicUses:60Used by:144
Symbol 140 GraphicUses:60Used by:144
Symbol 141 GraphicUses:60Used by:144
Symbol 142 GraphicUses:60Used by:144
Symbol 143 GraphicUses:60Used by:144
Symbol 144 MovieClipUses:113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143Used by:145
Symbol 145 MovieClipUses:144Used by:157
Symbol 146 GraphicUses:60Used by:147
Symbol 147 MovieClipUses:146Used by:148
Symbol 148 MovieClipUses:147Used by:157
Symbol 149 GraphicUses:60Used by:150
Symbol 150 MovieClipUses:149Used by:157
Symbol 151 GraphicUses:60Used by:152
Symbol 152 MovieClipUses:151Used by:153
Symbol 153 MovieClipUses:152Used by:157
Symbol 154 GraphicUses:60Used by:155
Symbol 155 MovieClipUses:154Used by:156
Symbol 156 MovieClip {Again_fla.Symbol34_59}Uses:155Used by:157
Symbol 157 MovieClipUses:102 105 108 110 112 145 148 150 153 156Used by:167
Symbol 158 GraphicUses:60Used by:159
Symbol 159 MovieClipUses:158Used by:160
Symbol 160 MovieClipUses:159Used by:167
Symbol 161 GraphicUses:60Used by:162
Symbol 162 MovieClipUses:161Used by:163
Symbol 163 MovieClipUses:162Used by:167
Symbol 164 GraphicUses:60Used by:165
Symbol 165 MovieClipUses:164Used by:166
Symbol 166 MovieClipUses:165Used by:167
Symbol 167 MovieClip {Again_fla.Scenelike_14}Uses:57 59 62 65 68 71 74 79 81 83 86 96 98 99 157 160 163 166Used by:168
Symbol 168 MovieClip {Again_fla.Scenes_13}Uses:167Used by:Timeline
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClipUses:169Used by:188
Symbol 171 FontUsed by:172 173 174 175 176 182 195 203
Symbol 172 EditableTextUses:171Used by:177
Symbol 173 EditableTextUses:171Used by:177
Symbol 174 EditableTextUses:171Used by:177
Symbol 175 EditableTextUses:171Used by:177
Symbol 176 EditableTextUses:171Used by:177
Symbol 177 MovieClip {Again_fla.Dialogue_71}Uses:172 173 174 175 176Used by:188
Symbol 178 BitmapUsed by:179
Symbol 179 GraphicUses:178Used by:180 187
Symbol 180 MovieClipUses:179Used by:181 185
Symbol 181 MovieClipUses:180Used by:187
Symbol 182 EditableTextUses:171Used by:183
Symbol 183 MovieClipUses:182Used by:184
Symbol 184 MovieClip {Again_fla.NextFlash_76}Uses:183Used by:185
Symbol 185 MovieClipUses:180 184Used by:187
Symbol 186 GraphicUsed by:187
Symbol 187 ButtonUses:181 185 186 179Used by:188
Symbol 188 MovieClip {Again_fla.Textbox_69}Uses:170 177 187Used by:189
Symbol 189 MovieClip {Again_fla.Symbol64xx_68}Uses:188Used by:208
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:192 194 199 200 202 207
Symbol 192 MovieClipUses:191Used by:193
Symbol 193 MovieClipUses:192Used by:199
Symbol 194 MovieClipUses:191Used by:198
Symbol 195 EditableTextUses:171Used by:196
Symbol 196 MovieClipUses:195Used by:197
Symbol 197 MovieClip {Again_fla.Hidex_83}Uses:196Used by:198
Symbol 198 MovieClipUses:194 197Used by:199
Symbol 199 ButtonUses:193 198 191Used by:208
Symbol 200 MovieClipUses:191Used by:201
Symbol 201 MovieClipUses:200Used by:207
Symbol 202 MovieClipUses:191Used by:206
Symbol 203 EditableTextUses:171Used by:204
Symbol 204 MovieClipUses:203Used by:205
Symbol 205 MovieClip {Again_fla.Hidexc_90}Uses:204Used by:206
Symbol 206 MovieClipUses:202 205Used by:207
Symbol 207 ButtonUses:201 206 191Used by:208
Symbol 208 MovieClip {Again_fla.Symbol63xx_67}Uses:189 199 207Used by:Timeline

Instance Names

"bgcolor"Frame 1Symbol 3 MovieClip
"IBPage"Frame 2Symbol 27 Button
"FAPage"Frame 2Symbol 32 Button
"startbutton"Frame 2Symbol 38 MovieClip {Again_fla.startgame_10}
"SCN"Frame 19Symbol 168 MovieClip {Again_fla.Scenes_13}
"LMNU2"Frame 19Symbol 208 MovieClip {Again_fla.Symbol63xx_67}
"Playgame"Symbol 38 MovieClip {Again_fla.startgame_10} Frame 1Symbol 37 Button
"ToJournal"Symbol 57 MovieClip {Again_fla.Symbol76_15} Frame 1Symbol 56 Button
"L"Symbol 157 MovieClip Frame 1Symbol 102 MovieClip {Again_fla.Symbol35_44}
"JIZ1"Symbol 157 MovieClip Frame 1Symbol 105 MovieClip
"H"Symbol 157 MovieClip Frame 1Symbol 148 MovieClip
"R"Symbol 157 MovieClip Frame 1Symbol 156 MovieClip {Again_fla.Symbol34_59}
"JAW"Symbol 167 MovieClip {Again_fla.Scenelike_14} Frame 1Symbol 86 MovieClip {Again_fla.Symbol26_35}
"HEAD"Symbol 167 MovieClip {Again_fla.Scenelike_14} Frame 1Symbol 157 MovieClip
"TXT"Symbol 188 MovieClip {Again_fla.Textbox_69} Frame 1Symbol 177 MovieClip {Again_fla.Dialogue_71}
"BTN"Symbol 188 MovieClip {Again_fla.Textbox_69} Frame 1Symbol 187 Button
"AUTO"Symbol 208 MovieClip {Again_fla.Symbol63xx_67} Frame 1Symbol 199 Button
"AUTOx"Symbol 208 MovieClip {Again_fla.Symbol63xx_67} Frame 2Symbol 207 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.




http://swfchan.com/31/150755/info.shtml
Created: 25/10 -2018 22:20:27 Last modified: 25/10 -2018 22:20:27 Server time: 03/05 -2024 21:22:54