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

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

Cyclone.swf

This is the info page for
Flash #48541

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


Text
Play Cyclone Unlimited
Now!

Play Cyclone Unlimited
Now!

created by

copyright © playerthree 2008

<p align="center"><font face="FFF Estudio Extended" size="16" color="#66ffcc" letterSpacing="0.000000" kerning="1">Final Score: 0</font></p>

BEGIN

BEGIN

www.fingertime.com presents...

Heres some info for ya

100

ActionScript [AS3]

Section 1
//SFCAbstract (com.fingertime.core.loader.SFCAbstract) package com.fingertime.core.loader { public class SFCAbstract { private var achievements:Array; public var currentScore:int;// = 0 public function SFCAbstract(){ currentScore = 0; super(); } public function updateScore(_arg1:int):void{ trace(("updateScore called with value : " + _arg1)); } public function achievement(_arg1:int):void{ var _local2:Boolean; var _local3:int; if (achievements == null){ achievements = new Array(); }; _local2 = false; _local3 = 0; while (_local3 < achievements.length) { if (achievements[_local3] == _arg1){ _local2 = true; }; _local3++; }; if (!_local2){ trace(("achievement called with id : " + _arg1)); achievements.push(_arg1); }; } } }//package com.fingertime.core.loader
Section 2
//SFCLoader (com.fingertime.core.loader.SFCLoader) package com.fingertime.core.loader { import flash.display.*; import flash.events.*; import flash.system.*; import flash.net.*; public class SFCLoader extends MovieClip { public var checkLoginOn:Boolean;// = true public var achievementsOn:Boolean;// = true public var vAlign:String;// = "bottom" public var minorVersion:Number;// = 0 public var checkSecurity:Boolean;// = true public var hAlign:String;// = "center" public var gatewayUrl:String;// = "http://beta.fingertime.com/amfphp/gateway.php" public var lowerIsBest:Boolean;// = false public var highScoresOn:Boolean;// = true public var achievementDelay:Number;// = 5 public var gameID:Number; public var checkVersion:Boolean;// = true public var margin:Number;// = 24 public var majorVersion:Number;// = 9 public var maxMessageBoxSize:Number;// = 265 public static var stage_width:Number; public static var stage_height:Number; public static var core; public function SFCLoader(){ checkLoginOn = true; checkSecurity = true; checkVersion = true; majorVersion = 9; minorVersion = 0; gatewayUrl = "http://beta.fingertime.com/amfphp/gateway.php"; achievementsOn = true; highScoresOn = true; lowerIsBest = false; vAlign = "bottom"; hAlign = "center"; margin = 24; achievementDelay = 5; maxMessageBoxSize = 265; super(); addEventListener(Event.ADDED_TO_STAGE, init); } public function init(_arg1:Event):void{ trace("core loader initialised"); removeEventListener(Event.ADDED_TO_STAGE, init); if (checkLoginOn){ if (checkSecurity){ if (stage.loaderInfo.url.indexOf("fingertime.com") == -1){ navigateToURL(new URLRequest("http://www.fingertime.com")); }; }; x = (y = 0); Security.allowDomain("*"); stage_width = stage.stageWidth; stage_height = stage.stageHeight; trace(("core = " + core)); if (Security.sandboxType == Security.REMOTE){ initCore(); } else { core = new SFCAbstract(); }; }; } public function initCore():void{ core.achievementsOn = achievementsOn; core.achievementDelay = achievementDelay; core.checkSecurity = checkSecurity; core.gameID = gameID; core.gatewayUrl = gatewayUrl; core.hAlign = hAlign; core.vAlign = vAlign; core.margin = margin; core.highScoresOn = highScoresOn; core.lowestIsBest = lowerIsBest; core.maxMessageBoxSize = maxMessageBoxSize; core.majorVersion = majorVersion; core.minorVersion = minorVersion; core.checkLoginOn = checkLoginOn; core.init(); } public static function go(){ return (core); } } }//package com.fingertime.core.loader
Section 3
//mc_17 (CycloneLimited_fla.mc_17) package CycloneLimited_fla { import flash.display.*; public dynamic class mc_17 extends MovieClip { public function mc_17(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package CycloneLimited_fla
Section 4
//mc_25 (CycloneLimited_fla.mc_25) package CycloneLimited_fla { import flash.display.*; import flash.text.*; public dynamic class mc_25 extends MovieClip { public var score_tf:TextField; } }//package CycloneLimited_fla
Section 5
//Locale (fl.lang.Locale) package fl.lang { import flash.events.*; import flash.xml.*; import flash.system.*; import flash.net.*; public class Locale extends EventDispatcher { private static var delayedInstanceArray:Array = new Array(); private static var flaName:String; private static var currentLang:String; private static var stringMap:Object = new Object(); private static var xmlDoc:XMLDocument; private static var xmlLang:String = Capabilities.language; private static var xmlMap:Object = new Object(); private static var stringMapList:Object = new Object(); private static var callback:Function; private static var defaultLang:String; private static var currentXMLMapIndex:Number = -1; private static var autoReplacement:Boolean = true; private static var _xmlLoaded:Boolean = false; public static function get autoReplace():Boolean{ return (autoReplacement); } public static function setDefaultLang(_arg1:String):void{ defaultLang = _arg1; } public static function initialize():void{ var _local1:String; _local1 = xmlLang; if (xmlMap[xmlLang] == undefined){ _local1 = defaultLang; }; currentXMLMapIndex = 0; loadXML(_local1); } public static function setString(_arg1:String, _arg2:String, _arg3:String):void{ var _local4:Object; _local4 = stringMapList[_arg2]; if (_local4){ _local4[_arg1] = _arg3; } else { _local4 = new Object(); _local4[_arg1] = _arg3; stringMapList[_arg2] = _local4; }; } public static function loadString(_arg1:String):String{ return (stringMap[_arg1]); } public static function getDefaultLang():String{ return (defaultLang); } private static function parseXLiff(_arg1:XMLNode):void{ if ((((_arg1.childNodes.length > 0)) && ((_arg1.childNodes[0].nodeName == "file")))){ parseFile(_arg1.childNodes[0]); }; } public static function loadStringEx(_arg1:String, _arg2:String):String{ var _local3:Object; _local3 = stringMapList[_arg2]; if (_local3){ return (_local3[_arg1]); }; return (""); } public static function set autoReplace(_arg1:Boolean):void{ autoReplacement = _arg1; } private static function parseSource(_arg1:XMLNode):String{ if (_arg1.childNodes.length > 0){ return (_arg1.childNodes[0].nodeValue); }; return (""); } public static function addDelayedInstance(_arg1:Object, _arg2:String){ var _local3:Number; delayedInstanceArray.push({inst:_arg1, strID:_arg2}); _local3 = delayedInstanceArray.length; } private static function onXMLLoad(_arg1:Event){ var _local2:URLLoader; var _local3:String; _xmlLoaded = true; _local2 = (_arg1.target as URLLoader); _local3 = _local2.data; xmlDoc = new XMLDocument(); xmlDoc.ignoreWhite = true; xmlDoc.parseXML(_local3); stringMap = new Object(); parseStringsXML(xmlDoc); if (stringMapList[currentLang] == undefined){ stringMapList[currentLang] = stringMap; }; if (autoReplacement){ assignDelayedInstances(); }; if (callback != null){ callback(true); }; } public static function checkXMLStatus():Boolean{ return (_xmlLoaded); } public static function setFlaName(_arg1:String):void{ flaName = _arg1; } private static function parseStringsXML(_arg1:XMLDocument):void{ if ((((_arg1.childNodes.length > 0)) && ((_arg1.childNodes[0].nodeName == "xliff")))){ parseXLiff(_arg1.childNodes[0]); }; } private static function assignDelayedInstances():void{ var _local1:Number; var _local2:Object; var _local3:String; _local1 = 0; while (_local1 < delayedInstanceArray.length) { if (delayedInstanceArray[_local1] != undefined){ _local2 = delayedInstanceArray[_local1].inst; _local3 = delayedInstanceArray[_local1].strID; _local2.text = loadString(_local3); }; _local1++; }; } public static function get stringIDArray():Array{ var _local1:Array; var _local2:String; _local1 = new Array(); for (_local2 in stringMap) { if (_local2 != ""){ _local1.push(_local2); }; }; return (_local1); } private static function loadXML(_arg1:String){ var _local2:String; var _local3:URLLoader; _local2 = xmlMap[_arg1][0]; _local3 = new URLLoader(new URLRequest(_local2)); _local3.addEventListener("complete", onXMLLoad); } private static function parseFile(_arg1:XMLNode):void{ if ((((_arg1.childNodes.length > 1)) && ((_arg1.childNodes[1].nodeName == "body")))){ parseBody(_arg1.childNodes[1]); }; } private static function parseTransUnit(_arg1:XMLNode):void{ var _local2:String; var _local3:String; _local2 = _arg1.attributes.resname; if ((((((_local2.length > 0)) && ((_arg1.childNodes.length > 0)))) && ((_arg1.childNodes[0].nodeName == "source")))){ _local3 = parseSource(_arg1.childNodes[0]); if (_local3.length > 0){ stringMap[_local2] = _local3; }; }; } public static function setLoadCallback(_arg1:Function){ callback = _arg1; } public static function loadLanguageXML(_arg1:String, _arg2:Function=null):void{ var _local3:String; _local3 = ((_arg1)=="") ? Capabilities.language : _arg1; if (xmlMap[_local3] == undefined){ _local3 = defaultLang; }; if (_arg2 != null){ callback = _arg2; }; if (stringMapList[_arg1] == undefined){ loadXML(_local3); } else { stringMap = stringMapList[_local3]; if (callback != null){ callback(true); }; }; currentLang = _local3; } public static function get languageCodeArray():Array{ var _local1:Array; var _local2:String; _local1 = new Array(); for (_local2 in xmlMap) { if (_local2){ _local1.push(_local2); }; }; return (_local1); } private static function parseBody(_arg1:XMLNode):void{ var _local2:Number; _local2 = 0; while (_local2 < _arg1.childNodes.length) { if (_arg1.childNodes[_local2].nodeName == "trans-unit"){ parseTransUnit(_arg1.childNodes[_local2]); }; _local2++; }; } public static function addXMLPath(_arg1:String, _arg2:String):void{ if (xmlMap[_arg1] == undefined){ xmlMap[_arg1] = new Array(); }; xmlMap[_arg1].push(_arg2); } } }//package fl.lang
Section 6
//LivePreviewParent (fl.livepreview.LivePreviewParent) package fl.livepreview { import flash.display.*; import flash.utils.*; import flash.external.*; public class LivePreviewParent extends MovieClip { public var myInstance:DisplayObject; public function LivePreviewParent(){ super(); try { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; myInstance = getChildAt(0); onResize(stage.width, stage.height); if (ExternalInterface.available){ ExternalInterface.addCallback("onResize", onResize); ExternalInterface.addCallback("onUpdate", onUpdate); }; } catch(e) { }; } private function updateCollection(_arg1:Object, _arg2:String):void{ var _local3:Class; var _local4:Class; var _local5:Object; var _local6:int; var _local7:Object; var _local8:Object; var _local9:*; _local3 = Class(getDefinitionByName(_arg1.collectionClass)); _local4 = Class(getDefinitionByName(_arg1.collectionItemClass)); _local5 = new (_local3); _local6 = 0; while (_local6 < _arg1.collectionArray.length) { _local7 = new (_local4); _local8 = _arg1.collectionArray[_local6]; for (_local9 in _local8) { _local7[_local9] = _local8[_local9]; }; _local5.addItem(_local7); _local6++; }; myInstance[_arg2] = (_local5 as _local3); } public function onResize(_arg1:Number, _arg2:Number):void{ var setSizeFn:Function; var width = _arg1; var height = _arg2; setSizeFn = null; try { setSizeFn = myInstance["setSize"]; } catch(e:Error) { setSizeFn = null; }; if (setSizeFn != null){ setSizeFn(width, height); } else { myInstance.width = width; myInstance.height = height; }; } public function onUpdate(... _args):void{ var i:int; var name:String; var value:*; var updateArray = _args; i = 0; while ((i + 1) < updateArray.length) { try { name = String(updateArray[i]); value = updateArray[(i + 1)]; if ((((typeof(value) == "object")) && (value.__treatAsCollectionSpecialSauce__))){ updateCollection(value, name); } else { myInstance[name] = value; }; } catch(e:Error) { }; i = (i + 2); }; } } }//package fl.livepreview
Section 7
//Back (fl.motion.easing.Back) package fl.motion.easing { public class Back { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2)); }; _arg1 = (_arg1 - 2); _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2)); } } }//package fl.motion.easing
Section 8
//Bounce (fl.motion.easing.Bounce) package fl.motion.easing { public class Bounce { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 - easeOut((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeIn((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOut(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } } }//package fl.motion.easing
Section 9
//Circular (fl.motion.easing.Circular) package fl.motion.easing { public class Circular { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } } }//package fl.motion.easing
Section 10
//Cubic (fl.motion.easing.Cubic) package fl.motion.easing { public class Cubic { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.motion.easing
Section 11
//Elastic (fl.motion.easing.Elastic) package fl.motion.easing { public class Elastic { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; --_arg1; return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * (0.3 * 1.5)); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); }; --_arg1; return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2)); } } }//package fl.motion.easing
Section 12
//Exponential (fl.motion.easing.Exponential) package fl.motion.easing { public class Exponential { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1 == _arg4)) ? (_arg2 + _arg3) : ((_arg3 * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1 == 0)) ? _arg2 : ((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2)); }; --_arg1; return ((((_arg3 / 2) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } } }//package fl.motion.easing
Section 13
//Linear (fl.motion.easing.Linear) package fl.motion.easing { public class Linear { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package fl.motion.easing
Section 14
//Quadratic (fl.motion.easing.Quadratic) package fl.motion.easing { public class Quadratic { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } } }//package fl.motion.easing
Section 15
//Quartic (fl.motion.easing.Quartic) package fl.motion.easing { public class Quartic { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } } }//package fl.motion.easing
Section 16
//Quintic (fl.motion.easing.Quintic) package fl.motion.easing { public class Quintic { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.motion.easing
Section 17
//Sine (fl.motion.easing.Sine) package fl.motion.easing { public class Sine { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } } }//package fl.motion.easing
Section 18
//Animator (fl.motion.Animator) package fl.motion { import flash.display.*; import flash.geom.*; import flash.events.*; public class Animator extends EventDispatcher { private var targetState:Object; public var transformationPoint:Point; private var _isPlaying:Boolean;// = false private var _time:int;// = -1 private var _target:DisplayObject; public var repeatCount:int;// = 1 private var _lastRenderedTime:int;// = -1 private var playCount:int;// = 0 private var _motion:Motion; public var orientToPath:Boolean;// = false public var autoRewind:Boolean;// = false public var positionMatrix:Matrix; private static var enterFrameBeacon:MovieClip = new MovieClip(); public function Animator(_arg1:XML=null, _arg2:DisplayObject=null){ orientToPath = false; autoRewind = false; repeatCount = 1; _isPlaying = false; _lastRenderedTime = -1; _time = -1; playCount = 0; super(); this.motion = new Motion(_arg1); this.target = _arg2; } public function stop():void{ enterFrameBeacon.removeEventListener(Event.ENTER_FRAME, this.enterFrameHandler); this._isPlaying = false; this.playCount = 0; this.rewind(); this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_END)); } public function get target():DisplayObject{ return (this._target); } public function set time(_arg1:int):void{ var _local2:Motion; var _local3:Keyframe; var _local4:Boolean; var _local5:Number; var _local6:Number; var _local7:Point; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Matrix; var _local13:Point; var _local14:Number; var _local15:Number; var _local16:ColorTransform; var _local17:Number; var _local18:Number; var _local19:Number; if (_arg1 == this._time){ return; }; _local2 = 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)); _local3 = _local2.getCurrentKeyframe(_arg1); _local4 = (((_local3.index == this._lastRenderedTime)) && (!(_local3.tweens.length))); if (_local4){ return; }; this._target.visible = false; if (!_local3.blank){ _local5 = _local2.getValue(_arg1, Tweenables.X); _local6 = _local2.getValue(_arg1, Tweenables.Y); _local7 = 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); _local8 = (_local2.getValue(_arg1, Tweenables.SCALE_X) * this.targetState.scaleX); _local9 = (_local2.getValue(_arg1, Tweenables.SCALE_Y) * this.targetState.scaleY); _local10 = 0; _local11 = 0; if (this.orientToPath){ _local17 = _local2.getValue((_arg1 + 1), Tweenables.X); _local18 = _local2.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 = (_local2.getValue(_arg1, Tweenables.SKEW_X) + this.targetState.skewX); _local11 = (_local2.getValue(_arg1, Tweenables.SKEW_Y) + this.targetState.skewY); }; _local12 = 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)))), _local7.x, _local7.y); _local13 = _local12.transformPoint(this.targetState.transformPointInternal); _local14 = (_local12.tx - _local13.x); _local15 = (_local12.ty - _local13.y); _local12.tx = (_local12.tx + _local14); _local12.ty = (_local12.ty + _local15); this._target.rotation = _local11; this._target.transform.matrix = _local12; this._target.scaleX = _local8; this._target.scaleY = _local9; _local16 = _local2.getColorTransform(_arg1); if (_local16){ this._target.transform.colorTransform = _local16; }; this._target.filters = _local2.getFilters(_arg1); this._target.blendMode = _local3.blendMode; this._target.cacheAsBitmap = _local3.cacheAsBitmap; this._target.visible = true; }; this._lastRenderedTime = this._time; this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_UPDATE)); } private function enterFrameHandler(_arg1:Event):void{ this.nextFrame(); } public function set target(_arg1:DisplayObject):void{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Point; if (!_arg1){ return; }; this._target = _arg1; this.targetState = {}; 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); this.targetState.matrix = this._target.transform.matrix; _local2 = (this.targetState.bounds = this._target.getBounds(this._target)); if (this.transformationPoint){ _local3 = ((this.transformationPoint.x * _local2.width) + _local2.left); _local4 = ((this.transformationPoint.y * _local2.height) + _local2.top); this.targetState.transformPointInternal = new Point(_local3, _local4); _local5 = this.targetState.matrix.transformPoint(this.targetState.transformPointInternal); this.targetState.x = _local5.x; this.targetState.y = _local5.y; } else { this.targetState.transformPointInternal = new Point(0, 0); this.targetState.x = this._target.x; this.targetState.y = this._target.y; }; } public function get isPlaying():Boolean{ return (_isPlaying); } public function resume():void{ enterFrameBeacon.addEventListener(Event.ENTER_FRAME, this.enterFrameHandler, false, 0, true); this._isPlaying = true; } private function handleLastFrame():void{ this.playCount++; if ((((this.repeatCount == 0)) || ((this.playCount < this.repeatCount)))){ this.rewind(); } else { this.end(); }; } public function get motion():Motion{ return (this._motion); } public function nextFrame():void{ if (this.time >= (this.motion.duration - 1)){ this.handleLastFrame(); } else { this.time++; }; } public function play():void{ if (!this._isPlaying){ enterFrameBeacon.addEventListener(Event.ENTER_FRAME, this.enterFrameHandler, false, 0, true); this._isPlaying = true; }; this.playCount = 0; this.rewind(); this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_START)); } public function rewind():void{ this.time = 0; } public function end():void{ enterFrameBeacon.removeEventListener(Event.ENTER_FRAME, 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); }; }; this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_END)); } public function get time():int{ return (this._time); } public function pause():void{ enterFrameBeacon.removeEventListener(Event.ENTER_FRAME, this.enterFrameHandler); this._isPlaying = false; } public function set motion(_arg1:Motion):void{ this._motion = _arg1; if (((_arg1.source) && (_arg1.source.transformationPoint))){ this.transformationPoint = _arg1.source.transformationPoint.clone(); }; } public static function fromXMLString(_arg1:String, _arg2:DisplayObject=null):Animator{ return (new Animator(new XML(_arg1), _arg2)); } } }//package fl.motion
Section 19
//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){ _target = ""; super(); this.points = []; this.parseXML(_arg1); } public function set target(_arg1:String):void{ this._target = _arg1; } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Array; var _local7:Number; if (_arg4 <= 0){ return (NaN); }; _local5 = (_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)); _local6 = [this.firstNode].concat(this.points); _local6.push(this.lastNode); _local7 = CustomEase.getYForPercent(_local5, _local6); return (_local7); } private function parseXML(_arg1:XML=null):BezierEase{ var _local2:XMLList; var _local3:XML; if (!_arg1){ return (this); }; if (_arg1.@target.length()){ this.target = _arg1.@target; }; _local2 = _arg1.elements(); for each (_local3 in _local2) { this.points.push(new Point(Number(_local3.@x), Number(_local3.@y))); }; return (this); } } }//package fl.motion
Section 20
//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 getYForX(_arg1:Number, _arg2:Array=null):Number{ var _local3:Array; var _local4:Number; var _local5: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); }; _local3 = getCubicRoots(_arg2[0], _arg2[1], _arg2[2], (_arg2[3] - _arg1)); _local4 = 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); }; _local5 = getSingleValue(_local4, this.a.y, this.b.y, this.c.y, this.d.y); return (_local5); } public function getValue(_arg1:Number):Point{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = this.a.x; _local3 = (((((_arg1 * _arg1) * (this.d.x - _local2)) + ((3 * (1 - _arg1)) * ((_arg1 * (this.c.x - _local2)) + ((1 - _arg1) * (this.b.x - _local2))))) * _arg1) + _local2); _local4 = this.a.y; _local5 = (((((_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 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 _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; 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); }; _local5 = (((_arg2 * _arg2) - (3 * _arg3)) / 9); _local6 = (((((_arg2 * _arg2) - (3 * _arg3)) / 9) * _local5) * _local5); _local7 = ((((((2 * _arg2) * _arg2) * _arg2) - ((9 * _arg2) * _arg3)) + (27 * _arg4)) / 54); _local8 = (_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 _local4:Array; var _local5:Number; var _local6:int; var _local7:Number; _local4 = []; if (!_arg1){ if (!_arg2){ return ([]); }; _local4[0] = (-(_arg3) / _arg2); return (_local4); }; _local5 = ((_arg2 * _arg2) - ((4 * _arg1) * _arg3)); _local6 = ((_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 21
//Color (fl.motion.Color) package fl.motion { import flash.display.*; import flash.geom.*; public class Color extends ColorTransform { private var _tintMultiplier:Number;// = 0 private var _tintColor: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){ _tintColor = 0; _tintMultiplier = 0; super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function setTint(_arg1:uint, _arg2:Number):void{ var _local3:uint; var _local4:uint; var _local5:uint; this._tintColor = _arg1; this._tintMultiplier = _arg2; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2))); _local3 = ((_arg1 >> 16) & 0xFF); _local4 = ((_arg1 >> 8) & 0xFF); _local5 = (_arg1 & 0xFF); this.redOffset = Math.round((_local3 * _arg2)); this.greenOffset = Math.round((_local4 * _arg2)); this.blueOffset = Math.round((_local5 * _arg2)); } 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)); } private function deriveTintColor():uint{ var _local1:Number; var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; _local1 = (1 / this.tintMultiplier); _local2 = Math.round((this.redOffset * _local1)); _local3 = Math.round((this.greenOffset * _local1)); _local4 = Math.round((this.blueOffset * _local1)); _local5 = (((_local2 << 16) | (_local3 << 8)) | _local4); return (_local5); } public function get tintMultiplier():Number{ return (this._tintMultiplier); } public function get tintColor():uint{ return (this._tintColor); } public function set brightness(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (_arg1 > 1){ _arg1 = 1; } else { if (_arg1 < -1){ _arg1 = -1; }; }; _local2 = (1 - Math.abs(_arg1)); _local3 = 0; if (_arg1 > 0){ _local3 = (_arg1 * 0xFF); }; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2)); this.redOffset = (this.greenOffset = (this.blueOffset = _local3)); } public function set tintMultiplier(_arg1:Number):void{ this.setTint(this.tintColor, _arg1); } private function parseXML(_arg1:XML=null):Color{ var _local2:XML; var _local3:XML; var _local4:String; var _local5:uint; if (!_arg1){ return (this); }; _local2 = _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 static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{ var _local4:Number; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; var _local17:uint; _local4 = (1 - _arg3); _local5 = ((_arg1 >> 24) & 0xFF); _local6 = ((_arg1 >> 16) & 0xFF); _local7 = ((_arg1 >> 8) & 0xFF); _local8 = (_arg1 & 0xFF); _local9 = ((_arg2 >> 24) & 0xFF); _local10 = ((_arg2 >> 16) & 0xFF); _local11 = ((_arg2 >> 8) & 0xFF); _local12 = (_arg2 & 0xFF); _local13 = ((_local5 * _local4) + (_local9 * _arg3)); _local14 = ((_local6 * _local4) + (_local10 * _arg3)); _local15 = ((_local7 * _local4) + (_local11 * _arg3)); _local16 = ((_local8 * _local4) + (_local12 * _arg3)); _local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16); return (_local17); } public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{ var _local4:Number; var _local5:ColorTransform; _local4 = (1 - _arg3); _local5 = 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 22
//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){ _target = ""; super(); 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; } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Array; var _local7:Number; if (_arg4 <= 0){ return (NaN); }; _local5 = (_arg1 / _arg4); if (_local5 <= 0){ return (_arg2); }; if (_local5 >= 1){ return ((_arg2 + _arg3)); }; _local6 = [this.firstNode].concat(this.points); _local6.push(this.lastNode); _local7 = getYForPercent(_local5, _local6); return ((_arg2 + (_local7 * _arg3))); } private function parseXML(_arg1:XML=null):CustomEase{ var _local2:XMLList; var _local3:XML; if (!_arg1){ return (this); }; if (_arg1.@target.length()){ this.target = _arg1.@target; }; _local2 = _arg1.elements(); for each (_local3 in _local2) { this.points.push(new Point(Number(_local3.@x), Number(_local3.@y))); }; return (this); } static function getYForPercent(_arg1:Number, _arg2:Array):Number{ var _local3:BezierSegment; var _local4:Array; var _local5:int; var _local6:BezierSegment; var _local7:Number; var _local8:int; var _local9:BezierSegment; _local3 = new BezierSegment(_arg2[0], _arg2[1], _arg2[2], _arg2[3]); _local4 = [_local3]; _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); }; _local6 = _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++; }; }; _local7 = _local6.getYForX(_arg1); return (_local7); } } }//package fl.motion
Section 23
//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){ _functionName = ""; easingFunction = null; parameters = null; _target = ""; super(); this.parseXML(_arg1); } public function get functionName():String{ return (this._functionName); } public function set functionName(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:Class; _local2 = _arg1.split("."); _local3 = _local2.pop(); _local4 = _local2.join("."); _local5 = (getDefinitionByName(_local4) as Class); if ((_local5[_local3] is Function)){ this.easingFunction = _local5[_local3]; this._functionName = _arg1; }; } public function set target(_arg1:String):void{ this._target = _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; }; return (this); } } }//package fl.motion
Section 24
//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 25
//Keyframe (fl.motion.Keyframe) package fl.motion { import flash.display.*; import flash.filters.*; import flash.utils.*; public class Keyframe { public var skewX:Number;// = NAN public var blendMode:String; public var skewY:Number;// = NAN public var firstFrame:String; public var tweenScale:Boolean;// = true public var cacheAsBitmap:Boolean;// = false public var rotateTimes:uint;// = 0 public var tweenSync:Boolean;// = false public var loop:String; public var scaleX:Number;// = NAN private var _index:int;// = -1 public var blank:Boolean;// = false public var tweenSnap:Boolean;// = false public var scaleY:Number;// = NAN public var color:Color; public var rotateDirection:String;// = "auto" public var orientToPath:Boolean;// = false public var tweens:Array; public var label:String;// = "" public var x:Number;// = NAN public var y:Number;// = NAN public var filters:Array; public function Keyframe(_arg1:XML=null){ _index = -1; x = NaN; y = NaN; scaleX = NaN; scaleY = NaN; skewX = NaN; skewY = NaN; label = ""; tweenScale = true; tweenSnap = false; tweenSync = false; cacheAsBitmap = false; blendMode = BlendMode.NORMAL; rotateDirection = RotateDirection.AUTO; rotateTimes = 0; orientToPath = false; blank = false; super(); this.tweens = []; this.filters = []; this.parseXML(_arg1); } public function set index(_arg1:int):void{ this._index = ((_arg1)<0) ? 0 : _arg1; if (this._index == 0){ this.setDefaults(); }; } 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); } public function setValue(_arg1:String, _arg2:Number):void{ this[_arg1] = _arg2; } public function getValue(_arg1:String):Number{ return (Number(this[_arg1])); } 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.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 (!this.color){ this.color = new Color(); }; } public function affectsTweenable(_arg1:String=""):Boolean{ return (((((((((((!(_arg1)) || (!(isNaN(this[_arg1]))))) || ((((_arg1 == "color")) && (this.color))))) || ((((_arg1 == "filters")) && (this.filters.length))))) || (this.blank))) || (this.getTween()))); } private function parseXML(_arg1:XML=null):Keyframe{ var indexString:String; var indexValue:int; var tweenableNames:Array; 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); }; indexString = xml.@index.toXMLString(); indexValue = 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"); }; tweenableNames = ["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); } 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); } private static function splitNumber(_arg1:String):Array{ var _local2:Array; var _local3:int; _local2 = _arg1.split(","); _local3 = 0; while (_local3 < _local2.length) { _local2[_local3] = Number(_local2[_local3]); _local3++; }; return (_local2); } private static function splitUint(_arg1:String):Array{ var _local2:Array; var _local3:int; _local2 = _arg1.split(","); _local3 = 0; while (_local3 < _local2.length) { _local2[_local3] = (parseInt(_local2[_local3]) as uint); _local3++; }; return (_local2); } private static function splitInt(_arg1:String):Array{ var _local2:Array; var _local3:int; _local2 = _arg1.split(","); _local3 = 0; while (_local3 < _local2.length) { _local2[_local3] = (parseInt(_local2[_local3]) as int); _local3++; }; return (_local2); } } }//package fl.motion
Section 26
//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; _local3 = 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; _local5 = 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 _local3:Number; var _local4:Number; var _local5:Number; _local3 = 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 _local3:Number; var _local4:Number; var _local5:Number; _local3 = 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; var _local4:Number; _local3 = getRotationRadians(_arg1); _local4 = getSkewXRadians(_arg1); setSkewXRadians(_arg1, ((_local4 + _arg2) - _local3)); setSkewYRadians(_arg1, _arg2); } public static function setSkewYRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; _local3 = 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; var _local5:Number; var _local6:Number; _local4 = _arg1.transformPoint(_arg2); _local5 = (_arg3.x - _local4.x); _local6 = (_arg3.y - _local4.y); _arg1.tx = (_arg1.tx + _local5); _arg1.ty = (_arg1.ty + _local6); } } }//package fl.motion
Section 27
//Motion (fl.motion.Motion) package fl.motion { import flash.filters.*; import flash.geom.*; import flash.utils.*; public class Motion { private var _keyframesCompact:Array; public var keyframes:Array; public var source:Source; private var _duration:int;// = 0 private static var typeCache:Object = {}; public function Motion(_arg1:XML=null){ var _local2:Keyframe; _duration = 0; super(); this.keyframes = []; this.parseXML(_arg1); if (!this.source){ this.source = new Source(); }; if (this.duration == 0){ _local2 = new Keyframe(); _local2.index = 0; this.addKeyframe(_local2); }; } public function getFilters(_arg1:Number):Array{ var _local2:Array; var _local3:Keyframe; var _local4:Array; var _local5:Number; var _local6:ITween; var _local7:Keyframe; var _local8:Array; var _local9:Number; var _local10:Number; _local2 = null; _local3 = this.getCurrentKeyframe(_arg1, "filters"); if (((!(_local3)) || (!(_local3.filters.length)))){ return ([]); }; _local4 = _local3.filters; _local5 = (_arg1 - _local3.index); _local6 = ((_local3.getTween("filters")) || (_local3.getTween())); if ((((_local5 == 0)) || (!(_local6)))){ _local2 = _local4; } else { if (_local6){ _local7 = this.getNextKeyframe(_arg1, "filters"); 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); } public function getCurrentKeyframe(_arg1:int, _arg2:String=""):Keyframe{ var _local3:int; var _local4:Keyframe; if (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))){ return (null); }; _local3 = _arg1; while (_local3 > 0) { _local4 = this.keyframes[_local3]; if (((_local4) && (_local4.affectsTweenable(_arg2)))){ return (_local4); }; _local3--; }; return (this.keyframes[0]); } public function get duration():int{ if (this._duration < this.keyframes.length){ this._duration = this.keyframes.length; }; return (this._duration); } public function get keyframesCompact():Array{ var _local1:Keyframe; this._keyframesCompact = []; for each (_local1 in this.keyframes) { if (_local1){ this._keyframesCompact.push(_local1); }; }; return (this._keyframesCompact); } private function parseXML(_arg1:XML):Motion{ var _local2:XMLList; var _local3:Number; var _local4:XML; var _local5:XML; if (!_arg1){ return (this); }; if (_arg1.@duration.length()){ this._duration = parseInt(_arg1.@duration); }; _local2 = _arg1.elements(); _local3 = 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(new Keyframe(_local4)); }; }; _local3++; }; return (this); } public function set duration(_arg1:int):void{ if (_arg1 < this.keyframes.length){ _arg1 = this.keyframes.length; }; this._duration = _arg1; } private function indexOutOfRange(_arg1:int):Boolean{ return (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))); } public function addKeyframe(_arg1:Keyframe):void{ this.keyframes[_arg1.index] = _arg1; if (this.duration < this.keyframes.length){ this.duration = this.keyframes.length; }; } public function setValue(_arg1:int, _arg2:String, _arg3:Number):void{ var _local4:Keyframe; if (_arg1 == 0){ return; }; _local4 = this.keyframes[_arg1]; if (!_local4){ _local4 = new Keyframe(); _local4.index = _arg1; this.addKeyframe(_local4); }; _local4.setValue(_arg2, _arg3); } public function getNextKeyframe(_arg1:int, _arg2:String=""):Keyframe{ var _local3:int; var _local4:Keyframe; if (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))){ return (null); }; _local3 = (_arg1 + 1); while (_local3 < this.keyframes.length) { _local4 = this.keyframes[_local3]; if (((_local4) && (_local4.affectsTweenable(_arg2)))){ return (_local4); }; _local3++; }; return (null); } public function getValue(_arg1:Number, _arg2:String):Number{ var _local3:Number; var _local4:Keyframe; var _local5:Number; var _local6:Number; var _local7:ITween; var _local8:String; var _local9:Keyframe; var _local10:Number; var _local11:Number; var _local12:Number; _local3 = NaN; _local4 = this.getCurrentKeyframe(_arg1, _arg2); if (((!(_local4)) || (_local4.blank))){ return (NaN); }; _local5 = _local4.getValue(_arg2); if (((isNaN(_local5)) && ((_local4.index > 0)))){ _local5 = this.getValue((_local4.index - 1), _arg2); }; if (isNaN(_local5)){ return (NaN); }; _local6 = (_arg1 - _local4.index); if (_local6 == 0){ return (_local5); }; _local7 = ((_local4.getTween(_arg2)) || (_local4.getTween())); if (((((!(_local7)) || (((!(_local4.tweenScale)) && ((((_arg2 == Tweenables.SCALE_X)) || ((_arg2 == Tweenables.SCALE_Y)))))))) || ((((_local4.rotateDirection == RotateDirection.NONE)) && ((((((_arg2 == Tweenables.ROTATION)) || ((_arg2 == Tweenables.SKEW_X)))) || ((_arg2 == Tweenables.SKEW_Y)))))))){ return (_local5); }; _local8 = _arg2; if (_local7.target == ""){ _local8 = ""; }; _local9 = this.getNextKeyframe(_arg1, _local8); if (((!(_local9)) || (_local9.blank))){ return (_local5); }; _local10 = _local9.getValue(_arg2); if (isNaN(_local10)){ _local10 = _local5; }; _local11 = (_local10 - _local5); if ((((((_arg2 == Tweenables.SKEW_X)) || ((_arg2 == Tweenables.SKEW_Y)))) || ((_arg2 == Tweenables.ROTATION)))){ if (_local4.rotateDirection == RotateDirection.AUTO){ _local11 = (_local11 % 360); if (_local11 > 180){ _local11 = (_local11 - 360); } else { if (_local11 < -180){ _local11 = (_local11 + 360); }; }; } else { if (_local4.rotateDirection == RotateDirection.CW){ if (_local11 < 0){ _local11 = ((_local11 % 360) + 360); }; _local11 = (_local11 + (_local4.rotateTimes * 360)); } else { if (_local11 > 0){ _local11 = ((_local11 % 360) - 360); }; _local11 = (_local11 - (_local4.rotateTimes * 360)); }; }; }; _local12 = (_local9.index - _local4.index); _local3 = _local7.getValue(_local6, _local5, _local11, _local12); return (_local3); } public function set keyframesCompact(_arg1:Array):void{ var _local2:Keyframe; this._keyframesCompact = _arg1.concat(); this.keyframes = []; for each (_local2 in this._keyframesCompact) { this.addKeyframe(_local2); }; } public function getColorTransform(_arg1:int):ColorTransform{ var _local2:ColorTransform; var _local3:Keyframe; var _local4:ColorTransform; var _local5:Number; var _local6:ITween; var _local7:Keyframe; var _local8:ColorTransform; var _local9:Number; var _local10:Number; _local2 = null; _local3 = this.getCurrentKeyframe(_arg1, "color"); if (((!(_local3)) || (!(_local3.color)))){ return (null); }; _local4 = _local3.color; _local5 = (_arg1 - _local3.index); _local6 = ((((_local3.getTween("color")) || (_local3.getTween("alpha")))) || (_local3.getTween())); if ((((_local5 == 0)) || (!(_local6)))){ _local2 = _local4; } else { if (_local6){ _local7 = this.getNextKeyframe(_arg1, "color"); 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:String; _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 _local4:Number; var _local5:BitmapFilter; var _local6:XML; var _local7:XMLList; 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; }; }; _local4 = (1 - _arg3); _local5 = _arg1.clone(); _local6 = getTypeInfo(_arg1); _local7 = _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 _local4:Array; var _local5:int; var _local6:BitmapFilter; var _local7:BitmapFilter; var _local8:BitmapFilter; if (_arg1.length != _arg2.length){ return (null); }; _local4 = []; _local5 = 0; 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; _local2 = new XML(_arg1); return (new Motion(_local2)); } } }//package fl.motion
Section 28
//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 29
//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 30
//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){ _ease = 0; _target = ""; super(); 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); }; }; 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 31
//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 skewY:Number;// = 0 public var skewX:Number;// = 0 public var scaleY:Number;// = 1 public var elementType:String;// = "" public var transformationPoint:Point; public var linkageID:String;// = "" 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){ frameRate = NaN; elementType = ""; symbolName = ""; instanceName = ""; linkageID = ""; x = 0; y = 0; scaleX = 1; scaleY = 1; skewX = 0; skewY = 0; rotation = 0; super(); this.parseXML(_arg1); } private function parseXML(_arg1:XML=null):Source{ var _local2:XMLList; 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); }; _local2 = _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 32
//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 X:String = "x"; public static const Y:String = "y"; public static const ROTATION:String = "rotation"; } }//package fl.motion
Section 33
//Back (fl.transitions.easing.Back) package fl.transitions.easing { public class Back { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2)); }; _arg1 = (_arg1 - 2); _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 34
//Bounce (fl.transitions.easing.Bounce) package fl.transitions.easing { public class Bounce { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 - easeOut((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeIn((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOut(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } } }//package fl.transitions.easing
Section 35
//Elastic (fl.transitions.easing.Elastic) package fl.transitions.easing { public class Elastic { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; --_arg1; return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * (0.3 * 1.5)); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); }; --_arg1; return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2)); } } }//package fl.transitions.easing
Section 36
//None (fl.transitions.easing.None) package fl.transitions.easing { public class None { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package fl.transitions.easing
Section 37
//Regular (fl.transitions.easing.Regular) package fl.transitions.easing { public class Regular { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } } }//package fl.transitions.easing
Section 38
//Strong (fl.transitions.easing.Strong) package fl.transitions.easing { public class Strong { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 39
//Blinds (fl.transitions.Blinds) package fl.transitions { import flash.display.*; import flash.geom.*; public class Blinds extends Transition { protected var _numStrips:uint;// = 10 protected var _mask:MovieClip; protected var _innerMask:MovieClip; protected var _dimension:uint;// = 0 public function Blinds(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ _numStrips = 10; _dimension = 0; super(_arg1, _arg2, _arg3); this._dimension = (_arg2.dimension) ? 1 : 0; if (_arg2.numStrips){ this._numStrips = _arg2.numStrips; }; this._initMask(); } protected function _initMask():void{ var _local1:Rectangle; this._mask = new MovieClip(); this._mask.visible = false; this._content.addChild(this._mask); this._innerMask = new MovieClip(); this._mask.addChild(this._innerMask); this._innerMask.x = (this._innerMask.y = 50); if (this._dimension){ this._innerMask.rotation = -90; }; this._innerMask.graphics.beginFill(0xFF0000); this.drawBox(this._innerMask, 0, 0, 100, 100); this._innerMask.graphics.endFill(); _local1 = this._innerBounds; this._mask.x = _local1.left; this._mask.y = _local1.top; this._mask.width = _local1.width; this._mask.height = _local1.height; } override protected function _render(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:MovieClip; var _local5:Number; _local2 = (100 / this._numStrips); _local3 = (_arg1 * _local2); _local4 = this._innerMask; _local4.graphics.clear(); _local5 = this._numStrips; _local4.graphics.beginFill(0xFF0000); while (_local5--) { this.drawBox(_local4, -50, ((_local5 * _local2) - 50), 100, _local3); }; _local4.graphics.endFill(); } override public function get type():Class{ return (Blinds); } override public function cleanUp():void{ this._content.removeChild(this._mask); this._content.mask = null; super.cleanUp(); } override public function start():void{ this._content.mask = this._mask; super.start(); } } }//package fl.transitions
Section 40
//Fade (fl.transitions.Fade) package fl.transitions { import flash.display.*; public class Fade extends Transition { protected var _alphaFinal:Number; public function Fade(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ super(_arg1, _arg2, _arg3); this._alphaFinal = this.manager.contentAppearance.alpha; } override protected function _render(_arg1:Number):void{ this._content.alpha = (this._alphaFinal * _arg1); } override public function get type():Class{ return (Fade); } } }//package fl.transitions
Section 41
//Fly (fl.transitions.Fly) package fl.transitions { import flash.display.*; import flash.geom.*; public class Fly extends Transition { protected var _xInitial:Number; protected var _yFinal:Number; public var className:String;// = "Fly" protected var _stagePoints:Object; protected var _yInitial:Number; protected var _startPoint:Number;// = 4 protected var _xFinal:Number; public function Fly(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ var _local4:Stage; var _local5:String; var _local6:Object; var _local7:String; var _local8:Rectangle; className = "Fly"; _startPoint = 4; super(_arg1, _arg2, _arg3); if (_arg2.startPoint){ this._startPoint = _arg2.startPoint; }; this._xFinal = this.manager.contentAppearance.x; this._yFinal = this.manager.contentAppearance.y; _local4 = _arg1.stage; _local5 = _local4.scaleMode; _local4.scaleMode = StageScaleMode.SHOW_ALL; _local6 = (this._stagePoints = {}); _local6[1] = new Point(0, 0); _local6[2] = new Point(0, 0); _local6[3] = new Point(_local4.stageWidth, 0); _local6[4] = new Point(0, 0); _local6[5] = new Point((_local4.stageWidth / 2), (_local4.stageHeight / 2)); _local6[6] = new Point(_local4.stageWidth, 0); _local6[7] = new Point(0, _local4.stageHeight); _local6[8] = new Point(0, _local4.stageHeight); _local6[9] = new Point(_local4.stageWidth, _local4.stageHeight); for (_local7 in _local6) { this._content.parent.globalToLocal(_local6[_local7]); }; _local8 = this._innerBounds; _local6[1].x = (_local6[1].x - _local8.right); _local6[1].y = (_local6[1].y - _local8.bottom); _local6[2].x = this.manager.contentAppearance.x; _local6[2].y = (_local6[2].y - _local8.bottom); _local6[3].x = (_local6[3].x - _local8.left); _local6[3].y = (_local6[3].y - _local8.bottom); _local6[4].x = (_local6[4].x - _local8.right); _local6[4].y = this.manager.contentAppearance.y; _local6[5].x = (_local6[5].x - ((_local8.right + _local8.left) / 2)); _local6[5].y = (_local6[5].y - ((_local8.bottom + _local8.top) / 2)); _local6[6].x = (_local6[6].x - _local8.left); _local6[6].y = this.manager.contentAppearance.y; _local6[7].x = (_local6[7].x - _local8.right); _local6[7].y = (_local6[7].y - _local8.top); _local6[8].x = this.manager.contentAppearance.x; _local6[8].y = (_local6[8].y - _local8.top); _local6[9].x = (_local6[9].x - _local8.left); _local6[9].y = (_local6[9].y - _local8.top); this._xInitial = this._stagePoints[this._startPoint].x; this._yInitial = this._stagePoints[this._startPoint].y; _local4.scaleMode = _local5; } override protected function _render(_arg1:Number):void{ this._content.x = (this._xFinal + ((this._xInitial - this._xFinal) * (1 - _arg1))); this._content.y = (this._yFinal + ((this._yInitial - this._yFinal) * (1 - _arg1))); } override public function get type():Class{ return (Fly); } } }//package fl.transitions
Section 42
//Iris (fl.transitions.Iris) package fl.transitions { import flash.display.*; import flash.geom.*; public class Iris extends Transition { protected var _minDimension:Number;// = NAN protected var _shape:String;// = "SQUARE" protected var _cornerMode:Boolean;// = false protected var _renderFunction:Function; protected var _maxDimension:Number;// = NAN protected var _mask:MovieClip; protected var _startPoint:uint;// = 5 public static const CIRCLE:String = "CIRCLE"; public static const SQUARE:String = "SQUARE"; public function Iris(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ _startPoint = 5; _cornerMode = false; _shape = SQUARE; _maxDimension = NaN; _minDimension = NaN; super(_arg1, _arg2, _arg3); if (_arg2.startPoint){ this._startPoint = _arg2.startPoint; }; if (_arg2.shape){ this._shape = _arg2.shape; }; this._maxDimension = Math.max(this._width, this._height); this._minDimension = Math.min(this._width, this._height); if ((this._startPoint % 2)){ this._cornerMode = true; }; if (this._shape == SQUARE){ if (this._cornerMode){ this._renderFunction = this._renderSquareCorner; } else { this._renderFunction = this._renderSquareEdge; }; } else { if (this._shape == CIRCLE){ this._renderFunction = this._renderCircle; }; }; this._initMask(); } protected function _drawHalfCircle(_arg1:MovieClip, _arg2:Number):void{ var _local3:Number; var _local4:Number; _local3 = 0; _local4 = 0; _arg1.graphics.lineTo(0, -(_arg2)); _arg1.graphics.curveTo(((Math.tan((Math.PI / 8)) * _arg2) + _local3), (-(_arg2) + _local4), ((Math.sin((Math.PI / 4)) * _arg2) + _local3), ((-(Math.sin((Math.PI / 4))) * _arg2) + _local4)); _arg1.graphics.curveTo((_arg2 + _local3), ((-(Math.tan((Math.PI / 8))) * _arg2) + _local4), (_arg2 + _local3), _local4); _arg1.graphics.curveTo((_arg2 + _local3), ((Math.tan((Math.PI / 8)) * _arg2) + _local4), ((Math.sin((Math.PI / 4)) * _arg2) + _local3), ((Math.sin((Math.PI / 4)) * _arg2) + _local4)); _arg1.graphics.curveTo(((Math.tan((Math.PI / 8)) * _arg2) + _local3), (_arg2 + _local4), _local3, (_arg2 + _local4)); _arg1.graphics.lineTo(0, 0); } protected function _initMask():void{ var _local1:MovieClip; var _local2:Rectangle; _local1 = (this._mask = new MovieClip()); _local1.visible = false; this._content.addChild(_local1); _local2 = this._innerBounds; switch (this._startPoint){ case 1: _local1.x = _local2.left; _local1.y = _local2.top; break; case 4: _local1.x = _local2.left; _local1.y = ((_local2.top + _local2.bottom) * 0.5); break; case 3: _local1.rotation = 90; _local1.x = _local2.right; _local1.y = _local2.top; break; case 2: _local1.rotation = 90; _local1.x = ((_local2.left + _local2.right) * 0.5); _local1.y = _local2.top; break; case 9: _local1.rotation = 180; _local1.x = _local2.right; _local1.y = _local2.bottom; break; case 6: _local1.rotation = 180; _local1.x = _local2.right; _local1.y = ((_local2.top + _local2.bottom) * 0.5); break; case 7: _local1.rotation = -90; _local1.x = _local2.left; _local1.y = _local2.bottom; break; case 8: _local1.rotation = -90; _local1.x = ((_local2.left + _local2.right) * 0.5); _local1.y = _local2.bottom; break; case 5: _local1.x = ((_local2.left + _local2.right) * 0.5); _local1.y = ((_local2.top + _local2.bottom) * 0.5); break; }; } protected function _renderSquareEdge(_arg1:Number):void{ var _local2:MovieClip; var _local3:uint; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = this._mask; _local2.graphics.clear(); _local2.graphics.beginFill(0xFF0000); _local3 = this._startPoint; _local4 = (_arg1 * this._width); _local5 = (_arg1 * this._height); _local6 = (_arg1 * this._maxDimension); if ((((_local3 == 4)) || ((_local3 == 6)))){ this.drawBox(_local2, 0, (-0.5 * _local5), _local4, _local5); } else { if (this._height < this._width){ this.drawBox(_local2, 0, (-0.5 * _local6), _local5, _local4); } else { this.drawBox(_local2, 0, (-0.5 * _local6), _local6, _local6); }; }; _local2.graphics.endFill(); } protected function _renderSquareCorner(_arg1:Number):void{ var _local2:MovieClip; var _local3:uint; var _local4:Number; var _local5:Number; _local2 = this._mask; _local2.graphics.clear(); _local2.graphics.beginFill(0xFF0000); _local3 = this._startPoint; _local4 = (_arg1 * this._width); _local5 = (_arg1 * this._height); if (_local3 == 5){ this.drawBox(_local2, (-0.5 * _local4), (-0.5 * _local5), _local4, _local5); } else { if ((((_local3 == 3)) || ((_local3 == 7)))){ this.drawBox(_local2, 0, 0, _local5, _local4); } else { this.drawBox(_local2, 0, 0, _local4, _local5); }; }; _local2.graphics.endFill(); } override protected function _render(_arg1:Number):void{ this._renderFunction(_arg1); } override public function get type():Class{ return (Iris); } override public function cleanUp():void{ this._content.removeChild(this._mask); this._content.mask = null; super.cleanUp(); } protected function _drawQuarterCircle(_arg1:MovieClip, _arg2:Number):void{ var _local3:Number; var _local4:Number; _local3 = 0; _local4 = 0; _arg1.graphics.lineTo(_arg2, 0); _arg1.graphics.curveTo((_arg2 + _local3), ((Math.tan((Math.PI / 8)) * _arg2) + _local4), ((Math.sin((Math.PI / 4)) * _arg2) + _local3), ((Math.sin((Math.PI / 4)) * _arg2) + _local4)); _arg1.graphics.curveTo(((Math.tan((Math.PI / 8)) * _arg2) + _local3), (_arg2 + _local4), _local3, (_arg2 + _local4)); } override public function start():void{ this._content.mask = this._mask; super.start(); } protected function _renderCircle(_arg1:Number):void{ var _local2:MovieClip; var _local3:Number; _local2 = this._mask; _local2.graphics.clear(); _local2.graphics.beginFill(0xFF0000); _local3 = 0; if (this._startPoint == 5){ _local3 = (0.5 * Math.sqrt(((this._width * this._width) + (this._height * this._height)))); this.drawCircle(_local2, 0, 0, (_arg1 * _local3)); } else { if (this._cornerMode){ _local3 = Math.sqrt(((this._width * this._width) + (this._height * this._height))); this._drawQuarterCircle(_local2, (_arg1 * _local3)); } else { if ((((this._startPoint == 4)) || ((this._startPoint == 6)))){ _local3 = Math.sqrt(((this._width * this._width) + ((0.25 * this._height) * this._height))); } else { if ((((this._startPoint == 2)) || ((this._startPoint == 8)))){ _local3 = Math.sqrt((((0.25 * this._width) * this._width) + (this._height * this._height))); }; }; this._drawHalfCircle(_local2, (_arg1 * _local3)); }; }; _local2.graphics.endFill(); } } }//package fl.transitions
Section 43
//Photo (fl.transitions.Photo) package fl.transitions { import flash.display.*; import flash.geom.*; public class Photo extends Transition { protected var _alphaFinal:Number;// = 1 protected var _colorControl:ColorTransform; public function Photo(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ _alphaFinal = 1; super(_arg1, _arg2, _arg3); this._alphaFinal = this.manager.contentAppearance.alpha; this._colorControl = new ColorTransform(); } override protected function _render(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:Number; _local2 = 0.8; _local3 = 0.9; _local4 = {}; _local5 = 0; if (_arg1 <= _local2){ this._colorControl.alphaMultiplier = (this._alphaFinal * (_arg1 / _local2)); } else { this._colorControl.alphaMultiplier = this._alphaFinal; if (_arg1 <= _local3){ _local5 = (((_arg1 - _local2) / (_local3 - _local2)) * 0x0100); } else { _local5 = ((1 - ((_arg1 - _local3) / (1 - _local3))) * 0x0100); }; }; _local4.rb = (_local4.gb = (_local4.bb = _local5)); this._colorControl.redOffset = (this._colorControl.greenOffset = (this._colorControl.blueOffset = _local5)); this._content.transform.colorTransform = this._colorControl; } override public function get type():Class{ return (Photo); } } }//package fl.transitions
Section 44
//PixelDissolve (fl.transitions.PixelDissolve) package fl.transitions { import flash.display.*; import flash.geom.*; public class PixelDissolve extends Transition { protected var _numSections:uint;// = 1 protected var _ySections:Number;// = 10 protected var _mask:MovieClip; protected var _xSections:Number;// = 10 protected var _innerMask:MovieClip; protected var _indices:Array; public function PixelDissolve(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ var _local4:int; var _local5:int; _xSections = 10; _ySections = 10; _numSections = 1; super(_arg1, _arg2, _arg3); if (_arg2.xSections){ this._xSections = _arg2.xSections; }; if (_arg2.ySections){ this._ySections = _arg2.ySections; }; this._numSections = (this._xSections * this._ySections); this._indices = new Array(); _local4 = this._ySections; while (_local4--) { _local5 = this._xSections; while (_local5--) { this._indices[((_local4 * this._xSections) + _local5)] = {x:_local5, y:_local4}; }; }; this._shuffleArray(this._indices); this._initMask(); } protected function _initMask():void{ var _local1:Rectangle; this._mask = new MovieClip(); this._mask.visible = false; this._content.addChild(this._mask); this._innerMask = new MovieClip(); this._mask.addChild(this._innerMask); this._innerMask.graphics.beginFill(0xFF0000); this.drawBox(this._innerMask, 0, 0, 100, 100); this._innerMask.graphics.endFill(); _local1 = this._innerBounds; this._mask.x = _local1.left; this._mask.y = _local1.top; this._mask.width = (_local1.right - _local1.left); this._mask.height = (_local1.bottom - _local1.top); } override protected function _render(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:Array; var _local5:MovieClip; var _local6:Number; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 1){ _arg1 = 1; }; _local2 = (100 / this._xSections); _local3 = (100 / this._ySections); _local4 = this._indices; _local5 = this._innerMask; _local5.graphics.clear(); _local5.graphics.beginFill(0xFF0000); _local6 = Math.floor((_arg1 * this._numSections)); while (_local6--) { this.drawBox(_local5, (_local4[_local6].x * _local2), (_local4[_local6].y * _local3), _local2, _local3); }; _local5.graphics.endFill(); } protected function _shuffleArray(_arg1:Array):void{ var _local2:int; var _local3:int; var _local4:Object; _local2 = (_arg1.length - 1); while (_local2 > 0) { _local3 = Math.floor((Math.random() * (_local2 + 1))); if (_local3 == _local2){ } else { _local4 = _arg1[_local2]; _arg1[_local2] = _arg1[_local3]; _arg1[_local3] = _local4; }; _local2--; }; } override public function get type():Class{ return (PixelDissolve); } override public function cleanUp():void{ this._content.removeChild(this._mask); this._content.mask = null; super.cleanUp(); } override public function start():void{ this._content.mask = this._mask; super.start(); } } }//package fl.transitions
Section 45
//Rotate (fl.transitions.Rotate) package fl.transitions { import flash.display.*; public class Rotate extends Transition { protected var _rotationFinal:Number;// = NAN protected var _degrees:Number;// = 360 public function Rotate(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ _rotationFinal = NaN; _degrees = 360; super(_arg1, _arg2, _arg3); if (isNaN(this._rotationFinal)){ this._rotationFinal = this.manager.contentAppearance.rotation; }; if (_arg2.degrees){ this._degrees = _arg2.degrees; }; if ((_arg2.ccw ^ this.direction)){ this._degrees = (this._degrees * -1); }; } override protected function _render(_arg1:Number):void{ this._content.rotation = (this._rotationFinal - (this._degrees * (1 - _arg1))); } override public function get type():Class{ return (Rotate); } } }//package fl.transitions
Section 46
//Squeeze (fl.transitions.Squeeze) package fl.transitions { import flash.display.*; public class Squeeze extends Transition { protected var _scaleProp:String;// = "scaleX" protected var _scaleFinal:Number;// = 1 public function Squeeze(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ _scaleProp = "scaleX"; _scaleFinal = 1; super(_arg1, _arg2, _arg3); if (_arg2.dimension){ this._scaleProp = "scaleY"; this._scaleFinal = this.manager.contentAppearance.scaleY; } else { this._scaleProp = "scaleX"; this._scaleFinal = this.manager.contentAppearance.scaleX; }; } override protected function _render(_arg1:Number):void{ if (_arg1 <= 0){ _arg1 = 0; }; this._content[this._scaleProp] = (_arg1 * this._scaleFinal); } override public function get type():Class{ return (Squeeze); } } }//package fl.transitions
Section 47
//Transition (fl.transitions.Transition) package fl.transitions { import flash.display.*; import flash.geom.*; import flash.events.*; public class Transition extends EventDispatcher { protected var _progress:Number; public var ID:int; protected var _twn:Tween; protected var _direction:uint;// = 0 protected var _content:MovieClip; protected var _height:Number;// = NAN protected var _width:Number;// = NAN protected var _outerBounds:Rectangle; protected var _easing:Function; protected var _innerBounds:Rectangle; protected var _manager:TransitionManager; protected var _duration:Number;// = 2 public static const IN:uint = 0; public static const OUT:uint = 1; public function Transition(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ _direction = 0; _duration = 2; _width = NaN; _height = NaN; super(); this.content = _arg1; this.direction = _arg2.direction; this.duration = _arg2.duration; this.easing = _arg2.easing; this.manager = _arg3; this._innerBounds = this.manager._innerBounds; this._outerBounds = this.manager._outerBounds; this._width = this.manager._width; this._height = this.manager._height; this._resetTween(); } public function stop():void{ this._twn.fforward(); this._twn.stop(); } private function _resetTween():void{ if (this._twn){ this._twn.stop(); this._twn.removeEventListener(TweenEvent.MOTION_FINISH, this.onMotionFinished); }; this._twn = new Tween(this, "", this.easing, 0, 1, this.duration, true); this._twn.stop(); this._twn.prop = "progress"; this._twn.addEventListener(TweenEvent.MOTION_FINISH, this.onMotionFinished, false, 0, true); } public function onMotionFinished(_arg1:Object):void{ if (this.direction == Transition.OUT){ this.dispatchEvent(new Event("transitionOutDone")); } else { this.dispatchEvent(new Event("transitionInDone")); }; } public function get duration():Number{ return (this._duration); } public function set duration(_arg1:Number):void{ if (_arg1){ this._duration = _arg1; if (this._twn){ this._twn.duration = _arg1; }; }; } public function get easing():Function{ return (this._easing); } public function get progress():Number{ return (this._progress); } public function get manager():TransitionManager{ return (this._manager); } protected function _render(_arg1:Number):void{ } public function get type():Class{ return (Transition); } public function drawCircle(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number):void{ _arg1.graphics.moveTo((_arg2 + _arg4), _arg3); _arg1.graphics.curveTo((_arg4 + _arg2), ((Math.tan((Math.PI / 8)) * _arg4) + _arg3), ((Math.sin((Math.PI / 4)) * _arg4) + _arg2), ((Math.sin((Math.PI / 4)) * _arg4) + _arg3)); _arg1.graphics.curveTo(((Math.tan((Math.PI / 8)) * _arg4) + _arg2), (_arg4 + _arg3), _arg2, (_arg4 + _arg3)); _arg1.graphics.curveTo(((-(Math.tan((Math.PI / 8))) * _arg4) + _arg2), (_arg4 + _arg3), ((-(Math.sin((Math.PI / 4))) * _arg4) + _arg2), ((Math.sin((Math.PI / 4)) * _arg4) + _arg3)); _arg1.graphics.curveTo((-(_arg4) + _arg2), ((Math.tan((Math.PI / 8)) * _arg4) + _arg3), (-(_arg4) + _arg2), _arg3); _arg1.graphics.curveTo((-(_arg4) + _arg2), ((-(Math.tan((Math.PI / 8))) * _arg4) + _arg3), ((-(Math.sin((Math.PI / 4))) * _arg4) + _arg2), ((-(Math.sin((Math.PI / 4))) * _arg4) + _arg3)); _arg1.graphics.curveTo(((-(Math.tan((Math.PI / 8))) * _arg4) + _arg2), (-(_arg4) + _arg3), _arg2, (-(_arg4) + _arg3)); _arg1.graphics.curveTo(((Math.tan((Math.PI / 8)) * _arg4) + _arg2), (-(_arg4) + _arg3), ((Math.sin((Math.PI / 4)) * _arg4) + _arg2), ((-(Math.sin((Math.PI / 4))) * _arg4) + _arg3)); _arg1.graphics.curveTo((_arg4 + _arg2), ((-(Math.tan((Math.PI / 8))) * _arg4) + _arg3), (_arg4 + _arg2), _arg3); } public function cleanUp():void{ this.removeEventListener("transitionInDone", this._manager.transitionInDone); this.removeEventListener("transitionOutDone", this._manager.transitionOutDone); this.stop(); } public function set easing(_arg1:Function):void{ this._easing = _arg1; if (this._twn){ this._twn.func = _arg1; }; } public function set manager(_arg1:TransitionManager):void{ if (this._manager){ this.removeEventListener("transitionInDone", this._manager.transitionInDone); this.removeEventListener("transitionOutDone", this._manager.transitionOutDone); }; this._manager = _arg1; this.addEventListener("transitionInDone", this._manager.transitionInDone); this.addEventListener("transitionOutDone", this._manager.transitionOutDone); } public function set progress(_arg1:Number):void{ if (this._progress == _arg1){ return; }; this._progress = _arg1; if (this._direction){ this._render((1 - _arg1)); } else { this._render(_arg1); }; this.dispatchEvent(new Event("transitionProgress")); } public function start():void{ this.content.visible = true; this._twn.start(); } public function drawBox(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ _arg1.graphics.moveTo(_arg2, _arg3); _arg1.graphics.lineTo((_arg2 + _arg4), _arg3); _arg1.graphics.lineTo((_arg2 + _arg4), (_arg3 + _arg5)); _arg1.graphics.lineTo(_arg2, (_arg3 + _arg5)); _arg1.graphics.lineTo(_arg2, _arg3); } public function set content(_arg1:MovieClip):void{ if (_arg1){ this._content = _arg1; if (this._twn){ this._twn.obj = _arg1; }; }; } private function _noEase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public function get content():MovieClip{ return (this._content); } public function set direction(_arg1:Number):void{ this._direction = (_arg1) ? 1 : 0; } public function get direction():Number{ return (this._direction); } } }//package fl.transitions
Section 48
//TransitionManager (fl.transitions.TransitionManager) package fl.transitions { import flash.display.*; import flash.geom.*; import flash.events.*; public class TransitionManager extends EventDispatcher { public var _innerBounds:Rectangle; private var _visualPropList:Object; private var _triggerEvent:String; public var className:String;// = "TransitionManager" public var type:Object; private var _contentAppearance:Object; private var _content:MovieClip; public var _width:Number;// = NAN public var _height:Number;// = NAN public var _outerBounds:Rectangle; private var _transitions:Object; private static var IDCount:int = 0; public function TransitionManager(_arg1:MovieClip){ type = TransitionManager; className = "TransitionManager"; _width = NaN; _height = NaN; _visualPropList = {x:null, y:null, scaleX:null, scaleY:null, alpha:null, rotation:null}; super(); this.content = _arg1; this._transitions = {}; } public function get content():MovieClip{ return (this._content); } public function removeAllTransitions():void{ var _local1:Transition; for each (_local1 in this._transitions) { _local1.cleanUp(); this.removeTransition(_local1); }; } function transitionInDone(_arg1:Object):void{ var _local2:Boolean; this.removeTransition(_arg1.target); if (this.numInTransitions == 0){ _local2 = this._content.visible; if ((((this._triggerEvent == "hide")) || ((this._triggerEvent == "hideChild")))){ this._content.visible = false; }; if (_local2){ this.dispatchEvent(new Event("allTransitionsInDone")); }; }; } public function get numOutTransitions():Number{ var _local1:Number; var _local2:Object; var _local3:Transition; _local1 = 0; _local2 = this._transitions; for each (_local3 in _local2) { if (_local3.direction){ _local1++; }; }; return (_local1); } public function get contentAppearance():Object{ return (this._contentAppearance); } public function saveContentAppearance():void{ var _local1:MovieClip; var _local2:Object; var _local3:String; _local1 = this._content; if (!this._contentAppearance){ _local2 = (this._contentAppearance = {}); for (_local3 in this._visualPropList) { _local2[_local3] = _local1[_local3]; }; _local2.colorTransform = _local1.transform.colorTransform; }; this._innerBounds = _local1.getBounds(_local1); this._outerBounds = _local1.getBounds(_local1.parent); this._width = _local1.width; this._height = _local1.height; } public function addTransition(_arg1:Transition):Transition{ _arg1.ID = ++TransitionManager.IDCount; this._transitions[_arg1.ID] = _arg1; return (_arg1); } public function startTransition(_arg1:Object):Transition{ var _local2:Class; var _local3:Transition; this.removeTransition(this.findTransition(_arg1)); _local2 = _arg1.type; _local3 = new _local2(this._content, _arg1, this); this.addTransition(_local3); _local3.start(); return (_local3); } function transitionOutDone(_arg1:Object):void{ var _local2:Boolean; this.removeTransition(_arg1.target); if (this.numOutTransitions == 0){ this.restoreContentAppearance(); _local2 = this._content.visible; if (((_local2) && ((((_triggerEvent == "hide")) || ((_triggerEvent == "hideChild")))))){ this._content.visible = false; }; if (_local2){ this.dispatchEvent(new Event("allTransitionsOutDone")); }; }; } public function restoreContentAppearance():void{ var _local1:MovieClip; var _local2:Object; var _local3:String; _local1 = this._content; _local2 = this._contentAppearance; for (_local3 in this._visualPropList) { _local1[_local3] = _local2[_local3]; }; _local1.transform.colorTransform = _local2.colorTransform; } public function get numTransitions():Number{ var _local1:Number; var _local2:Transition; _local1 = 0; for each (_local2 in this._transitions) { _local1++; }; return (_local1); } public function findTransition(_arg1:Object):Transition{ var _local2:Transition; for each (_local2 in this._transitions) { if (_local2.type == _arg1.type){ return (_local2); }; }; return (null); } public function set content(_arg1:MovieClip):void{ this._content = _arg1; this.saveContentAppearance(); } public function get numInTransitions():Number{ var _local1:Number; var _local2:Object; var _local3:Transition; _local1 = 0; _local2 = this._transitions; for each (_local3 in _local2) { if (!_local3.direction){ _local1++; }; }; return (_local1); } public function removeTransition(_arg1:Transition):Boolean{ if (((((!(_arg1)) || (!(this._transitions)))) || (!(this._transitions[_arg1.ID])))){ return (false); }; _arg1.cleanUp(); return (delete this._transitions[_arg1.ID]); } public function get transitionsList():Object{ return (this._transitions); } public static function start(_arg1:MovieClip, _arg2:Object):Transition{ if (!_arg1.__transitionManager){ _arg1.__transitionManager = new TransitionManager(_arg1); }; if (_arg2.direction == 1){ _arg1.__transitionManager._triggerEvent = "hide"; } else { _arg1.__transitionManager._triggerEvent = "reveal"; }; return (_arg1.__transitionManager.startTransition(_arg2)); } } }//package fl.transitions
Section 49
//Tween (fl.transitions.Tween) package fl.transitions { import flash.display.*; import flash.events.*; import flash.utils.*; public class Tween extends EventDispatcher { private var _position:Number;// = NAN public var prevTime:Number;// = NAN public var prevPos:Number;// = NAN public var isPlaying:Boolean;// = false public var begin:Number;// = NAN private var _fps:Number;// = NAN private var _time:Number;// = NAN public var change:Number;// = NAN private var _finish:Number;// = NAN public var looping:Boolean;// = false private var _intervalID:uint;// = 0 public var func:Function; private var _timer:Timer;// = null private var _startTime:Number;// = NAN public var prop:String;// = "" private var _duration:Number;// = NAN public var obj:Object;// = null public var useSeconds:Boolean;// = false protected static var _mc:MovieClip = new MovieClip(); public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){ isPlaying = false; obj = null; prop = ""; func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); }; begin = NaN; change = NaN; useSeconds = false; prevTime = NaN; prevPos = NaN; looping = false; _duration = NaN; _time = NaN; _fps = NaN; _position = NaN; _startTime = NaN; _intervalID = 0; _finish = NaN; _timer = null; super(); if (!arguments.length){ return; }; this.obj = _arg1; this.prop = _arg2; this.begin = _arg4; this.position = _arg4; this.duration = _arg6; this.useSeconds = _arg7; if ((_arg3 is Function)){ this.func = _arg3; }; this.finish = _arg5; this._timer = new Timer(100); this.start(); } public function continueTo(_arg1:Number, _arg2:Number):void{ this.begin = this.position; this.finish = _arg1; if (!isNaN(_arg2)){ this.duration = _arg2; }; this.start(); } public function stop():void{ this.stopEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position)); } private function fixTime():void{ if (this.useSeconds){ this._startTime = (getTimer() - (this._time * 1000)); }; } public function set FPS(_arg1:Number):void{ var _local2:Boolean; _local2 = this.isPlaying; this.stopEnterFrame(); this._fps = _arg1; if (_local2){ this.startEnterFrame(); }; } public function get finish():Number{ return ((this.begin + this.change)); } public function get duration():Number{ return (this._duration); } protected function startEnterFrame():void{ var _local1:Number; if (isNaN(this._fps)){ _mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true); } else { _local1 = (1000 / this._fps); this._timer.delay = _local1; this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true); this._timer.start(); }; this.isPlaying = true; } public function set time(_arg1:Number):void{ this.prevTime = this._time; if (_arg1 > this.duration){ if (this.looping){ this.rewind((_arg1 - this._duration)); this.update(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position)); } else { if (this.useSeconds){ this._time = this._duration; this.update(); }; this.stop(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position)); }; } else { if (_arg1 < 0){ this.rewind(); this.update(); } else { this._time = _arg1; this.update(); }; }; } protected function stopEnterFrame():void{ if (isNaN(this._fps)){ _mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } else { this._timer.stop(); }; this.isPlaying = false; } public function getPosition(_arg1:Number=NaN):Number{ if (isNaN(_arg1)){ _arg1 = this._time; }; return (this.func(_arg1, this.begin, this.change, this._duration)); } public function set finish(_arg1:Number):void{ this.change = (_arg1 - this.begin); } public function set duration(_arg1:Number):void{ this._duration = ((_arg1)<=0) ? Infinity : _arg1; } public function setPosition(_arg1:Number):void{ this.prevPos = this._position; if (this.prop.length){ this.obj[this.prop] = (this._position = _arg1); }; this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position)); } public function resume():void{ this.fixTime(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position)); } public function fforward():void{ this.time = this._duration; this.fixTime(); } protected function onEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function get position():Number{ return (this.getPosition(this._time)); } public function yoyo():void{ this.continueTo(this.begin, this.time); } public function nextFrame():void{ if (this.useSeconds){ this.time = ((getTimer() - this._startTime) / 1000); } else { this.time = (this._time + 1); }; } protected function timerHandler(_arg1:TimerEvent):void{ this.nextFrame(); _arg1.updateAfterEvent(); } public function get FPS():Number{ return (this._fps); } public function rewind(_arg1:Number=0):void{ this._time = _arg1; this.fixTime(); this.update(); } public function set position(_arg1:Number):void{ this.setPosition(_arg1); } public function get time():Number{ return (this._time); } private function update():void{ this.setPosition(this.getPosition(this._time)); } public function start():void{ this.rewind(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position)); } public function prevFrame():void{ if (!this.useSeconds){ this.time = (this._time - 1); }; } } }//package fl.transitions
Section 50
//TweenEvent (fl.transitions.TweenEvent) package fl.transitions { import flash.events.*; public class TweenEvent extends Event { public var time:Number;// = NAN public var position:Number;// = NAN public static const MOTION_START:String = "motionStart"; public static const MOTION_STOP:String = "motionStop"; public static const MOTION_LOOP:String = "motionLoop"; public static const MOTION_CHANGE:String = "motionChange"; public static const MOTION_FINISH:String = "motionFinish"; public static const MOTION_RESUME:String = "motionResume"; public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){ time = NaN; position = NaN; super(_arg1, _arg4, _arg5); this.time = _arg2; this.position = _arg3; } override public function clone():Event{ return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable)); } } }//package fl.transitions
Section 51
//Wipe (fl.transitions.Wipe) package fl.transitions { import flash.display.*; import flash.geom.*; public class Wipe extends Transition { protected var _cornerMode:Boolean;// = false protected var _mask:MovieClip; protected var _innerMask:MovieClip; protected var _startPoint:uint;// = 4 public function Wipe(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ _startPoint = 4; _cornerMode = false; super(_arg1, _arg2, _arg3); if (_arg2.startPoint){ this._startPoint = _arg2.startPoint; }; this._initMask(); } protected function _initMask():void{ var _local1:Rectangle; this._mask = new MovieClip(); this._mask.visible = false; this._content.addChild(this._mask); this._innerMask = new MovieClip(); this._mask.addChild(this._innerMask); this._innerMask.x = (this._innerMask.y = 50); this._innerMask.graphics.beginFill(0xFF0000); this.drawBox(this._innerMask, -50, -50, 100, 100); this._innerMask.graphics.endFill(); switch (this._startPoint){ case 3: case 2: this._innerMask.rotation = 90; break; case 1: case 4: case 5: this._innerMask.rotation = 0; break; case 9: case 6: this._innerMask.rotation = 180; break; case 7: case 8: this._innerMask.rotation = -90; break; }; if ((this._startPoint % 2)){ this._cornerMode = true; }; _local1 = this._innerBounds; this._mask.x = _local1.left; this._mask.y = _local1.top; this._mask.width = _local1.width; this._mask.height = _local1.height; } protected function _drawSlant(_arg1:MovieClip, _arg2:Number):void{ _arg1.graphics.moveTo(-50, -50); if (_arg2 <= 0.5){ _arg1.graphics.lineTo((200 * (_arg2 - 0.25)), -50); _arg1.graphics.lineTo(-50, (200 * (_arg2 - 0.25))); } else { _arg1.graphics.lineTo(50, -50); _arg1.graphics.lineTo(50, (200 * (_arg2 - 0.75))); _arg1.graphics.lineTo((200 * (_arg2 - 0.75)), 50); _arg1.graphics.lineTo(-50, 50); }; _arg1.graphics.lineTo(-50, -50); } override protected function _render(_arg1:Number):void{ this._innerMask.graphics.clear(); this._innerMask.graphics.beginFill(0xFF0000); if (this._cornerMode){ this._drawSlant(this._innerMask, _arg1); } else { this.drawBox(this._innerMask, -50, -50, (_arg1 * 100), 100); }; this._innerMask.graphics.endFill(); } override public function get type():Class{ return (Wipe); } override public function cleanUp():void{ this._content.removeChild(this._mask); this._content.mask = null; super.cleanUp(); } override public function start():void{ this._content.mask = this._mask; super.start(); } } }//package fl.transitions
Section 52
//Zoom (fl.transitions.Zoom) package fl.transitions { import flash.display.*; public class Zoom extends Transition { protected var _scaleXFinal:Number;// = 1 protected var _scaleYFinal:Number;// = 1 public function Zoom(_arg1:MovieClip, _arg2:Object, _arg3:TransitionManager){ _scaleXFinal = 1; _scaleYFinal = 1; super(_arg1, _arg2, _arg3); this._scaleXFinal = this.manager.contentAppearance.scaleX; this._scaleYFinal = this.manager.contentAppearance.scaleY; } override protected function _render(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; this._content.scaleX = (_arg1 * this._scaleXFinal); this._content.scaleY = (_arg1 * this._scaleYFinal); } override public function get type():Class{ return (Zoom); } } }//package fl.transitions
Section 53
//CollisionManager (CollisionManager) package { public class CollisionManager { private var score_manager:ScoreManager; private var player:Player; private var laser_array:Array; private var enemy_array:Array; private var cyclone_meter:CycloneMeter; private var particle_manager:ParticleManager; private var debris_array:Array; private var object_array:Array; private var home:Game; public function CollisionManager(_arg1:Game){ home = _arg1; player = home.player; object_array = home.object_array; enemy_array = home.enemy_array; laser_array = home.laser_array; debris_array = home.debris_array; score_manager = home.score_manager; particle_manager = home.particle_manager; cyclone_meter = home.cyclone_meter; } public function checkCollisions():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:*; var _local5:*; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:*; var _local10:*; _local1 = enemy_array.length; _local2 = laser_array.length; _local3 = debris_array.length; _local4 = 0; while (_local4 < _local1) { _local5 = 0; while (_local5 < _local2) { _local6 = (enemy_array[_local4].x - laser_array[_local5].x); _local7 = (enemy_array[_local4].y - laser_array[_local5].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); if (_local8 < (enemy_array[_local4].hit_radius + laser_array[_local5].hit_radius)){ if (enemy_array[_local4].health <= 1){ score_manager.total_score = (score_manager.total_score + enemy_array[_local4].points); score_manager.updateScore(); cyclone_meter.fillBar(); enemy_array[_local4].alive = false; } else { enemy_array[_local4].health--; particle_manager.createSpark(enemy_array[_local4].x, enemy_array[_local4].y, laser_array[_local5].current_angle, 25, enemy_array[_local4].spark_colour, ((Math.random() * 4) + 2)); if (!enemy_array[_local4].hit){ enemy_array[_local4].hit = true; }; }; laser_array[_local5].alive = false; //unresolved jump }; _local5++; }; _local6 = (enemy_array[_local4].x - player.x); _local7 = (enemy_array[_local4].y - player.y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); if ((((((((_local8 < (enemy_array[_local4].hit_radius + player.hit_radius))) && (player.alive))) && (!(player.invincible)))) || ((((((_local8 < (enemy_array[_local4].hit_radius + player.hit_radius))) && (player.alive))) && (player.cycloning))))){ if (player.cyclone_velocity < 1){ score_manager.total_lives--; score_manager.updateLives(); particle_manager.createSpark(player.x, player.y, 0, 360, player.spark_colour, 200); home.sound_manager.stopThrust(); home.sound_manager.randomExplosion(); enemy_array[_local4].alive = false; player.alive = false; } else { if (enemy_array[_local4].health <= 1){ score_manager.total_score = (score_manager.total_score + enemy_array[_local4].points); score_manager.updateScore(); enemy_array[_local4].alive = false; player.cyclone_kills++; } else { enemy_array[_local4].health = (enemy_array[_local4].health - 2); if (!enemy_array[_local4].hit){ enemy_array[_local4].hit = true; }; }; }; break; }; _local4++; }; _local2 = laser_array.length; _local9 = 0; while (_local9 < _local3) { _local10 = 0; while (_local10 < _local2) { _local6 = (debris_array[_local9].x - laser_array[_local10].x); _local7 = (debris_array[_local9].y - laser_array[_local10].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); if ((((_local8 < (debris_array[_local9].hit_radius + laser_array[_local10].hit_radius))) && ((debris_array[_local9].countdown_timer < 0.5)))){ particle_manager.createSpark(debris_array[_local9].x, debris_array[_local9].y, 0, 360, debris_array[_local9].debris_object.glow_filter.color, 30); score_manager.newPopup(debris_array[_local9].points, debris_array[_local9].x, debris_array[_local9].y); score_manager.total_score = (score_manager.total_score + debris_array[_local9].points); score_manager.updateScore(); home.sound_manager.randomDebris(); laser_array[_local10].alive = false; debris_array[_local9].alive = false; player.debris_counter++; break; }; _local10++; }; _local6 = (debris_array[_local9].x - player.x); _local7 = (debris_array[_local9].y - player.y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); if ((((((((_local8 < (debris_array[_local9].hit_radius + player.hit_radius))) && (player.alive))) && (player.cycloning))) && ((debris_array[_local9].countdown_timer < 0.5)))){ if (player.cyclone_velocity > 1){ particle_manager.createSpark(debris_array[_local9].x, debris_array[_local9].y, 0, 360, debris_array[_local9].debris_object.glow_filter.color, 30); score_manager.newPopup(debris_array[_local9].points, debris_array[_local9].x, debris_array[_local9].y); score_manager.total_score = (score_manager.total_score + debris_array[_local9].points); score_manager.updateScore(); home.sound_manager.randomDebris(); debris_array[_local9].alive = false; player.debris_counter++; break; }; }; _local9++; }; } public function destroyObjects():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:*; var _local6:*; var _local7:*; var _local8:*; _local1 = object_array.length; _local5 = (_local1 - 1); while (_local5 >= 0) { if (!object_array[_local5].alive){ object_array.splice(_local5, 1); }; _local5--; }; _local2 = enemy_array.length; _local6 = (_local2 - 1); while (_local6 >= 0) { if (!enemy_array[_local6].alive){ particle_manager.createSpark(enemy_array[_local6].x, enemy_array[_local6].y, 0, 360, enemy_array[_local6].spark_colour, 200); score_manager.newPopup(enemy_array[_local6].points, enemy_array[_local6].x, enemy_array[_local6].y); home.sound_manager.randomExplosion(); enemy_array[_local6].explode(); enemy_array.splice(_local6, 1); }; _local6--; }; _local3 = laser_array.length; _local7 = (_local3 - 1); while (_local7 >= 0) { if (!laser_array[_local7].alive){ laser_array.splice(_local7, 1); }; _local7--; }; _local4 = debris_array.length; _local8 = (_local4 - 1); while (_local8 >= 0) { if (!debris_array[_local8].alive){ debris_array.splice(_local8, 1); }; _local8--; }; } } }//package
Section 54
//Crosshair (Crosshair) package { import flash.display.*; import flash.geom.*; public class Crosshair extends Sprite { private var crosshair_object:Object; private var source_rectangle:Rectangle; private var game_screen:BitmapData; private var rotation_speed:Number;// = 0.8 private var sheet_tile:Object; private var current_angle:Number;// = 0 private var dest_point:Point; public var alive:Boolean;// = true private var home:Game; public function Crosshair(_arg1:Game){ sheet_tile = new Object(); current_angle = 0; rotation_speed = 0.8; alive = true; super(); home = _arg1; crosshair_object = home.sprite_sheet_manager.crosshair_object; game_screen = home.game_screen.screen_data; } private function rotate():void{ current_angle = (current_angle + rotation_speed); if (current_angle >= 360){ current_angle = 0; }; } public function render():void{ sheet_tile.no = Math.floor((current_angle / crosshair_object.rotation_inc)); sheet_tile.x = (Math.floor((sheet_tile.no % crosshair_object.total_colums)) * crosshair_object.tile_width); sheet_tile.y = (Math.floor((sheet_tile.no / crosshair_object.total_colums)) * crosshair_object.tile_height); source_rectangle = new Rectangle(sheet_tile.x, sheet_tile.y, crosshair_object.tile_width, crosshair_object.tile_height); dest_point = new Point((this.x - (crosshair_object.tile_width / 2)), (this.y - (crosshair_object.tile_height / 2))); game_screen.copyPixels(crosshair_object.sprite_sheet, source_rectangle, dest_point); } public function update():void{ rotate(); } } }//package
Section 55
//CrossVector (CrossVector) package { import flash.display.*; public dynamic class CrossVector extends MovieClip { } }//package
Section 56
//CycloneFinish (CycloneFinish) package { import flash.media.*; public dynamic class CycloneFinish extends Sound { } }//package
Section 57
//CycloneMeter (CycloneMeter) package { import flash.display.*; import flash.filters.*; import flash.events.*; public class CycloneMeter extends MovieClip { private var friction:Number;// = 0.95 public var bar_fill2:MovieClip; private var rotation_vel:Number;// = 0 public var swirl:MovieClip; private var home:Game; public var bar_fill1:MovieClip; private var cyclone_meter:Number;// = 100 public function CycloneMeter(_arg1:Game){ cyclone_meter = 100; rotation_vel = 0; friction = 0.95; super(); home = _arg1; home.addChildAt(this, 1); this.x = 312.5; this.y = 35; this.filters = [new GlowFilter(0xFFFFFF, 0.5, 10, 10)]; this.addEventListener(Event.ENTER_FRAME, slowFill, false, 0, false); } public function slowFill(_arg1:Event):void{ if (cyclone_meter < 100){ cyclone_meter = (cyclone_meter + (1 / 20)); }; this.bar_fill1.scaleX = (cyclone_meter / 100); this.bar_fill2.scaleX = (cyclone_meter / 100); this.rotation_vel = (this.rotation_vel * friction); this.swirl.rotation = (this.swirl.rotation + rotation_vel); } public function fillBar():void{ if (cyclone_meter < 95){ cyclone_meter = (cyclone_meter + 5); }; this.bar_fill1.scaleX = (cyclone_meter / 100); this.bar_fill2.scaleX = (cyclone_meter / 100); } public function emptyBar():void{ if (cyclone_meter > 0){ cyclone_meter = (cyclone_meter - 1.3); }; this.bar_fill1.scaleX = (cyclone_meter / 100); this.bar_fill2.scaleX = (cyclone_meter / 100); rotation_vel = (rotation_vel + 2); this.swirl.rotation = (this.swirl.rotation + rotation_vel); } } }//package
Section 58
//CycloneStart (CycloneStart) package { import flash.media.*; public dynamic class CycloneStart extends Sound { } }//package
Section 59
//DavidSans (DavidSans) package { import flash.text.*; public dynamic class DavidSans extends Font { } }//package
Section 60
//Debris (Debris) package { import flash.display.*; import flash.geom.*; public class Debris extends Sprite { public var points:Number;// = 25 private var timer_counter:Number;// = 0 private var color_transform_rect:Rectangle; private var color_transform_point:Point; private var source_rectangle:Rectangle; private var game_screen:BitmapData; private var move_speed:Number; private var rotation_speed:Number; public var debris_object:Object; private var color_transform:ColorTransform; private var sheet_tile:Object; private var start_countdown:Boolean;// = false private var dest_point:Point; private var flicker_counter:Number;// = 0 public var countdown_timer:Number;// = 1 public var spin_angle:Number;// = 0 private var flicker_rate:Number;// = 0.8 private var alive_duration:Number;// = 1 public var alive:Boolean;// = true public var hit_radius:Number;// = 10 private var move_angle:Number;// = 0 private var home:Game; private var friction:Number; private var flicker:Boolean;// = false public function Debris(_arg1:Game, _arg2:Object, _arg3:BitmapData, _arg4:Number){ sheet_tile = new Object(); move_angle = 0; color_transform = new ColorTransform(); color_transform_point = new Point(); alive_duration = 1; timer_counter = 0; countdown_timer = 1; flicker = false; flicker_rate = 0.8; flicker_counter = 0; start_countdown = false; spin_angle = 0; alive = true; hit_radius = 10; points = 25; super(); home = home; debris_object = _arg2; game_screen = _arg3; move_angle = _arg4; move_speed = randomize(5, 3); rotation_speed = randomize(5, -5); friction = randomize(0.97, 0.95); color_transform.alphaMultiplier = 0.2; color_transform_rect = new Rectangle(0, 0, debris_object.tile_width, debris_object.tile_height); } private function rotate():void{ rotation_speed = (rotation_speed * friction); spin_angle = (spin_angle + rotation_speed); if (spin_angle >= 360){ spin_angle = 0; }; if (spin_angle < 0){ spin_angle = 360; }; } private function randomize(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = ((Math.random() * (_arg1 - _arg2)) + _arg2); return (_local3); } public function update():void{ move(); rotate(); flickering(); } public function render():void{ sheet_tile.no = Math.floor((spin_angle / debris_object.rotation_inc)); sheet_tile.x = (Math.floor((sheet_tile.no % debris_object.total_colums)) * debris_object.tile_width); sheet_tile.y = (Math.floor((sheet_tile.no / debris_object.total_colums)) * debris_object.tile_height); source_rectangle = new Rectangle(sheet_tile.x, sheet_tile.y, debris_object.tile_width, debris_object.tile_height); dest_point = new Point((this.x - (debris_object.tile_width / 2)), (this.y - (debris_object.tile_height / 2))); if (!flicker){ game_screen.copyPixels(debris_object.sprite_sheet, source_rectangle, dest_point); } else { debris_object.temp_data.copyPixels(debris_object.sprite_sheet, source_rectangle, color_transform_point); debris_object.temp_data.colorTransform(color_transform_rect, color_transform); game_screen.copyPixels(debris_object.temp_data, color_transform_rect, dest_point); }; } private function move():void{ move_speed = (move_speed * friction); this.x = (this.x + (Math.cos(move_angle) * move_speed)); this.y = (this.y + (Math.sin(move_angle) * move_speed)); if (Math.abs(move_speed) < 0.1){ move_speed = 0; }; } private function flickering():void{ if (((alive) && ((countdown_timer <= 0)))){ start_countdown = true; } else { countdown_timer = (countdown_timer - (1 / 30)); }; if (start_countdown){ if (timer_counter >= alive_duration){ alive = false; timer_counter = 0; flicker = false; } else { timer_counter = (timer_counter + (1 / 30)); }; if (flicker_counter >= 1){ if (flicker){ flicker = false; } else { flicker = true; }; flicker_counter = 0; } else { flicker_counter = (flicker_counter + flicker_rate); }; }; } } }//package
Section 61
//Debris1 (Debris1) package { import flash.media.*; public dynamic class Debris1 extends Sound { } }//package
Section 62
//Debris2 (Debris2) package { import flash.media.*; public dynamic class Debris2 extends Sound { } }//package
Section 63
//Die1Sound (Die1Sound) package { import flash.media.*; public dynamic class Die1Sound extends Sound { } }//package
Section 64
//Die2Sound (Die2Sound) package { import flash.media.*; public dynamic class Die2Sound extends Sound { } }//package
Section 65
//Die3Sound (Die3Sound) package { import flash.media.*; public dynamic class Die3Sound extends Sound { } }//package
Section 66
//Die4Sound (Die4Sound) package { import flash.media.*; public dynamic class Die4Sound extends Sound { } }//package
Section 67
//Die5Sound (Die5Sound) package { import flash.media.*; public dynamic class Die5Sound extends Sound { } }//package
Section 68
//Die6Sound (Die6Sound) package { import flash.media.*; public dynamic class Die6Sound extends Sound { } }//package
Section 69
//Die7Sound (Die7Sound) package { import flash.media.*; public dynamic class Die7Sound extends Sound { } }//package
Section 70
//Die8Sound (Die8Sound) package { import flash.media.*; public dynamic class Die8Sound extends Sound { } }//package
Section 71
//Die9Sound (Die9Sound) package { import flash.media.*; public dynamic class Die9Sound extends Sound { } }//package
Section 72
//Drifter (Drifter) package { import flash.display.*; import flash.geom.*; public class Drifter extends Sprite { public var points:Number;// = 100 private var laser_object:Object; private var color_transform_point:Point; private var source_rectangle:Rectangle; public var health:Number;// = 8 public var spark_colour:Number;// = 16592173 private var game_screen:BitmapData; private var move_speed:Number;// = 2 private var rotation_speed:Number; private var color_transform_rect:Rectangle; private var color_transform:ColorTransform; private var target:Point; private var sheet_tile:Object; private var drifter_object:Object; private var spin_angle:Number;// = 0 private var dest_point:Point; public var hit:Boolean;// = false public var hit_radius:Number;// = 10 public var alive:Boolean;// = true private var player:Player; private var home:Game; public function Drifter(_arg1:Game){ sheet_tile = new Object(); color_transform = new ColorTransform(); color_transform_point = new Point(); spin_angle = 0; move_speed = 2; hit_radius = 10; alive = true; points = 100; health = 8; hit = false; spark_colour = 16592173; super(); home = _arg1; player = home.player; drifter_object = home.sprite_sheet_manager.drifter_object; game_screen = home.game_screen.screen_data; target = new Point(randomize(600, 25), randomize(425, 25)); rotation_speed = randomize(10, 8); color_transform.redOffset = 0xFF; color_transform.greenOffset = 0xFF; color_transform.blueOffset = 0xFF; color_transform_rect = new Rectangle(0, 0, drifter_object.tile_width, drifter_object.tile_height); } private function rotate():void{ spin_angle = (spin_angle - rotation_speed); if (spin_angle <= 0){ spin_angle = 359; }; } private function randomize(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = ((Math.random() * ((_arg1 - _arg2) + 1)) + _arg2); return (_local3); } public function render():void{ sheet_tile.no = Math.floor((spin_angle / drifter_object.rotation_inc)); sheet_tile.x = (Math.floor((sheet_tile.no % drifter_object.total_colums)) * drifter_object.tile_width); sheet_tile.y = (Math.floor((sheet_tile.no / drifter_object.total_colums)) * drifter_object.tile_height); source_rectangle = new Rectangle(sheet_tile.x, sheet_tile.y, drifter_object.tile_width, drifter_object.tile_height); dest_point = new Point((this.x - (drifter_object.tile_width / 2)), (this.y - (drifter_object.tile_height / 2))); if (!hit){ game_screen.copyPixels(drifter_object.sprite_sheet, source_rectangle, dest_point); } else { drifter_object.temp_data.copyPixels(drifter_object.sprite_sheet, source_rectangle, color_transform_point); drifter_object.temp_data.colorTransform(color_transform_rect, color_transform); game_screen.copyPixels(drifter_object.temp_data, color_transform_rect, dest_point); hit = false; }; } public function update():void{ move(); rotate(); } private function move():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = (target.x - this.x); _local2 = (target.y - this.y); _local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2))); _local4 = Math.atan2(_local2, _local1); if (_local3 < 1){ target = new Point(randomize(600, 25), randomize(425, 25)); }; this.x = (this.x + (Math.cos(_local4) * move_speed)); this.y = (this.y + (Math.sin(_local4) * move_speed)); } public function explode():void{ var _local1:*; var _local2:*; _local1 = 0; while (_local1 < 4) { _local2 = new Debris(home, home.sprite_sheet_manager.drifter_debris, game_screen, (Math.random() * (Math.PI * 2))); _local2.x = this.x; _local2.y = this.y; home.object_array.push(_local2); home.debris_array.push(_local2); _local1++; }; } } }//package
Section 73
//DrifterDebris (DrifterDebris) package { import flash.display.*; public dynamic class DrifterDebris extends MovieClip { } }//package
Section 74
//DrifterVector (DrifterVector) package { import flash.display.*; public dynamic class DrifterVector extends MovieClip { } }//package
Section 75
//Drone (Drone) package { import flash.display.*; import flash.geom.*; public class Drone extends Sprite { public var points:Number;// = 50 private var color_transform_rect:Rectangle; private var color_transform_point:Point; private var source_rectangle:Rectangle; public var health:Number;// = 6 private var rotational_accel:Number; public var spark_colour:Number;// = 16596618 private var game_screen:BitmapData; private var move_speed:Number; private var drone_object:Object; private var rotational_velocity:Number;// = 0 private var color_transform:ColorTransform; public var current_angle:Number; private var dest_point:Point; public var hit:Boolean;// = false public var hit_radius:Number;// = 15 public var alive:Boolean;// = true private var player:Player; private var home:Game; private var max_rotational_velocity:Number; public function Drone(_arg1:Game){ color_transform = new ColorTransform(); color_transform_point = new Point(); rotational_velocity = 0; hit_radius = 15; alive = true; points = 50; health = 6; hit = false; spark_colour = 16596618; super(); home = _arg1; player = home.player; drone_object = home.sprite_sheet_manager.drone_object; game_screen = home.game_screen.screen_data; move_speed = randomize(2.5, 2); rotational_accel = ((randomize(3, 2) * Math.PI) / 180); max_rotational_velocity = ((randomize(6, 4) * Math.PI) / 180); color_transform.redOffset = 0xFF; color_transform.greenOffset = 0xFF; color_transform.blueOffset = 0xFF; color_transform_rect = new Rectangle(0, 0, drone_object.tile_width, drone_object.tile_height); } private function checkVelocitys():void{ if (Math.abs(rotational_velocity) > max_rotational_velocity){ rotational_velocity = (max_rotational_velocity * (Math.abs(max_rotational_velocity) / rotational_velocity)); }; } public function render():void{ source_rectangle = new Rectangle(0, 0, drone_object.tile_width, drone_object.tile_height); dest_point = new Point((this.x - (drone_object.tile_width / 2)), (this.y - (drone_object.tile_height / 2))); if (!hit){ game_screen.copyPixels(drone_object.sprite_sheet, source_rectangle, dest_point); } else { drone_object.temp_data.copyPixels(drone_object.sprite_sheet, source_rectangle, color_transform_point); drone_object.temp_data.colorTransform(color_transform_rect, color_transform); game_screen.copyPixels(drone_object.temp_data, color_transform_rect, dest_point); hit = false; }; } private function randomize(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = ((Math.random() * ((_arg1 - _arg2) + 1)) + _arg2); return (_local3); } public function update():void{ move(); } private function move():void{ var _local1:Point; var _local2:Point; var _local3:Number; var _local4:Number; _local1 = new Point((player.x - this.x), (player.y - this.y)); _local1.normalize(1); _local2 = new Point(Math.cos(current_angle), Math.sin(current_angle)); _local3 = ((_local1.x * _local2.y) - (_local1.y * _local2.x)); if (_local3 > 0){ rotational_velocity = (rotational_velocity + rotational_accel); checkVelocitys(); current_angle = (current_angle - rotational_velocity); } else { if (_local3 < 0){ rotational_velocity = (rotational_velocity + rotational_accel); checkVelocitys(); current_angle = (current_angle + rotational_velocity); }; }; _local4 = ((_local1.x * _local2.x) + (_local1.y * _local2.y)); if (Math.acos(_local4) < rotational_accel){ _local2.x = _local1.x; _local2.y = _local1.y; } else { _local2.x = Math.cos(current_angle); _local2.y = Math.sin(current_angle); }; this.x = (this.x + (_local2.x * move_speed)); this.y = (this.y + (_local2.y * move_speed)); } public function explode():void{ var _local1:*; var _local2:*; _local1 = 0; while (_local1 < 4) { _local2 = new Debris(home, home.sprite_sheet_manager.drone_debris, game_screen, (Math.random() * (Math.PI * 2))); _local2.x = this.x; _local2.y = this.y; home.object_array.push(_local2); home.debris_array.push(_local2); _local1++; }; } } }//package
Section 76
//DroneDebris (DroneDebris) package { import flash.display.*; public dynamic class DroneDebris extends MovieClip { } }//package
Section 77
//DroneVector (DroneVector) package { import flash.display.*; public dynamic class DroneVector extends MovieClip { } }//package
Section 78
//FpsCounter (FpsCounter) package { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; public class FpsCounter extends Sprite { private var text_format:TextFormat; private var text_field:TextField; private var frame:int;// = 0 private var fps_timer:Timer; public function FpsCounter(_arg1:Game){ var _local2:Font; frame = 0; super(); _local2 = new DavidSans(); text_format = new TextFormat("David Sans", 8, 0xFFFFFF); text_format.font = _local2.fontName; text_field = new TextField(); text_field.width = 20; text_field.height = 0; text_field.autoSize = TextFieldAutoSize.LEFT; text_field.selectable = false; text_field.defaultTextFormat = text_format; text_field.embedFonts = true; text_field.text = "Fps: ??"; fps_timer = new Timer(1000); fps_timer.addEventListener(TimerEvent.TIMER, updateFps, false, 0, true); fps_timer.start(); this.x = 574; this.y = 10; this.addChild(text_field); this.addEventListener(Event.ENTER_FRAME, increaseFrame, false, 0, true); _arg1.addChildAt(this, 0); } private function increaseFrame(_arg1:Event):void{ frame++; } private function updateFps(_arg1:TimerEvent):void{ text_field.text = ("Fps: " + frame); frame = 0; } } }//package
Section 79
//Game (Game) package { import flash.display.*; import flash.events.*; import flash.ui.*; public class Game extends Sprite { public var score_manager:ScoreManager; public var enemy_array:Array; public var crosshair:Crosshair; public var particle_manager:ParticleManager; public var wave_manager:WaveManager; public var game_screen:GameScreen; public var object_array:Array; public var sound_manager:SoundManager; public var debris_array:Array; public var game_menu:GameMenu; public var fps_counter:FpsCounter; public var collision_manager:CollisionManager; public var boundries:Object; public var sprite_sheet_manager:SpriteSheetManager; public var player:Player; public var laser_array:Array; public var cyclone_meter:CycloneMeter; public function Game(){ object_array = new Array(); laser_array = new Array(); enemy_array = new Array(); debris_array = new Array(); boundries = {left:0, right:stage.stageWidth, top:0, bottom:stage.stageHeight}; super(); game_menu = new GameMenu(this); game_menu.x = (stage.stageWidth / 2); game_menu.y = (stage.stageHeight / 2); game_screen = new GameScreen(this); sprite_sheet_manager = new SpriteSheetManager(this); particle_manager = new ParticleManager(this); sound_manager = new SoundManager(this); game_screen.renderBackground(); this.addChild(game_menu); } public function newCrosshair():void{ crosshair = new Crosshair(this); crosshair.startDrag(true); object_array.push(crosshair); Mouse.hide(); } public function newPlayer():void{ player = new Player(this); player.x = (this.stage.stageWidth / 2); player.y = (this.stage.stageHeight / 2); object_array.push(player); } private function gameLoop(_arg1:Event):void{ wave_manager.manageWaves(); collision_manager.checkCollisions(); collision_manager.destroyObjects(); particle_manager.clearDeadParticles(); score_manager.checkLives(); game_screen.updateObjectInMemory(); particle_manager.updateParticlesInMemory(); game_screen.renderBackground(); particle_manager.renderParticlesInMemory(); game_screen.renderObjectsInMemory(); this.stage.focus = stage; } public function newGame():void{ cyclone_meter = new CycloneMeter(this); newPlayer(); newCrosshair(); wave_manager = new WaveManager(this); score_manager = new ScoreManager(this); collision_manager = new CollisionManager(this); this.addEventListener(Event.ENTER_FRAME, gameLoop, false, 0, false); } public function clearGame():void{ object_array = new Array(); laser_array = new Array(); enemy_array = new Array(); debris_array = new Array(); game_screen.clear(); player.alive = true; removeChild(cyclone_meter); removeChild(score_manager); this.removeEventListener(Event.ENTER_FRAME, gameLoop); } } }//package
Section 80
//GameMenu (GameMenu) package { import flash.display.*; import flash.events.*; import flash.net.*; public class GameMenu extends MovieClip { public var retry_btn:MovieClip; public var hyperlink:MovieClip; public var final_score:MovieClip; public var fingertime:MovieClip; public var begin_btn:MovieClip; private var home:Game; public function GameMenu(_arg1:Game){ addFrameScript(0, frame1, 9, frame10, 49, frame50, 114, frame115, 122, frame123, 138, frame139, 156, frame157); home = _arg1; this.retry_btn.enabled = false; this.begin_btn.addEventListener(MouseEvent.MOUSE_UP, newGame, false, 0, true); this.hyperlink.addEventListener(MouseEvent.MOUSE_UP, playerthree, false, 0, true); this.fingertime.addEventListener(MouseEvent.MOUSE_UP, fingertimer, false, 0, true); } function frame157(){ stop(); } public function fingertimer2(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.fingertime.com/cyclone"); navigateToURL(_local2, "_blank"); } function frame10(){ this.fingertime.buttonMode = true; } public function playerthree(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.playerthree.com"); navigateToURL(_local2, "_blank"); } function frame1(){ this.begin_btn.enabled = false; } public function endGame(_arg1:Number):void{ this.gotoAndPlay(124); this.final_score.score_tf.text = ("Final Score: " + String(_arg1)); this.retry_btn.addEventListener(MouseEvent.MOUSE_UP, fingertimer2, false, 0, true); } public function fingertimer(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.fingertime.com"); navigateToURL(_local2, "_blank"); } function frame115(){ stop(); } function frame123(){ stop(); } public function newGame(_arg1:MouseEvent){ this.begin_btn.enabled = false; home.newGame(); this.gotoAndPlay(116); home.sound_manager.level_start_sound.play(); this.begin_btn.removeEventListener(MouseEvent.MOUSE_UP, newGame); } function frame139(){ this.retry_btn.enabled = true; this.retry_btn.buttonMode = true; } function frame50(){ this.begin_btn.buttonMode = true; } } }//package
Section 81
//GameScreen (GameScreen) package { import flash.display.*; import flash.geom.*; public class GameScreen { public var screen_bitmap:Bitmap; public var source_rectangle:Rectangle; public var dest_point:Point; public var perlin_noise:Object; public var object_array:Array; public var background_data:BitmapData; public var screen_data:BitmapData; private var home:Game; public function GameScreen(_arg1:Game){ home = _arg1; object_array = home.object_array; background_data = new BitmapData((home.stage.stageWidth * 1.25), (home.stage.stageHeight * 1.25), true, 0); perlin_noise = new Object(); perlin_noise.base_x = 625; perlin_noise.base_y = 450; perlin_noise.octaves = 3; perlin_noise.seed = 4574357; perlin_noise.stich = false; perlin_noise.fractal_noise = false; perlin_noise.channels = (1 | 4); perlin_noise.gray_scale = false; perlin_noise.offsets = [new Point((Math.random() * 800), (Math.random() * 800)), new Point((Math.random() * 800), (Math.random() * 800))]; background_data.perlinNoise(perlin_noise.base_x, perlin_noise.base_y, perlin_noise.octaves, perlin_noise.seed, perlin_noise.stich, perlin_noise.fractal_noise, perlin_noise.channels, perlin_noise.grayscale, perlin_noise.offsets); background_data.colorTransform(background_data.rect, new ColorTransform(0.5, 0.5, 0.5, 0.6, 0, 0, 0, 0)); screen_data = new BitmapData(home.stage.stageWidth, home.stage.stageHeight, false, 0); screen_bitmap = new Bitmap(screen_data); dest_point = new Point(); home.addChildAt(screen_bitmap, 0); } public function updateObjectInMemory():void{ var _local1:Number; var _local2:*; _local1 = object_array.length; _local2 = 0; while (_local2 < _local1) { object_array[_local2].update(); _local2++; }; } public function renderObjectsInMemory():void{ var _local1:Number; var _local2:*; screen_data.lock(); _local1 = object_array.length; _local2 = (_local1 - 1); while (_local2 >= 0) { object_array[_local2].render(); _local2--; }; screen_data.unlock(); } public function clear():void{ object_array = []; object_array = home.object_array; } public function renderBackground():void{ var _local1:Number; var _local2:Number; _local1 = ((home.player == null)) ? 0 : (home.player.x / 625); _local2 = ((home.player == null)) ? 0 : (home.player.y / 450); source_rectangle = new Rectangle((_local1 * (background_data.rect.width - 625)), (_local2 * (background_data.rect.height - 450)), background_data.rect.width, background_data.rect.height); screen_data.copyPixels(background_data, source_rectangle, dest_point); } } }//package
Section 82
//InfoPopup (InfoPopup) package { import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; public class InfoPopup extends Sprite { private var y_tween:Tween; private var alpha_tween:Tween; public var info_tf:TextField; private var home:Game; public function InfoPopup(_arg1:Game, _arg2, _arg3:Number, _arg4:Number){ home = _arg1; this.info_tf.text = String(_arg2); this.x = _arg3; this.y = _arg4; home.addChildAt(this, 2); alpha_tween = new Tween(this, "alpha", Strong.easeOut, 100, 0, 2, true); y_tween = new Tween(this, "y", Strong.easeOut, this.y, (this.y - 20), 4, true); alpha_tween.addEventListener(TweenEvent.MOTION_FINISH, remove, false, 0, true); } public function remove(_arg1:TweenEvent):void{ this.parent.removeChild(this); } } }//package
Section 83
//Laser (Laser) package { import flash.display.*; import flash.geom.*; public class Laser extends Sprite { private var laser_object:Object; private var game_screen:BitmapData; private var move_speed:Number;// = 20 private var player_rectangle:Rectangle; private var sheet_tile:Object; public var current_angle:Number; private var dest_point:Point; private var boundries:Object; public var hit_radius:Number;// = 18 public var alive:Boolean;// = true private var player:Player; private var home:Game; public function Laser(_arg1:Game){ sheet_tile = new Object(); move_speed = 20; hit_radius = 18; alive = true; super(); home = _arg1; player = home.player; laser_object = home.sprite_sheet_manager.laser_object; game_screen = home.game_screen.screen_data; boundries = home.boundries; current_angle = player.laser_angle; if (current_angle > 180){ current_angle = (current_angle - 360); }; if (current_angle < 0){ current_angle = (current_angle + 360); }; current_angle = (current_angle * (Math.PI / 180)); } public function render():void{ sheet_tile.no = Math.floor((((current_angle * 180) / Math.PI) / laser_object.rotation_inc)); sheet_tile.x = (Math.floor((sheet_tile.no % laser_object.total_colums)) * laser_object.tile_width); sheet_tile.y = (Math.floor((sheet_tile.no / laser_object.total_colums)) * laser_object.tile_height); player_rectangle = new Rectangle(sheet_tile.x, sheet_tile.y, laser_object.tile_width, laser_object.tile_height); dest_point = new Point((this.x - (laser_object.tile_width / 2)), (this.y - (laser_object.tile_height / 2))); game_screen.copyPixels(laser_object.sprite_sheet, player_rectangle, dest_point); } public function update():void{ move(); } private function move():void{ this.x = (this.x + (Math.cos(current_angle) * move_speed)); this.y = (this.y + (Math.sin(current_angle) * move_speed)); if (this.x > (boundries.right + laser_object.tile_width)){ alive = false; } else { if (this.x < (boundries.left - laser_object.tile_width)){ alive = false; }; }; if (this.y > (boundries.bottom + laser_object.tile_height)){ alive = false; } else { if (this.y < (boundries.top - laser_object.tile_height)){ alive = false; }; }; } } }//package
Section 84
//LaserSound (LaserSound) package { import flash.media.*; public dynamic class LaserSound extends Sound { } }//package
Section 85
//LaserVector (LaserVector) package { import flash.display.*; public dynamic class LaserVector extends MovieClip { } }//package
Section 86
//LevelStartSound (LevelStartSound) package { import flash.media.*; public dynamic class LevelStartSound extends Sound { } }//package
Section 87
//NewWave (NewWave) package { import flash.media.*; public dynamic class NewWave extends Sound { } }//package
Section 88
//ParticleManager (ParticleManager) package { import flash.display.*; import flash.filters.*; import flash.geom.*; public class ParticleManager { private var particle_array:Array; private var particle; private var source_rectangle:Rectangle; private var blur_filter:BlurFilter; private var dest_point:Point; private var game_screen:BitmapData; private var home:Game; public function ParticleManager(_arg1:Game){ home = _arg1; game_screen = home.game_screen.screen_data; particle_array = new Array(); } public function createSpark(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{ var _local7:*; _local7 = 0; while (_local7 < _arg6) { particle = new SparkParticle(home, _arg1, _arg2, _arg3, _arg4, _arg5); particle_array.push(particle); _local7++; }; } public function createTrail(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:*; _local5 = 0; while (_local5 < _arg4) { particle = new TrailParticle(home, _arg1, _arg2, _arg3); particle_array.push(particle); _local5++; }; } public function updateParticlesInMemory():void{ var _local1:Number; var _local2:*; _local1 = particle_array.length; _local2 = 0; while (_local2 < _local1) { particle_array[_local2].update(); _local2++; }; } public function clearDeadParticles():void{ var _local1:Number; var _local2:*; _local1 = particle_array.length; _local2 = (_local1 - 1); while (_local2 >= 0) { if (particle_array[_local2].alive == false){ particle_array.splice(_local2, 1); }; _local2--; }; } public function renderParticlesInMemory():void{ var _local1:Number; var _local2:*; game_screen.lock(); _local1 = particle_array.length; _local2 = 0; while (_local2 < _local1) { particle_array[_local2].render(); _local2++; }; game_screen.unlock(); } } }//package
Section 89
//Player (Player) package { import flash.display.*; import flash.geom.*; import flash.events.*; public class Player extends Sprite { private const left:Number = 37; private const accuracy_index:Number = 2; private const right:Number = 40; private const laser_count_index:Number = 0; private const a:Number = 65; private const fire_rate_index:Number = 1; private const d:Number = 68; private const s:Number = 83; private const w:Number = 87; private const up:Number = 38; private const down:Number = 39; private const space:Number = 32; private var rotation_ease:Number;// = 4 private var color_transform_point:Point; public var invincible:Boolean;// = false public var thrust_down:Boolean;// = false private var space_down:Boolean;// = false private var source_rectangle:Rectangle; private var player_object:Object; public var laser_angle:Number; private var max_rotation_ease:Number;// = 10 private var bounce:Number;// = -0.9 public var current_angle:Number;// = 0 public var is_cyclone:Boolean;// = false public var weapon_upgrades:Array; private var target_angle:Number;// = 0 private var flicker_counter:Number;// = 0 public var hit_radius:Number;// = 10 private var flicker_rate:Number;// = 0.8 private var laser:Laser; public var alive:Boolean;// = true public var velocity:Point; private var home:Game; private var accel:Number;// = 1 private var s_down:Boolean;// = false private var friction:Number;// = 0.9 private var timer_counter:Number;// = 0 private var particle_manager:ParticleManager; private var max_cyclone_speed:Number;// = 70 private var laser_object:Object; public var debris_counter:Number;// = 0 public var cyclone_kills:Number;// = 0 private var color_transform_rect:Rectangle; private var cyclone_accel:Number;// = 12 public var current_upgrade:Number;// = 0 private var shoot_delay:Number;// = 1 private var w_down:Boolean;// = false public var spark_colour:Number;// = 11599166 private var object_array:Array; public var cyclone_velocity:Number;// = 0 public var cyclone_sound:Boolean;// = false private var game_screen:BitmapData; private var sheet_tile:Object; private var color_transform:ColorTransform; private var cyclone_friction:Number;// = 0.7 private var d_down:Boolean;// = false public var cycloning:Boolean;// = false private var boundries:Object; private var max_speed:Number;// = 8 private var dest_point:Point; private var invincible_duration:Number;// = 2 private var a_down:Boolean;// = false private var laser_array:Array; private var cyclone_meter:CycloneMeter; private var flicker:Boolean;// = false private var mouse_down:Boolean;// = false public function Player(_arg1:Game){ w_down = false; a_down = false; s_down = false; d_down = false; space_down = false; mouse_down = false; sheet_tile = new Object(); color_transform = new ColorTransform(); color_transform_point = new Point(); friction = 0.9; bounce = -0.9; max_speed = 8; accel = 1; target_angle = 0; rotation_ease = 4; max_rotation_ease = 10; shoot_delay = 1; invincible_duration = 2; timer_counter = 0; flicker = false; flicker_rate = 0.8; flicker_counter = 0; cyclone_accel = 12; cyclone_friction = 0.7; max_cyclone_speed = 70; cyclone_kills = 0; debris_counter = 0; velocity = new Point(); invincible = false; hit_radius = 10; alive = true; current_angle = 0; current_upgrade = 0; weapon_upgrades = [[1, 0.12, 7], [1, 0.15, 5], [1, 0.18, 3], [1, 0.2, 1], [1, 0.25, 5], [1, 0.3, 3], [1, 0.35, 1]]; cycloning = false; is_cyclone = false; cyclone_velocity = 0; spark_colour = 11599166; thrust_down = false; cyclone_sound = false; super(); home = _arg1; player_object = home.sprite_sheet_manager.player_object; laser_object = home.sprite_sheet_manager.laser_object; object_array = home.object_array; laser_array = home.laser_array; game_screen = home.game_screen.screen_data; boundries = home.boundries; particle_manager = home.particle_manager; cyclone_meter = home.cyclone_meter; color_transform.alphaMultiplier = 0.2; color_transform_rect = new Rectangle(0, 0, player_object.tile_width, player_object.tile_height); home.stage.addEventListener(KeyboardEvent.KEY_DOWN, keysDown, false, 0, false); home.stage.addEventListener(KeyboardEvent.KEY_UP, keysUp, false, 0, false); home.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false); home.stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false); } private function mouseUp(_arg1:Event):void{ mouse_down = false; } private function shoot():void{ if (((mouse_down) && (!(cycloning)))){ if (shoot_delay >= 1){ home.sound_manager.laser_sound.play(); switch (weapon_upgrades[current_upgrade][laser_count_index]){ case 1: laser_angle = (((Math.atan2((home.stage.mouseY - this.y), (home.stage.mouseX - this.x)) * 180) / Math.PI) + laserOffset()); laser = new Laser(home); laser.x = (this.x + (Math.cos(laser.current_angle) * 20)); laser.y = (this.y + (Math.sin(laser.current_angle) * 20)); object_array.push(laser); laser_array.push(laser); break; case 2: laser_angle = (((Math.atan2((home.stage.mouseY - this.y), (home.stage.mouseX - this.x)) * 180) / Math.PI) + laserOffset()); laser = new Laser(home); laser.x = ((this.x + (Math.cos(laser.current_angle) * 20)) + (Math.sin(laser.current_angle) * 3.5)); laser.y = ((this.y + (Math.sin(laser.current_angle) * 20)) - (Math.cos(laser.current_angle) * 3.5)); object_array.push(laser); laser_array.push(laser); laser = new Laser(home); laser.x = ((this.x + (Math.cos(laser.current_angle) * 20)) - (Math.sin(laser.current_angle) * 3.5)); laser.y = ((this.y + (Math.sin(laser.current_angle) * 20)) + (Math.cos(laser.current_angle) * 3.5)); object_array.push(laser); laser_array.push(laser); break; case 3: laser_angle = (((Math.atan2((home.stage.mouseY - this.y), (home.stage.mouseX - this.x)) * 180) / Math.PI) + laserOffset()); laser = new Laser(home); laser.x = (this.x + (Math.cos(laser.current_angle) * 20)); laser.y = (this.y + (Math.sin(laser.current_angle) * 20)); object_array.push(laser); laser_array.push(laser); laser_angle = (((Math.atan2((home.stage.mouseY - this.y), (home.stage.mouseX - this.x)) * 180) / Math.PI) + laserOffset()); laser = new Laser(home); laser.x = (this.x + (Math.cos(laser.current_angle) * 20)); laser.y = (this.y + (Math.sin(laser.current_angle) * 20)); object_array.push(laser); laser_array.push(laser); laser_angle = (((Math.atan2((home.stage.mouseY - this.y), (home.stage.mouseX - this.x)) * 180) / Math.PI) + laserOffset()); laser = new Laser(home); laser.x = (this.x + (Math.cos(laser.current_angle) * 20)); laser.y = (this.y + (Math.sin(laser.current_angle) * 20)); object_array.push(laser); laser_array.push(laser); break; case 4: laser_angle = (((Math.atan2((home.stage.mouseY - this.y), (home.stage.mouseX - this.x)) * 180) / Math.PI) + laserOffset()); laser = new Laser(home); laser.x = (this.x + (Math.cos(laser.current_angle) * 20)); laser.y = (this.y + (Math.sin(laser.current_angle) * 20)); object_array.push(laser); laser_array.push(laser); laser_angle = (((Math.atan2((home.stage.mouseY - this.y), (home.stage.mouseX - this.x)) * 180) / Math.PI) + laserOffset()); laser = new Laser(home); laser.x = (this.x + (Math.cos(laser.current_angle) * 20)); laser.y = (this.y + (Math.sin(laser.current_angle) * 20)); object_array.push(laser); laser_array.push(laser); laser_angle = (((Math.atan2((home.stage.mouseY - this.y), (home.stage.mouseX - this.x)) * 180) / Math.PI) + laserOffset()); laser = new Laser(home); laser.x = (this.x + (Math.cos(laser.current_angle) * 20)); laser.y = (this.y + (Math.sin(laser.current_angle) * 20)); object_array.push(laser); laser_array.push(laser); laser_angle = (((Math.atan2((home.stage.mouseY - this.y), (home.stage.mouseX - this.x)) * 180) / Math.PI) + laserOffset()); laser = new Laser(home); laser.x = (this.x + (Math.cos(laser.current_angle) * 20)); laser.y = (this.y + (Math.sin(laser.current_angle) * 20)); object_array.push(laser); laser_array.push(laser); break; }; shoot_delay = 0; } else { shoot_delay = (shoot_delay + weapon_upgrades[current_upgrade][fire_rate_index]); }; }; } private function invincibility():void{ if (invincible){ if (timer_counter >= invincible_duration){ invincible = false; timer_counter = 0; flicker = false; } else { timer_counter = (timer_counter + (1 / 30)); }; if (flicker_counter >= 1){ if (flicker){ flicker = false; } else { flicker = true; }; flicker_counter = 0; } else { flicker_counter = (flicker_counter + flicker_rate); }; }; } private function keysDown(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case w: w_down = true; break; case a: a_down = true; break; case s: s_down = true; break; case d: d_down = true; break; case up: w_down = true; break; case left: a_down = true; break; case right: s_down = true; break; case down: d_down = true; break; case space: space_down = true; break; }; } public function update():void{ move(); rotate(); shoot(); invincibility(); } private function mouseDown(_arg1:MouseEvent):void{ mouse_down = true; } private function laserOffset():Number{ var _local1:Number; _local1 = ((Math.random() * (weapon_upgrades[current_upgrade][accuracy_index] * 2)) - weapon_upgrades[current_upgrade][accuracy_index]); return (_local1); } private function rotate():void{ var _local1:Number; var _local2:Number; if (!cycloning){ if ((((Math.abs(velocity.x) > 0.75)) || ((Math.abs(velocity.y) > 0.75)))){ target_angle = ((Math.atan2(velocity.y, velocity.x) * 180) / Math.PI); _local1 = (target_angle - current_angle); if (_local1 > 180){ _local1 = (_local1 - 360); }; if (_local1 < -180){ _local1 = (_local1 + 360); }; _local2 = (_local1 / rotation_ease); if (_local2 > max_rotation_ease){ _local2 = max_rotation_ease; }; if (_local2 < -(max_rotation_ease)){ _local2 = -(max_rotation_ease); }; current_angle = (current_angle + _local2); if (current_angle > 360){ current_angle = (current_angle - 360); }; if (current_angle < 0){ current_angle = (current_angle + 360); }; }; }; if (!is_cyclone){ if (space_down){ if (cyclone_meter.bar_fill1.scaleX > 0.2){ is_cyclone = true; }; }; }; if (((!(space_down)) || ((cyclone_meter.bar_fill1.scaleX <= 0)))){ is_cyclone = false; }; if (is_cyclone){ cyclone_velocity = (cyclone_velocity + cyclone_accel); current_angle = (current_angle + cyclone_velocity); if (cyclone_velocity > max_cyclone_speed){ cyclone_velocity = max_cyclone_speed; }; if (current_angle >= 360){ current_angle = 0; }; if (cyclone_meter.bar_fill1.scaleX > 0){ cyclone_meter.emptyBar(); }; friction = 0.99; hit_radius = 20; if (space_down){ particle_manager.createTrail(this.x, this.y, this.current_angle, 10); }; } else { if (cyclone_velocity > 1){ cyclone_velocity = (cyclone_velocity * cyclone_friction); current_angle = (current_angle + cyclone_velocity); if (current_angle >= 360){ current_angle = 0; }; } else { friction = 0.9; hit_radius = 10; }; }; if (((space_down) && ((cyclone_meter.bar_fill1.scaleX > 0.2)))){ if (!cyclone_sound){ home.sound_manager.startCycloneStart(); cyclone_sound = true; }; } else { if (((!(space_down)) || ((cyclone_meter.bar_fill1.scaleX < 0)))){ if (cyclone_sound){ home.sound_manager.stopCycloneStart(); home.sound_manager.cyclone_finish.play(); cyclone_sound = false; }; }; }; if (!space_down){ cyclone_kills = 0; }; if (cyclone_velocity > 4){ cycloning = true; } else { cycloning = false; }; } private function keysUp(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case w: w_down = false; break; case a: a_down = false; break; case s: s_down = false; break; case d: d_down = false; break; case up: w_down = false; break; case left: a_down = false; break; case right: s_down = false; break; case down: d_down = false; break; case space: space_down = false; break; }; } public function render():void{ sheet_tile.no = Math.floor((current_angle / player_object.rotation_inc)); sheet_tile.x = (Math.floor((sheet_tile.no % player_object.total_colums)) * player_object.tile_width); sheet_tile.y = (Math.floor((sheet_tile.no / player_object.total_colums)) * player_object.tile_height); source_rectangle = new Rectangle(sheet_tile.x, sheet_tile.y, player_object.tile_width, player_object.tile_height); dest_point = new Point((this.x - (player_object.tile_width / 2)), (this.y - (player_object.tile_height / 2))); if (!flicker){ game_screen.copyPixels(player_object.sprite_sheet, source_rectangle, dest_point); } else { player_object.temp_data.copyPixels(player_object.sprite_sheet, source_rectangle, color_transform_point); player_object.temp_data.colorTransform(color_transform_rect, color_transform); game_screen.copyPixels(player_object.temp_data, color_transform_rect, dest_point); }; } private function move():void{ if (w_down){ velocity.y = (velocity.y - accel); }; if (a_down){ velocity.x = (velocity.x - accel); }; if (s_down){ velocity.y = (velocity.y + accel); }; if (d_down){ velocity.x = (velocity.x + accel); }; if (velocity.x > max_speed){ velocity.x = max_speed; } else { if (velocity.x < -(max_speed)){ velocity.x = -(max_speed); }; }; if (velocity.y > max_speed){ velocity.y = max_speed; } else { if (velocity.y < -(max_speed)){ velocity.y = -(max_speed); }; }; if (Math.abs(velocity.x) < 0.1){ velocity.x = 0; }; if (Math.abs(velocity.y) < 0.1){ velocity.y = 0; }; if (this.x > (boundries.right - player_object.movie_clip.width)){ this.x = (boundries.right - player_object.movie_clip.width); if (cycloning){ velocity.x = (velocity.x * bounce); }; } else { if (this.x < (boundries.left + player_object.movie_clip.width)){ this.x = (boundries.left + player_object.movie_clip.width); if (cycloning){ velocity.x = (velocity.x * bounce); }; }; }; if (this.y > (boundries.bottom - player_object.movie_clip.height)){ this.y = (boundries.bottom - player_object.movie_clip.height); if (cycloning){ velocity.y = (velocity.y * bounce); }; } else { if (this.y < (boundries.top + player_object.movie_clip.height)){ this.y = (boundries.top + player_object.movie_clip.height); if (cycloning){ velocity.y = (velocity.y * bounce); }; }; }; if (((((((w_down) || (a_down))) || (s_down))) || (d_down))){ particle_manager.createTrail(this.x, this.y, this.current_angle, 10); if (!thrust_down){ home.sound_manager.startThrust(); thrust_down = true; }; } else { if (((((((!(w_down)) && (!(a_down)))) && (!(s_down)))) && (!(d_down)))){ if (thrust_down){ home.sound_manager.stopThrust(); thrust_down = false; }; }; }; velocity.x = (velocity.x * friction); velocity.y = (velocity.y * friction); this.x = (this.x + velocity.x); this.y = (this.y + velocity.y); } } }//package
Section 90
//PlayerVector (PlayerVector) package { import flash.display.*; public dynamic class PlayerVector extends MovieClip { } }//package
Section 91
//PointsPopup (PointsPopup) package { import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; public class PointsPopup extends Sprite { private var y_tween:Tween; public var points_tf:TextField; private var alpha_tween:Tween; private var home:Game; public function PointsPopup(_arg1:Game, _arg2:Number, _arg3:Number, _arg4:Number){ home = _arg1; this.points_tf.text = String(_arg2); this.x = _arg3; this.y = _arg4; home.addChildAt(this, 2); alpha_tween = new Tween(this, "alpha", Strong.easeOut, 100, 0, 1, true); y_tween = new Tween(this, "y", Strong.easeOut, this.y, (this.y - 20), 1, true); alpha_tween.addEventListener(TweenEvent.MOTION_FINISH, remove, false, 0, true); } public function remove(_arg1:TweenEvent):void{ this.parent.removeChild(this); } } }//package
Section 92
//ScoreManager (ScoreManager) package { import flash.display.*; import flash.text.*; import flash.ui.*; public class ScoreManager extends Sprite { private var score_field:TextField; public var upgrade_increment:Number;// = 0 private var wave_field:TextField; private var lives_format:TextFormat; private var score_format:TextFormat; public var total_lives:Number;// = 3 public var points_popup:PointsPopup; public var delay_counter:Number;// = 0 public var points_needed_upgrade:Number;// = 500 private var object_array:Array; public var respawn_delay:Number;// = 2 private var lives_field:TextField; public var end_game:Boolean;// = false public var total_score:Number;// = 0 public var upgrade_counter:Number; private var player:Player; private var home:Game; private var wave_format:TextFormat; public function ScoreManager(_arg1:Game){ var _local2:Font; total_score = 0; total_lives = 3; respawn_delay = 2; delay_counter = 0; points_needed_upgrade = 500; upgrade_increment = 0; upgrade_counter = points_needed_upgrade; end_game = false; super(); home = _arg1; player = home.player; object_array = home.object_array; _local2 = new Studio(); score_format = new TextFormat("FFF Estudio Extended", 8, 0xFFFFFF); score_format.font = _local2.fontName; score_field = new TextField(); score_field.width = 0; score_field.height = 0; score_field.autoSize = TextFieldAutoSize.LEFT; score_field.selectable = false; score_field.defaultTextFormat = score_format; score_field.embedFonts = true; score_field.text = ("Score: " + String(total_score)); lives_format = new TextFormat("FFF Estudio Extended", 8, 0xFFFFFF); lives_format.font = _local2.fontName; lives_field = new TextField(); lives_field.width = 0; lives_field.height = 0; lives_field.autoSize = TextFieldAutoSize.LEFT; lives_field.selectable = false; lives_field.defaultTextFormat = lives_format; lives_field.embedFonts = true; lives_field.text = ("Lives: " + String(total_lives)); lives_field.x = 545; wave_format = new TextFormat("FFF Estudio Extended", 8, 0xFFFFFF); wave_format.font = _local2.fontName; wave_field = new TextField(); wave_field.width = 0; wave_field.height = 0; wave_field.autoSize = TextFieldAutoSize.LEFT; wave_field.selectable = false; wave_field.defaultTextFormat = lives_format; wave_field.embedFonts = true; wave_field.text = ("Wave: " + String((home.wave_manager.current_wave + 1))); wave_field.x = 545; wave_field.y = -14; this.x = 10; this.y = 25; this.addChild(score_field); this.addChild(lives_field); this.addChild(wave_field); home.addChildAt(this, 1); } public function newPopup(_arg1:Number, _arg2:Number, _arg3:Number):void{ points_popup = new PointsPopup(home, _arg1, _arg2, _arg3); } public function updateScore():void{ var _local1:*; score_field.text = ("Score: " + String(total_score)); if ((((total_score >= upgrade_counter)) && ((player.current_upgrade < (player.weapon_upgrades.length - 1))))){ home.sound_manager.upgrade_sound.play(); player.current_upgrade++; _local1 = new InfoPopup(home, "Lasers Upgraded!", 312, 120); upgrade_increment = (upgrade_increment + 500); upgrade_counter = ((total_score + points_needed_upgrade) + upgrade_increment); }; } public function updateWave():void{ wave_field.text = ("Wave: " + String((home.wave_manager.current_wave + 1))); } public function updateLives():void{ lives_field.text = ("Lives: " + String(total_lives)); } public function checkLives():void{ if (((!(player.alive)) && ((total_lives > 0)))){ if (delay_counter >= respawn_delay){ player.x = (this.stage.stageWidth / 2); player.y = (this.stage.stageHeight / 2); player.velocity.x = 0; player.velocity.y = 0; player.alive = true; player.invincible = true; object_array.push(player); delay_counter = 0; } else { delay_counter = (delay_counter + (1 / 30)); }; } else { if (((!(end_game)) && ((total_lives == 0)))){ home.game_menu.endGame(total_score); end_game = true; Mouse.show(); }; }; } } }//package
Section 93
//Slicer (Slicer) package { import flash.display.*; import flash.geom.*; public class Slicer extends Sprite { public var points:Number;// = 250 private var color_transform_rect:Rectangle; private var slicer_object:Object; private var color_transform_point:Point; private var source_rectangle:Rectangle; private var movement_angle:Number; private var delay_counter:Number;// = 0 public var health:Number;// = 14 public var spark_colour:Number;// = 9764019 private var game_screen:BitmapData; private var move_speed:Number;// = 0 private var color_transform:ColorTransform; private var sheet_tile:Object; private var spin_angle:Number;// = 0 private var move_delay:Number; private var dest_point:Point; public var hit:Boolean;// = false private var boundries:Object; public var hit_radius:Number;// = 15 public var alive:Boolean;// = true private var player:Player; private var home:Game; public function Slicer(_arg1:Game){ sheet_tile = new Object(); color_transform = new ColorTransform(); color_transform_point = new Point(); spin_angle = 0; move_speed = 0; delay_counter = 0; alive = true; hit_radius = 15; points = 250; health = 14; hit = false; spark_colour = 9764019; super(); home = _arg1; player = home.player; slicer_object = home.sprite_sheet_manager.slicer_object; game_screen = home.game_screen.screen_data; boundries = home.boundries; move_delay = randomize(2.5, 1.5); color_transform.redOffset = 0xFF; color_transform.greenOffset = 0xFF; color_transform.blueOffset = 0xFF; color_transform_rect = new Rectangle(0, 0, slicer_object.tile_width, slicer_object.tile_height); } private function rotate():void{ spin_angle = (spin_angle + 10); if (spin_angle >= 360){ spin_angle = 0; }; } private function randomize(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = ((Math.random() * ((_arg1 - _arg2) + 1)) + _arg2); return (_local3); } public function render():void{ sheet_tile.no = Math.floor((spin_angle / slicer_object.rotation_inc)); sheet_tile.x = (Math.floor((sheet_tile.no % slicer_object.total_colums)) * slicer_object.tile_width); sheet_tile.y = (Math.floor((sheet_tile.no / slicer_object.total_colums)) * slicer_object.tile_height); source_rectangle = new Rectangle(sheet_tile.x, sheet_tile.y, slicer_object.tile_width, slicer_object.tile_height); dest_point = new Point((this.x - (slicer_object.tile_width / 2)), (this.y - (slicer_object.tile_height / 2))); if (!hit){ game_screen.copyPixels(slicer_object.sprite_sheet, source_rectangle, dest_point); } else { slicer_object.temp_data.copyPixels(slicer_object.sprite_sheet, source_rectangle, color_transform_point); slicer_object.temp_data.colorTransform(color_transform_rect, color_transform); game_screen.copyPixels(slicer_object.temp_data, color_transform_rect, dest_point); hit = false; }; } public function update():void{ move(); rotate(); } private function move():void{ var _local1:Number; var _local2:Number; if (delay_counter >= move_delay){ _local1 = (player.x - this.x); _local2 = (player.y - this.y); movement_angle = Math.atan2(_local2, _local1); move_speed = 10; delay_counter = 0; } else { delay_counter = (delay_counter + (1 / 30)); }; this.x = (isNaN(movement_angle)) ? this.x : (this.x + (Math.cos(movement_angle) * move_speed)); this.y = (isNaN(movement_angle)) ? this.y : (this.y + (Math.sin(movement_angle) * move_speed)); if (this.x > (boundries.right - hit_radius)){ this.x = (boundries.right - hit_radius); move_speed = 0; } else { if (this.x < (boundries.left + hit_radius)){ this.x = (boundries.left + hit_radius); move_speed = 0; }; }; if (this.y > (boundries.bottom - hit_radius)){ this.y = (boundries.bottom - hit_radius); move_speed = 0; } else { if (this.y < (boundries.top + hit_radius)){ this.y = (boundries.top + hit_radius); move_speed = 0; }; }; } public function explode():void{ var _local1:*; var _local2:*; _local1 = 0; while (_local1 < 6) { _local2 = new Debris(home, home.sprite_sheet_manager.slicer_debris, game_screen, (Math.random() * (Math.PI * 2))); _local2.x = this.x; _local2.y = this.y; home.object_array.push(_local2); home.debris_array.push(_local2); _local1++; }; } } }//package
Section 94
//SlicerDebris (SlicerDebris) package { import flash.display.*; public dynamic class SlicerDebris extends MovieClip { } }//package
Section 95
//SlicerVector (SlicerVector) package { import flash.display.*; public dynamic class SlicerVector extends MovieClip { } }//package
Section 96
//SoundManager (SoundManager) package { import flash.media.*; public class SoundManager { public var die_2_sound:Die2Sound; public var die_4_sound:Die4Sound; public var die_8_sound:Die8Sound; public var die_6_sound:Die6Sound; public var laser_sound:LaserSound; public var thrust_channel:SoundChannel; public var cyclone_start_channel:SoundChannel; public var upgrade_sound:UpgradeSound; public var cyclone_finish:CycloneFinish; public var level_start_sound:LevelStartSound; public var new_wave:NewWave; public var die_1_sound:Die1Sound; public var die_3_sound:Die3Sound; public var die_5_sound:Die5Sound; public var die_7_sound:Die7Sound; public var die_9_sound:Die9Sound; public var cyclone_start:CycloneStart; private var home:Game; public var thrust_sound:ThrustSound; public var debris_1:Debris1; public var debris_2:Debris2; public function SoundManager(_arg1:Game){ home = _arg1; thrust_sound = new ThrustSound(); thrust_channel = new SoundChannel(); laser_sound = new LaserSound(); upgrade_sound = new UpgradeSound(); level_start_sound = new LevelStartSound(); die_1_sound = new Die1Sound(); die_2_sound = new Die2Sound(); die_3_sound = new Die3Sound(); die_4_sound = new Die4Sound(); die_5_sound = new Die5Sound(); die_6_sound = new Die6Sound(); die_7_sound = new Die7Sound(); die_8_sound = new Die8Sound(); die_9_sound = new Die9Sound(); cyclone_start = new CycloneStart(); cyclone_finish = new CycloneFinish(); debris_1 = new Debris1(); debris_2 = new Debris2(); new_wave = new NewWave(); } public function randomExplosion():void{ var _local1:int; _local1 = (Math.random() * 9); switch (_local1){ case 0: die_1_sound.play(); break; case 1: die_2_sound.play(); break; case 2: die_3_sound.play(); break; case 3: die_4_sound.play(); break; case 4: die_5_sound.play(); break; case 5: die_6_sound.play(); break; case 6: die_7_sound.play(); break; case 7: die_8_sound.play(); break; case 8: die_9_sound.play(); break; }; } public function randomDebris():void{ var _local1:int; _local1 = (Math.random() * 2); switch (_local1){ case 0: debris_1.play(); break; case 1: debris_2.play(); break; }; } public function stopCycloneStart():void{ cyclone_start_channel.stop(); } public function startThrust():void{ thrust_channel = thrust_sound.play(0, 9999); } public function stopThrust():void{ thrust_channel.stop(); } public function startCycloneStart():void{ cyclone_start_channel = cyclone_start.play(0, 9999); } } }//package
Section 97
//SparkParticle (SparkParticle) package { import flash.display.*; import flash.geom.*; public class SparkParticle extends Sprite { private var particle_direction:Number; private var particle_life:Number; private var source_rectangle:Rectangle; private var particle_speed:Number; private var particle_friction:Number; private var particle_colour:Number; private var colour_red:Number; private var dest_point:Point; private var life_counter:Number; private var particle_spray:Number; public var alive:Boolean;// = true private var colour_green:Number; private var home:Game; private var colour_blue:Number; public function SparkParticle(_arg1:Game, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ alive = true; super(); home = _arg1; particle_spray = _arg5; particle_direction = ((((_arg4 * 180) / Math.PI) + offset()) - 180); particle_life = (Math.random() * 2); life_counter = 0; particle_speed = ((Math.random() * 4) + 3); particle_colour = _arg6; particle_friction = 0.95; this.x = (_arg2 + (Math.cos(((particle_direction * Math.PI) / 180)) * 10)); this.y = (_arg3 + (Math.sin(((particle_direction * Math.PI) / 180)) * 10)); } public function render():void{ source_rectangle = new Rectangle((this.x - 1), (this.y - 1), 2, 2); home.game_screen.screen_data.fillRect(source_rectangle, particle_colour); } public function offset():Number{ var _local1:Number; _local1 = ((Math.random() * (particle_spray * 2)) - particle_spray); return (_local1); } private function move():void{ particle_speed = (particle_speed * particle_friction); this.x = (this.x + (Math.cos(((particle_direction * Math.PI) / 180)) * particle_speed)); this.y = (this.y + (Math.sin(((particle_direction * Math.PI) / 180)) * particle_speed)); if (life_counter >= particle_life){ alive = false; } else { life_counter = (life_counter + (1 / 30)); }; } public function update():void{ move(); } } }//package
Section 98
//Spinner (Spinner) package { import flash.display.*; import flash.geom.*; public class Spinner extends Sprite { public var points:Number;// = 125 private var spinner_object:Object; private var color_transform_rect:Rectangle; private var color_transform_point:Point; private var source_rectangle:Rectangle; public var health:Number;// = 10 private var rotational_accel:Number; public var spark_colour:Number;// = 9565439 private var game_screen:BitmapData; private var object_array:Array; private var rotational_velocity:Number;// = 0 private var color_transform:ColorTransform; private var sheet_tile:Object; private var spin_angle:Number;// = 0 private var move_speed:Number; public var current_angle:Number; private var dest_point:Point; public var hit:Boolean;// = false public var hit_radius:Number;// = 10 public var alive:Boolean;// = true private var player:Player; private var home:Game; private var enemy_array:Array; private var max_rotational_velocity:Number; public function Spinner(_arg1:Game){ sheet_tile = new Object(); color_transform = new ColorTransform(); color_transform_point = new Point(); spin_angle = 0; rotational_velocity = 0; hit_radius = 10; alive = true; points = 125; health = 10; hit = false; spark_colour = 9565439; super(); home = _arg1; player = home.player; spinner_object = home.sprite_sheet_manager.spinner_object; game_screen = home.game_screen.screen_data; object_array = home.object_array; enemy_array = home.enemy_array; move_speed = randomize(5, 4); rotational_accel = ((randomize(6, 4) * Math.PI) / 180); max_rotational_velocity = ((randomize(10, 8) * Math.PI) / 180); color_transform.redOffset = 0xFF; color_transform.greenOffset = 0xFF; color_transform.blueOffset = 0xFF; color_transform_rect = new Rectangle(0, 0, spinner_object.tile_width, spinner_object.tile_height); } private function checkVelocitys():void{ if (Math.abs(rotational_velocity) > max_rotational_velocity){ rotational_velocity = (max_rotational_velocity * (Math.abs(max_rotational_velocity) / rotational_velocity)); }; } private function rotate():void{ spin_angle = (spin_angle + (move_speed * 2)); if (spin_angle >= 360){ spin_angle = 0; }; } private function randomize(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = ((Math.random() * ((_arg1 - _arg2) + 1)) + _arg2); return (_local3); } public function render():void{ sheet_tile.no = Math.floor((spin_angle / spinner_object.rotation_inc)); sheet_tile.x = (Math.floor((sheet_tile.no % spinner_object.total_colums)) * spinner_object.tile_width); sheet_tile.y = (Math.floor((sheet_tile.no / spinner_object.total_colums)) * spinner_object.tile_height); source_rectangle = new Rectangle(sheet_tile.x, sheet_tile.y, spinner_object.tile_width, spinner_object.tile_height); dest_point = new Point((this.x - (spinner_object.tile_width / 2)), (this.y - (spinner_object.tile_height / 2))); if (!hit){ game_screen.copyPixels(spinner_object.sprite_sheet, source_rectangle, dest_point); } else { spinner_object.temp_data.copyPixels(spinner_object.sprite_sheet, source_rectangle, color_transform_point); spinner_object.temp_data.colorTransform(color_transform_rect, color_transform); game_screen.copyPixels(spinner_object.temp_data, color_transform_rect, dest_point); hit = false; }; } public function update():void{ move(); rotate(); } private function move():void{ var _local1:Point; var _local2:Point; var _local3:Number; var _local4:Number; _local1 = new Point((player.x - this.x), (player.y - this.y)); _local1.normalize(1); _local2 = new Point(Math.cos(current_angle), Math.sin(current_angle)); _local3 = ((_local1.x * _local2.y) - (_local1.y * _local2.x)); if (_local3 > 0){ rotational_velocity = (rotational_velocity + rotational_accel); checkVelocitys(); current_angle = (current_angle - rotational_velocity); } else { if (_local3 < 0){ rotational_velocity = (rotational_velocity + rotational_accel); checkVelocitys(); current_angle = (current_angle + rotational_velocity); }; }; _local4 = ((_local1.x * _local2.x) + (_local1.y * _local2.y)); if (Math.acos(_local4) < rotational_accel){ _local2.x = _local1.x; _local2.y = _local1.y; } else { _local2.x = Math.cos(current_angle); _local2.y = Math.sin(current_angle); }; this.x = (this.x + (_local2.x * move_speed)); this.y = (this.y + (_local2.y * move_speed)); } public function explode():void{ var _local1:*; var _local2:*; _local1 = 0; while (_local1 < 4) { _local2 = new Debris(home, home.sprite_sheet_manager.spinner_debris, game_screen, (Math.random() * (Math.PI * 2))); _local2.x = this.x; _local2.y = this.y; home.object_array.push(_local2); home.debris_array.push(_local2); _local1++; }; } } }//package
Section 99
//SpinnerDebris (SpinnerDebris) package { import flash.display.*; public dynamic class SpinnerDebris extends MovieClip { } }//package
Section 100
//SpinnerVector (SpinnerVector) package { import flash.display.*; public dynamic class SpinnerVector extends MovieClip { } }//package
Section 101
//SpriteSheetManager (SpriteSheetManager) package { import flash.display.*; import flash.filters.*; import flash.geom.*; public class SpriteSheetManager { public var drone_debris:Object; public var crosshair_object:Object; public var drone_object:Object; public var drifter_object:Object; public var drifter_debris:Object; public var slicer_debris:Object; public var player_object:Object; private var home:Sprite; public var spinner_debris:Object; public var spinner_object:Object; public var laser_object:Object; public var slicer_object:Object; public function SpriteSheetManager(_arg1:Sprite){ player_object = new Object(); laser_object = new Object(); crosshair_object = new Object(); spinner_object = new Object(); drone_object = new Object(); drifter_object = new Object(); slicer_object = new Object(); drone_debris = new Object(); drifter_debris = new Object(); spinner_debris = new Object(); slicer_debris = new Object(); super(); home = _arg1; createSpriteSheet(player_object, new PlayerVector(), new GlowFilter(0x99FF00, 0.5, 12, 12, 2), 3, 30, 30); createSpriteSheet(laser_object, new LaserVector(), new GlowFilter(16501517, 0.8, 12, 12, 2), 3, 15, 15); createSpriteSheet(crosshair_object, new CrossVector(), new GlowFilter(0xFFFFFF, 0, 12, 12, 3), 3, 30, 30); createSpriteSheet(spinner_object, new SpinnerVector(), new GlowFilter(431088, 0.8, 12, 12, 2), 3, 30, 30); createSpriteSheet(drone_object, new DroneVector(), new GlowFilter(14352985, 0.8, 12, 12, 2), 360, 40, 40); createSpriteSheet(drifter_object, new DrifterVector(), new GlowFilter(0xC70000, 0.7, 10, 10, 2), 3, 30, 30); createSpriteSheet(slicer_object, new SlicerVector(), new GlowFilter(6486927, 0.8, 12, 12, 2), 3, 35, 35); createSpriteSheet(drone_debris, new DroneDebris(), new GlowFilter(14352985, 0.8, 12, 12, 2), 3, 35, 35); createSpriteSheet(drifter_debris, new DrifterDebris(), new GlowFilter(0xC70000, 0.8, 12, 12, 2), 3, 35, 35); createSpriteSheet(spinner_debris, new SpinnerDebris(), new GlowFilter(431088, 0.8, 12, 12, 2), 3, 35, 35); createSpriteSheet(slicer_debris, new SlicerDebris(), new GlowFilter(6486927, 0.8, 12, 12, 2), 3, 35, 35); } private function createSpriteSheet(_arg1:Object, _arg2:MovieClip, _arg3:GlowFilter, _arg4:Number, _arg5:Number, _arg6:Number):void{ var _local7:*; var _local8:*; _arg1.movie_clip = _arg2; _arg1.glow_filter = _arg3; _arg1.movie_clip.filters = [_arg3]; _arg1.rotation_inc = _arg4; _arg1.tile_width = _arg5; _arg1.tile_height = _arg6; _arg1.total_tiles = (360 / _arg4); _arg1.total_colums = 15; _arg1.total_rows = Math.ceil((_arg1.total_tiles / _arg1.total_colums)); _arg1.sprite_sheet = new BitmapData((_arg5 * _arg1.total_colums), (_arg6 * _arg1.total_rows), true, 0); _arg1.temp_data = new BitmapData(_arg5, _arg6, true, 0); _arg1.bitmap = new Bitmap(_arg1.sprite_sheet); _arg1.source_rectangle = new Rectangle(0, 0, _arg5, _arg6); _arg1.dest_point = new Point(); _arg1.rotation_matrix = new Matrix(); _arg1.rotation_matrix.translate((_arg5 / 2), (_arg6 / 2)); _local7 = 0; while (_local7 < _arg1.total_rows) { _local8 = 0; while (_local8 < _arg1.total_colums) { _arg1.dest_point.x = (_local8 * _arg5); _arg1.dest_point.y = (_local7 * _arg6); _arg1.temp_data.fillRect(_arg1.source_rectangle, 0); _arg1.temp_data.draw(_arg1.movie_clip, _arg1.rotation_matrix); _arg1.sprite_sheet.copyPixels(_arg1.temp_data, _arg1.source_rectangle, _arg1.dest_point); _arg1.rotation_matrix.translate(((_arg1.tile_width / 2) * -1), ((_arg1.tile_width / 2) * -1)); _arg1.rotation_matrix.rotate(((_arg4 * Math.PI) / 180)); _arg1.rotation_matrix.translate((_arg1.tile_width / 2), (_arg1.tile_width / 2)); _local8++; }; _local7++; }; } } }//package
Section 102
//Studio (Studio) package { import flash.text.*; public dynamic class Studio extends Font { } }//package
Section 103
//ThrustSound (ThrustSound) package { import flash.media.*; public dynamic class ThrustSound extends Sound { } }//package
Section 104
//TrailParticle (TrailParticle) package { import flash.display.*; import flash.geom.*; public class TrailParticle extends Sprite { private var particle_direction:Number; private var particle_life:Number; private var source_rectangle:Rectangle; private var particle_speed:Number; private var particle_colour:Number; private var colour_red:Number; private var dest_point:Point; private var life_counter:Number; private var particle_spray:Number; public var alive:Boolean;// = true private var colour_green:Number; private var home:Game; private var colour_blue:Number; public function TrailParticle(_arg1:Game, _arg2:Number, _arg3:Number, _arg4:Number){ alive = true; super(); home = _arg1; particle_spray = 30; particle_direction = ((_arg4 + offset()) - 180); particle_life = (Math.random() * 0.35); life_counter = 0; particle_speed = ((Math.random() * 3) + 0.3); particle_colour = 0xFFFFFF; this.x = _arg2; this.y = _arg3; } public function render():void{ source_rectangle = new Rectangle((this.x - 1), (this.y - 1), 2, 2); home.game_screen.screen_data.fillRect(source_rectangle, particle_colour); } public function offset():Number{ var _local1:Number; _local1 = ((Math.random() * (particle_spray * 2)) - particle_spray); return (_local1); } private function recolour():void{ colour_red = ((particle_colour & 0xFF0000) >> 16); colour_green = ((particle_colour & 0xFF00) >> 8); colour_blue = ((particle_colour & 0xFF) >> 0); if (colour_blue > 20){ colour_blue = (colour_blue * 0.8); } else { if (colour_green > 0){ colour_green = (colour_green * 0.7); }; }; particle_colour = (((colour_red << 16) | (colour_green << 8)) | (colour_blue << 0)); } private function move():void{ this.x = (this.x + (Math.cos(((particle_direction * Math.PI) / 180)) * particle_speed)); this.y = (this.y + (Math.sin(((particle_direction * Math.PI) / 180)) * particle_speed)); if (life_counter >= particle_life){ alive = false; } else { life_counter = (life_counter + (1 / 58)); }; } public function update():void{ move(); recolour(); } } }//package
Section 105
//UpgradeSound (UpgradeSound) package { import flash.media.*; public dynamic class UpgradeSound extends Sound { } }//package
Section 106
//WaveManager (WaveManager) package { public class WaveManager { private const name_index:Number = 0; private const drifter_index:Number = 3; private const drone_index:Number = 2; private const spinner_index:Number = 4; private const slicer_index:Number = 5; private const sub_wave_index:Number = 1; private var delay_counter:Number; private var sub_wave_counter:Number;// = 0 private var object_array:Array; private var info_popup:InfoPopup; private var sub_wave_delay:Number;// = 4 private var home:Game; private var player:Player; private var enemy_array:Array; private var pattern_array:Array; public var current_wave:Number;// = 0 public function WaveManager(_arg1:Game){ current_wave = 0; sub_wave_delay = 4; sub_wave_counter = 0; delay_counter = sub_wave_delay; pattern_array = [["wave 1", 1, 2, 0, 0, 0], ["wave 2", 1, 2, 1, 0, 0], ["wave 3", 1, 3, 0, 0, 0], ["wave 4", 1, 2, 2, 0, 0], ["wave 5", 1, 0, 4, 0, 0], ["wave 6", 1, 4, 0, 0, 0], ["wave 7", 2, 3, 1, 1, 0], ["wave 8", 2, 3, 0, 2, 0], ["wave 9", 2, 0, 0, 3, 0], ["wave 10", 2, 4, 0, 4, 0], ["wave 11", 0, 0, 0, 0, 0]]; super(); home = _arg1; player = home.player; object_array = home.object_array; enemy_array = home.enemy_array; info_popup = new InfoPopup(home, ("Wave " + (current_wave + 1)), 312, 100); } private function spawnEnemies():void{ var _local1:*; var _local2:*; var _local3:*; var _local4:*; _local1 = 0; while (_local1 < pattern_array[current_wave][drone_index]) { spawnDrone(); _local1++; }; _local2 = 0; while (_local2 < pattern_array[current_wave][drifter_index]) { spawnDrifter(); _local2++; }; _local3 = 0; while (_local3 < pattern_array[current_wave][spinner_index]) { spawnSpinner(); _local3++; }; _local4 = 0; while (_local4 < pattern_array[current_wave][slicer_index]) { spawnSlicer(); _local4++; }; } private function randomize(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = ((Math.random() * ((_arg1 - _arg2) + 1)) + _arg2); return (_local3); } private function spawnPosition(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Number; _local5 = Math.ceil((Math.random() * 2)); switch (_local5){ case 1: _local6 = randomize(_arg1, _arg2); break; case 2: _local6 = randomize(_arg3, _arg4); break; }; return (_local6); } private function spawnDrone():void{ var _local1:Drone; _local1 = new Drone(home); _local1.x = spawnPosition(-100, -10, 725, 635); _local1.y = randomize(338, 112); _local1.current_angle = Math.atan2((player.y - _local1.y), (player.x - _local1.x)); object_array.push(_local1); enemy_array.push(_local1); } private function spawnSpinner():void{ var _local1:Spinner; _local1 = new Spinner(home); _local1.x = spawnPosition(-100, -10, 725, 635); _local1.y = spawnPosition(-100, -10, 550, 460); _local1.current_angle = Math.atan2((player.y - _local1.y), (player.x - _local1.x)); object_array.push(_local1); enemy_array.push(_local1); } public function manageWaves():void{ if ((((((delay_counter >= sub_wave_delay)) && (!((sub_wave_counter === pattern_array[current_wave][sub_wave_index]))))) && (player.alive))){ spawnEnemies(); delay_counter = 0; sub_wave_counter++; } else { delay_counter = (delay_counter + (1 / 30)); if ((((enemy_array.length == 0)) && ((sub_wave_counter == pattern_array[current_wave][sub_wave_index])))){ if (current_wave < (pattern_array.length - 1)){ home.sound_manager.new_wave.play(); current_wave++; sub_wave_counter = 0; delay_counter = 0; home.score_manager.updateWave(); if (current_wave == 10){ player.alive = false; home.score_manager.total_lives = 0; home.particle_manager.createSpark(player.x, player.y, 0, 360, player.spark_colour, 200); home.sound_manager.stopThrust(); home.sound_manager.randomExplosion(); }; info_popup = new InfoPopup(home, ("Wave " + (current_wave + 1)), 312, 100); }; }; }; } private function spawnSlicer():void{ var _local1:Slicer; _local1 = new Slicer(home); _local1.x = spawnPosition(70, 10, 615, 555); _local1.y = spawnPosition(70, 10, 440, 380); object_array.push(_local1); enemy_array.push(_local1); } private function spawnDrifter():void{ var _local1:Drifter; _local1 = new Drifter(home); _local1.x = spawnPosition(-100, -10, 725, 635); _local1.y = spawnPosition(140, 70, 380, 310); object_array.push(_local1); enemy_array.push(_local1); } } }//package

Library Items

Symbol 1 Font {DavidSans}
Symbol 2 Font {Studio}Used by:24 25 39 41 42 45
Symbol 3 Sound {ThrustSound}
Symbol 4 Sound {CycloneFinish}
Symbol 5 Sound {NewWave}
Symbol 6 Sound {UpgradeSound}
Symbol 7 Sound {LevelStartSound}
Symbol 8 Sound {LaserSound}
Symbol 9 Sound {Die9Sound}
Symbol 10 Sound {Die8Sound}
Symbol 11 Sound {Die7Sound}
Symbol 12 Sound {Die6Sound}
Symbol 13 Sound {Die5Sound}
Symbol 14 Sound {Die4Sound}
Symbol 15 Sound {Debris2}
Symbol 16 Sound {Die3Sound}
Symbol 17 Sound {Die2Sound}
Symbol 18 Sound {Die1Sound}
Symbol 19 Sound {CycloneStart}
Symbol 20 Sound {Debris1}
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:23
Symbol 23 MovieClip {com.fingertime.core.loader.SFCLoader}Uses:22
Symbol 24 TextUses:2Used by:27
Symbol 25 TextUses:2Used by:27
Symbol 26 GraphicUsed by:27 43
Symbol 27 ButtonUses:24 25 26Used by:28
Symbol 28 MovieClipUses:27Used by:59
Symbol 29 GraphicUsed by:31
Symbol 30 GraphicUsed by:31
Symbol 31 ButtonUses:29 30Used by:34
Symbol 32 FontUsed by:33
Symbol 33 TextUses:32Used by:34
Symbol 34 MovieClipUses:31 33Used by:38
Symbol 35 GraphicUsed by:38
Symbol 36 FontUsed by:37
Symbol 37 TextUses:36Used by:38
Symbol 38 MovieClipUses:34 35 37Used by:59
Symbol 39 EditableTextUses:2 77Used by:40
Symbol 40 MovieClip {CycloneLimited_fla.mc_25}Uses:39Used by:59
Symbol 41 TextUses:2Used by:43
Symbol 42 TextUses:2Used by:43
Symbol 43 ButtonUses:41 42 26Used by:44
Symbol 44 MovieClipUses:43Used by:59
Symbol 45 TextUses:2Used by:47
Symbol 46 GraphicUsed by:47
Symbol 47 MovieClipUses:45 46Used by:59
Symbol 48 GraphicUsed by:49
Symbol 49 MovieClipUses:48Used by:50
Symbol 50 MovieClipUses:49Used by:59
Symbol 51 GraphicUsed by:58
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClipUses:52Used by:58 62
Symbol 54 GraphicUsed by:55
Symbol 55 MovieClip {PlayerVector}Uses:54Used by:58
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClipUses:56Used by:58 64
Symbol 58 MovieClipUses:51 53 55 57Used by:59
Symbol 59 MovieClip {GameMenu}Uses:28 38 40 44 47 50 58
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClipUses:60Used by:64
Symbol 62 MovieClip {CycloneLimited_fla.mc_17}Uses:53Used by:64
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClip {CycloneMeter}Uses:61 57 62 63
Symbol 65 GraphicUsed by:66
Symbol 66 MovieClip {SpinnerVector}Uses:65
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClip {CrossVector}Uses:67
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClip {DroneVector}Uses:69
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClip {DrifterVector}Uses:71
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClip {SlicerVector}Uses:73
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClip {LaserVector}Uses:75
Symbol 77 FontUsed by:39 78 80
Symbol 78 EditableTextUses:77Used by:79
Symbol 79 MovieClip {InfoPopup}Uses:78
Symbol 80 EditableTextUses:77Used by:81
Symbol 81 MovieClip {PointsPopup}Uses:80
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClip {DroneDebris}Uses:82
Symbol 84 GraphicUsed by:85
Symbol 85 MovieClip {DrifterDebris}Uses:84
Symbol 86 GraphicUsed by:87
Symbol 87 MovieClip {SpinnerDebris}Uses:86
Symbol 88 GraphicUsed by:89
Symbol 89 MovieClip {SlicerDebris}Uses:88

Instance Names

"score_tf"Symbol 40 MovieClip {CycloneLimited_fla.mc_25} Frame 1Symbol 39 EditableText
"retry_btn"Symbol 59 MovieClip {GameMenu} Frame 1Symbol 28 MovieClip
"hyperlink"Symbol 59 MovieClip {GameMenu} Frame 1Symbol 38 MovieClip
"final_score"Symbol 59 MovieClip {GameMenu} Frame 1Symbol 40 MovieClip {CycloneLimited_fla.mc_25}
"begin_btn"Symbol 59 MovieClip {GameMenu} Frame 1Symbol 44 MovieClip
"fingertime"Symbol 59 MovieClip {GameMenu} Frame 1Symbol 47 MovieClip
"bar_fill1"Symbol 64 MovieClip {CycloneMeter} Frame 1Symbol 61 MovieClip
"bar_fill2"Symbol 64 MovieClip {CycloneMeter} Frame 1Symbol 61 MovieClip
"swirl"Symbol 64 MovieClip {CycloneMeter} Frame 1Symbol 62 MovieClip {CycloneLimited_fla.mc_17}
"info_tf"Symbol 79 MovieClip {InfoPopup} Frame 1Symbol 78 EditableText
"points_tf"Symbol 81 MovieClip {PointsPopup} Frame 1Symbol 80 EditableText

Special Tags

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




http://swfchan.com/10/48541/info.shtml
Created: 29/4 -2019 18:59:13 Last modified: 29/4 -2019 18:59:13 Server time: 22/12 -2024 13:15:39