STORY LOOP FURRY PORN GAMES C SERVICES [?] [R] RND POPULAR | Archived flashes: 228138 |
/disc/ · /res/ — /show/ · /fap/ · /gg/ · /swf/ | P0001 · P2561 · P5122 |
This is the info page for Flash #77013 |
Fastest Curve : Upgrade Target Hits : Upgrade Points : Number of Misses : Ending Ball Velocity : |
34.233 |
34.233 |
34.233 |
34.233 |
34.233 |
100% |
100% |
1000000 |
YOUR SCORE |
POINTS: |
0 |
TIME BONUS: |
Loading |
UPGRADE: |
0 |
TOTAL TIME: |
Loading |
Play Game |
I CAN DO IT! |
Read Tutorial |
I NEED HELP!!! |
See More... |
NOT HAD ENOUGH? |
1000000 |
19000 |
322 |
3224333 |
TIME BONUS : |
ROUND POINTS : |
TOTAL SCORE : |
The Upgrade Menu |
Upgrades are extremely important to Entropy. There are 3 upgrades you can choose from. Increasing Curve Power gives you more control of the ball. Increasing Paddle size gives you a larger hit area. And increasing Return speed will cause balls hit from your paddle to more quicker. |
Gameplay Basics |
Your goal in Entropy is to cause your opponent to miss hitting the ball more than yourself. Look at the Scoreboard at top center. When you miss the ball, the score moves towards the computer, when the computer misses the scores moves towards you. When 3 green balls are filled you win. The yellow dots and lines show the current position of the ball to help you follow its position. |
Curving the Ball |
This game is all about curving the ball. If you can't curve the ball, you won't win. In order to curve the ball, you must move the paddle into the ball. The faster you move the paddle, the more spin you apply and therefore more curve. The ball will curve in the opposite direction of the movement of your paddle. You should upgrade your curve power as much as you need in order to better curve the ball. |
It takes practice... keep trying! |
Upgrade Targets |
Random translucent blue blocks stretching across the walls serve as targets that give you upgrade points upon hitting them. The smaller the target the more points you'll receive. If you hit the target a chime will play and it will turn green and fade away. To better hit the targets you will need to practive your skills at curving the ball. Good luck. |
147 |
45 |
45 |
45 |
Increase Return Speed |
ActionScript [AS3]
Section 1//DebugDispatcher (com.blitzagency.xray.logger.events.DebugDispatcher) package com.blitzagency.xray.logger.events { import flash.events.*; public class DebugDispatcher extends EventDispatcher { public static var TRACE:String = "trace"; public function (_arg1:String, _arg2:Object):void{ dispatchEvent(new DebugEvent(DebugDispatcher.TRACE, false, false, _arg2)); } } }//package com.blitzagency.xray.logger.eventsSection 2//DebugEvent (com.blitzagency.xray.logger.events.DebugEvent) package com.blitzagency.xray.logger.events { import flash.events.*; public class DebugEvent extends Event { public var obj:Object; public function DebugEvent(_arg1:String, _arg2:Boolean, _arg3:Boolean, _arg4:Object):void{ obj = new Object(); super(_arg1, _arg2, _arg3); obj = _arg4; } } }//package com.blitzagency.xray.logger.eventsSection 3//ObjectTools (com.blitzagency.xray.logger.util.ObjectTools) package com.blitzagency.xray.logger.util { import com.blitzagency.xray.logger.*; import flash.utils.*; public class ObjectTools { private static var log:XrayLog = new XrayLog(); public function (_arg1:Object):String{ return (""); } public static function getImmediateClassPath(_arg1:Object):String{ var _local2:String; var _local3:String; _local2 = getQualifiedClassName(_arg1); _local3 = getQualifiedSuperclassName(_arg1); _local2 = ((_local2.indexOf("::") > -1)) ? _local2.split("::").join(".") : _local2; if (_local3 == null){ return (_local2); }; _local3 = ((_local3.indexOf("::") > -1)) ? _local3.split("::").join(".") : _local3; return (((_local3 + ".") + _local2)); } public static function getFullClassPath(_arg1:Object):String{ var _local2:XML; var _local3:Array; var _local4:String; var _local5:XML; var _local6:String; _local2 = describeType(_arg1); _local3 = []; _local4 = getQualifiedClassName(_arg1); _local4 = ((_local4.indexOf("::") > -1)) ? _local4.split("::").join(".") : _local4; _local3.push(_local4); for each (_local5 in _local2.extendsClass) { _local6 = ((_local5.@type.toString().indexOf("::") > -1)) ? _local5.@type.toString().split("::")[1] : _local5.@type.toString(); _local3.push(_local6); }; return (_local3.join(".")); } } }//package com.blitzagency.xray.logger.utilSection 4//PropertyTools (com.blitzagency.xray.logger.util.PropertyTools) package com.blitzagency.xray.logger.util { import flash.utils.*; public class PropertyTools { private static function getVariables():void{ } public static function getProperties(_arg1:Object):Array{ var ary:Array; var xmlDoc:XML; var item:XML; var name:String; var type:String; var value:Object; var obj = _arg1; ary = []; try { xmlDoc = describeType(obj); for each (item in xmlDoc.variable) { name = item.@name.toString(); type = item.@type.toString(); value = ((obj[name])!=null) ? obj[name] : ""; ary.push({name:name, type:type, value:value}); }; } catch(e:Error) { }; return (ary); } private static function getMethods():void{ } } }//package com.blitzagency.xray.logger.utilSection 5//Debug (com.blitzagency.xray.logger.Debug) package com.blitzagency.xray.logger { import flash.events.*; import flash.utils.*; import com.blitzagency.xray.logger.events.*; import flash.net.*; public class Debug { private static var connected:Boolean = false; private static var xrayLC:LocalConnection; private static var ed:DebugDispatcher = new DebugDispatcher(); public static function traceObject(_arg1:Object, _arg2:Number=254, _arg3:Number=0, _arg4:String="", _arg5:Number=0):void{ var recurseDepth:Number; var indent:Number; var prop:String; var lead:String; var i:Number; var obj:String; var o = _arg1; var pRecurseDepth = _arg2; var pIndent = _arg3; var pPackage = _arg4; var pLevel = _arg5; try { recurseDepth = pRecurseDepth; indent = pIndent; for (prop in o) { lead = ""; i = 0; while (i < indent) { lead = (lead + " "); i = (i + 1); }; obj = o[prop].toString(); if ((o[prop] is Array)){ obj = "[Array]"; }; if (obj == "[object Object]"){ obj = "[Object]"; }; Debug.trace((((lead + prop) + ": ") + obj), pPackage, pLevel); if (recurseDepth > 0){ Debug.traceObject(o[prop], (recurseDepth - 1), (indent + 1), pPackage, pLevel); }; }; } catch(e:Error) { }; } public static function trace(_arg1:Object, _arg2:String="", _arg3:Number=0):void{ var msg:String; var pMsg = _arg1; var pPackage = _arg2; var pLevel = _arg3; ed.(DebugDispatcher.TRACE, {message:pMsg, classPackage:pPackage}); if (!connected){ makeConnection(); }; if (connected){ try { msg = ((String(pMsg).length >= 39995)) ? (String(pMsg).substr(0, 39995) + "...") : String(pMsg); xrayLC.send("_xray_view_conn", "setTrace", msg, pLevel, pPackage); } catch(e:LogError) { LogError("No Xray Interface running"); }; }; } private static function makeConnection():void{ var err:LogError; xrayLC = new LocalConnection(); xrayLC.addEventListener("status", statusHandler); xrayLC.allowDomain("*"); try { xrayLC.connect(("_xray_standAlone_debug" + getTimer())); connected = true; } catch(e:Error) { err = new LogError("log"); setTimeout(makeConnection, 1000); }; } public static function addEventListener(_arg1:String, _arg2:Function):void{ ed.addEventListener(_arg1, _arg2); } private static function initialize():Boolean{ ed = new DebugDispatcher(); return (true); } private static function statusHandler(_arg1:StatusEvent):void{ if ((((((_arg1.code == null)) && ((_arg1.level == "error")))) && (connected))){ connected = false; } else { if ((((_arg1.level == "status")) && ((_arg1.code == null)))){ connected = true; }; }; } } }//package com.blitzagency.xray.logger class LogError extends Error { private function LogError(_arg1:String){ super(_arg1); } }Section 6//Log (com.blitzagency.xray.logger.Log) package com.blitzagency.xray.logger { import com.blitzagency.xray.logger.util.*; public class Log { private var level:Number; private var :String;// = "" private var classPackage:String; private var :Object; private var message:String; public function Log(_arg1:String, _arg2:Object, _arg3:Number, ... _args){ var err:LogError; var nullArray:Array; var str:String; var p_message = _arg1; var p_dump = _arg2; var p_level = _arg3; var rest = _args; = ""; super(); try { nullArray.push("bogus"); } catch(e:Error) { err = new LogError("log"); } finally { if (err.hasOwnProperty("getStackTrace")){ str = err.getStackTrace(); ((str)); } else { (""); }; (p_message); (p_dump); setLevel(p_level); (p_dump); }; } public function setLevel(_arg1:Number):void{ level = _arg1; } public function getCaller():String{ return ( ); } public function (_arg1:String):void{ message = _arg1; } public function getLevel():Number{ return (level); } public function getDump():Object{ return ( ); } public function (_arg1:String):void{ = _arg1; } public function (_arg1:Object):void{ classPackage = ObjectTools.getImmediateClassPath(_arg1); } public function getMessage():String{ return (message); } public function getClassPackage():String{ return (classPackage); } public function (_arg1:Object):void{ = _arg1; } private function (_arg1:String):String{ var ary:Array; var str = _arg1; ary = []; try { str = str.split("\n").join(""); ary = str.split("\tat "); str = ary[3]; } catch(e:Error) { } finally { str = ""; }; return (str); } } }//package com.blitzagency.xray.logger class LogError extends Error { private function LogError(_arg1:String){ super(_arg1); } }Section 7//Logger (com.blitzagency.xray.logger.Logger) package com.blitzagency.xray.logger { public interface Logger { function setLevel(_arg1:Number=0):void; function debug(_arg1:Log):void; function fatal(_arg1:Log):void; function warn(_arg1:Log):void; function error(_arg1:Log):void; function log(_arg1:String, _arg2:String, _arg3:String, _arg4:Number, _arg5:Object=null):void; function info(_arg1:Log):void; } }//package com.blitzagency.xray.loggerSection 8//XrayLog (com.blitzagency.xray.logger.XrayLog) package com.blitzagency.xray.logger { public class XrayLog { private var :XrayLogger; public function XrayLog(){ = XrayLogger.getInstance(); } public function debug(_arg1:String, ... _args):void{ var _local3:Number; if (_args.length == 0){ .debug(new Log(_arg1, null, XrayLogger.DEBUG)); }; _local3 = 0; while (_local3 < _args.length) { if (_local3 > 0){ _arg1 = ""; }; .debug(new Log(_arg1, _args[_local3], XrayLogger.DEBUG)); _local3++; }; } public function fatal(_arg1:String, ... _args):void{ var _local3:Number; if (_args.length == 0){ .fatal(new Log(_arg1, null, XrayLogger.FATAL)); }; _local3 = 0; while (_local3 < _args.length) { if (_local3 > 0){ _arg1 = ""; }; .fatal(new Log(_arg1, _args[_local3], XrayLogger.FATAL)); _local3++; }; } public function info(_arg1:String, ... _args):void{ var _local3:Number; if (_args.length == 0){ .info(new Log(_arg1, null, XrayLogger.INFO)); }; _local3 = 0; while (_local3 < _args.length) { if (_local3 > 0){ _arg1 = ""; }; .info(new Log(_arg1, _args[_local3], XrayLogger.INFO)); _local3++; }; } public function warn(_arg1:String, ... _args):void{ var _local3:Number; if (_args.length == 0){ .warn(new Log(_arg1, null, XrayLogger.WARN)); }; _local3 = 0; while (_local3 < _args.length) { if (_local3 > 0){ _arg1 = ""; }; .warn(new Log(_arg1, _args[_local3], XrayLogger.WARN)); _local3++; }; } public function error(_arg1:String, ... _args):void{ var _local3:Number; if (_args.length == 0){ .error(new Log(_arg1, null, XrayLogger.ERROR)); }; _local3 = 0; while (_local3 < _args.length) { if (_local3 > 0){ _arg1 = ""; }; .error(new Log(_arg1, _args[_local3], XrayLogger.ERROR)); _local3++; }; } } }//package com.blitzagency.xray.loggerSection 9//XrayLogger (com.blitzagency.xray.logger.XrayLogger) package com.blitzagency.xray.logger { import flash.events.*; import flash.utils.*; import com.blitzagency.xray.logger.util.*; public class XrayLogger extends EventDispatcher implements Logger { private var :Number;// = 3 private var level:Number;// = 0 private var :Number;// = 0 private var :Number;// = 254 private var :Array; public static var FATAL:Number = 4; public static var WARN:Number = 2; public static var ERROR:Number = 3; public static var INFO:Number = 1; public static var DEBUG:Number = 0; private static var _instance:XrayLogger = null; public static var NONE:Number = 5; public function XrayLogger(){ level = 0; = 3; = 254; = 0; = []; super(); } public function ():Boolean{ var _local1:uint; if (.length == 0){ return (true); }; _local1 = 0; while (_local1 < .length) { _local1++; }; return (true); } public function debug(_arg1:Log):void{ if (_arg1.getLevel() == level){ log(_arg1.getMessage(), _arg1.getCaller(), _arg1.getClassPackage(), 0, _arg1.getDump()); }; } public function (_arg1:Number=0):void{ = _arg1; } public function error(_arg1:Log):void{ if (_arg1.getLevel() >= level){ log(_arg1.getMessage(), _arg1.getCaller(), _arg1.getClassPackage(), 3, _arg1.getDump()); }; } public function setLevel(_arg1:Number=0):void{ level = _arg1; } public function fatal(_arg1:Log):void{ if (_arg1.getLevel() >= level){ log(_arg1.getMessage(), _arg1.getCaller(), _arg1.getClassPackage(), 4, _arg1.getDump()); }; } public function warn(_arg1:Log):void{ if (_arg1.getLevel() >= level){ log(_arg1.getMessage(), _arg1.getCaller(), _arg1.getClassPackage(), 2, _arg1.getDump()); }; } public function (_arg1:Number):void{ = _arg1; } public function (_arg1:Number):void{ = _arg1; } public function info(_arg1:Log):void{ if (_arg1.getLevel() >= level){ log(_arg1.getMessage(), _arg1.getCaller(), _arg1.getClassPackage(), 1, _arg1.getDump()); }; } public function log(_arg1:String, _arg2:String, _arg3:String, _arg4:Number, _arg5:Object=null):void{ var _local6:String; var _local7:String; var _local8:String; var _local9:Object; _local6 = (("(" + getTimer()) + ") "); if (_arg3.length > 0){ _local6 = (_local6 + (_arg2 + "\n")); }; _local6 = (_local6 + _arg1); if (_arg1.length > 0){ Debug.trace(_local6, _arg3, _arg4); }; if (_arg5 == null){ return; }; _local7 = typeof(_arg5); if ((((((((((_local7 == "string")) || ((_local7 == "number")))) || ((_local7 == "boolean")))) || ((_local7 == "undefined")))) || ((_local7 == "null")))){ Debug.trace(_arg5, _arg3, _arg4); } else { if (_local7 == "xml"){ Debug.trace(_arg5.toString(), _arg3, _arg4); } else { _local8 = ObjectTools.getImmediateClassPath(_arg5); if ((((_local8 == "Object")) || ((_local8 == "Object.Array")))){ Debug.traceObject(_arg5, , , _arg3, _arg4); } else { _local9 = PropertyTools.getProperties(_arg5); Debug.traceObject(_local9, , , _arg3, _arg4); }; }; }; } public function (_arg1:Array):void{ = _arg1; } public static function getInstance():XrayLogger{ if (_instance == null){ _instance = new (XrayLogger); }; return (_instance); } public static function resolveLevelAsName(_arg1:Number):String{ switch (_arg1){ case 0: return ("debug"); case 1: return ("info"); case 2: return ("warn"); case 3: return ("error"); case 4: return ("fatal"); default: return ("debug"); }; } } }//package com.blitzagency.xray.loggerSection 10//gameOver_animationIn_8 (engine_fla.gameOver_animationIn_8) package engine_fla { import flash.display.*; public dynamic class gameOver_animationIn_8 extends MovieClip { public function gameOver_animationIn_8(){ addFrameScript(10, ); } function (){ stop(); } } }//package engine_flaSection 11//greenflash_21 (engine_fla.greenflash_21) package engine_fla { import flash.display.*; public dynamic class greenflash_21 extends MovieClip { public function greenflash_21(){ addFrameScript(17, frame18); } function frame18(){ stop(); } } }//package engine_flaSection 12//greenLoadIn_61 (engine_fla.greenLoadIn_61) package engine_fla { import flash.display.*; public dynamic class greenLoadIn_61 extends MovieClip { public function greenLoadIn_61(){ addFrameScript(24, ); } function (){ stop(); } } }//package engine_flaSection 13//holdEVERYTHING_2 (engine_fla.holdEVERYTHING_2) package engine_fla { import flash.display.*; public dynamic class holdEVERYTHING_2 extends MovieClip { public function holdEVERYTHING_2(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package engine_flaSection 14//levelComplete_37 (engine_fla.levelComplete_37) package engine_fla { import flash.display.*; public dynamic class levelComplete_37 extends MovieClip { public function levelComplete_37(){ addFrameScript(59, frame60); } function frame60(){ stop(); } } }//package engine_flaSection 15//logo_blurin_6 (engine_fla.logo_blurin_6) package engine_fla { import flash.display.*; public dynamic class logo_blurin_6 extends MovieClip { public function logo_blurin_6(){ addFrameScript(20, ); } function (){ stop(); } } }//package engine_flaSection 16//MainTimeline (engine_fla.MainTimeline) package engine_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import mochi.*; import net.amp3d.entropy.*; import flash.utils.*; import flash.media.*; import flash.text.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.filters.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var :ContextMenu; public var movie:MovieClip; public var lock:Boolean; public var preloader:MovieClip; public var :Array; public var :ContextMenuItem; public var :Engine; public function MainTimeline(){ addFrameScript(0, frame1, 1, , 3, , 4, ); } public function (_arg1:ProgressEvent):void{ var _local2:Number; var _local3:Number; _local2 = _arg1.target.bytesLoaded; _local3 = _arg1.target.bytesTotal; trace((_local2 / _local3)); preloader.loadingText.text = (Math.ceil(((_local2 / _local3) * 100)) + "%"); preloader.loadingText2.text = (Math.ceil(((_local2 / _local3) * 100)) + "%"); } public function (_arg1:Event):void{ play(); } function frame1(){ = new ContextMenu(); .hideBuiltInItems(); = new ContextMenuItem("www.amp3d.net"); .customItems.push(); this.contextMenu = ; MochiAd.showPreGameAd({clip:root, id:"73ba7c5ee9e1569c", res:"550x400", background:1400157, color:2141367, outline:13033727, no_bg:false}); } function (){ stop(); if (!lock){ = new Engine(stage); }; } function (){ stop(); movie.addEventListener("playon", ); movie.addEventListener(MouseEvent.MOUSE_DOWN, ); movie.buttonMode = true; } function (){ stop(); lock = false; = ["www.amp3d.net", "www.flashgamelicense.com", "flashgamelicense.com"]; (); MochiBot.track(this, "7354f46e"); MochiServices.connect("73ba7c5ee9e1569c", root); this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, ); this.loaderInfo.addEventListener(Event.COMPLETE, ); if ((loaderInfo.bytesLoaded / loaderInfo.bytesTotal) > 0.99){ play(); }; } public function (_arg1:MouseEvent){ navigateToURL(new URLRequest("http://amp3d.net"), "_blank"); } public function (_arg1:Event){ movie.removeEventListener("playon", ); play(); } public function (_arg1:Array){ var _local2:Array; var _local3:Array; var _local4:int; trace("here"); _local2 = this.loaderInfo.url.split("://"); _local3 = _local2[1].split("/"); _local4 = 0; while (_local4 < _arg1.length) { if (_arg1[_local4] == _local3[0]){ lock = false; }; _local4++; }; if (lock){ trace("HERE HERE"); root.alpha = 0; this.loaderInfo.removeEventListener(Event.COMPLETE, ); }; } } }//package engine_flaSection 17//parLogo_63 (engine_fla.parLogo_63) package engine_fla { import flash.display.*; import flash.events.*; import flash.utils.*; public dynamic class parLogo_63 extends MovieClip { public var :Timer; public function parLogo_63(){ addFrameScript(34, , 48, ); } function (){ stop(); = new Timer(700); .addEventListener("timer", ); .start(); } function (){ dispatchEvent(new Event("playon")); } public function (_arg1:TimerEvent){ play(); .stop(); .removeEventListener("timer", ); } } }//package engine_flaSection 18//preloader_1 (engine_fla.preloader_1) package engine_fla { import flash.display.*; import flash.text.*; public dynamic class preloader_1 extends MovieClip { public var loadingText:TextField; public var loadingText2:TextField; } }//package engine_flaSection 19//redflash_18 (engine_fla.redflash_18) package engine_fla { import flash.display.*; public dynamic class redflash_18 extends MovieClip { public function redflash_18(){ addFrameScript(17, frame18); } function frame18(){ stop(); } } }//package engine_flaSection 20//upgrade_levels_60 (engine_fla.upgrade_levels_60) package engine_fla { import flash.display.*; public dynamic class upgrade_levels_60 extends MovieClip { public function upgrade_levels_60(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package engine_flaSection 21//MochiScores (mochi.MochiScores) package mochi { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var options = _arg1; if (options != null){ if (options.clip != null){ if ((options.clip is Sprite)){ MochiServices.setContainer(options.clip); }; delete options.clip; } else { MochiServices.setContainer(); }; MochiServices.stayOnTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; _local2 = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (_arg1 != null){ if (_arg1.error != null){ if (_arg1.error == true){ if (onErrorHandler != null){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; }; }; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochiSection 22//MochiServices (mochi.MochiServices) package mochi { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; private static var _sendChannel:LocalConnection; private static var _rcvChannelName:String; private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _listenChannel:LocalConnection; private static var _timer:Timer; private static var _sendChannelName:String; private static var _startTime:Number; private static var _connecting:Boolean = false; public static var onError:Object; private static var _listenChannelName:String = "__mochiservices"; private static var _rcvChannel:LocalConnection; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ onError("NotConnected"); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } public static function get connected():Boolean{ return (_connected); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (_clip != null){ if (_clip._queue != null){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function get childClip():Object{ return (_clip); } public static function get id():String{ return (_id); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function getVersion():String{ return ("1.32"); } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _listenChannel.close(); _rcvChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; Security.allowDomain("*"); Security.allowInsecureDomain("*"); if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; return (_local2); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } private static function initComChannels():void{ if (!_connected){ _sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion()}); _rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _clip.onReceive = function (_arg1:Object):void{ var cb:String; var cblst:Object; var method:*; var methodName:String; var obj:Object; var pkg = _arg1; cb = pkg.callbackID; cblst = this.client._callbacks[cb]; if (!cblst){ return; }; method = cblst.callbackMethod; methodName = ""; obj = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete this.client._callbacks[cb]; }; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; _rcvChannel.connect(_rcvChannelName); trace("connected!"); _connecting = false; _connected = true; _listenChannel.close(); while (_clip._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function listen():void{ _listenChannel = new LocalConnection(); _listenChannel.client = _clip; _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; _listenChannel.allowDomain("*", "localhost"); _listenChannel.allowInsecureDomain("*", "localhost"); _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } public static function get clip():Object{ return (_container); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); _rcvChannelName = _arg1; initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var clipname:String; var f:Function; var req:URLRequest; var id = _arg1; var clip = _arg2; clipname = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; MochiServices.allowDomains(_gatewayURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); _timer = new Timer(1000, 0); _startTime = getTimer(); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); f = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); req = new URLRequest(_gatewayURL); _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _rcvChannel = new LocalConnection(); _rcvChannel.allowDomain("*", "localhost"); _rcvChannel.allowInsecureDomain("*", "localhost"); _rcvChannel.client = _clip; _clip._nextcallbackID = 0; _clip._callbacks = {}; listen(); return (_clip); } public static function bringToTop(_arg1:Event):void{ var e = _arg1; if (MochiServices.clip != null){ if (MochiServices.childClip != null){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; }; } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var mc:MovieClip; var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; mc = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function connectWait(_arg1:TimerEvent):void{ if ((getTimer() - _startTime) > 10000){ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _timer.stop(); }; } } }//package mochiSection 23//assetLevelComplete (net.amp3d.assets.assetLevelComplete) package net.amp3d.assets { import flash.display.*; import flash.events.*; import mochi.*; import net.amp3d.entropy.*; import flash.text.*; public class assetLevelComplete extends MovieClip { private var :levelCompleteStats; private var :Number; private var :Number; public var tRoundScore:MovieClip; public var tTimeBonus:MovieClip; public var roundbonus:TextField; public var sUpgrades:SimpleButton; private var :Number; private var :Number;// = 0 private var :Number;// = 0 public var timebonus:TextField; private var :int; private var :Boolean;// = false private var roundScore:Number; private var :Stage; private var :int; private var :Number;// = 0 public var totalscore:TextField; private var :int;// = 0 public var sHighScore:SimpleButton; public var a2:assetLevelCompleteBar; public var tRoundPoints:MovieClip; public var a1:assetLevelCompleteBar; public function assetLevelComplete(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:int=0, _arg6:int=0, _arg7:Number=0){ = 0; = 0; = false; = 0; = 0; super(); this. = _arg1; this. = (Math.ceil(_arg2) * 1250); trace(this. ); this.roundScore = _arg3; this. = _arg4; this. = _arg5; this. = _arg7; this. = _arg6; tTimeBonus.x = -900; tRoundPoints.x = -900; timebonus.x = 900; roundbonus.x = 900; tRoundScore.x = -900; totalscore.x = 900; sUpgrades.addEventListener(MouseEvent.MOUSE_UP, gotoUpgrades); sHighScore.addEventListener(MouseEvent.MOUSE_UP, ); Global.userScore = (Global.userScore + this. ); totalscore.text = String(Global.userScore); addEventListener(Event.ENTER_FRAME, loop, false, 0, true); } private function (_arg1:Event){ if (.alpha < 1){ .y = (.y - 0.6); .alpha = (.alpha + 0.06); }; } private function (_arg1:Event){ var _local2:assetLevelCompleteBar; = ( + 5.4); totalscore.x = (roundbonus.x = (timebonus.x = (timebonus.x + ))); tRoundScore.x = (tTimeBonus.x = (tRoundPoints.x = (tRoundPoints.x - ))); getChildByName("a3").alpha = (a2.alpha = (a1.alpha = (a1.alpha - 0.05))); if (totalscore.x > 600){ removeChild(a1); removeChild(a2); removeChild(getChildByName("a3")); _local2 = new assetLevelCompleteBar(); _local2.x = 128; _local2.y = 185; _local2.scaleY = 3.8; addChild(_local2); removeEventListener(Event.ENTER_FRAME, ); addEventListener(Event.ENTER_FRAME, ); = 0; = new levelCompleteStats(); .x = 159; .y = 217; .alpha = 0; addChild(); .tFastestCurve.text = String(.toFixed(2)); .tTargetHits.text = String(); .tUpgradePoints.text = String(Global.roundMoney); .tMisses.text = String(); .tBallVelocity.text = String(.toFixed(2)); }; } private function gotoUpgrades(_arg1:MouseEvent){ dispatchEvent(new EntropyEvent(EntropyEvent.GOTO_UPGRADES)); } public function loop(_arg1:Event){ var _local2:assetLevelCompleteBar; tTimeBonus.x = (tTimeBonus.x - ((tTimeBonus.x - 178) / 4)); tRoundPoints.x = (tRoundPoints.x - ((tRoundPoints.x - 159) / 4)); roundbonus.x = (timebonus.x = (timebonus.x - ((timebonus.x - 302) / 4))); = ( - (( - ) / 11)); if (( + 1) > ){ = ; }; this.timebonus.text = String(Math.ceil()); = ( - (( - roundScore) / 11)); if ((((( + 1) > roundScore)) && (!(( == roundScore))))){ = roundScore; = true; _local2 = new assetLevelCompleteBar(); _local2.x = 128; _local2.y = 286.5; _local2.name = "a3"; this.addChildAt(_local2, 5); }; this.roundbonus.text = String(Math.ceil()); if (){ tRoundScore.x = (tRoundScore.x - ((tRoundScore.x - 160) / 4)); totalscore.x = (totalscore.x - ((totalscore.x - 302) / 4)); ++; }; if ( > 180){ removeEventListener(Event.ENTER_FRAME, loop); addEventListener(Event.ENTER_FRAME, ); }; } private function (_arg1:MouseEvent){ var _local2:MovieClip; _local2 = new MovieClip(); .addChild(_local2); MochiScores.showLeaderboard({boardID:"9e43059c9a5d8907", score:Global.userScore, clip:_local2}); } } }//package net.amp3d.assetsSection 24//EntropyEvent (net.amp3d.assets.EntropyEvent) package net.amp3d.assets { import flash.events.*; public class EntropyEvent extends Event { public static var GOTO_WIN:String = "gotoWin"; public static var GOTO_GAMEOVER:String = "gotoGameOver"; public static var ROUND_COMPLETE:String = "roundComplete"; public static var GOTO_UPGRADES:String = "gotoUpgrades"; public static var GOTO_NEXTLEVEL:String = "gotoNextLevel"; public static var GOTO_MENU:String = "gotoMenu"; public function EntropyEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } } }//package net.amp3d.assetsSection 25//Whiteflash (net.amp3d.assets.Whiteflash) package net.amp3d.assets { import flash.display.*; import flash.events.*; import flash.geom.*; public class Whiteflash extends MovieClip { private var :Number;// = 0 private var :Stage; public function Whiteflash(_arg1:Stage=null, _arg2:Number=0xFFFFFF){ var _local3:ColorTransform; = 0; super(); this. = _arg1; addEventListener(Event.ENTER_FRAME, loop, false, 0, true); _local3 = new ColorTransform(); _local3.color = _arg2; this.transform.colorTransform = _local3; } public function loop(_arg1:Event){ = ( + 0.01); alpha = (alpha - ); if (alpha < 0){ removeEventListener(Event.ENTER_FRAME, loop); if ( != null){ .removeChild(this); }; }; } } }//package net.amp3d.assetsSection 26//Engine (net.amp3d.entropy.Engine) package net.amp3d.entropy { import flash.display.*; import flash.events.*; import net.amp3d.assets.*; import flash.media.*; import flash.net.*; public class Engine extends MovieClip { var :Tutorial; var :Array; var :sndMiss; var :Menu; var :SoundChannel; var :GameWin; var :int;// = 0 var :Boolean;// = false var :UpgradeMenu; var :Stage; var :sndBG2; var :sndBG3; var :sndBG4; var :sndBG5; var :GameOver; var :Main; public function Engine(_arg1:Stage){ = 0; = new SoundChannel(); = new sndBG2(); = new sndBG3(); = new sndBG4(); = new sndBG5(); = new sndMiss(); = false; super(); this. = _arg1; = [[10, 30, 1.003, 3, 0.6, 0, 120], [9, 30, 1.003, 4, 0.9, 2, 120], [8, 30, 1.003, 11, 0.2, -1, 120], [7, 30, 1.003, 6, 0.7, 3, 130], [6, 32, 1.003, 4, 0.7, 2, 130], [6, 32, 1.003, 3, 1.6, 0, 120], [5.5, 32, 1.003, 4, 0.9, 3, 135], [5.2, 32, 1.003, 5, 1, 3, 150], [4.9, 32, 1.003, 3, 1, 13, 180], [4.8, 33, 1.003, 7, 1, 5, 180], [4.6, 35, 1.003, 8, 1.1, 7, 180], [4.4, 32, 1.004, 7, 1.5, 9, 180], [4.2, 33, 1.005, 8, 1.7, 10, 180]]; Global.userMoney = 40; = .play(0, 99, new SoundTransform(0.2)); = new Menu(); _arg1.addChild(); .btnPlayGame.addEventListener(MouseEvent.MOUSE_UP, ); .btnTutorial.addEventListener(MouseEvent.MOUSE_UP, ); .btnMore.addEventListener(MouseEvent.MOUSE_UP, ); } private function (_arg1:EntropyEvent){ var _local2:Whiteflash; _local2 = new Whiteflash(); .addChild(_local2); .removeEventListener(EntropyEvent.GOTO_MENU, ); .removeChild(); = null; } private function (_arg1:MouseEvent){ var _local2:Whiteflash; = new Tutorial(); .addChild(); _local2 = new Whiteflash(); .addChild(_local2); .addEventListener(EntropyEvent.GOTO_MENU, , false, 0, true); } function gotoGameOver(_arg1:EntropyEvent){ var _local2:Whiteflash; .stop(); = .play(); = .play(0, 99, new SoundTransform(0.2)); _local2 = new Whiteflash(, 0xFF0000); .addChild(_local2); if ( != null){ .kill2(); }; = new GameOver(); .addEventListener(EntropyEvent.GOTO_MENU, ); .addChildAt(, 0); } private function gotoUpgrades(_arg1:EntropyEvent){ var _local2:Whiteflash; _local2 = new Whiteflash(); .addChild(_local2); if (((!(( == null))) && (!()))){ .kill(); } else { = false; }; = new UpgradeMenu(); .addEventListener(EntropyEvent.GOTO_NEXTLEVEL, ); .addChildAt(, 0); } private function (_arg1:MouseEvent){ var _local2:Whiteflash; _local2 = new Whiteflash(); .addChild(_local2); .removeChild(); gotoUpgrades(new EntropyEvent(EntropyEvent.GOTO_UPGRADES)); } private function gotoWin(_arg1:EntropyEvent){ var _local2:Whiteflash; .stop(); = .play(); = .play(0, 99, new SoundTransform(0.2)); _local2 = new Whiteflash(, 43775); .addChild(_local2); if ( != null){ .kill2(); }; = new GameWin(); .addEventListener(EntropyEvent.GOTO_MENU, ); .addChildAt(, 0); } private function (_arg1:EntropyEvent){ var _local2:Array; var _local3:Whiteflash; .stop(); = .play(0, 99, new SoundTransform(0.1)); _local2 = []; ++; _local3 = new Whiteflash(); .addChild(_local3); .removeChild(); if ( != null){ .newGame(_local2[0], _local2[1], _local2[2], _local2[3], _local2[4], _local2[5], _local2[6], ); } else { = new Main(, _local2[0], _local2[1], _local2[2], _local2[3], _local2[4], _local2[5], _local2[6], 1); }; if ( == .length){ .addEventListener(EntropyEvent.GOTO_UPGRADES, gotoWin); .addEventListener(EntropyEvent.ROUND_COMPLETE, gotoWin); .isFinalLevel = true; } else { .addEventListener(EntropyEvent.GOTO_UPGRADES, gotoUpgrades); .addEventListener(EntropyEvent.ROUND_COMPLETE, roundComplete); }; .addEventListener(EntropyEvent.GOTO_GAMEOVER, gotoGameOver); } function (_arg1:EntropyEvent){ .stop(); = .play(); = .play(0, 99, new SoundTransform(0.2)); = true; .removeChild(); .addChild(); = 0; Global.userScore = 0; Global.userMoney = 40; Global.ugCurvePower = 1; Global.ugPaddleSize = 1; Global.ugReturnSpeed = 1; } private function (_arg1:MouseEvent){ navigateToURL(new URLRequest("http://amp3d.net"), "_blank"); } private function roundComplete(_arg1:EntropyEvent){ .stop(); = .play(); = .play(0, 99, new SoundTransform(0.2)); } } }//package net.amp3d.entropySection 27//GameOver (net.amp3d.entropy.GameOver) package net.amp3d.entropy { import flash.display.*; import flash.events.*; import net.amp3d.assets.*; import mochi.*; import flash.text.*; public class GameOver extends MovieClip { public var btnHS:SimpleButton; public var userScore:TextField; private var :Stage; public var btnMenu:SimpleButton; public function GameOver(_arg1:Stage=null){ addFrameScript(59, frame60); this. = _arg1; userScore.text = String(Global.userScore); btnMenu.addEventListener(MouseEvent.MOUSE_UP, exit, false, 0, true); btnHS.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); } public function exit(_arg1:MouseEvent){ dispatchEvent(new EntropyEvent(EntropyEvent.GOTO_MENU)); } public function loop(_arg1:Event){ } private function (_arg1:MouseEvent){ var _local2:MovieClip; _local2 = new MovieClip(); .addChild(_local2); MochiScores.showLeaderboard({boardID:"9e43059c9a5d8907", score:Global.userScore, clip:_local2}); } function frame60(){ stop(); } } }//package net.amp3d.entropySection 28//GameWin (net.amp3d.entropy.GameWin) package net.amp3d.entropy { import flash.display.*; import flash.events.*; import net.amp3d.assets.*; import mochi.*; import flash.text.*; public class GameWin extends MovieClip { public var yourScore:TextField; private var :Stage; public var sHighScore:SimpleButton; public function GameWin(_arg1:Stage=null){ addFrameScript(29, ); this. = _arg1; yourScore.text = String(Global.userScore); sHighScore.addEventListener(MouseEvent.MOUSE_UP, ); } public function exit(_arg1:MouseEvent){ dispatchEvent(new EntropyEvent(EntropyEvent.GOTO_MENU)); } function (){ stop(); } public function loop(_arg1:Event){ } private function (_arg1:MouseEvent){ var _local2:MovieClip; _local2 = new MovieClip(); .addChild(_local2); MochiScores.showLeaderboard({boardID:"9e43059c9a5d8907", score:Global.userScore, clip:_local2}); } } }//package net.amp3d.entropySection 29//Global (net.amp3d.entropy.Global) package net.amp3d.entropy { import flash.display.*; public class Global { public static var ugReturnSpeed:int = 1; public static var userScore:Number = 0; public static var cameraYank:Number = 0.4; public static var pWallWidth:Number = 20; public static var ugCurvePower:int = 1; public static var ballWallSize:Number = 10; public static var missFriction:Number = 0.25; public static var curveDepreciation:Number = 1.75; public static var epaddleHeight:Number = 114; public static var uhitFriction:Number = 0.6; public static var enemyHitSpeed:Number = 4; public static var roundScore:Number = 0; public static var curveGrowth:Number = 1; public static var enemySpeed:Number = 2.6; public static var ehitFriction:Number = 0.6; public static var basePaddleHeight:Number = 92; public static var paddleHeight:Number = 92; public static var userMoney:Number = 0; public static var vSpace:Number = 300; public static var totalTime:int = 0; public static var mouseSensitivity:Number = 2.2; public static var ugPaddleSize:int = 1; public static var curveReduction:Number = 35; public static var defaultBallSpeed:Number = 24; public static var paddlePadding:Number = 24; public static var wallLength:Number = 1900; public static var roundMoney:Number = 0; public static var paddleWall:Number = 725; public static var hitPoints:Number = 100; public static var wallFriction:Number = 0.92; public static var speedGain:Number = 1.002; public static var basePaddleWidth:Number = 146; public static var ballBlockSize:Number = 20; public static var curveBonus:Number = 1.75; public static var epaddleWidth:Number = 180; public static var paddleWidth:Number = 146; public static var hSpace:Number = 400; public static function updateMoney(_arg1:MovieClip, _arg2:Number){ roundMoney = (roundMoney + _arg2); _arg1.upgrade.text = Global.roundMoney; } public static function updateScore(_arg1:MovieClip, _arg2:Number){ roundScore = (roundScore + _arg2); userScore = (userScore + _arg2); _arg1.points.text = Global.userScore; } public static function chooseSign():int{ var _local1:Number; _local1 = Math.floor((Math.random() * 2)); if (_local1 == 0){ return (-1); }; return (1); } } }//package net.amp3d.entropySection 30//LineWave (net.amp3d.entropy.LineWave) package net.amp3d.entropy { import flash.display.*; import flash.events.*; public class LineWave extends MovieClip { public var :Number; public var :Number; public var :Number; public var :Number; public var :Number; public var :Number; public var w1:MovieClip; public var w4:MovieClip; public var w6:MovieClip; public var w2:MovieClip; public var w3:MovieClip; public var w5:MovieClip; public function LineWave(){ addEventListener(Event.ENTER_FRAME, loop, false, 0, true); w1.alpha = Math.random(); w2.alpha = Math.random(); w3.alpha = Math.random(); w4.alpha = Math.random(); w5.alpha = Math.random(); w6.alpha = Math.random(); w1.x = (Math.random() * 550); w2.x = (Math.random() * 550); w3.x = (Math.random() * 550); w4.x = (Math.random() * 550); w5.x = (Math.random() * 550); w6.x = (Math.random() * 550); = (Math.random() * 10); = (Math.random() * 10); = (Math.random() * 10); = (Math.random() * 10); = (Math.random() * 10); = (Math.random() * 10); } public function loop(_arg1:Event){ w1.x = (w1.x + ); w2.x = (w2.x + ); w3.x = (w3.x + ); w4.x = (w4.x + ); w5.x = (w5.x + ); w6.x = (w6.x + ); if (w2.x > 600){ w2.x = -215; w2.alpha = Math.random(); }; if (w3.x > 600){ w3.x = -215; w3.alpha = Math.random(); }; if (w1.x > 600){ w1.x = -215; w1.alpha = Math.random(); }; if (w4.x > 600){ w4.x = -215; w4.alpha = Math.random(); }; if (w5.x > 600){ w5.x = -215; w5.alpha = Math.random(); }; if (w6.x > 600){ w6.x = -215; w6.alpha = Math.random(); }; } } }//package net.amp3d.entropySection 31//Main (net.amp3d.entropy.Main) package net.amp3d.entropy { import flash.display.*; import flash.events.*; import org.papervision3d.objects.*; import org.papervision3d.core.proto.*; import org.papervision3d.materials.*; import net.amp3d.assets.*; import flash.utils.*; import flash.media.*; import org.papervision3d.scenes.*; import org.papervision3d.cameras.*; import flash.ui.*; import flash.filters.*; import com.hydrotik.utils.*; public class Main extends Sprite { private var :Timer; private var :DisplayObject3D; private var totalTime:assetTotalTime; private var :Array; private var :int;// = 0 private var :Number;// = 0 public var isFinalLevel:Boolean;// = false private var :int;// = 90 private var :Boolean;// = false private var :assetShowLevels; private var scene:MovieScene3D; private var container:Sprite; private var stats:assetStats; private var :assetReport; private var :Stage; private var :Number; private var :ColorMaterial; private var :Array; private var :Array; private var :sndDing; private var :sndSpawn; private var :Timer; private var :assetEnemy; private var :Number;// = 0 private var :Number;// = 0 private var :Number;// = 0 private var :Number;// = 0 private var :Camera3D; private var :assetLevelComplete; private var :Number;// = 0 private var :DisplayObject3D; private var :Number;// = 0 private var :sndHitRing; private var :Number;// = 0 private var :Number;// = 0 private var :SoundChannel; private var :sndMiss; private var :Number;// = 0 private var :DisplayObject3D; private var :int;// = 0 private var :assetTally; private var :sndBG2; private var :sndBeep; private var :Array; private var :assetRoundStart; private var :Array; private var :int;// = 0 private var :String; private var :Number;// = 3.1415926 private var :DisplayObject3D; private var :MovieClip; private var :assetPaddle; private var :Dictionary; private var :Plane; private var :DisplayObject3D; public function Main(_arg1:Stage, _arg2:Number=5, _arg3:Number=24, _arg4:Number=1.005, _arg5:Number=3, _arg6:Number=0.6, _arg7:Number=2, _arg8:Number=120, _arg9:int=0){ = new Dictionary(); = false; = new Array(); = new SoundChannel(); = new sndBeep(); = new sndMiss(); = new sndDing(); = new sndBG2(); = new sndHitRing(); = new sndSpawn(); = 0; = 0; = 0; = 0; = 0; = 0; = 0; = 0; = 0; = 0; = 0; = 0; = 90; = 3.1415926; = 0; isFinalLevel = false; super(); this. = _arg1; = new MovieClip(); _arg1.addChild( ); = new Array(_arg5); = new Array(_arg5); = new Array((Global.ugCurvePower + 2)); = new Array((Global.ugCurvePower + 2)); this. = _arg8; Global.enemySpeed = _arg2; Global.defaultBallSpeed = _arg3; Global.speedGain = _arg4; Global.ehitFriction = _arg6; Global.roundScore = 0; Global.roundMoney = 0; Global.enemyHitSpeed = _arg7; (); (); Mouse.hide(); = _arg3; = new Timer(1000); .addEventListener("timer", , false, 0, true); .start(); = new assetRoundStart(); .addChild(); .gotoAndPlay(1); .x = (_arg1.stageWidth / 2); .y = (_arg1.stageHeight / 2); .scaleX = (.scaleY = 0.6); scene.renderCamera(this.); addEventListener(Event.ENTER_FRAME, , false, 0, true); } private function (_arg1:Boolean):void{ = ( * Global.missFriction); = ( * Global.missFriction); .fillAlpha = 1; if (_arg1){ .z = .z; .nextFrame(); = .play(0, 0, new SoundTransform(0.25)); } else { .z = .z; Global.updateScore(stats, -2500); ++; .prevFrame(); = .play(); }; if ( .currentFrame == 7){ addEventListener(Event.ENTER_FRAME, , false, 0, true); removeEventListener(Event.ENTER_FRAME, loop); .removeEventListener("timer", ); .stop(); roundComplete(); }; if ( .currentFrame == 1){ Mouse.show(); removeEventListener(Event.ENTER_FRAME, loop); .removeEventListener("timer", ); .stop(); dispatchEvent(new EntropyEvent(EntropyEvent.GOTO_GAMEOVER)); trace("here"); }; } private function (_arg1:Event){ = ( + 0.005); = ( + 2); if (.alpha > 0){ .alpha = (.alpha - 0.05); }; if (stats.alpha > 0.1){ stats.alpha = (stats.alpha - 0.05); stats.upgrade.text = ""; stats.time.text = ""; stats.points.text = ""; }; if ( < 750){ .x = (Math.sin() * (1000 + )); .y = (Math.sin() * (1000 + )); .z = (Math.cos() * (1000 + )); }; scene.renderCamera(); } private function gotoUpgrades(_arg1:EntropyEvent){ .removeEventListener(EntropyEvent.GOTO_UPGRADES, gotoUpgrades); dispatchEvent(new EntropyEvent(EntropyEvent.GOTO_UPGRADES)); } private function (){ var _local1:MovieMaterial; var _local2:Plane; _local1 = new MovieMaterial(new assetFader(), true, false); _local1.doubleSided = true; _local2 = new Plane(_local1, Global.wallLength, (Global.vSpace * 2), 9, 3); _local2.rotationY = 90; _local2.moveBackward(Global.hSpace); scene.addChild(_local2, "Wall"); _local2 = new Plane(_local1, Global.wallLength, (Global.vSpace * 2), 9, 3); _local2.rotationY = 90; _local2.moveForward(Global.hSpace); scene.addChild(_local2, "Wall2"); _local2 = new Plane(_local1, Global.wallLength, (Global.hSpace * 2), 9, 4); _local2.rotationZ = 90; _local2.rotationY = 90; _local2.moveForward(Global.vSpace); scene.addChild(_local2, "Wall3"); _local2 = new Plane(_local1, Global.wallLength, (Global.hSpace * 2), 9, 4); _local2.rotationZ = 90; _local2.rotationY = 90; _local2.moveBackward(Global.vSpace); scene.addChild(_local2, "Wall4"); = new ColorMaterial(0xCC0000, 0.8); .doubleSided = false; .fillAlpha = 0; _local2 = new Plane(, (Global.hSpace * 2), (Global.vSpace * 2)); = _local2; scene.addChild(_local2); } private function (_arg1:Array, _arg2:Array):Array{ var _local3:Number; var _local4:Number; _local3 = ((_arg1[(_arg1.length - 1)] - _arg1[0]) / 2); _local4 = ((_arg2[(_arg2.length - 1)] - _arg2[0]) / 2); return ([_local3, _local4]); } public function kill2(){ .z = (.y = (.x = 1)); .fillAlpha = 0; .gotoAndStop(4); .copyTransform(.extra.startPosition); .removeChild( ); } private function loop(_arg1:Event):void{ (, , mouseX, mouseY); ( , , .x, .y); (); (); (); } private function (_arg1:Boolean=false){ .stop(); .removeEventListener("timer", ); = true; = new Timer(30); .start(); if (_arg1){ .extra.mat.fillColor = 0xFF00; ++; = .play(); } else { .extra.mat.fillColor = 0xFF0000; }; .addEventListener("timer", , false, 0, true); } private function (_arg1:MovieClip, _arg2:Array, _arg3:Array, _arg4:Boolean=false):void{ var _local5:Array; _arg1.gotoAndPlay(61); _local5 = (_arg2, _arg3); if (_arg4){ = Math.sqrt(((_local5[0] * _local5[0]) + (_local5[1] * _local5[1]))); = (((Math.atan2(_local5[1], _local5[0]) * 180) / Math.PI) + 180); .arrow.rotation = ; if ( > ){ = ; }; if ( > 10){ .alpha = ( / 10); }; = ( + ); = (Global.ugReturnSpeed * 2); = ( - ); = ( * Global.uhitFriction); = ( * Global.uhitFriction); } else { = ( - ); = (Global.enemyHitSpeed * 2); = ( + ); = ( * Global.ehitFriction); = ( * Global.ehitFriction); }; = .play(); = ((_local5[0] / Global.curveReduction) * ( / Global.defaultBallSpeed)); = ((_local5[1] / Global.curveReduction) * ( / Global.defaultBallSpeed)); } private function (_arg1:TimerEvent){ var _local2:Number; var _local3:String; var _local4:Number; var _local5:Number; ++; _local2 = ( - ); _local3 = ""; _local4 = Math.floor((_local2 / 60)); _local5 = (_local2 % 60); if (_local5 < 10){ _local3 = "0"; }; if ((_local5)){ stats.time.text = (((_local4 + ":") + _local3) + _local5); }; Global.totalTime++; _local3 = ""; _local4 = Math.floor((Global.totalTime / 60)); _local5 = (Global.totalTime % 60); if (_local5 < 10){ _local3 = "0"; }; totalTime.time.text = (((_local4 + ":") + _local3) + _local5); } private function roundComplete(){ var _local1:Whiteflash; .stop(); dispatchEvent(new EntropyEvent(EntropyEvent.ROUND_COMPLETE)); _local1 = new Whiteflash(); .addChild(_local1); if (!isFinalLevel){ = new assetLevelComplete(, ( - ), Global.roundScore, , , , ); .name = "LevelComplete"; .addEventListener(EntropyEvent.GOTO_UPGRADES, gotoUpgrades, false, 0, true); Global.userMoney = (Global.userMoney + Global.roundMoney); .addChild(); }; Mouse.show(); } private function ():void{ .x = (container.mouseX * Global.mouseSensitivity); .y = (container.mouseY * -(Global.mouseSensitivity)); .x = (.x - ((.x - .x) / Global.enemySpeed)); .y = (.y - ((.y - .y) / Global.enemySpeed)); if ((((((() && (( > 0)))) && ((.z < (.z + ( / 2)))))) && ((.z > (.z - ( / 2)))))){ if (((((( == "tall")) && ((.x > (.x - ( / 2)))))) && ((.x < (.x + ( / 2)))))){ (true); Global.updateScore(stats, Math.floor(((500 / ) * 750))); Global.updateMoney(stats, Math.ceil((1000 / ))); } else { if (((((( == "wide")) && ((.y > (.y - ( / 2)))))) && ((.y < (.y + ( / 2)))))){ (true); Global.updateScore(stats, Math.floor(((500 / ) * 750))); Global.updateMoney(stats, Math.ceil((1000 / ))); }; }; }; = ( + ); = ( - ); if (.fillAlpha > 0){ .fillAlpha = (.fillAlpha - 0.05); .z = (.z - 14); }; if (.alpha > 0){ .alpha = (.alpha - 0.04); }; if (.x > Global.hSpace){ .x = Global.hSpace; } else { if (.x < -(Global.hSpace)){ .x = -(Global.hSpace); }; }; if (.y > Global.vSpace){ .y = Global.vSpace; } else { if (.y < -(Global.vSpace)){ .y = -(Global.vSpace); }; }; [0].z = ([1].z = ([2].z = ([3].z = (.z = (.z + ))))); [4].x = ([5].x = (.x = (.x + ))); [6].y = ([7].y = (.y = (.y + ))); if (.z < -(Global.paddleWall)){ if ((((((((((.x - (Global.paddleWidth / 2)) - Global.paddlePadding) < .x)) && ((((.x + (Global.paddleWidth / 2)) + Global.paddlePadding) > .x)))) && ((((.y - (Global.paddleHeight / 2)) - Global.paddlePadding) < .y)))) && ((((.y + (Global.paddleHeight / 2)) + Global.paddlePadding) > .y)))){ (, , , true); Global.updateScore(stats, ((Math.floor() * 10) + (Global.hitPoints * Math.floor(Math.abs(( / 2)))))); } else { (false); }; = ( * -1); = ( * Global.speedGain); .z = (.z + ((-1 * (.z / Math.abs(.z))) * (Math.abs(.z) - (Global.paddleWall - 5)))); }; if (.z > Global.paddleWall){ if ((((((((((.x - (Global.epaddleWidth / 2)) - Global.paddlePadding) < .x)) && ((((.x + (Global.epaddleWidth / 2)) + Global.paddlePadding) > .x)))) && ((((.y - (Global.epaddleHeight / 2)) - Global.paddlePadding) < .y)))) && ((((.y + (Global.epaddleHeight / 2)) + Global.paddlePadding) > .y)))){ (, , ); } else { (true); }; = ( * -1); = ( * Global.speedGain); .z = (.z + ((-1 * (.z / Math.abs(.z))) * (Math.abs(.z) - (Global.paddleWall - 5)))); }; if ((((.y > Global.vSpace)) || ((.y < -(Global.vSpace))))){ = ( * -(Global.wallFriction)); .y = (.y + ((-1 * (.y / Math.abs(.y))) * (Math.abs(.y) - (Global.vSpace - 5)))); = ( / Global.curveDepreciation); = .play(0, 0, new SoundTransform(0.4)); }; if ((((.x > Global.hSpace)) || ((.x < -(Global.hSpace))))){ = ( * -(Global.wallFriction)); = ( / Global.curveDepreciation); .x = (.x + ((-1 * (.x / Math.abs(.x))) * (Math.abs(.x) - (Global.hSpace - 5)))); = .play(0, 0, new SoundTransform(0.4)); }; scene.renderCamera(this.); } private function (){ var _local1:MovieMaterial; var _local2:Plane; var _local3:ColorMaterial; var _local4:Plane; _local1 = new MovieMaterial(new assetBall(), true, true); _local1.doubleSided = false; _local2 = new Plane(_local1, 1); scene.addChild(_local2, "Ball"); = _local2; _local3 = new ColorMaterial(0xFFFF00, 1); _local3.doubleSided = false; _local4 = new Plane(_local3, Global.ballWallSize, (((Global.vSpace * 2) + Global.pWallWidth) + Global.ballWallSize)); _local4.moveLeft((Global.hSpace + (2 * Global.ballWallSize))); _local4.z = .z; scene.addChild(_local4); .push(_local4); _local4 = new Plane(_local3, Global.ballWallSize, (((Global.vSpace * 2) + Global.pWallWidth) + Global.ballWallSize)); _local4.moveRight((Global.hSpace + (2 * Global.ballWallSize))); _local4.z = .z; scene.addChild(_local4); .push(_local4); _local4 = new Plane(_local3, (((Global.hSpace * 2) + Global.pWallWidth) + Global.ballWallSize), Global.ballWallSize); _local4.moveUp((Global.vSpace + (2 * Global.ballWallSize))); _local4.z = .z; scene.addChild(_local4); .push(_local4); _local4 = new Plane(_local3, (((Global.hSpace * 2) + Global.pWallWidth) + Global.ballWallSize), Global.ballWallSize); _local4.moveDown((Global.vSpace + (2 * Global.ballWallSize))); _local4.z = .z; scene.addChild(_local4); .push(_local4); _local4 = new Plane(_local3, Global.ballBlockSize, Global.ballBlockSize); _local4.moveDown(Global.vSpace); _local4.z = (.z - 1); scene.addChild(_local4); .push(_local4); _local4 = new Plane(_local3, Global.ballBlockSize, Global.ballBlockSize); _local4.moveUp(Global.vSpace); _local4.z = (.z - 1); scene.addChild(_local4); .push(_local4); _local4 = new Plane(_local3, Global.ballBlockSize, Global.ballBlockSize); _local4.moveRight(Global.hSpace); _local4.z = (.z - 1); scene.addChild(_local4); .push(_local4); _local4 = new Plane(_local3, Global.ballBlockSize, Global.ballBlockSize); _local4.moveLeft(Global.hSpace); _local4.z = (.z - 1); scene.addChild(_local4); .push(_local4); } private function (){ var _local1:ColorMaterial; var _local2:Number; var _local3:Number; if (!){ _local1 = new ColorMaterial(43775, 0.35); = .play(0, 0, new SoundTransform(0.05)); if (Global.chooseSign() == 1){ _local2 = (15 + ((Global.vSpace - 15) * Math.random())); = new Plane(_local1, (Global.hSpace * 2), _local2); .y = (Global.chooseSign() * ((Math.random() * Global.vSpace) - (_local2 / 2))); = _local2; = "wide"; } else { _local3 = (15 + ((Global.hSpace - 15) * Math.random())); = new Plane(_local1, _local3, (Global.vSpace * 2)); .x = (Global.chooseSign() * ((Math.random() * Global.hSpace) - (_local3 / 2))); = _local3; = "tall"; }; .z = (100 + (((Math.random() * Global.paddleWall) - 150) * Global.chooseSign())); scene.addChild(); .extra = {mat:_local1}; = true; = new Timer(12000); .start(); .addEventListener("timer", , false, 0, true); }; } private function ():void{ .x = (container.mouseX * Global.cameraYank); .y = (container.mouseY * -(Global.cameraYank)); } private function (_arg1:Number){ if (_arg1 >= 0){ return (true); }; return (false); } private function ():void{ stats = new assetStats(); stats.name = "stats"; stats.y = (.stageHeight - 29); .addChild(stats); totalTime = new assetTotalTime(); totalTime.y = 4; totalTime.x = ((.width - totalTime.width) - 10); .addChild(totalTime); = new assetTally(); .y = 10; .x = ((.stageWidth - .width) / 2); .addChild( ); .gotoAndStop(4); = new assetReport(); .y = 280; .scaleY = (.scaleX = 0.3); .x = ((.stageWidth - .width) / 2); .alpha = 0; .addChild(); = new assetShowLevels(); .y = 10; .x = 16; .addChild(); } public function kill(){ .z = (.y = (.x = 0)); .fillAlpha = 0; .gotoAndStop(4); .copyTransform(.extra.startPosition); removeEventListener(Event.ENTER_FRAME, ); .removeChild(); .removeChild( ); } private function ():void{ var _local1:DisplayObject3D; container = new Sprite(); .addChildAt(container, 0); container.x = (.stageWidth / 2); container.y = (.stageHeight / 2); scene = new MovieScene3D(container); = new Camera3D(); _local1 = new DisplayObject3D(); _local1.copyTransform(); .extra = {startPosition:_local1}; (); .lookAt( ()); (); (); } private function (_arg1:Array, _arg2:Array, _arg3:Number, _arg4:Number):void{ _arg1.shift(); _arg1.push(_arg3); _arg2.shift(); _arg2.push(_arg4); } private function (){ var _local1:MovieMaterial; var _local2:Plane; var _local3:Sprite; var _local4:ColorMaterial; var _local5:Plane; Global.paddleHeight = (Global.basePaddleHeight * (1 + (Global.ugPaddleSize / 12))); Global.paddleWidth = (Global.basePaddleWidth * (1 + (Global.ugPaddleSize / 12))); = new assetPaddle(); _local1 = new MovieMaterial(, true, true); _local1.doubleSided = true; _local2 = new Plane(_local1, Global.paddleWidth, Global.paddleHeight); _local2.moveBackward(Global.paddleWall); trace(((((_local2.x + ":") + _local2.y) + ":") + _local2.z)); = _local2; .gotoAndPlay(61); scene.addChild(_local2, "Paddle"); _local3 = _local2.container; [_local3] = _local2; _local4 = new ColorMaterial(0xFF00, 0.6); _local4.doubleSided = true; _local5 = new Plane(_local4, Global.pWallWidth, (Global.pWallWidth + (Global.vSpace * 2))); _local5.moveLeft(Global.hSpace); _local5.z = .z; scene.addChild(_local5); _local5 = new Plane(_local4, Global.pWallWidth, (Global.pWallWidth + (Global.vSpace * 2))); _local5.moveRight(Global.hSpace); _local5.z = .z; scene.addChild(_local5); _local5 = new Plane(_local4, (Global.pWallWidth + (Global.hSpace * 2)), Global.pWallWidth); _local5.moveUp(Global.vSpace); _local5.z = .z; scene.addChild(_local5); _local5 = new Plane(_local4, (Global.pWallWidth + (Global.hSpace * 2)), Global.pWallWidth); _local5.moveDown(Global.vSpace); _local5.z = .z; scene.addChild(_local5); return (_local2); } private function (){ if (Math.floor((Math.random() * 100)) == 57){ (); }; } public function newGame(_arg1:Number=5, _arg2:Number=24, _arg3:Number=1.005, _arg4:Number=3, _arg5:Number=0.6, _arg6:Number=2, _arg7:Number=120, _arg8:int=0){ .gotoAndStop(_arg8); .addChild( ); = new Array(_arg4); = new Array(_arg4); = new Array((Global.ugCurvePower + 2)); = new Array((Global.ugCurvePower + 2)); this. = _arg7; Global.enemySpeed = _arg1; Global.defaultBallSpeed = _arg2; Global.speedGain = _arg3; Global.ehitFriction = _arg5; Global.roundScore = 0; Global.roundMoney = 0; Global.enemyHitSpeed = _arg6; stats.alpha = 1; stats.points.text = String(Global.userScore); stats.upgrade.text = String(Global.roundMoney); = 0; = 0; Mouse.hide(); .x = (.z = (.y = 0)); = 0; = 0; = _arg2; = 0; = 0; = Math.PI; .copyTransform(.extra.startPosition); = new Timer(1000); .addEventListener("timer", , false, 0, true); .start(); = new assetRoundStart(); .addChild(); .gotoAndPlay(1); .x = (.stageWidth / 2); .y = (.stageHeight / 2); .scaleX = (.scaleY = 0.6); trace(("ballVZ: " + )); scene.renderCamera(this.); addEventListener(Event.ENTER_FRAME, , false, 0, true); } private function (_arg1:Event):void{ if (.currentFrame == 25){ addEventListener(Event.ENTER_FRAME, loop); }; if (.currentFrame == 40){ removeEventListener(Event.ENTER_FRAME, ); .removeChild(); }; .x = (container.mouseX * Global.mouseSensitivity); .y = (container.mouseY * -(Global.mouseSensitivity)); (); scene.renderCamera(this.); } private function (_arg1:TimerEvent){ (false); } private function (){ var _local1:MovieMaterial; var _local2:Sprite; var _local3:ColorMaterial; var _local4:Plane; = new assetEnemy(); _local1 = new MovieMaterial(, true, true); _local1.smooth = true; _local1.doubleSided = false; = new Plane(_local1, Global.epaddleWidth, Global.epaddleHeight); .moveForward(Global.paddleWall); .x = (Math.random() * Global.hSpace); .y = (Math.random() * Global.vSpace); .gotoAndPlay(61); scene.addChild(, "Enemy"); _local2 = .container; [_local2] = ; _local3 = new ColorMaterial(0x9900FF, 0.6); _local3.doubleSided = false; _local4 = new Plane(_local3, Global.pWallWidth, (Global.pWallWidth + (Global.vSpace * 2))); _local4.moveLeft(Global.hSpace); _local4.z = .z; scene.addChild(_local4); _local4 = new Plane(_local3, Global.pWallWidth, (Global.pWallWidth + (Global.vSpace * 2))); _local4.moveRight(Global.hSpace); _local4.z = .z; scene.addChild(_local4); _local4 = new Plane(_local3, (Global.pWallWidth + (Global.hSpace * 2)), Global.pWallWidth); _local4.moveUp(Global.vSpace); _local4.z = .z; scene.addChild(_local4); _local4 = new Plane(_local3, (Global.pWallWidth + (Global.hSpace * 2)), Global.pWallWidth); _local4.moveDown(Global.vSpace); _local4.z = .z; scene.addChild(_local4); _local4 = new Plane(_local3, (Global.pWallWidth + (Global.hSpace * 2)), Global.pWallWidth); _local4.moveDown(Global.vSpace); _local4.z = .z; scene.addChild(_local4); return (); } private function (_arg1:TimerEvent){ if ( == "tall"){ .container.width = (.container.width - 3.2); } else { .container.height = (.container.height - 3.2); }; .extra.mat.fillAlpha = (.extra.mat.fillAlpha - 0.045); if ((((((.container.width < 3)) || ((.container.height < 3)))) || ((.extra.mat.fillAlpha < 0)))){ scene.removeChild(); = false; = null; .stop(); .removeEventListener("timer", ); }; } } }//package net.amp3d.entropySection 32//Tutorial (net.amp3d.entropy.Tutorial) package net.amp3d.entropy { import flash.display.*; import flash.events.*; import net.amp3d.assets.*; public class Tutorial extends MovieClip { public var btncurve:SimpleButton; public var btntargets:SimpleButton; public var btnupgrade:SimpleButton; public var btngameplay:SimpleButton; public var btnexit:SimpleButton; public function Tutorial(){ addFrameScript(0, frame1); btnupgrade.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); btngameplay.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); btncurve.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); btntargets.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); btnexit.addEventListener(MouseEvent.MOUSE_UP, exit, false, 0, true); } public function exit(_arg1:MouseEvent){ dispatchEvent(new EntropyEvent(EntropyEvent.GOTO_MENU)); } public function (_arg1:MouseEvent){ var _local2:Whiteflash; _local2 = new Whiteflash(stage); stage.addChild(_local2); gotoAndStop(2); } public function (_arg1:MouseEvent){ var _local2:Whiteflash; _local2 = new Whiteflash(stage); stage.addChild(_local2); gotoAndStop(4); } public function (_arg1:MouseEvent){ var _local2:Whiteflash; _local2 = new Whiteflash(stage); stage.addChild(_local2); gotoAndStop(1); } function frame1(){ stop(); } public function loop(_arg1:Event){ } public function (_arg1:MouseEvent){ var _local2:Whiteflash; _local2 = new Whiteflash(stage); stage.addChild(_local2); gotoAndStop(3); } } }//package net.amp3d.entropySection 33//UpgradeMenu (net.amp3d.entropy.UpgradeMenu) package net.amp3d.entropy { import flash.display.*; import flash.events.*; import net.amp3d.assets.*; import flash.text.*; public class UpgradeMenu extends MovieClip { public var rSpeed:MovieClip; public var btnCurve:SimpleButton; var :Array; public var cCurve:TextField; public var btnSpeed:SimpleButton; public var btnNextLevel:SimpleButton; public var rPaddle:MovieClip; public var pointsLeft:TextField; var :Array; public var nep:notEnoughPoints; var :Array; public var rCurve:MovieClip; public var cSpeed:TextField; public var cPaddle:TextField; public var btnPaddle:SimpleButton; public function UpgradeMenu(){ = new Array(); = new Array(); = new Array(); super(); = [5, 10, 15, 20, 25, 30, 40, 50, "MAX"]; = [5, 10, 15, 20, 25, 30, 40, 50, "MAX"]; = [5, 10, 15, 20, 25, 30, 40, 50, "MAX"]; btnNextLevel.addEventListener(MouseEvent.MOUSE_UP, ); cPaddle.text = String([Global.ugPaddleSize]); cCurve.text = String([Global.ugCurvePower]); cSpeed.text = String([Global.ugReturnSpeed]); pointsLeft.text = String(Global.userMoney); rPaddle.gotoAndStop((Global.ugPaddleSize + 1)); rCurve.gotoAndStop((Global.ugCurvePower + 1)); rSpeed.gotoAndStop((Global.ugReturnSpeed + 1)); btnPaddle.enabled = false; btnCurve.enabled = false; btnSpeed.enabled = false; if (Global.ugPaddleSize != 8){ btnPaddle.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); btnPaddle.enabled = true; }; if (Global.ugCurvePower != 8){ btnCurve.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); btnCurve.enabled = true; }; if (Global.ugReturnSpeed != 8){ btnSpeed.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); btnSpeed.enabled = true; }; } private function (){ nep.alpha = 1.5; nep.x = 0; addEventListener(Event.ENTER_FRAME, loop, false, 0, true); } private function (_arg1:String):Boolean{ var _local2:Array; switch (_arg1){ case "Paddle": if ([Global.ugPaddleSize] <= Global.userMoney){ Global.userMoney = (Global.userMoney - [Global.ugPaddleSize]); cPaddle.text = [Global.ugPaddleSize]; } else { (); return (false); }; break; case "Curve": if ([Global.ugCurvePower] <= Global.userMoney){ Global.userMoney = (Global.userMoney - [Global.ugCurvePower]); cCurve.text = [Global.ugCurvePower]; } else { (); return (false); }; break; case "Speed": if ([Global.ugReturnSpeed] <= Global.userMoney){ Global.userMoney = (Global.userMoney - [Global.ugReturnSpeed]); cSpeed.text = [Global.ugReturnSpeed]; } else { (); return (false); }; break; }; pointsLeft.text = String(Global.userMoney); return (true); } private function (_arg1:MouseEvent){ if (("Curve")){ rCurve.nextFrame(); Global.ugCurvePower++; if (Global.ugCurvePower == 8){ btnCurve.removeEventListener(MouseEvent.MOUSE_UP, ); }; cCurve.text = String([Global.ugCurvePower]); }; } private function (_arg1:MouseEvent){ if (("Speed")){ rSpeed.nextFrame(); Global.ugReturnSpeed++; if (Global.ugReturnSpeed == 8){ btnSpeed.removeEventListener(MouseEvent.MOUSE_UP, ); }; cSpeed.text = String([Global.ugReturnSpeed]); }; } private function (_arg1:MouseEvent){ if (("Paddle")){ rPaddle.nextFrame(); Global.ugPaddleSize++; if (Global.ugPaddleSize == 8){ btnPaddle.removeEventListener(MouseEvent.MOUSE_UP, ); }; cPaddle.text = String([Global.ugPaddleSize]); }; } private function (_arg1:MouseEvent){ dispatchEvent(new EntropyEvent(EntropyEvent.GOTO_NEXTLEVEL)); } private function loop(_arg1:Event){ if (nep.x == 0){ nep.alpha = (nep.alpha - 0.05); }; if (nep.alpha <= 0){ nep.x = 560; }; } } }//package net.amp3d.entropySection 34//Camera3D (org.papervision3d.cameras.Camera3D) package org.papervision3d.cameras { import org.papervision3d.objects.*; import org.papervision3d.core.proto.*; import org.papervision3d.core.*; public class Camera3D extends CameraObject3D { public var :Number3D; public var target:DisplayObject3D; public function Camera3D(_arg1:DisplayObject3D=null, _arg2:Number=2, _arg3:Number=100, _arg4:Object=null){ super(_arg2, _arg3, _arg4); this.target = ((_arg1) || (DisplayObject3D.ZERO)); this. = new Number3D(this.x, this.y, this.z); } override public function transformView(_arg1:Matrix3D=null):void{ this.lookAt(this.target); super.transformView(); } public function (_arg1:Number, _arg2:Number, _arg3:Number):void{ var _local4:DisplayObject3D; var _local5:Number3D; 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; _local4 = this.target; _local5 = this.; _local6 = 8; switch (_arg1){ case 0: _local7 = (_local5.x - _local4.x); _local8 = (_local5.z - _local4.z); _local9 = Math.atan2(_local8, _local7); _local10 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local11 = (0.5 * _arg2); _local12 = (_local10 * Math.cos((_local9 - _local11))); _local13 = (_local10 * Math.sin((_local9 - _local11))); _local14 = (_local5.y - (300 * _arg3)); this.x = (this.x - ((this.x - _local12) / _local6)); this.y = (this.y - ((this.y - _local14) / _local6)); this.z = (this.z - ((this.z - _local13) / _local6)); break; case 1: this.x = (this.x - ((this.x - (1000 * _arg2)) / _local6)); this.y = (this.y - ((this.y - (1000 * _arg3)) / _local6)); break; }; } } }//package org.papervision3d.camerasSection 35//DefaultTriangleCuller (org.papervision3d.core.culling.DefaultTriangleCuller) package org.papervision3d.core.culling { import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; import org.papervision3d.core.proto.*; public class DefaultTriangleCuller implements ITriangleCuller { private static var y2:Number; private static var y1:Number; private static var y0:Number; private static var x0:Number; private static var x1:Number; private static var x2:Number; public function testFace(_arg1:DisplayObject3D, _arg2:Face3DInstance, _arg3:Vertex2D, _arg4:Vertex2D, _arg5:Vertex2D):Boolean{ var _local6:MaterialObject3D; if (((((_arg3.visible) && (_arg4.visible))) && (_arg5.visible))){ _local6 = (_arg2.face.material) ? _arg2.face.material : _arg1.material; if (_local6.invisible){ return (false); }; x0 = _arg3.x; y0 = _arg3.y; x1 = _arg4.x; y1 = _arg4.y; x2 = _arg5.x; y2 = _arg5.y; if (_local6.oneSide){ if (_local6.opposite){ if ((((x2 - x0) * (y1 - y0)) - ((y2 - y0) * (x1 - x0))) > 0){ return (false); }; } else { if ((((x2 - x0) * (y1 - y0)) - ((y2 - y0) * (x1 - x0))) < 0){ return (false); }; }; }; return (true); }; return (false); } } }//package org.papervision3d.core.cullingSection 36//ITriangleCuller (org.papervision3d.core.culling.ITriangleCuller) package org.papervision3d.core.culling { import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; public interface ITriangleCuller { function testFace(_arg1:DisplayObject3D, _arg2:Face3DInstance, _arg3:Vertex2D, _arg4:Vertex2D, _arg5:Vertex2D):Boolean; } }//package org.papervision3d.core.cullingSection 37//IFaceDrawer (org.papervision3d.core.draw.IFaceDrawer) package org.papervision3d.core.draw { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; public interface IFaceDrawer { function drawFace3D(_arg1:DisplayObject3D, _arg2:Face3D, _arg3:Graphics, _arg4:Vertex2D, _arg5:Vertex2D, _arg6:Vertex2D):int; } }//package org.papervision3d.core.drawSection 38//Face3D (org.papervision3d.core.geom.Face3D) package org.papervision3d.core.geom { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.proto.*; import org.papervision3d.core.*; public class Face3D { public var vertices:Array; public var face3DInstance:Face3DInstance; public var id:Number; public var uv:Array; public var material:MaterialObject3D; private var :MaterialObject3D; public var faceNormal:Number3D; public var screenZ:Number; public var :String; public var visible:Boolean; public var v0:Vertex3D; public var v1:Vertex3D; public var v2:Vertex3D; private static var _totalFaces:Number = 0; public function Face3D(_arg1:Array, _arg2:MaterialObject3D=null, _arg3:Array=null){ this.vertices = _arg1; v0 = _arg1[0]; v1 = _arg1[1]; v2 = _arg1[2]; this.material = _arg2; this.uv = _arg3; this.id = _totalFaces++; face3DInstance = new Face3DInstance(this); (); } protected function ():void{ var _local1:Number3D; var _local2:Number3D; var _local3:Number3D; var _local4:Number3D; var _local5:Number3D; _local1 = v0.toNumber3D(); _local2 = v1.toNumber3D(); _local3 = v2.toNumber3D(); _local4 = Number3D.sub(_local2, _local1); _local5 = Number3D.sub(_local3, _local1); faceNormal = Number3D.cross(_local5, _local4); faceNormal.normalize(); } public function render(_arg1:DisplayObject3D, _arg2:Sprite):Number{ = (material) ? material : _arg1.material; return (.drawFace3D(_arg1, this, _arg2.graphics, v0.vertex2DInstance, v1.vertex2DInstance, v2.vertex2DInstance)); } } }//package org.papervision3d.core.geomSection 39//Face3DInstance (org.papervision3d.core.geom.Face3DInstance) package org.papervision3d.core.geom { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.*; public class Face3DInstance { public var container:Sprite; public var faceNormal:Number3D; public var screenZ:Number; public var visible:Boolean;// = false public var instance:DisplayObject3D; public var face:Face3D; public function Face3DInstance(_arg1:Face3D, _arg2:DisplayObject3D=null){ visible = false; super(); this.face = _arg1; this.instance = _arg2; faceNormal = new Number3D(); } } }//package org.papervision3d.core.geomSection 40//Mesh3D (org.papervision3d.core.geom.Mesh3D) package org.papervision3d.core.geom { import org.papervision3d.objects.*; import org.papervision3d.core.proto.*; import org.papervision3d.core.*; import flash.utils.*; import org.papervision3d.core.culling.*; public class Mesh3D extends Vertices3D { public function Mesh3D(_arg1:MaterialObject3D, _arg2:Array, _arg3:Array, _arg4:String=null, _arg5:Object=null){ super(_arg2, _arg4, _arg5); this.geometry.faces = ((_arg3) || (new Array())); this.material = ((_arg1) || (MaterialObject3D.DEFAULT)); } override public function project(_arg1:DisplayObject3D, _arg2:CameraObject3D, _arg3:Array=null):Number{ var _local4:Array; var _local5:Number; var _local6:Number; var _local7:ITriangleCuller; var _local8:Vertex2D; var _local9:Vertex2D; var _local10:Vertex2D; var _local11:Face3DInstance; var _local12:Face3D; var _local13:MaterialObject3D; super.project(_arg1, _arg2, _arg3); if (!_arg3){ _arg3 = this._sorted; }; _local4 = this.geometry.faces; _local5 = 0; _local6 = 0; _local7 = scene.triangleCuller; for each (_local12 in _local4) { _local13 = (_local12.material) ? _local12.material : material; _local11 = _local12.face3DInstance; _local11.instance = this; _local8 = _local12.v0.vertex2DInstance; _local9 = _local12.v1.vertex2DInstance; _local10 = _local12.v2.vertex2DInstance; if ((_local11.visible = _local7.testFace(this, _local11, _local8, _local9, _local10))){ if (_local13.needsFaceNormals){ _local12.faceNormal.copyTo(_local11.faceNormal); Matrix3D.multiplyVector3x3(this.view, _local11.faceNormal); }; if (_local13.needsVertexNormals){ _local12.v0.normal.copyTo(_local12.v0.vertex2DInstance.normal); Matrix3D.multiplyVector3x3(this.view, _local12.v0.vertex2DInstance.normal); _local12.v1.normal.copyTo(_local12.v1.vertex2DInstance.normal); Matrix3D.multiplyVector3x3(this.view, _local12.v1.vertex2DInstance.normal); _local12.v2.normal.copyTo(_local12.v2.vertex2DInstance.normal); Matrix3D.multiplyVector3x3(this.view, _local12.v2.vertex2DInstance.normal); }; switch (meshSort){ case DisplayObject3D.MESH_SORT_CENTER: _local5 = (_local5 + (_local11.screenZ = (((_local8.z + _local9.z) + _local10.z) * 0.333))); break; case DisplayObject3D.MESH_SORT_FAR: _local5 = (_local5 + (_local11.screenZ = Math.max(_local8.z, _local9.z, _local10.z))); break; case DisplayObject3D.MESH_SORT_CLOSE: _local5 = (_local5 + (_local11.screenZ = Math.min(_local8.z, _local9.z, _local10.z))); break; }; _local6++; _arg3.push(_local11); } else { scene.stats.culledTriangles++; }; }; return ((this.screenZ = (_local5 / _local6))); } public function ():void{ var _local1:Dictionary; var _local2:Array; var _local3:Vertex3D; var _local4:Face3D; var _local5:Vertex3D; _local1 = new Dictionary(); _local2 = new Array(); for each (_local3 in this.geometry.vertices) { for each (_local5 in _local1) { if ((((((_local3.x == _local5.x)) && ((_local3.y == _local5.y)))) && ((_local3.z == _local5.z)))){ _local1[_local3] = _local5; break; }; }; if (!_local1[_local3]){ _local1[_local3] = _local3; _local2.push(_local3); }; }; this.geometry.vertices = _local2; for each (_local4 in this.geometry.faces) { _local4.v0 = _local1[_local4.v0]; _local4.v1 = _local1[_local4.v1]; _local4.v2 = _local1[_local4.v2]; }; } public function (_arg1:String="x", _arg2:String="y"):void{ var _local3:Array; var _local4:Object; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:MaterialObject3D; var _local10:String; var _local11:Face3D; var _local12:Array; var _local13:Vertex3D; var _local14:Vertex3D; var _local15:Vertex3D; var _local16:NumberUV; var _local17:NumberUV; var _local18:NumberUV; _local3 = this.geometry.faces; _local4 = this.boundingBox(); _local5 = _local4.min[_arg1]; _local6 = _local4.size[_arg1]; _local7 = _local4.min[_arg2]; _local8 = _local4.size[_arg2]; _local9 = this.material; for (_local10 in _local3) { _local11 = _local3[Number(_local10)]; _local12 = _local11.vertices; _local13 = _local12[0]; _local14 = _local12[1]; _local15 = _local12[2]; _local16 = new NumberUV(((_local13[_arg1] - _local5) / _local6), ((_local13[_arg2] - _local7) / _local8)); _local17 = new NumberUV(((_local14[_arg1] - _local5) / _local6), ((_local14[_arg2] - _local7) / _local8)); _local18 = new NumberUV(((_local15[_arg1] - _local5) / _local6), ((_local15[_arg2] - _local7) / _local8)); _local11.uv = [_local16, _local17, _local18]; }; } } }//package org.papervision3d.core.geomSection 41//Vertex2D (org.papervision3d.core.geom.Vertex2D) package org.papervision3d.core.geom { import org.papervision3d.core.*; public class Vertex2D { public var visible:Boolean; public var normal:Number3D; public var extra:Object; public var x:Number; public var y:Number; public var z:Number; public function Vertex2D(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){ this.x = _arg1; this.y = _arg2; this.z = _arg3; this.visible = false; this.normal = new Number3D(); } public function clone():Vertex2D{ var _local1:Vertex2D; _local1 = new Vertex2D(x, y, z); _local1.visible = visible; _local1.extra = extra; return (_local1); } } }//package org.papervision3d.core.geomSection 42//Vertex3D (org.papervision3d.core.geom.Vertex3D) package org.papervision3d.core.geom { import org.papervision3d.core.*; import flash.utils.*; public class Vertex3D { public var vertex2DInstance:Vertex2D; public var connectedFaces:Dictionary; public var normal:Number3D; public var extra:Object; public var x:Number; public var y:Number; public var z:Number; public function Vertex3D(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){ this.x = _arg1; this.y = _arg2; this.z = _arg3; this.vertex2DInstance = new Vertex2D(); this.normal = new Number3D(); this.connectedFaces = new Dictionary(); } public function calculateNormal():void{ var _local1:Face3D; normal = new Number3D(); for each (_local1 in connectedFaces) { normal = Number3D.add(_local1.faceNormal, normal); }; normal.normalize(); } public function toNumber3D():Number3D{ return (new Number3D(x, y, z)); } public function clone():Vertex3D{ var _local1:Vertex3D; _local1 = new Vertex3D(x, y, z); _local1.extra = extra; _local1.vertex2DInstance = vertex2DInstance.clone(); _local1.normal = normal.clone(); return (_local1); } } }//package org.papervision3d.core.geomSection 43//Vertices3D (org.papervision3d.core.geom.Vertices3D) package org.papervision3d.core.geom { import org.papervision3d.objects.*; import org.papervision3d.core.proto.*; import org.papervision3d.core.*; import org.papervision3d.scenes.*; public class Vertices3D extends DisplayObject3D { public function Vertices3D(_arg1:Array, _arg2:String=null, _arg3:Object=null){ super(_arg2, new GeometryObject3D(), _arg3); this.geometry.vertices = ((_arg1) || (new Array())); } override public function project(_arg1:DisplayObject3D, _arg2:CameraObject3D, _arg3:Array=null):Number{ var _local4:Matrix3D; 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:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Vertex3D; var _local21:Vertex2D; var _local22:Number; var _local23:Array; var _local24:int; var _local25:Number; var _local26:Number; super.project(_arg1, _arg2, _arg3); _local4 = this.view; _local5 = _local4.n11; _local6 = _local4.n12; _local7 = _local4.n13; _local8 = _local4.n21; _local9 = _local4.n22; _local10 = _local4.n23; _local11 = _local4.n31; _local12 = _local4.n32; _local13 = _local4.n33; _local23 = this.geometry.vertices; _local24 = _local23.length; _local25 = _arg2.focus; _local26 = (_local25 * _arg2.zoom); while ((_local20 = _local23[--_local24])) { _local14 = _local20.x; _local15 = _local20.y; _local16 = _local20.z; _local19 = ((((_local14 * _local11) + (_local15 * _local12)) + (_local16 * _local13)) + _local4.n34); _local21 = _local20.vertex2DInstance; if ((_local21.visible = (_local19 > 0))){ _local17 = ((((_local14 * _local5) + (_local15 * _local6)) + (_local16 * _local7)) + _local4.n14); _local18 = ((((_local14 * _local8) + (_local15 * _local9)) + (_local16 * _local10)) + _local4.n24); _local22 = (_local26 / (_local25 + _local19)); _local21.x = (_local17 * _local22); _local21.y = (_local18 * _local22); _local21.z = _local19; }; }; return (0); } public function transformVertices(_arg1:Matrix3D):void{ var _local2:Number; var _local3:Number; var _local4:Number; 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:Array; var _local15:int; var _local16:Vertex3D; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; _local2 = _arg1.n11; _local3 = _arg1.n12; _local4 = _arg1.n13; _local5 = _arg1.n21; _local6 = _arg1.n22; _local7 = _arg1.n23; _local8 = _arg1.n31; _local9 = _arg1.n32; _local10 = _arg1.n33; _local11 = _arg1.n14; _local12 = _arg1.n24; _local13 = _arg1.n34; _local14 = this.geometry.vertices; _local15 = _local14.length; while ((_local16 = _local14[--_local15])) { _local17 = _local16.x; _local18 = _local16.y; _local19 = _local16.z; _local20 = ((((_local17 * _local2) + (_local18 * _local3)) + (_local19 * _local4)) + _local11); _local21 = ((((_local17 * _local5) + (_local18 * _local6)) + (_local19 * _local7)) + _local12); _local22 = ((((_local17 * _local8) + (_local18 * _local9)) + (_local19 * _local10)) + _local13); _local16.x = _local20; _local16.y = _local21; _local16.z = _local22; }; } public function boundingBox():Object{ var _local1:Object; var _local2:Object; var _local3:String; var _local4:Vertex3D; _local1 = this.geometry.vertices; _local2 = new Object(); _local2.min = new Number3D(); _local2.max = new Number3D(); _local2.size = new Number3D(); for (_local3 in _local1) { _local4 = _local1[Number(_local3)]; _local2.min.x = ((_local2.min.x)==undefined) ? _local4.x : Math.min(_local4.x, _local2.min.x); _local2.max.x = ((_local2.max.x)==undefined) ? _local4.x : Math.max(_local4.x, _local2.max.x); _local2.min.y = ((_local2.min.y)==undefined) ? _local4.y : Math.min(_local4.y, _local2.min.y); _local2.max.y = ((_local2.max.y)==undefined) ? _local4.y : Math.max(_local4.y, _local2.max.y); _local2.min.z = ((_local2.min.z)==undefined) ? _local4.z : Math.min(_local4.z, _local2.min.z); _local2.max.z = ((_local2.max.z)==undefined) ? _local4.z : Math.max(_local4.z, _local2.max.z); }; _local2.size.x = (_local2.max.x - _local2.min.x); _local2.size.y = (_local2.max.y - _local2.min.y); _local2.size.z = (_local2.max.z - _local2.min.z); return (_local2); } } }//package org.papervision3d.core.geomSection 44//CameraObject3D (org.papervision3d.core.proto.CameraObject3D) package org.papervision3d.core.proto { import org.papervision3d.objects.*; import org.papervision3d.core.*; public class CameraObject3D extends DisplayObject3D { public var sort:Boolean; public var zoom:Number; public var focus:Number; private static var _flipY:Matrix3D = Matrix3D.scaleMatrix(1, -1, 1); public static var DEFAULT_POS:Number3D = new Number3D(0, 0, -1000); public function CameraObject3D(_arg1:Number=3, _arg2:Number=500, _arg3:Object=null){ this.x = (_arg3) ? ((_arg3.x) || (DEFAULT_POS.x)) : DEFAULT_POS.x; this.y = (_arg3) ? ((_arg3.y) || (DEFAULT_POS.y)) : DEFAULT_POS.y; this.z = (_arg3) ? ((_arg3.z) || (DEFAULT_POS.z)) : DEFAULT_POS.z; this.zoom = _arg1; this.focus = _arg2; this.sort = (_arg3) ? !((_arg3.sort == false)) : true; } public function transformView(_arg1:Matrix3D=null):void{ this.view = Matrix3D.inverse(Matrix3D.multiply(((_arg1) || (this.transform)), _flipY)); } public function (_arg1:Number):void{ super.yaw(_arg1); } public function (_arg1:Number):void{ super.pitch(_arg1); } } }//package org.papervision3d.core.protoSection 45//DisplayObjectContainer3D (org.papervision3d.core.proto.DisplayObjectContainer3D) package org.papervision3d.core.proto { import flash.events.*; import org.papervision3d.objects.*; import org.papervision3d.materials.*; import flash.utils.*; import org.papervision3d.*; public class DisplayObjectContainer3D extends EventDispatcher { protected var :Dictionary; public var root:DisplayObjectContainer3D; private var :int; protected var _childrenByName:Object; public function DisplayObjectContainer3D():void{ this. = new Dictionary(false); this._childrenByName = new Dictionary(true); this. = 0; } public function getChildByName(_arg1:String):DisplayObject3D{ return (this._childrenByName[_arg1]); } public function (_arg1:String, _arg2:MaterialsList=null, _arg3:Number=1):void{ Papervision3D.log("The addCollada() method has been deprecated. Use addChildren( new Collada( filename ) )"); } public function (_arg1:String):DisplayObject3D{ return (removeChild(getChildByName(_arg1))); } public function get numChildren():int{ return (this.); } override public function toString():String{ return ( ()); } public function (_arg1:DisplayObject3D):DisplayObjectContainer3D{ var _local2:DisplayObject3D; for each (_local2 in _arg1.children) { _arg1.removeChild(_local2); this.addChild(_local2); }; return (this); } public function removeChild(_arg1:DisplayObject3D):DisplayObject3D{ if (_arg1){ delete this._childrenByName[this.[_arg1]]; delete this.[_arg1]; _arg1.parent = null; _arg1.root = null; return (_arg1); }; return (null); } public function addChild(_arg1:DisplayObject3D, _arg2:String=null):DisplayObject3D{ _arg2 = ((((_arg2) || (_arg1.name))) || (String(_arg1.id))); this.[_arg1] = _arg2; this._childrenByName[_arg2] = _arg1; this.++; _arg1.parent = this; _arg1.root = this.root; return (_arg1); } public function ():String{ var _local1:String; var _local2:String; _local1 = ""; for (_local2 in this.) { _local1 = (_local1 + (_local2 + "\n")); }; return (_local1); } public function get children():Object{ return (this._childrenByName); } } }//package org.papervision3d.core.protoSection 46//GeometryObject3D (org.papervision3d.core.proto.GeometryObject3D) package org.papervision3d.core.proto { import flash.events.*; import org.papervision3d.core.geom.*; import org.papervision3d.materials.*; import org.papervision3d.core.*; import flash.utils.*; import org.papervision3d.scenes.*; public class GeometryObject3D extends EventDispatcher { protected var :Number; protected var :Boolean;// = true public var :Boolean;// = false protected var :MaterialObject3D; public var faces:Array; public var vertices:Array; public function GeometryObject3D(_arg1:Object=null):void{ = false; = true; super(); } public function transformVertices(_arg1:Matrix3D):void{ } public function get boundingSphere2():Number{ if (){ return (()); }; return (); } public function ():Number{ var _local1:Number; var _local2:Number; var _local3:Vertex3D; _local1 = 0; for each (_local3 in this.vertices) { _local2 = (((_local3.x * _local3.x) + (_local3.y * _local3.y)) + (_local3.z * _local3.z)); _local1 = ((_local2)>_local1) ? _local2 : _local1; }; this. = false; return (( = _local1)); } private function ():void{ var _local1:Dictionary; var _local2:Face3D; var _local3:Vertex3D; _local1 = new Dictionary(true); for each (_local2 in faces) { _local2.v0.connectedFaces[_local2] = _local2; _local2.v1.connectedFaces[_local2] = _local2; _local2.v2.connectedFaces[_local2] = _local2; _local1[_local2.v0] = _local2.v0; _local1[_local2.v1] = _local2.v1; _local1[_local2.v2] = _local2.v2; }; for each (_local3 in _local1) { _local3.calculateNormal(); }; } public function transformUV(_arg1:MaterialObject3D):void{ var _local2:String; if (_arg1.bitmap){ for (_local2 in this.faces) { faces[_local2].transformUV(_arg1); }; }; } public function set ready(_arg1:Boolean):void{ if (_arg1){ (); }; = _arg1; } public function get ready():Boolean{ return (); } } }//package org.papervision3d.core.protoSection 47//MaterialObject3D (org.papervision3d.core.proto.MaterialObject3D) package org.papervision3d.core.proto { import flash.display.*; import flash.events.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; import org.papervision3d.materials.*; import org.papervision3d.core.draw.*; public class MaterialObject3D extends EventDispatcher implements IFaceDrawer { public var widthOffset:Number;// = 0 public var name:String; public var scene:SceneObject3D; public var needsVertexNormals:Boolean;// = false public var heightOffset:Number;// = 0 public var fillAlpha:Number;// = 0 public var fillColor:Number; public var id:Number; public var invisible:Boolean;// = false public var smooth:Boolean;// = false public var bitmap:BitmapData; public var lineColor:Number; public var lineAlpha:Number;// = 0 public var oneSide:Boolean;// = true public var :Number;// = 1 public var opposite:Boolean;// = false public var maxU:Number; public var needsFaceNormals:Boolean;// = false public var tiled:Boolean;// = false public var maxV:Number; public static var DEFAULT_COLOR:int = 0; public static var DEBUG_COLOR:int = 0xFF00FF; private static var _totalMaterialObjects:Number = 0; public function MaterialObject3D(){ smooth = false; tiled = false; lineColor = DEFAULT_COLOR; lineAlpha = 0; = 1; fillColor = DEFAULT_COLOR; fillAlpha = 0; oneSide = true; invisible = false; opposite = false; needsFaceNormals = false; needsVertexNormals = false; widthOffset = 0; heightOffset = 0; super(); this.id = _totalMaterialObjects++; } public function get doubleSided():Boolean{ return (!(this.oneSide)); } public function drawFace3D(_arg1:DisplayObject3D, _arg2:Face3D, _arg3:Graphics, _arg4:Vertex2D, _arg5:Vertex2D, _arg6:Vertex2D):int{ return (0); } public function set doubleSided(_arg1:Boolean):void{ this.oneSide = !(_arg1); } public function updateBitmap():void{ } override public function toString():String{ return (((((("[MaterialObject3D] bitmap:" + this.bitmap) + " lineColor:") + this.lineColor) + " fillColor:") + fillColor)); } public function copy(_arg1:MaterialObject3D):void{ this.bitmap = _arg1.bitmap; this.smooth = _arg1.smooth; this.lineColor = _arg1.lineColor; this.lineAlpha = _arg1.lineAlpha; this.fillColor = _arg1.fillColor; this.fillAlpha = _arg1.fillAlpha; this.needsFaceNormals = _arg1.needsFaceNormals; this.needsVertexNormals = _arg1.needsVertexNormals; this.oneSide = _arg1.oneSide; this.opposite = _arg1.opposite; this.invisible = _arg1.invisible; this.scene = _arg1.scene; this.name = _arg1.name; this.maxU = _arg1.maxU; this.maxV = _arg1.maxV; } public function clone():MaterialObject3D{ var _local1:MaterialObject3D; _local1 = new MaterialObject3D(); _local1.copy(this); return (_local1); } public static function get DEFAULT():MaterialObject3D{ var _local1:MaterialObject3D; _local1 = new WireframeMaterial(); _local1.lineColor = (0xFFFFFF * Math.random()); _local1.lineAlpha = 1; _local1.fillColor = DEFAULT_COLOR; _local1.fillAlpha = 1; _local1.doubleSided = false; return (_local1); } public static function get DEBUG():MaterialObject3D{ var _local1:MaterialObject3D; _local1 = new (MaterialObject3D); _local1.lineColor = (0xFFFFFF * Math.random()); _local1.lineAlpha = 1; _local1.fillColor = DEBUG_COLOR; _local1.fillAlpha = 0.37; _local1.doubleSided = true; return (_local1); } } }//package org.papervision3d.core.protoSection 48//SceneObject3D (org.papervision3d.core.proto.SceneObject3D) package org.papervision3d.core.proto { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.materials.*; import flash.utils.*; import org.papervision3d.core.culling.*; import org.papervision3d.core.stat.*; import org.papervision3d.*; public class SceneObject3D extends DisplayObjectContainer3D { public var triangleCuller:ITriangleCuller; public var container:Sprite; private var :Dictionary; public var objects:Array; public var stats:RenderStatistics; public var materials:MaterialsList; public function SceneObject3D(_arg1:Sprite){ triangleCuller = new DefaultTriangleCuller(); super(); if (_arg1){ this.container = _arg1; } else { Papervision3D.log("Scene3D: container argument required."); }; this.objects = new Array(); this.materials = new MaterialsList(); Papervision3D.log((((((Papervision3D.NAME + " ") + Papervision3D.VERSION) + " (") + Papervision3D.DATE) + ")\n")); this.stats = new RenderStatistics(); this.stats.points = 0; this.stats. = 0; this.stats. = 0; this.stats.performance = 0; this.stats.rendered = 0; this.root = this; } override public function addChild(_arg1:DisplayObject3D, _arg2:String=null):DisplayObject3D{ var _local3:DisplayObject3D; _local3 = super.addChild(_arg1, _arg2); _arg1.scene = this; this.objects.push(_local3); return (_local3); } public function renderCamera(_arg1:CameraObject3D):void{ var _local2:Array; var _local3:DisplayObject3D; var _local4:Number; stats.clear(); stats.performance = getTimer(); MovieMaterial.updateAnimatedBitmaps(); if (_arg1){ _arg1.transformView(); _local2 = this.objects; _local4 = _local2.length; while ((_local3 = _local2[--_local4])) { if (_local3.visible){ _local3.project(_arg1, _arg1); }; }; }; if (_arg1.sort){ this.objects.sortOn("screenZ", Array.NUMERIC); }; renderObjects(_arg1.sort); } protected function renderObjects(_arg1:Boolean):void{ } override public function removeChild(_arg1:DisplayObject3D):DisplayObject3D{ var _local2:int; super.removeChild(_arg1); _local2 = 0; while (_local2 < this.objects.length) { if (this.objects[_local2] === _arg1){ this.objects.splice(_local2, 1); return (_arg1); }; _local2++; }; return (_arg1); } } }//package org.papervision3d.core.protoSection 49//RenderStatistics (org.papervision3d.core.stat.RenderStatistics) package org.papervision3d.core.stat { public class RenderStatistics { public var points:int;// = 0 public var :int;// = 0 public var :int;// = 0 public var :Number; public var performance:int;// = 0 public var rendered:int;// = 0 public var culledTriangles:int;// = 0 public var :Number; public function RenderStatistics(){ performance = 0; points = 0; = 0; rendered = 0; = 0; culledTriangles = 0; super(); } public function clear():void{ performance = 0; points = 0; = 0; rendered = 0; = 0; = 0; = 0; culledTriangles = 0; } public function toString():String{ return (new String(((((((((("Performance:" + performance) + ", Points:") + points) + " Polys:") + ) + " Rendered:") + rendered) + " Culled:") + culledTriangles))); } } }//package org.papervision3d.core.statSection 50//Matrix3D (org.papervision3d.core.Matrix3D) package org.papervision3d.core { public class Matrix3D { public var n31:Number; public var n32:Number; public var n11:Number; public var n13:Number; public var n14:Number; public var n33:Number; public var n12:Number; public var n21:Number; public var n22:Number; public var n23:Number; public var n24:Number; public var n34:Number; private static var toDEGREES:Number = 57.2957795130823; private static var toRADIANS:Number = 0.0174532925199433; public function Matrix3D(_arg1:Array=null){ if (((!(_arg1)) || ((_arg1.length < 12)))){ n11 = (n22 = (n33 = 1)); n12 = (n13 = (n14 = (n21 = (n23 = (n24 = (n31 = (n32 = (n34 = 0)))))))); } else { n11 = _arg1[0]; n12 = _arg1[1]; n13 = _arg1[2]; n14 = _arg1[3]; n21 = _arg1[4]; n22 = _arg1[5]; n23 = _arg1[6]; n24 = _arg1[7]; n31 = _arg1[8]; n32 = _arg1[9]; n33 = _arg1[10]; n34 = _arg1[11]; }; } public function calculateMultiply3x3(_arg1:Matrix3D, _arg2:Matrix3D):void{ var _local3:Number; var _local4:Number; 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:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local3 = _arg1.n11; _local4 = _arg2.n11; _local5 = _arg1.n21; _local6 = _arg2.n21; _local7 = _arg1.n31; _local8 = _arg2.n31; _local9 = _arg1.n12; _local10 = _arg2.n12; _local11 = _arg1.n22; _local12 = _arg2.n22; _local13 = _arg1.n32; _local14 = _arg2.n32; _local15 = _arg1.n13; _local16 = _arg2.n13; _local17 = _arg1.n23; _local18 = _arg2.n23; _local19 = _arg1.n33; _local20 = _arg2.n33; this.n11 = (((_local3 * _local4) + (_local9 * _local6)) + (_local15 * _local8)); this.n12 = (((_local3 * _local10) + (_local9 * _local12)) + (_local15 * _local14)); this.n13 = (((_local3 * _local16) + (_local9 * _local18)) + (_local15 * _local20)); this.n21 = (((_local5 * _local4) + (_local11 * _local6)) + (_local17 * _local8)); this.n22 = (((_local5 * _local10) + (_local11 * _local12)) + (_local17 * _local14)); this.n23 = (((_local5 * _local16) + (_local11 * _local18)) + (_local17 * _local20)); this.n31 = (((_local7 * _local4) + (_local13 * _local6)) + (_local19 * _local8)); this.n32 = (((_local7 * _local10) + (_local13 * _local12)) + (_local19 * _local14)); this.n33 = (((_local7 * _local16) + (_local13 * _local18)) + (_local19 * _local20)); } public function get trace():Number{ return ((((this.n11 + this.n22) + this.n33) + 1)); } public function get det():Number{ return ((((((this.n11 * this.n22) - (this.n21 * this.n12)) * this.n33) - (((this.n11 * this.n32) - (this.n31 * this.n12)) * this.n23)) + (((this.n21 * this.n32) - (this.n31 * this.n22)) * this.n13))); } public function (_arg1:Matrix3D):Matrix3D{ this.n11 = _arg1.n11; this.n12 = _arg1.n12; this.n13 = _arg1.n13; this.n21 = _arg1.n21; this.n22 = _arg1.n22; this.n23 = _arg1.n23; this.n31 = _arg1.n31; this.n32 = _arg1.n32; this.n33 = _arg1.n33; return (this); } public function (_arg1:Matrix3D, _arg2:Matrix3D):void{ this.n11 = (_arg1.n11 + _arg2.n11); this.n12 = (_arg1.n12 + _arg2.n12); this.n13 = (_arg1.n13 + _arg2.n13); this.n14 = (_arg1.n14 + _arg2.n14); this.n21 = (_arg1.n21 + _arg2.n21); this.n22 = (_arg1.n22 + _arg2.n22); this.n23 = (_arg1.n23 + _arg2.n23); this.n24 = (_arg1.n24 + _arg2.n24); this.n31 = (_arg1.n31 + _arg2.n31); this.n32 = (_arg1.n32 + _arg2.n32); this.n33 = (_arg1.n33 + _arg2.n33); this.n34 = (_arg1.n34 + _arg2.n34); } public function calculateMultiply(_arg1:Matrix3D, _arg2:Matrix3D):void{ var _local3:Number; var _local4:Number; 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:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local3 = _arg1.n11; _local4 = _arg2.n11; _local5 = _arg1.n21; _local6 = _arg2.n21; _local7 = _arg1.n31; _local8 = _arg2.n31; _local9 = _arg1.n12; _local10 = _arg2.n12; _local11 = _arg1.n22; _local12 = _arg2.n22; _local13 = _arg1.n32; _local14 = _arg2.n32; _local15 = _arg1.n13; _local16 = _arg2.n13; _local17 = _arg1.n23; _local18 = _arg2.n23; _local19 = _arg1.n33; _local20 = _arg2.n33; _local21 = _arg1.n14; _local22 = _arg2.n14; _local23 = _arg1.n24; _local24 = _arg2.n24; _local25 = _arg1.n34; _local26 = _arg2.n34; this.n11 = (((_local3 * _local4) + (_local9 * _local6)) + (_local15 * _local8)); this.n12 = (((_local3 * _local10) + (_local9 * _local12)) + (_local15 * _local14)); this.n13 = (((_local3 * _local16) + (_local9 * _local18)) + (_local15 * _local20)); this.n14 = ((((_local3 * _local22) + (_local9 * _local24)) + (_local15 * _local26)) + _local21); this.n21 = (((_local5 * _local4) + (_local11 * _local6)) + (_local17 * _local8)); this.n22 = (((_local5 * _local10) + (_local11 * _local12)) + (_local17 * _local14)); this.n23 = (((_local5 * _local16) + (_local11 * _local18)) + (_local17 * _local20)); this.n24 = ((((_local5 * _local22) + (_local11 * _local24)) + (_local17 * _local26)) + _local23); this.n31 = (((_local7 * _local4) + (_local13 * _local6)) + (_local19 * _local8)); this.n32 = (((_local7 * _local10) + (_local13 * _local12)) + (_local19 * _local14)); this.n33 = (((_local7 * _local16) + (_local13 * _local18)) + (_local19 * _local20)); this.n34 = ((((_local7 * _local22) + (_local13 * _local24)) + (_local19 * _local26)) + _local25); } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + ((((((((int((n11 * 1000)) / 1000) + "\t\t") + (int((n12 * 1000)) / 1000)) + "\t\t") + (int((n13 * 1000)) / 1000)) + "\t\t") + (int((n14 * 1000)) / 1000)) + "\n")); _local1 = (_local1 + ((((((((int((n21 * 1000)) / 1000) + "\t\t") + (int((n22 * 1000)) / 1000)) + "\t\t") + (int((n23 * 1000)) / 1000)) + "\t\t") + (int((n24 * 1000)) / 1000)) + "\n")); _local1 = (_local1 + ((((((((int((n31 * 1000)) / 1000) + "\t\t") + (int((n32 * 1000)) / 1000)) + "\t\t") + (int((n33 * 1000)) / 1000)) + "\t\t") + (int((n34 * 1000)) / 1000)) + "\n")); return (_local1); } public function copy(_arg1:Matrix3D):Matrix3D{ this.n11 = _arg1.n11; this.n12 = _arg1.n12; this.n13 = _arg1.n13; this.n14 = _arg1.n14; this.n21 = _arg1.n21; this.n22 = _arg1.n22; this.n23 = _arg1.n23; this.n24 = _arg1.n24; this.n31 = _arg1.n31; this.n32 = _arg1.n32; this.n33 = _arg1.n33; this.n34 = _arg1.n34; return (this); } public function (_arg1:Matrix3D):void{ var _local2:Number; var _local3:Number; var _local4:Number; 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; _local2 = _arg1.det; if (Math.abs(_local2) > 0.001){ _local2 = (1 / _local2); _local3 = _arg1.n11; _local4 = _arg1.n21; _local5 = _arg1.n31; _local6 = _arg1.n12; _local7 = _arg1.n22; _local8 = _arg1.n32; _local9 = _arg1.n13; _local10 = _arg1.n23; _local11 = _arg1.n33; _local12 = _arg1.n14; _local13 = _arg1.n24; _local14 = _arg1.n34; this.n11 = (_local2 * ((_local7 * _local11) - (_local8 * _local10))); this.n12 = (-(_local2) * ((_local6 * _local11) - (_local8 * _local9))); this.n13 = (_local2 * ((_local6 * _local10) - (_local7 * _local9))); this.n14 = (-(_local2) * (((_local6 * ((_local10 * _local14) - (_local11 * _local13))) - (_local7 * ((_local9 * _local14) - (_local11 * _local12)))) + (_local8 * ((_local9 * _local13) - (_local10 * _local12))))); this.n21 = (-(_local2) * ((_local4 * _local11) - (_local5 * _local10))); this.n22 = (_local2 * ((_local3 * _local11) - (_local5 * _local9))); this.n23 = (-(_local2) * ((_local3 * _local10) - (_local4 * _local9))); this.n24 = (_local2 * (((_local3 * ((_local10 * _local14) - (_local11 * _local13))) - (_local4 * ((_local9 * _local14) - (_local11 * _local12)))) + (_local5 * ((_local9 * _local13) - (_local10 * _local12))))); this.n31 = (_local2 * ((_local4 * _local8) - (_local5 * _local7))); this.n32 = (-(_local2) * ((_local3 * _local8) - (_local5 * _local6))); this.n33 = (_local2 * ((_local3 * _local7) - (_local4 * _local6))); this.n34 = (-(_local2) * (((_local3 * ((_local7 * _local14) - (_local8 * _local13))) - (_local4 * ((_local6 * _local14) - (_local8 * _local12)))) + (_local5 * ((_local6 * _local13) - (_local7 * _local12))))); }; } public static function rotationMatrixWithReference(_arg1:Number3D, _arg2:Number, _arg3:Number3D):Matrix3D{ var _local4:Matrix3D; _local4 = Matrix3D.translationMatrix(_arg3.x, -(_arg3.y), _arg3.z); Matrix3D.translationMatrix(_arg3.x, -(_arg3.y), _arg3.z).calculateMultiply(_local4, Matrix3D.rotationMatrix(_arg1.x, _arg1.y, _arg1.z, _arg2)); _local4.calculateMultiply(_local4, Matrix3D.translationMatrix(-(_arg3.x), _arg3.y, -(_arg3.z))); return (_local4); } public static function multiplyVector3x3(_arg1:Matrix3D, _arg2:Number3D):void{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = _arg2.x; _local4 = _arg2.y; _local5 = _arg2.z; _arg2.x = (((_local3 * _arg1.n11) + (_local4 * _arg1.n12)) + (_local5 * _arg1.n13)); _arg2.y = (((_local3 * _arg1.n21) + (_local4 * _arg1.n22)) + (_local5 * _arg1.n23)); _arg2.z = (((_local3 * _arg1.n31) + (_local4 * _arg1.n32)) + (_local5 * _arg1.n33)); } public static function multiply3x3(_arg1:Matrix3D, _arg2:Matrix3D):Matrix3D{ var _local3:Matrix3D; _local3 = new (Matrix3D); _local3.calculateMultiply3x3(_arg1, _arg2); return (_local3); } public static function normalizeQuaternion(_arg1:Object):Object{ var _local2:Number; _local2 = magnitudeQuaternion(_arg1); _arg1.x = (_arg1.x / _local2); _arg1.y = (_arg1.y / _local2); _arg1.z = (_arg1.z / _local2); _arg1.w = (_arg1.w / _local2); return (_arg1); } public static function multiplyVector(_arg1:Matrix3D, _arg2:Number3D):void{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = _arg2.x; _local4 = _arg2.y; _local5 = _arg2.z; _arg2.x = ((((_local3 * _arg1.n11) + (_local4 * _arg1.n12)) + (_local5 * _arg1.n13)) + _arg1.n14); _arg2.y = ((((_local3 * _arg1.n21) + (_local4 * _arg1.n22)) + (_local5 * _arg1.n23)) + _arg1.n24); _arg2.z = ((((_local3 * _arg1.n31) + (_local4 * _arg1.n32)) + (_local5 * _arg1.n33)) + _arg1.n34); } public static function axis2quaternion(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Object{ var _local5:Number; var _local6:Number; var _local7:Object; _local5 = Math.sin((_arg4 / 2)); _local6 = Math.cos((_arg4 / 2)); _local7 = new Object(); _local7.x = (_arg1 * _local5); _local7.y = (_arg2 * _local5); _local7.z = (_arg3 * _local5); _local7.w = _local6; return (normalizeQuaternion(_local7)); } public static function translationMatrix(_arg1:Number, _arg2:Number, _arg3:Number):Matrix3D{ var _local4:Matrix3D; _local4 = IDENTITY; _local4.n14 = _arg1; _local4.n24 = _arg2; _local4.n34 = _arg3; return (_local4); } public static function magnitudeQuaternion(_arg1:Object):Number{ return (Math.sqrt(((((_arg1.w * _arg1.w) + (_arg1.x * _arg1.x)) + (_arg1.y * _arg1.y)) + (_arg1.z * _arg1.z)))); } public static function euler2quaternion(_arg1:Number, _arg2:Number, _arg3:Number):Object{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Object; _local4 = Math.sin((_arg1 * 0.5)); _local5 = Math.cos((_arg1 * 0.5)); _local6 = Math.sin((_arg2 * 0.5)); _local7 = Math.cos((_arg2 * 0.5)); _local8 = Math.sin((_arg3 * 0.5)); _local9 = Math.cos((_arg3 * 0.5)); _local10 = (_local5 * _local7); _local11 = (_local4 * _local6); _local12 = new Object(); _local12.x = ((_local8 * _local10) - (_local9 * _local11)); _local12.y = (((_local9 * _local4) * _local7) + ((_local8 * _local5) * _local6)); _local12.z = (((_local9 * _local5) * _local6) - ((_local8 * _local4) * _local7)); _local12.w = ((_local9 * _local10) + (_local8 * _local11)); return (_local12); } public static function rotationX(_arg1:Number):Matrix3D{ var _local2:Matrix3D; var _local3:Number; var _local4:Number; _local2 = IDENTITY; _local3 = Math.cos(_arg1); _local4 = Math.sin(_arg1); _local2.n22 = _local3; _local2.n23 = -(_local4); _local2.n32 = _local4; _local2.n33 = _local3; return (_local2); } public static function rotationY(_arg1:Number):Matrix3D{ var _local2:Matrix3D; var _local3:Number; var _local4:Number; _local2 = IDENTITY; _local3 = Math.cos(_arg1); _local4 = Math.sin(_arg1); _local2.n11 = _local3; _local2.n13 = -(_local4); _local2.n31 = _local4; _local2.n33 = _local3; return (_local2); } public static function rotationZ(_arg1:Number):Matrix3D{ var _local2:Matrix3D; var _local3:Number; var _local4:Number; _local2 = IDENTITY; _local3 = Math.cos(_arg1); _local4 = Math.sin(_arg1); _local2.n11 = _local3; _local2.n12 = -(_local4); _local2.n21 = _local4; _local2.n22 = _local3; return (_local2); } public static function clone(_arg1:Matrix3D):Matrix3D{ return (new Matrix3D([_arg1.n11, _arg1.n12, _arg1.n13, _arg1.n14, _arg1.n21, _arg1.n22, _arg1.n23, _arg1.n24, _arg1.n31, _arg1.n32, _arg1.n33, _arg1.n34])); } public static function rotationMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix3D{ var _local5:Matrix3D; 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; _local5 = IDENTITY; _local6 = Math.cos(_arg4); _local7 = Math.sin(_arg4); _local8 = (1 - _local6); _local9 = ((_arg1 * _arg2) * _local8); _local10 = ((_arg2 * _arg3) * _local8); _local11 = ((_arg1 * _arg3) * _local8); _local12 = (_local7 * _arg3); _local13 = (_local7 * _arg2); _local14 = (_local7 * _arg1); _local5.n11 = (_local6 + ((_arg1 * _arg1) * _local8)); _local5.n12 = (-(_local12) + _local9); _local5.n13 = (_local13 + _local11); _local5.n21 = (_local12 + _local9); _local5.n22 = (_local6 + ((_arg2 * _arg2) * _local8)); _local5.n23 = (-(_local14) + _local10); _local5.n31 = (-(_local13) + _local11); _local5.n32 = (_local14 + _local10); _local5.n33 = (_local6 + ((_arg3 * _arg3) * _local8)); return (_local5); } public static function add(_arg1:Matrix3D, _arg2:Matrix3D):Matrix3D{ var _local3:Matrix3D; _local3 = new (Matrix3D); _local3. (_arg1, _arg2); return (_local3); } public static function rotateAxis(_arg1:Matrix3D, _arg2:Number3D):void{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = _arg2.x; _local4 = _arg2.y; _local5 = _arg2.z; _arg2.x = (((_local3 * _arg1.n11) + (_local4 * _arg1.n12)) + (_local5 * _arg1.n13)); _arg2.y = (((_local3 * _arg1.n21) + (_local4 * _arg1.n22)) + (_local5 * _arg1.n23)); _arg2.z = (((_local3 * _arg1.n31) + (_local4 * _arg1.n32)) + (_local5 * _arg1.n33)); _arg2.normalize(); } public static function multiply(_arg1:Matrix3D, _arg2:Matrix3D):Matrix3D{ var _local3:Matrix3D; _local3 = new (Matrix3D); _local3.calculateMultiply(_arg1, _arg2); return (_local3); } public static function multiplyQuaternion(_arg1:Object, _arg2:Object):Object{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Object; _local3 = _arg1.x; _local4 = _arg1.y; _local5 = _arg1.z; _local6 = _arg1.w; _local7 = _arg2.x; _local8 = _arg2.y; _local9 = _arg2.z; _local10 = _arg2.w; _local11 = new Object(); _local11.x = ((((_local6 * _local7) + (_local3 * _local10)) + (_local4 * _local9)) - (_local5 * _local8)); _local11.y = ((((_local6 * _local8) + (_local4 * _local10)) + (_local5 * _local7)) - (_local3 * _local9)); _local11.z = ((((_local6 * _local9) + (_local5 * _local10)) + (_local3 * _local8)) - (_local4 * _local7)); _local11.w = ((((_local6 * _local10) - (_local3 * _local7)) - (_local4 * _local8)) - (_local5 * _local9)); return (_local11); } public static function euler2matrix(_arg1:Number3D):Matrix3D{ var _local2:Matrix3D; var _local3:Number; var _local4:Number; 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; _local2 = IDENTITY; _local3 = (_arg1.x * toRADIANS); _local4 = (_arg1.y * toRADIANS); _local5 = (_arg1.z * toRADIANS); _local6 = Math.cos(_local3); _local7 = Math.sin(_local3); _local8 = Math.cos(_local4); _local9 = Math.sin(_local4); _local10 = Math.cos(_local5); _local11 = Math.sin(_local5); _local12 = (_local6 * _local9); _local13 = (_local7 * _local9); _local2.n11 = (_local8 * _local10); _local2.n12 = (-(_local8) * _local11); _local2.n13 = _local9; _local2.n21 = ((_local13 * _local10) + (_local6 * _local11)); _local2.n22 = ((-(_local13) * _local11) + (_local6 * _local10)); _local2.n23 = (-(_local7) * _local8); _local2.n31 = ((-(_local12) * _local10) + (_local7 * _local11)); _local2.n32 = ((_local12 * _local11) + (_local7 * _local10)); _local2.n33 = (_local6 * _local8); return (_local2); } public static function scaleMatrix(_arg1:Number, _arg2:Number, _arg3:Number):Matrix3D{ var _local4:Matrix3D; _local4 = IDENTITY; _local4.n11 = _arg1; _local4.n22 = _arg2; _local4.n33 = _arg3; return (_local4); } public static function quaternion2matrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix3D{ 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:Matrix3D; _local5 = (_arg1 * _arg1); _local6 = (_arg1 * _arg2); _local7 = (_arg1 * _arg3); _local8 = (_arg1 * _arg4); _local9 = (_arg2 * _arg2); _local10 = (_arg2 * _arg3); _local11 = (_arg2 * _arg4); _local12 = (_arg3 * _arg3); _local13 = (_arg3 * _arg4); _local14 = IDENTITY; _local14.n11 = (1 - (2 * (_local9 + _local12))); _local14.n12 = (2 * (_local6 - _local13)); _local14.n13 = (2 * (_local7 + _local11)); _local14.n21 = (2 * (_local6 + _local13)); _local14.n22 = (1 - (2 * (_local5 + _local12))); _local14.n23 = (2 * (_local10 - _local8)); _local14.n31 = (2 * (_local7 - _local11)); _local14.n32 = (2 * (_local10 + _local8)); _local14.n33 = (1 - (2 * (_local5 + _local9))); return (_local14); } public static function inverse(_arg1:Matrix3D):Matrix3D{ var _local2:Matrix3D; _local2 = new (Matrix3D); _local2. (_arg1); return (_local2); } public static function matrix2euler(_arg1:Matrix3D):Number3D{ var _local2:Number3D; var _local3:Number3D; var _local4:Number3D; var _local5:Number3D; var _local6:Matrix3D; var _local7:Matrix3D; var _local8:Matrix3D; var _local9:Number; _local2 = new Number3D(); _local3 = new Number3D(_arg1.n11, _arg1.n21, _arg1.n31); _local4 = new Number3D(_arg1.n12, _arg1.n22, _arg1.n32); _local5 = new Number3D(_arg1.n13, _arg1.n23, _arg1.n33); _local3.normalize(); _local4.normalize(); _local5.normalize(); _local6 = new Matrix3D([_local3.x, _local4.x, _local5.x, 0, _local3.y, _local4.y, _local5.y, 0, _local3.z, _local4.z, _local5.z, 0]); _local2.x = Math.atan2(_local6.n23, _local6.n33); _local7 = Matrix3D.rotationX(-(_local2.x)); _local8 = Matrix3D.multiply(_local7, _local6); _local9 = Math.sqrt(((_local8.n11 * _local8.n11) + (_local8.n21 * _local8.n21))); _local2.y = Math.atan2(-(_local8.n31), _local9); _local2.z = Math.atan2(-(_local8.n12), _local8.n11); if (_local2.x == Math.PI){ if (_local2.y > 0){ _local2.y = (_local2.y - Math.PI); } else { _local2.y = (_local2.y + Math.PI); }; _local2.x = 0; _local2.z = (_local2.z + Math.PI); }; _local2.x = (_local2.x * toDEGREES); _local2.y = (_local2.y * toDEGREES); _local2.z = (_local2.z * toDEGREES); return (_local2); } public static function get IDENTITY():Matrix3D{ return (new Matrix3D([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0])); } } }//package org.papervision3d.coreSection 51//Number3D (org.papervision3d.core.Number3D) package org.papervision3d.core { public class Number3D { public var x:Number; public var y:Number; public var z:Number; public function Number3D(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){ this.x = _arg1; this.y = _arg2; this.z = _arg3; } public function toString():String{ return (((((("x:" + x) + " y:") + y) + " z:") + z)); } public function normalize():void{ var _local1:Number; _local1 = this.modulo; if (((!((_local1 == 0))) && (!((_local1 == 1))))){ this.x = (this.x / _local1); this.y = (this.y / _local1); this.z = (this.z / _local1); }; } public function get modulo():Number{ return (Math.sqrt((((this.x * this.x) + (this.y * this.y)) + (this.z * this.z)))); } public function copyTo(_arg1:Number3D):void{ _arg1.x = x; _arg1.y = y; _arg1.z = z; } public function clone():Number3D{ return (new Number3D(this.x, this.y, this.z)); } public static function sub(_arg1:Number3D, _arg2:Number3D):Number3D{ return (new Number3D((_arg1.x - _arg2.x), (_arg1.y - _arg2.y), (_arg1.z - _arg2.z))); } public static function add(_arg1:Number3D, _arg2:Number3D):Number3D{ return (new Number3D((_arg1.x + _arg2.x), (_arg1.y + _arg2.y), (_arg1.z + _arg2.z))); } public static function cross(_arg1:Number3D, _arg2:Number3D):Number3D{ return (new Number3D(((_arg2.y * _arg1.z) - (_arg2.z * _arg1.y)), ((_arg2.z * _arg1.x) - (_arg2.x * _arg1.z)), ((_arg2.x * _arg1.y) - (_arg2.y * _arg1.x)))); } public static function get ZERO():Number3D{ return (new Number3D(0, 0, 0)); } public static function dot(_arg1:Number3D, _arg2:Number3D):Number{ return ((((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y)) + (_arg2.z * _arg1.z))); } } }//package org.papervision3d.coreSection 52//NumberUV (org.papervision3d.core.NumberUV) package org.papervision3d.core { public class NumberUV { public var u:Number; public var v:Number; public function NumberUV(_arg1:Number=0, _arg2:Number=0){ this.u = _arg1; this.v = _arg2; } public function toString():String{ return (((("u:" + u) + " v:") + v)); } public function clone():NumberUV{ return (new NumberUV(this.u, this.v)); } public static function get ZERO():NumberUV{ return (new NumberUV(0, 0)); } } }//package org.papervision3d.coreSection 53//InteractiveScene3DEvent (org.papervision3d.events.InteractiveScene3DEvent) package org.papervision3d.events { import flash.display.*; import flash.events.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; import org.papervision3d.utils.*; public class InteractiveScene3DEvent extends Event { public var :Sprite;// = null public var interactiveContainerData:InteractiveContainerData;// = null public var displayObject3D:DisplayObject3D;// = null public var face3d:Face3D;// = null public static const OBJECT_ADDED:String = "objectAdded"; public static const OBJECT_PRESS:String = "mousePress"; public static const OBJECT_RELEASE:String = "mouseRelease"; public static const OBJECT_CLICK:String = "mouseClick"; public static const OBJECT_RELEASE_OUTSIDE:String = "mouseReleaseOutside"; public static const OBJECT_OUT:String = "mouseOut"; public static const OBJECT_MOVE:String = "mouseMove"; public static const OBJECT_OVER:String = "mouseOver"; public function InteractiveScene3DEvent(_arg1:String, _arg2:DisplayObject3D=null, _arg3:Sprite=null, _arg4:Face3D=null, _arg5:InteractiveContainerData=null, _arg6:Boolean=false, _arg7:Boolean=false){ displayObject3D = null; = null; face3d = null; interactiveContainerData = null; super(_arg1, _arg6, _arg7); this.displayObject3D = _arg2; this. = _arg3; this.face3d = _arg4; this.interactiveContainerData = _arg5; } } }//package org.papervision3d.eventsSection 54//BitmapMaterial (org.papervision3d.materials.BitmapMaterial) package org.papervision3d.materials { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; import org.papervision3d.core.proto.*; import flash.geom.*; import org.papervision3d.core.draw.*; import flash.utils.*; import org.papervision3d.*; public class BitmapMaterial extends MaterialObject3D implements IFaceDrawer { public var :Dictionary; protected var _texture:Object; public static var AUTO_MIP_MAPPING:Boolean = false; protected static var _localMatrix:Matrix = new Matrix(); public static var MIP_MAP_DEPTH:Number = 8; protected static var _triMatrix:Matrix = new Matrix(); public function BitmapMaterial(_arg1:BitmapData=null){ = new Dictionary(); super(); if (_arg1){ texture = _arg1; }; } override public function drawFace3D(_arg1:DisplayObject3D, _arg2:Face3D, _arg3:Graphics, _arg4:Vertex2D, _arg5:Vertex2D, _arg6:Vertex2D):int{ var _local7:Matrix; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; if (lineAlpha){ _arg3.lineStyle(0, lineColor, lineAlpha); }; if (bitmap){ _local7 = (([_arg2]) || (transformUV(_arg2, _arg1))); _local8 = _arg4.x; _local9 = _arg4.y; _local10 = _arg5.x; _local11 = _arg5.y; _local12 = _arg6.x; _local13 = _arg6.y; _triMatrix.a = (_local10 - _local8); _triMatrix.b = (_local11 - _local9); _triMatrix.c = (_local12 - _local8); _triMatrix.d = (_local13 - _local9); _triMatrix.tx = _local8; _triMatrix.ty = _local9; _localMatrix.a = _local7.a; _localMatrix.b = _local7.b; _localMatrix.c = _local7.c; _localMatrix.d = _local7.d; _localMatrix.tx = _local7.tx; _localMatrix.ty = _local7.ty; _localMatrix.concat(_triMatrix); _arg3.beginBitmapFill(bitmap, _localMatrix, tiled, smooth); }; _arg3.moveTo(_local8, _local9); _arg3.lineTo(_local10, _local11); _arg3.lineTo(_local12, _local13); _arg3.lineTo(_local8, _local9); if (bitmap){ _arg3.endFill(); }; if (lineAlpha){ _arg3.lineStyle(); }; return (1); } public function ():void{ = new Dictionary(); } public function transformUV(_arg1:Face3D, _arg2:DisplayObject3D=null):Matrix{ var _local3:Array; var _local4:Number; 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:Number; var _local16:Matrix; var _local17:Matrix; if (!_arg1.uv){ Papervision3D.log("MaterialObject3D: transformUV() uv not found!"); } else { if (bitmap){ _local3 = _arg1.uv; _local4 = (bitmap.width * maxU); _local5 = (bitmap.height * maxV); _local6 = (_local4 * _local3[0].u); _local7 = (_local5 * (1 - _local3[0].v)); _local8 = (_local4 * _local3[1].u); _local9 = (_local5 * (1 - _local3[1].v)); _local10 = (_local4 * _local3[2].u); _local11 = (_local5 * (1 - _local3[2].v)); if ((((((_local6 == _local8)) && ((_local7 == _local9)))) || ((((_local6 == _local10)) && ((_local7 == _local11)))))){ _local6 = (_local6 - ((_local6)>0.05) ? 0.05 : -0.05); _local7 = (_local7 - ((_local7)>0.07) ? 0.07 : -0.07); }; if ((((_local10 == _local8)) && ((_local11 == _local9)))){ _local10 = (_local10 - ((_local10)>0.05) ? 0.04 : -0.04); _local11 = (_local11 - ((_local11)>0.06) ? 0.06 : -0.06); }; _local12 = (_local8 - _local6); _local13 = (_local9 - _local7); _local14 = (_local10 - _local6); _local15 = (_local11 - _local7); _local16 = new Matrix(_local12, _local13, _local14, _local15, _local6, _local7); _local16.invert(); _local17 = (([_arg1]) || (([_arg1] = _local16.clone()))); _local17.a = _local16.a; _local17.b = _local16.b; _local17.c = _local16.c; _local17.d = _local16.d; _local17.tx = _local16.tx; _local17.ty = _local16.ty; } else { Papervision3D.log("MaterialObject3D: transformUV() material.bitmap not found!"); }; }; return (_local17); } public function get texture():Object{ return (this._texture); } protected function (_arg1:BitmapData):BitmapData{ var _local2:BitmapData; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Boolean; _local3 = (1 << MIP_MAP_DEPTH); _local4 = (_arg1.width / _local3); _local4 = ((_local4 == uint(_local4))) ? _local4 : (uint(_local4) + 1); _local5 = (_arg1.height / _local3); _local5 = ((_local5 == uint(_local5))) ? _local5 : (uint(_local5) + 1); _local6 = (_local3 * _local4); _local7 = (_local3 * _local5); _local8 = true; if (_local6 > 2880){ _local6 = _arg1.width; _local8 = false; }; if (_local7 > 2880){ _local7 = _arg1.height; _local8 = false; }; if (!_local8){ Papervision3D.log((("Material " + this.name) + ": Texture too big for mip mapping. Resizing recommended for better performance and quality.")); }; if (((_arg1) && (((!(((_arg1.width % _local3) == 0))) || (!(((_arg1.height % _local3) == 0))))))){ _local2 = new BitmapData(_local6, _local7, _arg1.transparent, 0); widthOffset = _arg1.width; heightOffset = _arg1.height; this.maxU = (_arg1.width / _local6); this.maxV = (_arg1.height / _local7); _local2.draw(_arg1); (_local2, _arg1.width, _arg1.height); } else { this.maxU = (this.maxV = 1); _local2 = _arg1; }; return (_local2); } public function set texture(_arg1:Object):void{ if ((_arg1 is BitmapData) == false){ Papervision3D.log("Error: BitmapMaterial.texture requires a BitmapData object for the texture"); return; }; bitmap = createBitmap(BitmapData(_arg1)); _texture = _arg1; } protected function createBitmap(_arg1:BitmapData):BitmapData{ (); if (AUTO_MIP_MAPPING){ return ( (_arg1)); }; this.maxU = (this.maxV = 1); return (_arg1); } override public function toString():String{ return (((((("Texture:" + this.texture) + " lineColor:") + this.lineColor) + " lineAlpha:") + this.lineAlpha)); } override public function copy(_arg1:MaterialObject3D):void{ super.copy(_arg1); this.maxU = _arg1.maxU; this.maxV = _arg1.maxV; } protected function (_arg1:BitmapData, _arg2:Number, _arg3:Number):void{ var _local4:Rectangle; var _local5:Point; var _local6:int; _local4 = new Rectangle(); _local5 = new Point(); if (_arg1.width > _arg2){ _local4.x = (_arg2 - 1); _local4.y = 0; _local4.width = 1; _local4.height = _arg3; _local5.y = 0; _local6 = _arg2; while (_local6 < _arg1.width) { _local5.x = _local6; _arg1.copyPixels(_arg1, _local4, _local5); _local6++; }; }; if (_arg1.height > _arg3){ _local4.x = 0; _local4.y = (_arg3 - 1); _local4.width = _arg1.width; _local4.height = 1; _local5.x = 0; _local6 = _arg3; while (_local6 < _arg1.height) { _local5.y = _local6; _arg1.copyPixels(_arg1, _local4, _local5); _local6++; }; }; } override public function clone():MaterialObject3D{ var _local1:MaterialObject3D; _local1 = super.clone(); _local1.maxU = this.maxU; _local1.maxV = this.maxV; return (_local1); } } }//package org.papervision3d.materialsSection 55//ColorMaterial (org.papervision3d.materials.ColorMaterial) package org.papervision3d.materials { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; import org.papervision3d.core.proto.*; import org.papervision3d.core.draw.*; public class ColorMaterial extends MaterialObject3D implements IFaceDrawer { public function ColorMaterial(_arg1:Number=0xFF00FF, _arg2:Number=1, _arg3:Object=null){ this.fillColor = _arg1; this.fillAlpha = _arg2; } override public function drawFace3D(_arg1:DisplayObject3D, _arg2:Face3D, _arg3:Graphics, _arg4:Vertex2D, _arg5:Vertex2D, _arg6:Vertex2D):int{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; _local7 = _arg4.x; _local8 = _arg4.y; _local9 = _arg5.x; _local10 = _arg5.y; _local11 = _arg6.x; _local12 = _arg6.y; _arg3.beginFill(fillColor, fillAlpha); _arg3.moveTo(_local7, _local8); _arg3.lineTo(_local9, _local10); _arg3.lineTo(_local11, _local12); _arg3.lineTo(_local7, _local8); _arg3.endFill(); return (1); } override public function toString():String{ return (((("ColorMaterial - color:" + this.fillColor) + " alpha:") + this.fillAlpha)); } } }//package org.papervision3d.materialsSection 56//InteractiveMovieMaterial (org.papervision3d.materials.InteractiveMovieMaterial) package org.papervision3d.materials { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; public class InteractiveMovieMaterial extends MovieMaterial { public function InteractiveMovieMaterial(_arg1:Sprite, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function drawFace3D(_arg1:DisplayObject3D, _arg2:Face3D, _arg3:Graphics, _arg4:Vertex2D, _arg5:Vertex2D, _arg6:Vertex2D):int{ var _local7:int; _local7 = super.drawFace3D(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); if (((!((_arg1.interactiveSceneManager == null))) && (_local7))){ _arg1.interactiveSceneManager.drawFace(_arg1, _arg2, _arg4.x, _arg5.x, _arg6.x, _arg4.y, _arg5.y, _arg6.y); }; return (_local7); } } }//package org.papervision3d.materialsSection 57//MaterialsList (org.papervision3d.materials.MaterialsList) package org.papervision3d.materials { import org.papervision3d.core.proto.*; import flash.utils.*; public class MaterialsList { public var materialsByName:Dictionary; protected var :Dictionary; private var :int; public function MaterialsList(_arg1=null):void{ var _local2:String; var _local3:String; super(); this.materialsByName = new Dictionary(true); this. = new Dictionary(false); this. = 0; if (_arg1){ if ((_arg1 is Array)){ for (_local2 in _arg1) { this.(_arg1[_local2]); }; } else { if ((_arg1 is Object)){ for (_local3 in _arg1) { this.(_arg1[_local3], _local3); }; }; }; }; } public function get numMaterials():int{ return (this.); } public function (_arg1:MaterialObject3D, _arg2:String=null):MaterialObject3D{ _arg2 = ((((_arg2) || (_arg1.name))) || (String(_arg1.id))); this.[_arg1] = _arg2; this.materialsByName[_arg2] = _arg1; this.++; return (_arg1); } public function (_arg1:MaterialObject3D):MaterialObject3D{ delete this.materialsByName[this.[_arg1]]; delete this.[_arg1]; return (_arg1); } public function toString():String{ var _local1:String; var _local2:MaterialObject3D; _local1 = ""; for each (_local2 in this.materialsByName) { _local1 = (_local1 + (this.[_local2] + "\n")); }; return (_local1); } public function (_arg1:String):MaterialObject3D{ return ((getMaterialByName(_arg1))); } public function clone():MaterialsList{ var _local1:MaterialsList; var _local2:MaterialObject3D; _local1 = new MaterialsList(); for each (_local2 in this.materialsByName) { _local1.(_local2.clone(), this.[_local2]); }; return (_local1); } public function getMaterialByName(_arg1:String):MaterialObject3D{ return ((this.materialsByName[_arg1]) ? this.materialsByName[_arg1] : this.materialsByName["all"]); } } }//package org.papervision3d.materialsSection 58//MovieMaterial (org.papervision3d.materials.MovieMaterial) package org.papervision3d.materials { import flash.display.*; import flash.geom.*; import flash.utils.*; import org.papervision3d.*; public class MovieMaterial extends BitmapMaterial { public var :Boolean; public var :Boolean;// = true public var movie:DisplayObject; private static var animatedMaterials:Dictionary = new Dictionary(false); public function MovieMaterial(_arg1:DisplayObject=null, _arg2:Boolean=false, _arg3:Boolean=false){ = true; super(); = _arg2; this.animated = _arg3; if (_arg1){ texture = _arg1; }; } public function ():void{ var _local1:Matrix; bitmap.fillRect(bitmap.rect, this.fillColor); _local1 = new Matrix(); _local1.scale(movie.scaleX, movie.scaleY); bitmap.draw(movie, _local1, movie.transform.colorTransform); } override public function get texture():Object{ return (this._texture); } public function get animated():Boolean{ return (animatedMaterials[this]); } override public function set texture(_arg1:Object):void{ if ((_arg1 is DisplayObject) == false){ Papervision3D.log("Error: MovieMaterial.texture requires a Sprite to be passed as the object"); return; }; bitmap = (DisplayObject(_arg1)); _texture = _arg1; } protected function (_arg1:DisplayObject):BitmapData{ movie = _arg1; (movie); (); bitmap = super.createBitmap(bitmap); return (bitmap); } public function set animated(_arg1:Boolean):void{ animatedMaterials[this] = _arg1; } override public function updateBitmap():void{ var _local1:int; var _local2:int; _local1 = int(movie.width); _local2 = int(movie.height); if ((() && (((!((_local1 == bitmap.width))) || (!((_local2 == bitmap.height))))))){ (movie); }; (); } protected function (_arg1:DisplayObject):void{ if (bitmap){ bitmap.dispose(); }; bitmap = new BitmapData(_arg1.width, _arg1.height, this.); } public static function updateAnimatedBitmaps():void{ var _local1:Object; for (_local1 in animatedMaterials) { if (animatedMaterials[_local1]){ _local1.updateBitmap(); }; }; } } }//package org.papervision3d.materialsSection 59//WireframeMaterial (org.papervision3d.materials.WireframeMaterial) package org.papervision3d.materials { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; import org.papervision3d.core.proto.*; import org.papervision3d.core.draw.*; public class WireframeMaterial extends MaterialObject3D implements IFaceDrawer { public function WireframeMaterial(_arg1:Number=0xFF00FF, _arg2:Number=100){ this.lineColor = _arg1; this.lineAlpha = _arg2; this.doubleSided = false; } override public function drawFace3D(_arg1:DisplayObject3D, _arg2:Face3D, _arg3:Graphics, _arg4:Vertex2D, _arg5:Vertex2D, _arg6:Vertex2D):int{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; _local7 = _arg4.x; _local8 = _arg4.y; _local9 = _arg5.x; _local10 = _arg5.y; _local11 = _arg6.x; _local12 = _arg6.y; if (lineAlpha){ _arg3.lineStyle(0, lineColor, lineAlpha); _arg3.moveTo(_local7, _local8); _arg3.lineTo(_local9, _local10); _arg3.lineTo(_local11, _local12); _arg3.lineTo(_local7, _local8); _arg3.lineStyle(); return (1); }; return (0); } override public function toString():String{ return (((("WireframeMaterial - color:" + this.lineColor) + " alpha:") + this.lineAlpha)); } } }//package org.papervision3d.materialsSection 60//DisplayObject3D (org.papervision3d.objects.DisplayObject3D) package org.papervision3d.objects { import flash.display.*; import org.papervision3d.core.geom.*; import org.papervision3d.core.proto.*; import org.papervision3d.materials.*; import org.papervision3d.core.*; import com.blitzagency.xray.logger.*; import org.papervision3d.utils.*; import org.papervision3d.*; import org.papervision3d.scenes.*; public class DisplayObject3D extends DisplayObjectContainer3D { public var extra:Object; public var id:int; private var :Number; private var :Number; private var :Number; public var material:MaterialObject3D; public var meshSort:uint;// = 1 public var materials:MaterialsList; private var :Boolean;// = false public var transform:Matrix3D; public var screenZ:Number; public var visible:Boolean; private var :Number; private var :Number; private var :Number; public var geometry:GeometryObject3D; public var interactiveSceneManager:InteractiveSceneManager; public var :Number3D; public var name:String; public var container:Sprite; public var world:Matrix3D; public var parent:DisplayObjectContainer3D; public var view:Matrix3D; protected var :SceneObject3D;// = null public var faces:Array; protected var :Boolean;// = false private var :Boolean;// = false protected var _sorted:Array; public static const MESH_SORT_CENTER:uint = 1; public static const MESH_SORT_CLOSE:uint = 3; public static const MESH_SORT_FAR:uint = 2; private static var LEFT:Number3D = new Number3D(-1, 0, 0); private static var _totalDisplayObjects:int = 0; private static var UP:Number3D = new Number3D(0, 1, 0); private static var BACKWARD:Number3D = new Number3D(0, 0, -1); private static var FORWARD:Number3D = new Number3D(0, 0, 1); private static var DOWN:Number3D = new Number3D(0, -1, 0); public static var faceLevelMode:Boolean; private static var toDEGREES:Number = 57.2957795130823; private static var toRADIANS:Number = 0.0174532925199433; private static var RIGHT:Number3D = new Number3D(1, 0, 0); public function DisplayObject3D(_arg1:String=null, _arg2:GeometryObject3D=null, _arg3:Object=null):void{ var _local4:Number; = new Number3D(); = null; meshSort = MESH_SORT_CENTER; faces = new Array(); = false; = false; = false; super(); Papervision3D.log(("DisplayObject3D: " + _arg1)); this.transform = Matrix3D.IDENTITY; this.world = Matrix3D.IDENTITY; this.view = Matrix3D.IDENTITY; this.x = (_arg3) ? ((_arg3.x) || (0)) : 0; this.y = (_arg3) ? ((_arg3.y) || (0)) : 0; this.z = (_arg3) ? ((_arg3.z) || (0)) : 0; rotationX = (_arg3) ? ((_arg3.rotationX) || (0)) : 0; rotationY = (_arg3) ? ((_arg3.rotationY) || (0)) : 0; rotationZ = (_arg3) ? ((_arg3.rotationZ) || (0)) : 0; _local4 = (Papervision3D.usePERCENT) ? 100 : 1; scaleX = (_arg3) ? ((_arg3.scaleX) || (_local4)) : _local4; scaleY = (_arg3) ? ((_arg3.scaleY) || (_local4)) : _local4; scaleZ = (_arg3) ? ((_arg3.scaleZ) || (_local4)) : _local4; if (((_arg3) && (_arg3.extra))){ this.extra = _arg3.extra; }; if (((_arg3) && (_arg3.container))){ this.container = _arg3.container; }; this.visible = true; this.id = _totalDisplayObjects++; this.name = ((_arg1) || (String(this.id))); if (_arg2){ (_arg2); }; } public function set z(_arg1:Number):void{ this.transform.n34 = _arg1; } override public function addChild(_arg1:DisplayObject3D, _arg2:String=null):DisplayObject3D{ _arg1 = super.addChild(_arg1, _arg2); if (_arg1.scene == null){ _arg1.scene = scene; }; return (_arg1); } public function moveDown(_arg1:Number):void{ (_arg1, DOWN); } public function set scene(_arg1:SceneObject3D):void{ var _local2:DisplayObject3D; = _arg1; for each (_local2 in this._childrenByName) { if (_local2.scene == null){ _local2.scene = ; }; }; if (( is InteractiveScene3D) == false){ return; }; interactiveSceneManager = InteractiveScene3D().interactiveSceneManager; } public function project(_arg1:DisplayObject3D, _arg2:CameraObject3D, _arg3:Array=null):Number{ var _local4:Number; var _local5:Number; var _local6:DisplayObject3D; if (this.){ (); }; this.view.calculateMultiply(_arg1.view, this.transform); this.world.calculateMultiply(_arg1.world, this.transform); (_arg2); _local4 = 0; _local5 = 0; if (!_arg3){ _arg3 = new Array(); this._sorted = _arg3; }; for each (_local6 in this._childrenByName) { if (_local6.visible){ _local4 = (_local4 + _local6.project(this, _arg2, _arg3)); _local5++; }; }; return ((this.screenZ = (_local4 / _local5))); } private function (_arg1:CameraObject3D):void{ var _local2:Number; _local2 = ((_arg1.focus * _arg1.zoom) / (_arg1.focus + view.n34)); .x = (view.n14 * _local2); .y = (view.n24 * _local2); .z = view.n34; } public function lookAt(_arg1:DisplayObject3D, _arg2:Number3D=null):void{ var _local3:Number3D; var _local4:Number3D; var _local5:Number3D; var _local6:Number3D; var _local7:Number3D; var _local8:Matrix3D; var _local9:XrayLog; _local3 = new Number3D(this.x, this.y, this.z); _local4 = new Number3D(_arg1.x, _arg1.y, _arg1.z); _local5 = Number3D.sub(_local4, _local3); _local5.normalize(); if (_local5.modulo > 0.1){ _local6 = Number3D.cross(_local5, ((_arg2) || (UP))); _local6.normalize(); _local7 = Number3D.cross(_local5, _local6); _local7.normalize(); _local8 = this.transform; _local8.n11 = (_local6.x * ); _local8.n21 = (_local6.y * ); _local8.n31 = (_local6.z * ); _local8.n12 = (-(_local7.x) * ); _local8.n22 = (-(_local7.y) * ); _local8.n32 = (-(_local7.z) * ); _local8.n13 = (_local5.x * ); _local8.n23 = (_local5.y * ); _local8.n33 = (_local5.z * ); this. = false; this. = true; } else { _local9 = new XrayLog(); _local9.debug("lookAt Error"); }; } public function set rotationX(_arg1:Number):void{ this. = (Papervision3D.useDEGREES) ? (-(_arg1) * toRADIANS) : -(_arg1); this. = true; } public function set rotationY(_arg1:Number):void{ this. = (Papervision3D.useDEGREES) ? (-(_arg1) * toRADIANS) : -(_arg1); this. = true; } public function set rotationZ(_arg1:Number):void{ this. = (Papervision3D.useDEGREES) ? (-(_arg1) * toRADIANS) : -(_arg1); this. = true; } public function (_arg1:GeometryObject3D=null):void{ if (_arg1){ this.geometry = _arg1; }; } public function get sceneX():Number{ return (this.world.n14); } public function get scaleX():Number{ if (Papervision3D.usePERCENT){ return ((this. * 100)); }; return (this. ); } public function get scaleY():Number{ if (Papervision3D.usePERCENT){ return ((this. * 100)); }; return (this. ); } public function get scaleZ():Number{ if (Papervision3D.usePERCENT){ return ((this. * 100)); }; return (this. ); } public function moveUp(_arg1:Number):void{ (_arg1, UP); } public function get sceneZ():Number{ return (this.world.n34); } public function (_arg1:DisplayObject3D):Number{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = (this.x - _arg1.x); _local3 = (this.y - _arg1.y); _local4 = (this.z - _arg1.z); return (Math.sqrt((((_local2 * _local2) + (_local3 * _local3)) + (_local4 * _local4)))); } public function get sceneY():Number{ return (this.world.n24); } public function get scale():Number{ if ((((this. == this. )) && ((this. == this. )))){ if (Papervision3D.usePERCENT){ return ((this. * 100)); }; return (this. ); //unresolved jump }; return (NaN); } public function (_arg1:DisplayObject3D, _arg2:Number=1):Boolean{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local3 = (this.x - _arg1.x); _local4 = (this.y - _arg1.y); _local5 = (this.z - _arg1.z); _local6 = (((_local3 * _local3) + (_local4 * _local4)) + (_local5 * _local5)); _local7 = (this.geometry) ? this.geometry.boundingSphere2 : 0; _local8 = (_arg1.geometry) ? _arg1.geometry.boundingSphere2 : 0; _local7 = (_local7 * _arg2); return (((_local7 + _local8) > _local6)); } public function (_arg1:Number, _arg2:Number3D):void{ var _local3:Number3D; _local3 = _arg2.clone(); if (this.){ (); }; Matrix3D.rotateAxis(transform, _local3); this.x = (this.x + (_arg1 * _local3.x)); this.y = (this.y + (_arg1 * _local3.y)); this.z = (this.z + (_arg1 * _local3.z)); } private function ():void{ var _local1:Number3D; _local1 = Matrix3D.matrix2euler(this.transform); this. = (_local1.x * toRADIANS); this. = (_local1.y * toRADIANS); this. = (_local1.z * toRADIANS); this. = false; } public function pitch(_arg1:Number):void{ var _local2:Number3D; var _local3:Matrix3D; _arg1 = (Papervision3D.useDEGREES) ? (_arg1 * toRADIANS) : _arg1; _local2 = RIGHT.clone(); if (this.){ (); }; Matrix3D.rotateAxis(transform, _local2); _local3 = Matrix3D.rotationMatrix(_local2.x, _local2.y, _local2.z, _arg1); this.transform.calculateMultiply3x3(_local3, transform); this. = true; } public function yaw(_arg1:Number):void{ var _local2:Number3D; var _local3:Matrix3D; _arg1 = (Papervision3D.useDEGREES) ? (_arg1 * toRADIANS) : _arg1; _local2 = UP.clone(); if (this.){ (); }; Matrix3D.rotateAxis(transform, _local2); _local3 = Matrix3D.rotationMatrix(_local2.x, _local2.y, _local2.z, _arg1); this.transform.calculateMultiply3x3(_local3, transform); this. = true; } public function copyTransform(_arg1):void{ var _local2:Matrix3D; var _local3:Matrix3D; _local2 = this.transform; _local3 = ((_arg1 is DisplayObject3D)) ? _arg1.transform : _arg1; _local2.n11 = _local3.n11; _local2.n12 = _local3.n12; _local2.n13 = _local3.n13; _local2.n14 = _local3.n14; _local2.n21 = _local3.n21; _local2.n22 = _local3.n22; _local2.n23 = _local3.n23; _local2.n24 = _local3.n24; _local2.n31 = _local3.n31; _local2.n32 = _local3.n32; _local2.n33 = _local3.n33; _local2.n34 = _local3.n34; this. = false; this. = true; } public function get x():Number{ return (this.transform.n14); } public function get z():Number{ return (this.transform.n34); } override public function toString():String{ return (((((((this.name + ": x:") + Math.round(this.x)) + " y:") + Math.round(this.y)) + " z:") + Math.round(this.z))); } public function (_arg1:Number):void{ var _local2:Number3D; var _local3:Matrix3D; _arg1 = (Papervision3D.useDEGREES) ? (_arg1 * toRADIANS) : _arg1; _local2 = FORWARD.clone(); if (this.){ (); }; Matrix3D.rotateAxis(transform, _local2); _local3 = Matrix3D.rotationMatrix(_local2.x, _local2.y, _local2.z, _arg1); this.transform.calculateMultiply3x3(_local3, transform); this. = true; } public function getMaterialByName(_arg1:String):MaterialObject3D{ var _local2:MaterialObject3D; var _local3:DisplayObject3D; _local2 = this.materials.getMaterialByName(_arg1); if (_local2){ return (_local2); }; for each (_local3 in this._childrenByName) { _local2 = _local3.getMaterialByName(_arg1); if (_local2){ return (_local2); }; }; return (null); } public function moveLeft(_arg1:Number):void{ (_arg1, LEFT); } public function get scene():SceneObject3D{ return (); } public function get y():Number{ return (this.transform.n24); } public function set scale(_arg1:Number):void{ if (Papervision3D.usePERCENT){ _arg1 = (_arg1 / 100); }; this. = (this. = (this. = _arg1)); this. = true; } public function render(_arg1:SceneObject3D):void{ var _local2:Array; var _local3:Sprite; var _local4:Number; var _local5:Face3DInstance; var _local6:Number; var _local7:int; _local2 = this._sorted; _local2.sortOn("screenZ", (Array.DESCENDING | Array.NUMERIC)); _local3 = ((this.container) || (_arg1.container)); _local4 = 0; _local6 = _local2.length; _local7 = 0; while (_local7 < _local6) { _local5 = _local2[_local7]; if (faceLevelMode){ if (!_local5.container){ _local5.container = new InteractiveSprite(this); _arg1.container.addChild(_local5.container); } else { _local5.container.graphics.clear(); }; if (_local5.visible){ _local4 = (_local4 + _local5.face.render(_local5.instance, _local5.container)); }; } else { if (_local5.visible){ _local4 = (_local4 + _local5.face.render(_local5.instance, _local3)); }; }; _local7++; }; _arg1.stats.rendered = (_arg1.stats.rendered + _local4); } public function get rotationY():Number{ if (this. ){ (); }; return ((Papervision3D.useDEGREES) ? (-(this.) * toDEGREES) : -(this.)); } public function get rotationZ():Number{ if (this. ){ (); }; return ((Papervision3D.useDEGREES) ? (-(this. ) * toDEGREES) : -(this. )); } public function set scaleY(_arg1:Number):void{ if (Papervision3D.usePERCENT){ this. = (_arg1 / 100); } else { this. = _arg1; }; this. = true; } public function set scaleZ(_arg1:Number):void{ if (Papervision3D.usePERCENT){ this. = (_arg1 / 100); } else { this. = _arg1; }; this. = true; } public function get rotationX():Number{ if (this. ){ (); }; return ((Papervision3D.useDEGREES) ? (-(this.) * toDEGREES) : -(this.)); } public function set scaleX(_arg1:Number):void{ if (Papervision3D.usePERCENT){ this. = (_arg1 / 100); } else { this. = _arg1; }; this. = true; } protected function ():void{ var _local1:Object; var _local2:Matrix3D; var _local3:Matrix3D; var _local4:Matrix3D; _local1 = Matrix3D.euler2quaternion(-(this.), -(this. ), this.); _local2 = Matrix3D.quaternion2matrix(_local1.x, _local1.y, _local1.z, _local1.w); _local3 = this.transform; _local2.n14 = _local3.n14; _local2.n24 = _local3.n24; _local2.n34 = _local3.n34; _local3.copy(_local2); _local4 = Matrix3D.IDENTITY; _local4.n11 = this. ; _local4.n22 = this. ; _local4.n33 = this. ; this.transform.calculateMultiply(_local3, _local4); this. = false; } public function moveForward(_arg1:Number):void{ (_arg1, FORWARD); } public function (_arg1):void{ var _local2:Matrix3D; var _local3:Matrix3D; _local2 = this.transform; _local3 = ((_arg1 is DisplayObject3D)) ? _arg1.transform : _arg1; _local2.n14 = _local3.n14; _local2.n24 = _local3.n24; _local2.n34 = _local3.n34; } public function (_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = (this.x - _arg1); _local5 = (this.y - _arg2); _local6 = (this.z - _arg3); _local7 = (((_arg1 * _arg1) + (_arg2 * _arg2)) + (_arg3 * _arg3)); _local8 = (this.geometry) ? this.geometry.boundingSphere2 : 0; return ((_local8 > _local7)); } public function moveRight(_arg1:Number):void{ (_arg1, RIGHT); } public function moveBackward(_arg1:Number):void{ (_arg1, BACKWARD); } public function ():String{ var _local1:String; var _local2:String; var _local3:DisplayObject3D; _local1 = ""; for (_local2 in this.materials) { _local1 = (_local1 + (_local2 + "\n")); }; for each (_local3 in this._childrenByName) { for (_local2 in _local3.materials.materialsByName) { _local1 = (_local1 + (("+ " + _local2) + "\n")); }; }; return (_local1); } public function set x(_arg1:Number):void{ this.transform.n14 = _arg1; } public function set y(_arg1:Number):void{ this.transform.n24 = _arg1; } public static function get ZERO():DisplayObject3D{ return (new (DisplayObject3D)); } } }//package org.papervision3d.objectsSection 61//Plane (org.papervision3d.objects.Plane) package org.papervision3d.objects { import org.papervision3d.core.geom.*; import org.papervision3d.core.proto.*; import org.papervision3d.core.*; public class Plane extends Mesh3D { public var :Number; public var :Number; public static var DEFAULT_SCALE:Number = 1; public static var DEFAULT_SEGMENTS:Number = 1; public static var DEFAULT_SIZE:Number = 500; public function Plane(_arg1:MaterialObject3D=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0, _arg6:Object=null){ var _local7:Number; super(_arg1, new Array(), new Array(), null, _arg6); this. = ((_arg4) || (DEFAULT_SEGMENTS)); this. = ((_arg5) || (this.)); _local7 = DEFAULT_SCALE; if (!_arg3){ if (_arg2){ _local7 = _arg2; }; if (((_arg1) && (_arg1.bitmap))){ _arg2 = (_arg1.bitmap.width * _local7); _arg3 = (_arg1.bitmap.height * _local7); } else { _arg2 = (DEFAULT_SIZE * _local7); _arg3 = (DEFAULT_SIZE * _local7); }; }; (_arg2, _arg3); } private function (_arg1:Number, _arg2:Number):void{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Array; var _local8:Array; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:int; var _local14:NumberUV; var _local15:NumberUV; var _local16:NumberUV; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Vertex3D; var _local21:Vertex3D; var _local22:Vertex3D; _local3 = this.; _local4 = this.; _local5 = (_local3 + 1); _local6 = (_local4 + 1); _local7 = this.geometry.vertices; _local8 = this.geometry.faces; _local9 = (_arg1 / 2); _local10 = (_arg2 / 2); _local11 = (_arg1 / _local3); _local12 = (_arg2 / _local4); _local13 = 0; while (_local13 < (_local3 + 1)) { _local17 = 0; while (_local17 < _local6) { _local18 = ((_local13 * _local11) - _local9); _local19 = ((_local17 * _local12) - _local10); _local7.push(new Vertex3D(_local18, _local19, 0)); _local17++; }; _local13++; }; _local13 = 0; while (_local13 < _local3) { _local17 = 0; while (_local17 < _local4) { _local20 = _local7[((_local13 * _local6) + _local17)]; _local21 = _local7[((_local13 * _local6) + (_local17 + 1))]; _local22 = _local7[(((_local13 + 1) * _local6) + _local17)]; _local14 = new NumberUV((_local13 / _local3), (_local17 / _local4)); _local15 = new NumberUV((_local13 / _local3), ((_local17 + 1) / _local4)); _local16 = new NumberUV(((_local13 + 1) / _local3), (_local17 / _local4)); _local8.push(new Face3D([_local20, _local22, _local21], null, [_local14, _local16, _local15])); _local20 = _local7[(((_local13 + 1) * _local6) + (_local17 + 1))]; _local21 = _local7[(((_local13 + 1) * _local6) + _local17)]; _local22 = _local7[((_local13 * _local6) + (_local17 + 1))]; _local14 = new NumberUV(((_local13 + 1) / _local3), ((_local17 + 1) / _local4)); _local15 = new NumberUV(((_local13 + 1) / _local3), (_local17 / _local4)); _local16 = new NumberUV((_local13 / _local3), ((_local17 + 1) / _local4)); _local8.push(new Face3D([_local20, _local22, _local21], null, [_local14, _local16, _local15])); _local17++; }; _local13++; }; this.geometry.ready = true; } } }//package org.papervision3d.objectsSection 62//InteractiveScene3D (org.papervision3d.scenes.InteractiveScene3D) package org.papervision3d.scenes { import flash.display.*; import org.papervision3d.core.proto.*; import org.papervision3d.utils.*; public class InteractiveScene3D extends MovieScene3D { public var interactiveSceneManager:InteractiveSceneManager; public function InteractiveScene3D(_arg1:Sprite){ super(_arg1); interactiveSceneManager = new InteractiveSceneManager(this); } override public function renderCamera(_arg1:CameraObject3D):void{ interactiveSceneManager.resetFaces(); super.renderCamera(_arg1); interactiveSceneManager.sortObjects(); } } }//package org.papervision3d.scenesSection 63//MovieScene3D (org.papervision3d.scenes.MovieScene3D) package org.papervision3d.scenes { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.proto.*; import flash.utils.*; public class MovieScene3D extends Scene3D { private var :Dictionary; private var :Array; public function MovieScene3D(_arg1:Sprite){ super(_arg1); this. = new Array(); = new Dictionary(); } override public function addChild(_arg1:DisplayObject3D, _arg2:String=null):DisplayObject3D{ _arg1 = super.addChild(_arg1, _arg2); _arg1.container = new Sprite(); container.addChild(_arg1.container); this..push(_arg1.container); [_arg1] = _arg1.container; return (_arg1); } public function (_arg1:DisplayObject3D):Sprite{ return ([_arg1]); } override protected function renderObjects(_arg1:Boolean):void{ var _local2:Number; var _local3:Sprite; var _local4:Array; var _local5:Number; var _local6:DisplayObject3D; var _local7:Array; var _local8:Object; _local2 = this.objects.length; _local4 = this.; _local5 = 0; while ((_local3 = _local4[_local5++])) { _local3.graphics.clear(); }; _local7 = this.objects; _local5 = _local7.length; if (_arg1){ while ((_local6 = _local7[--_local5])) { if (_local6.visible){ container.addChild(_local6.container); _local6.render(this); }; }; } else { while ((_local6 = _local7[--_local5])) { if (_local6.visible){ _local6.render(this); }; }; }; _local8 = this.stats; _local8.performance = (getTimer() - _local8.performance); } override public function removeChild(_arg1:DisplayObject3D):DisplayObject3D{ var _local2:DisplayObject3D; var _local3:int; _local2 = super.removeChild(_arg1); _local3 = 0; while (_local3 < .length) { if (_local2.container == [_local3]){ this..splice(_local3, 1); }; _local3++; }; container.removeChild(_local2.container); delete [_local2]; return (_local2); } } }//package org.papervision3d.scenesSection 64//Scene3D (org.papervision3d.scenes.Scene3D) package org.papervision3d.scenes { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.proto.*; import flash.utils.*; public class Scene3D extends SceneObject3D { public function Scene3D(_arg1:Sprite){ super(_arg1); } override protected function renderObjects(_arg1:Boolean):void{ var _local2:DisplayObject3D; var _local3:Array; var _local4:Number; var _local5:Object; this.container.graphics.clear(); _local3 = this.objects; _local4 = _local3.length; while ((_local2 = _local3[--_local4])) { if (_local2.visible){ _local2.render(this); }; }; _local5 = this.stats; _local5.performance = (getTimer() - _local5.performance); } } }//package org.papervision3d.scenesSection 65//IVirtualMouseEvent (org.papervision3d.utils.virtualmouse.IVirtualMouseEvent) package org.papervision3d.utils.virtualmouse { public interface IVirtualMouseEvent { } }//package org.papervision3d.utils.virtualmouseSection 66//VirtualMouse (org.papervision3d.utils.virtualmouse.VirtualMouse) package org.papervision3d.utils.virtualmouse { import flash.display.*; import flash.events.*; import com.blitzagency.xray.logger.*; import flash.geom.*; import flash.utils.*; public class VirtualMouse extends EventDispatcher { private var _container:Sprite; private var :DisplayObject; private var target:InteractiveObject; private var :Boolean;// = false private var :Class; private var :Event; private var :Class; private var :Point; private var :int;// = 0 private var :Object; private var log:XrayLog; private var :Dictionary; private var :Boolean;// = false private var :Boolean;// = true private var :Point; private var :Boolean;// = false private var :Boolean;// = false private var altKey:Boolean;// = false private var :Boolean;// = false private var ctrlKey:Boolean;// = false private var shiftKey:Boolean;// = false private var :Stage; public static const UPDATE:String = "update"; private static var _mouseIsDown:Boolean = false; public function VirtualMouse(_arg1:Stage=null, _arg2:Sprite=null, _arg3:Number=0, _arg4:Number=0){ altKey = false; ctrlKey = false; shiftKey = false; = 0; = false; = false; = new Object(); = new Dictionary(true); = false; = false; = true; = false; = VirtualMouseEvent; = VirtualMouseMouseEvent; log = new XrayLog(); super(); this.stage = _arg1; this.container = _arg2; = new Point(_arg3, _arg4); = .clone(); addEventListener(UPDATE, ); update(); } public function get mouseIsDown():Boolean{ return (_mouseIsDown); } public function get stage():Stage{ return (); } public function exitContainer():void{ var _local1:Point; _local1 = target.globalToLocal(); if (![MouseEvent.MOUSE_OUT]){ = new (MouseEvent.MOUSE_OUT, true, false, _local1.x, _local1.y, container, ctrlKey, altKey, shiftKey, _mouseIsDown, ); container.dispatchEvent(); dispatchEvent(); }; if (![MouseEvent.ROLL_OUT]){ = new (MouseEvent.ROLL_OUT, false, false, _local1.x, _local1.y, container, ctrlKey, altKey, shiftKey, _mouseIsDown, ); container.dispatchEvent(); dispatchEvent(); }; if (target != container){ if (![MouseEvent.MOUSE_OUT]){ = new (MouseEvent.MOUSE_OUT, true, false, _local1.x, _local1.y, container, ctrlKey, altKey, shiftKey, _mouseIsDown, ); target.dispatchEvent(); dispatchEvent(); }; if (![MouseEvent.ROLL_OUT]){ = new (MouseEvent.ROLL_OUT, false, false, _local1.x, _local1.y, container, ctrlKey, altKey, shiftKey, _mouseIsDown, ); target.dispatchEvent(); dispatchEvent(); }; }; target = ; } public function release():void{ = true; _mouseIsDown = false; if (!){ update(); }; } public function click():void{ press(); release(); } public function get container():Sprite{ return (_container); } public function set container(_arg1:Sprite):void{ _container = _arg1; } public function get y():Number{ return (.y); } public function set x(_arg1:Number):void{ .x = _arg1; if (!){ update(); }; } public function (_arg1:String):void{ [_arg1] = true; } public function get lastEvent():Event{ return (); } private function (_arg1:Event):void{ var _local2:Array; var _local3:InteractiveObject; var _local4:DisplayObject; var _local5:int; var _local6:Point; var _local7:Point; var _local8:Boolean; if (!container){ return; }; _local2 = container.getObjectsUnderPoint(); _local5 = _local2.length; while (_local5--) { _local4 = _local2[_local5]; while (_local4) { if ([_local4]){ _local3 = null; break; }; if (((_local3) && ((_local4 is SimpleButton)))){ _local3 = null; } else { if (((_local3) && (!(DisplayObjectContainer(_local4).mouseChildren)))){ _local3 = null; }; }; if (((((!(_local3)) && ((_local4 is InteractiveObject)))) && (InteractiveObject(_local4).mouseEnabled))){ _local3 = InteractiveObject(_local4); }; _local4 = _local4.parent; }; if (_local3){ break; }; }; if (!_local3){ _local3 = ; log.debug("no new target found, using stage"); }; _local6 = target.globalToLocal(); _local7 = _local3.globalToLocal(); if (((!((.x == .x))) || (!((.y == .y))))){ _local8 = false; if (stage){ _local8 = (((((((.x >= 0)) && ((.y >= 0)))) && ((.x <= stage.stageWidth)))) && ((.y <= stage.stageHeight))); }; if (((((!(_local8)) && ( ))) && (!([Event.MOUSE_LEAVE])))){ = new (Event.MOUSE_LEAVE, false, false); stage.dispatchEvent(); dispatchEvent(); }; if (((_local8) && (!([MouseEvent.MOUSE_MOVE])))){ = new (MouseEvent.MOUSE_MOVE, true, false, _local7.x, _local7.y, _local3, ctrlKey, altKey, shiftKey, _mouseIsDown, ); _local3.dispatchEvent(); dispatchEvent(); }; = _local8; }; if (_local3 != target){ if (![MouseEvent.MOUSE_OUT]){ = new (MouseEvent.MOUSE_OUT, true, false, _local6.x, _local6.y, _local3, ctrlKey, altKey, shiftKey, _mouseIsDown, ); target.dispatchEvent(); dispatchEvent(); }; if (![MouseEvent.ROLL_OUT]){ = new (MouseEvent.ROLL_OUT, false, false, _local6.x, _local6.y, _local3, ctrlKey, altKey, shiftKey, _mouseIsDown, ); target.dispatchEvent(); dispatchEvent(); }; if (![MouseEvent.MOUSE_OVER]){ = new (MouseEvent.MOUSE_OVER, true, false, _local7.x, _local7.y, target, ctrlKey, altKey, shiftKey, _mouseIsDown, ); _local3.dispatchEvent(); dispatchEvent(); }; if (![MouseEvent.ROLL_OVER]){ = new (MouseEvent.ROLL_OVER, false, false, _local7.x, _local7.y, target, ctrlKey, altKey, shiftKey, _mouseIsDown, ); _local3.dispatchEvent(); dispatchEvent(); }; }; if (){ if (_mouseIsDown){ if (![MouseEvent.MOUSE_DOWN]){ = new (MouseEvent.MOUSE_DOWN, true, false, _local7.x, _local7.y, _local3, ctrlKey, altKey, shiftKey, _mouseIsDown, ); _local3.dispatchEvent(); dispatchEvent(); }; = _local3; = false; } else { if (![MouseEvent.MOUSE_UP]){ = new (MouseEvent.MOUSE_UP, true, false, _local7.x, _local7.y, _local3, ctrlKey, altKey, shiftKey, _mouseIsDown, ); _local3.dispatchEvent(); dispatchEvent(); }; if (((!([MouseEvent.CLICK])) && ((_local3 == )))){ = new (MouseEvent.CLICK, true, false, _local7.x, _local7.y, _local3, ctrlKey, altKey, shiftKey, _mouseIsDown, ); _local3.dispatchEvent(); dispatchEvent(); }; = null; = false; }; }; if ((((() && (!([MouseEvent.DOUBLE_CLICK])))) && (_local3.doubleClickEnabled))){ = new (MouseEvent.DOUBLE_CLICK, true, false, _local7.x, _local7.y, _local3, ctrlKey, altKey, shiftKey, _mouseIsDown, ); _local3.dispatchEvent(); dispatchEvent(); }; = .clone(); = _mouseIsDown; target = _local3; } public function ():Point{ return (.clone()); } public function get x():Number{ return (.x); } public function lock():void{ = true; } public function get useNativeEvents():Boolean{ return (); } public function setLocation(_arg1, _arg2=null):void{ var _local3:Point; if ((_arg1 is Point)){ _local3 = Point(_arg1); .x = _local3.x; .y = _local3.y; } else { .x = Number(_arg1); .y = Number(_arg2); }; if (!){ update(); }; } private function (_arg1:KeyboardEvent):void{ altKey = _arg1.altKey; ctrlKey = _arg1.ctrlKey; shiftKey = _arg1.shiftKey; } public function (_arg1:DisplayObject):void{ if ((_arg1 in )){ delete [_arg1]; }; } public function ():void{ if (){ release(); } else { click(); press(); = true; release(); = false; }; } public function update():void{ dispatchEvent(new Event(UPDATE, false, false)); } public function ignore(_arg1:DisplayObject):void{ [_arg1] = true; } public function ():void{ = false; update(); } public function (_arg1:String):void{ if ((_arg1 in )){ delete [_arg1]; }; } public function press():void{ = true; _mouseIsDown = true; if (!){ update(); }; } public function set useNativeEvents(_arg1:Boolean):void{ if (_arg1 == ){ return; }; = _arg1; if (){ = VirtualMouseEvent; = VirtualMouseMouseEvent; } else { = Event; = MouseEvent; }; } public function set y(_arg1:Number):void{ .y = _arg1; if (!){ update(); }; } public function set stage(_arg1:Stage):void{ var _local2:Boolean; if (){ _local2 = true; .removeEventListener(KeyboardEvent.KEY_DOWN, ); .removeEventListener(KeyboardEvent.KEY_UP, ); } else { _local2 = false; }; = _arg1; if (){ .addEventListener(KeyboardEvent.KEY_DOWN, ); .addEventListener(KeyboardEvent.KEY_UP, ); target = ; if (!_local2){ update(); }; }; } } }//package org.papervision3d.utils.virtualmouseSection 67//VirtualMouseEvent (org.papervision3d.utils.virtualmouse.VirtualMouseEvent) package org.papervision3d.utils.virtualmouse { import flash.events.*; public class VirtualMouseEvent extends Event implements IVirtualMouseEvent { public function VirtualMouseEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } } }//package org.papervision3d.utils.virtualmouseSection 68//VirtualMouseMouseEvent (org.papervision3d.utils.virtualmouse.VirtualMouseMouseEvent) package org.papervision3d.utils.virtualmouse { import flash.display.*; import flash.events.*; public class VirtualMouseMouseEvent extends MouseEvent implements IVirtualMouseEvent { public function VirtualMouseMouseEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:InteractiveObject=null, _arg7:Boolean=false, _arg8:Boolean=false, _arg9:Boolean=false, _arg10:Boolean=false, _arg11:int=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11); } } }//package org.papervision3d.utils.virtualmouseSection 69//InteractiveContainerData (org.papervision3d.utils.InteractiveContainerData) package org.papervision3d.utils { import flash.events.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; public class InteractiveContainerData extends EventDispatcher { public var container:InteractiveSprite; public var displayObject3D:DisplayObject3D;// = null public var lineColor:Number; public var lineAlpha:Number; public var fillAlpha:Number; public var sort:Boolean;// = false public var isDrawn:Boolean;// = false public var color:Number; public var lineSize:Number; public var face3d:Face3D; public function InteractiveContainerData(_arg1, _arg2:Number=0, _arg3:IEventDispatcher=null){ displayObject3D = null; isDrawn = false; sort = false; color = InteractiveSceneManager.DEFAULT_FILL_COLOR; fillAlpha = InteractiveSceneManager.DEFAULT_FILL_ALPHA; lineColor = InteractiveSceneManager.DEFAULT_LINE_COLOR; lineSize = InteractiveSceneManager.DEFAULT_LINE_SIZE; lineAlpha = InteractiveSceneManager.DEFAULT_LINE_ALPHA; super(_arg3); displayObject3D = (((_arg1 is DisplayObject3D) == true)) ? _arg1 : null; face3d = (((_arg1 is Face3D) == true)) ? _arg1 : null; if (displayObject3D != null){ this.container = new InteractiveSprite(_arg1); }; if (face3d != null){ if (face3d.face3DInstance.container != null){ this.container = InteractiveSprite(face3d.face3DInstance.container); } else { this.container = new InteractiveSprite(); }; }; color = _arg2; container.alpha = InteractiveSceneManager.DEFAULT_SPRITE_ALPHA; container.interactiveContainerData = this; } public function get screenZ():Number{ return (((displayObject3D)!=null) ? displayObject3D.screenZ : face3d.screenZ); } } }//package org.papervision3d.utilsSection 70//InteractiveSceneManager (org.papervision3d.utils.InteractiveSceneManager) package org.papervision3d.utils { import flash.display.*; import flash.events.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; import org.papervision3d.core.proto.*; import org.papervision3d.materials.*; import com.blitzagency.xray.logger.*; import flash.geom.*; import flash.utils.*; import org.papervision3d.utils.virtualmouse.*; import org.papervision3d.events.*; public class InteractiveSceneManager extends EventDispatcher { public var container:Sprite; public var scene:SceneObject3D; protected var :Boolean;// = true protected var log:XrayLog; private var :Boolean;// = false public var :Dictionary; public var :Mouse3D; public var :VirtualMouse; public var faceLevelMode:Boolean;// = false public var debug:Boolean;// = false protected var :Boolean;// = false public var buttonMode:Boolean;// = false public var :Dictionary; public static var DEFAULT_FILL_ALPHA:Number = 1; public static var DEFAULT_SPRITE_ALPHA:Number = 1; public static var DEFAULT_FILL_COLOR:Number = 0xFFFFFF; public static var DEFAULT_LINE_SIZE:Number = 1; public static var DEFAULT_LINE_ALPHA:Number = 1; public static var DEFAULT_LINE_COLOR:Number = -1; public static var MOUSE_IS_DOWN:Boolean = false; public static var SHOW_DRAWN_FACES:Boolean = false; public function InteractiveSceneManager(_arg1:SceneObject3D):void{ buttonMode = false; faceLevelMode = false; = false; = new Dictionary(); = new Dictionary(); container = new InteractiveSprite(); = new Mouse3D(); = new VirtualMouse(); debug = false; = true; = false; log = new XrayLog(); super(); container.addEventListener(Event.ADDED_TO_STAGE, ); scene = _arg1; scene.container.parent.addChild(container); container.x = scene.container.x; container.y = scene.container.y; enableMouse = false; } protected function (_arg1:MouseEvent):void{ = true; } public function sortObjects():void{ var _local1:Array; var _local2:InteractiveContainerData; var _local3:uint; var _local4:Number; _local1 = []; for each (_local2 in ) { if (!_local2.sort){ } else { _local4 = ((_local2.face3d == null)) ? _local2.screenZ : _local2.face3d.face3DInstance.screenZ; _local1.push({container:_local2.container, distance:_local4}); }; }; _local1.sortOn("distance", (Array.DESCENDING | Array.NUMERIC)); _local3 = 0; while (_local3 < _local1.length) { container.addChild(_local1[_local3].container); _local3++; }; if (mouseInteractionMode){ = false; }; } public function ():void{ SHOW_DRAWN_FACES = false; DEFAULT_SPRITE_ALPHA = 1; DEFAULT_FILL_ALPHA = 1; BitmapMaterial.AUTO_MIP_MAPPING = false; DisplayObject3D.faceLevelMode = false; buttonMode = true; faceLevelMode = true; mouseInteractionMode = false; } public function (_arg1:Object):void{ var _local2:InteractiveContainerData; var _local3:InteractiveSprite; if ([_arg1] == null){ _local2 = ([_arg1] = new InteractiveContainerData(_arg1)); [_local2.container] = _arg1; _local3 = _local2.container; _local3.addEventListener(MouseEvent.MOUSE_DOWN, ); _local3.addEventListener(MouseEvent.MOUSE_UP, ); _local3.addEventListener(MouseEvent.CLICK, ); _local3.addEventListener(MouseEvent.MOUSE_OVER, ); _local3.addEventListener(MouseEvent.MOUSE_OUT, ); _local3.addEventListener(MouseEvent.MOUSE_MOVE, ); _local3.buttonMode = buttonMode; if (((!(SHOW_DRAWN_FACES)) && (!(DisplayObject3D.faceLevelMode)))){ _local3.blendMode = BlendMode.ERASE; }; .ignore(_local3); dispatchEvent(new InteractiveScene3DEvent(InteractiveScene3DEvent.OBJECT_ADDED, null, _local3)); if (debug){ log.debug("addDisplayObject id", _arg1.id, _arg1.name, DEFAULT_SPRITE_ALPHA); }; }; } public function resetFaces():void{ var _local1:InteractiveContainerData; for each (_local1 in ) { _local1.container.graphics.clear(); _local1.sort = _local1.isDrawn; _local1.isDrawn = false; }; (); } public function ():void{ container.x = scene.container.x; container.y = scene.container.y; } protected function (_arg1:MouseEvent):void{ (InteractiveScene3DEvent.OBJECT_CLICK, Sprite(_arg1.currentTarget)); } protected function (_arg1:MouseEvent):void{ var face3d:Face3D; var p:Object; var mat:InteractiveMovieMaterial; var rect:Rectangle; var contains:Boolean; var e = _arg1; if (((VirtualMouse) && (((faceLevelMode) || (DisplayObject3D.faceLevelMode))))){ try { face3d = [e.currentTarget]; p = InteractiveUtils.getMapCoordAtPoint(face3d, container.mouseX, container.mouseY); mat = InteractiveMovieMaterial(face3d.face3DInstance.instance.material); rect = new Rectangle(0, 0, mat.movie.width, mat.movie.height); contains = rect.contains(p.x, p.y); if (!contains){ .exitContainer(); }; } catch(err:Error) { log.error("material type is not Interactive. If you're using a Collada object, you may have to reassign the material to the object after the collada scene is loaded", err.message); }; }; (InteractiveScene3DEvent.OBJECT_OUT, Sprite(e.currentTarget)); } public function drawFace(_arg1:DisplayObject3D, _arg2:Face3D, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{ var _local9:Object; var _local10:InteractiveContainerData; var _local11:InteractiveSprite; var _local12:Graphics; _local9 = _arg1; if (((faceLevelMode) || (DisplayObject3D.faceLevelMode))){ _local9 = _arg2; }; if ([_local9] == null){ (_local9); }; if ((() && (!(DisplayObject3D.faceLevelMode)))){ _local10 = [_local9]; _local11 = _local10.container; _local12 = _local11.graphics; _local11.x0 = _arg3; _local11.x1 = _arg4; _local11.x2 = _arg5; _local11.y0 = _arg6; _local11.y1 = _arg7; _local11.y2 = _arg8; _local12.beginFill(_local10.color, _local10.fillAlpha); if (((!((_local10.lineColor == -1))) && (SHOW_DRAWN_FACES))){ _local12.lineStyle(_local10.lineSize, _local10.lineColor, _local10.lineAlpha); }; _local12.moveTo(_arg3, _arg6); _local12.lineTo(_arg4, _arg7); _local12.lineTo(_arg5, _arg8); _local12.endFill(); _local10.isDrawn = true; }; } public function set enableMouse(_arg1:Boolean):void{ Mouse3D.enabled = _arg1; } protected function (_arg1:String, _arg2:Sprite):void{ var _local3:Face3D; var _local4:InteractiveContainerData; if (debug){ log.debug(_arg1, DisplayObject3D([_arg2]).name); }; if (([_arg2] is DisplayObject3D)){ [_arg2].dispatchEvent(new InteractiveScene3DEvent(_arg1, [_arg2], InteractiveSprite(_arg2))); dispatchEvent(new InteractiveScene3DEvent(_arg1, [_arg2], InteractiveSprite(_arg2), null, null)); } else { if (([_arg2] is Face3D)){ _local3 = [_arg2]; _local4 = [_local3]; dispatchEvent(new InteractiveScene3DEvent(_arg1, null, InteractiveSprite(_arg2), _local3, _local4)); }; }; } protected function (_arg1:MouseEvent):void{ var point:Object; var face3d:Face3D; var mat:MovieMaterial; var e = _arg1; if (((VirtualMouse) && (((faceLevelMode) || (DisplayObject3D.faceLevelMode))))){ face3d = [e.currentTarget]; point = InteractiveUtils.getMapCoordAtPoint(face3d, container.mouseX, container.mouseY); try { mat = (face3d.face3DInstance.instance.material as MovieMaterial); .container = (mat.movie as Sprite); if (.container){ .setLocation(point.x, point.y); }; } catch(err:Error) { log.error("material type is not Inter active. If you're using a Collada object, you may have to reassign the material to the object after the collada scene is loaded", err.message); }; }; (InteractiveScene3DEvent.OBJECT_MOVE, Sprite(e.currentTarget)); if (((Mouse3D.enabled) && (((faceLevelMode) || (DisplayObject3D.faceLevelMode))))){ .updatePosition(Face3D([e.currentTarget]), (e.currentTarget as Sprite)); }; } protected function (_arg1:MouseEvent):void{ var _local2:String; _local2 = (((!()) || (!(mouseInteractionMode)))) ? InteractiveScene3DEvent.OBJECT_OVER : InteractiveScene3DEvent.OBJECT_CLICK; = false; if ((() && ((_local2 == InteractiveScene3DEvent.OBJECT_CLICK)))){ .click(); }; (_local2, Sprite(_arg1.currentTarget)); } public function set mouseInteractionMode(_arg1:Boolean):void{ = _arg1; = !(_arg1); if (_arg1){ container.stage.addEventListener(MouseEvent.MOUSE_MOVE, ); }; if (!_arg1){ container.stage.removeEventListener(MouseEvent.MOUSE_MOVE, ); }; } public function get enableMouse():Boolean{ return (Mouse3D.enabled); } protected function (_arg1:MouseEvent):void{ MOUSE_IS_DOWN = true; if (){ .press(); }; (InteractiveScene3DEvent.OBJECT_PRESS, Sprite(_arg1.currentTarget)); } protected function (_arg1:MouseEvent):void{ if (debug){ log.debug("releaseOutside"); }; dispatchEvent(new InteractiveScene3DEvent(InteractiveScene3DEvent.OBJECT_RELEASE_OUTSIDE)); MOUSE_IS_DOWN = false; = true; = true; } public function get mouseInteractionMode():Boolean{ return ( ); } protected function (_arg1:Event):void{ container.stage.addEventListener(Event.RESIZE, ); container.stage.addEventListener(MouseEvent.MOUSE_UP, ); .stage = container.stage; } protected function (_arg1:MouseEvent):void{ MOUSE_IS_DOWN = false; if (){ .release(); }; (InteractiveScene3DEvent.OBJECT_RELEASE, Sprite(_arg1.currentTarget)); } protected function (_arg1:Event):void{ (); } } }//package org.papervision3d.utilsSection 71//InteractiveSprite (org.papervision3d.utils.InteractiveSprite) package org.papervision3d.utils { import flash.display.*; import org.papervision3d.objects.*; public class InteractiveSprite extends Sprite { public var interactiveContainerData:InteractiveContainerData;// = null public var x1:Number; public var x2:Number; public var x0:Number; public var y0:Number; public var y2:Number; public var obj:DisplayObject3D;// = null public var y1:Number; public function InteractiveSprite(_arg1:DisplayObject3D=null):void{ obj = null; interactiveContainerData = null; super(); this.obj = _arg1; } } }//package org.papervision3d.utilsSection 72//InteractiveUtils (org.papervision3d.utils.InteractiveUtils) package org.papervision3d.utils { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; import org.papervision3d.core.proto.*; import org.papervision3d.materials.*; public class InteractiveUtils { public static function getMapCoordAtPointDO3D(_arg1:DisplayObject3D, _arg2:Number, _arg3:Number):Object{ var _local4:Face3D; _local4 = _arg1.geometry.faces[0]; return (getMapCoordAtPoint(_local4, _arg2, _arg3)); } public static function UVatPoint(_arg1:Face3D, _arg2:Number, _arg3:Number):Object{ var _local4:Vertex3D; var _local5:Vertex3D; var _local6:Vertex3D; 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:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local4 = _arg1.v0; _local5 = _arg1.v1; _local6 = _arg1.v2; _local7 = _local4.vertex2DInstance.x; _local8 = _local4.vertex2DInstance.y; _local9 = _local5.vertex2DInstance.x; _local10 = _local5.vertex2DInstance.y; _local11 = _local6.vertex2DInstance.x; _local12 = _local6.vertex2DInstance.y; _local13 = (_local11 - _local7); _local14 = (_local12 - _local8); _local15 = (_local9 - _local7); _local16 = (_local10 - _local8); _local17 = (_arg2 - _local7); _local18 = (_arg3 - _local8); _local19 = ((_local13 * _local13) + (_local14 * _local14)); _local20 = ((_local13 * _local15) + (_local14 * _local16)); _local21 = ((_local13 * _local17) + (_local14 * _local18)); _local22 = ((_local15 * _local15) + (_local16 * _local16)); _local23 = ((_local15 * _local17) + (_local16 * _local18)); _local24 = (1 / ((_local19 * _local22) - (_local20 * _local20))); _local25 = (((_local22 * _local21) - (_local20 * _local23)) * _local24); _local26 = (((_local19 * _local23) - (_local20 * _local21)) * _local24); return ({u:_local25, v:_local26}); } public static function getMapCoordAtPoint(_arg1:Face3D, _arg2:Number, _arg3:Number):Object{ var _local4:Array; var _local5:Object; 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:Number; var _local16:MaterialObject3D; var _local17:BitmapData; var _local18:Number; var _local19:Number; _local4 = _arg1.uv; _local5 = UVatPoint(_arg1, _arg2, _arg3); _local6 = _local5.u; _local7 = _local5.v; _local8 = _local4[0].u; _local9 = _local4[1].u; _local10 = _local4[2].u; _local11 = _local4[0].v; _local12 = _local4[1].v; _local13 = _local4[2].v; _local14 = ((((_local9 - _local8) * _local7) + ((_local10 - _local8) * _local6)) + _local8); _local15 = ((((_local12 - _local11) * _local7) + ((_local13 - _local11) * _local6)) + _local11); _local16 = _arg1.face3DInstance.instance.material; _local17 = _local16.bitmap; _local18 = 1; _local19 = 1; if (_local17){ _local18 = (BitmapMaterial.AUTO_MIP_MAPPING) ? _local16.widthOffset : _local17.width; _local19 = (BitmapMaterial.AUTO_MIP_MAPPING) ? _local16.heightOffset : _local17.height; }; return ({x:(_local14 * _local18), y:(_local19 - (_local15 * _local19))}); } public static function getCoordAtPoint(_arg1:Face3D, _arg2:Number, _arg3:Number):Vertex3D{ var _local4:Object; 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:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local4 = UVatPoint(_arg1, _arg2, _arg3); _local5 = _arg1.v0.x; _local6 = _arg1.v0.y; _local7 = _arg1.v0.z; _local8 = _arg1.v1.x; _local9 = _arg1.v1.y; _local10 = _arg1.v1.z; _local11 = _arg1.v2.x; _local12 = _arg1.v2.y; _local13 = _arg1.v2.z; _local14 = _local4.u; _local15 = _local4.v; _local16 = ((_local5 + ((_local8 - _local5) * _local15)) + ((_local11 - _local5) * _local14)); _local17 = ((_local6 + ((_local9 - _local6) * _local15)) + ((_local12 - _local6) * _local14)); _local18 = ((_local7 + ((_local10 - _local7) * _local15)) + ((_local13 - _local7) * _local14)); return (new Vertex3D(_local16, _local17, _local18)); } } }//package org.papervision3d.utilsSection 73//Mouse3D (org.papervision3d.utils.Mouse3D) package org.papervision3d.utils { import flash.display.*; import org.papervision3d.objects.*; import org.papervision3d.core.geom.*; import org.papervision3d.core.*; public class Mouse3D extends DisplayObject3D { public static var enabled:Boolean = true; private static var UP:Number3D = new Number3D(0, 1, 0); public function Mouse3D(_arg1:Object=null):void{ } public function updatePosition(_arg1:Face3D, _arg2:Sprite):void{ var _local3:Number3D; var _local4:Number3D; var _local5:Number3D; var _local6:Matrix3D; var _local7:Matrix3D; var _local8:Number; var _local9:Number; var _local10:Number3D; var _local11:Number3D; var _local12:Matrix3D; _local3 = new Number3D(0, 0, 0); _local4 = new Number3D(_arg1.faceNormal.x, _arg1.faceNormal.y, _arg1.faceNormal.z); _local5 = Number3D.sub(_local4, _local3); _local5.normalize(); if (_local5.modulo > 0.1){ _local10 = Number3D.cross(_local5, UP); _local10.normalize(); _local11 = Number3D.cross(_local5, _local10); _local11.normalize(); _local12 = this.transform; _local12.n11 = _local10.x; _local12.n21 = _local10.y; _local12.n31 = _local10.z; _local12.n12 = -(_local11.x); _local12.n22 = -(_local11.y); _local12.n32 = -(_local11.z); _local12.n13 = _local5.x; _local12.n23 = _local5.y; _local12.n33 = _local5.z; }; _local6 = Matrix3D.IDENTITY; this.transform = Matrix3D.multiply(_arg1.face3DInstance.instance.world, _local12); _local7 = Matrix3D.IDENTITY; _local8 = _arg2.mouseX; _local9 = _arg2.mouseY; _local7.n14 = InteractiveUtils.getCoordAtPoint(_arg1, _local8, _local9).x; _local7.n24 = InteractiveUtils.getCoordAtPoint(_arg1, _local8, _local9).y; _local7.n34 = InteractiveUtils.getCoordAtPoint(_arg1, _local8, _local9).z; _local6.calculateMultiply(_arg1.face3DInstance.instance.world, _local7); x = _local6.n14; y = _local6.n24; z = _local6.n34; } } }//package org.papervision3d.utilsSection 74//Papervision3D (org.papervision3d.Papervision3D) package org.papervision3d { public class Papervision3D { public static var useDEGREES:Boolean = true; public static var VERBOSE:Boolean = true; public static var AUTHOR:String = "(c) 2006-2007 Copyright by Carlos Ulloa | papervision3d.org | carlos@papervision3d.org"; public static var DATE:String = "20.08.07"; public static var NAME:String = "Papervision3D"; public static var VERSION:String = "Beta 1.7"; public static var usePERCENT:Boolean = false; public static function log(_arg1:String):void{ if (Papervision3D.VERBOSE){ trace(_arg1); }; } } }//package org.papervision3dSection 75//assetBall (assetBall) package { import flash.display.*; public dynamic class assetBall extends MovieClip { } }//packageSection 76//assetEnemy (assetEnemy) package { import flash.display.*; public dynamic class assetEnemy extends MovieClip { public function assetEnemy(){ addFrameScript(59, frame60, 69, frame70); } function frame70(){ gotoAndPlay(1); } function frame60(){ gotoAndPlay(1); } } }//packageSection 77//assetFader (assetFader) package { import flash.display.*; public dynamic class assetFader extends MovieClip { } }//packageSection 78//assetLevelCompleteBar (assetLevelCompleteBar) package { import flash.display.*; public dynamic class assetLevelCompleteBar extends MovieClip { public function assetLevelCompleteBar(){ addFrameScript(7, ); } function (){ stop(); } } }//packageSection 79//assetPaddle (assetPaddle) package { import flash.display.*; public dynamic class assetPaddle extends MovieClip { public function assetPaddle(){ addFrameScript(59, frame60, 69, frame70); } function frame70(){ gotoAndPlay(1); } function frame60(){ gotoAndPlay(1); } } }//packageSection 80//assetReport (assetReport) package { import flash.display.*; public dynamic class assetReport extends MovieClip { public var arrow:MovieClip; } }//packageSection 81//assetRoundStart (assetRoundStart) package { import flash.display.*; public dynamic class assetRoundStart extends MovieClip { public function assetRoundStart(){ addFrameScript(39, ); } function (){ stop(); } } }//packageSection 82//assetShowLevels (assetShowLevels) package { import flash.display.*; public dynamic class assetShowLevels extends MovieClip { public function assetShowLevels(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//packageSection 83//assetStats (assetStats) package { import flash.display.*; import flash.text.*; public dynamic class assetStats extends MovieClip { public var points:TextField; public var upgrade:TextField; public var time:TextField; } }//packageSection 84//assetTally (assetTally) package { import flash.display.*; public dynamic class assetTally extends MovieClip { public function assetTally(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//packageSection 85//assetTotalTime (assetTotalTime) package { import flash.display.*; import flash.text.*; public dynamic class assetTotalTime extends MovieClip { public var time:TextField; } }//packageSection 86//levelCompleteStats (levelCompleteStats) package { import flash.display.*; import flash.text.*; public dynamic class levelCompleteStats extends MovieClip { public var tTargetHits:TextField; public var tUpgradePoints:TextField; public var tMisses:TextField; public var tBallVelocity:TextField; public var tFastestCurve:TextField; } }//packageSection 87//Menu (Menu) package { import flash.display.*; public dynamic class Menu extends MovieClip { public var btnPlayGame:SimpleButton; public var btnMore:SimpleButton; public var btnTutorial:SimpleButton; } }//packageSection 88//MochiAd (MochiAd) package { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiAd { public static function getVersion():String{ return ("2.5"); } public static function showClickAwayAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_timeout:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var sendHostProgress:Boolean; var options = _arg1; DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{ }, ad_finished:function ():void{ }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_timeout = options.ad_timeout; delete options.ad_timeout; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; sendHostProgress = false; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Number; var _local3:Boolean; var _local4:Number; if (!this.parent){ delete this.onEnterFrame; return; }; _local1 = this.parent._mochiad_ctr; _local2 = (getTimer() - this.started); _local3 = false; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; _local3 = true; chk.started = getTimer(); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (this.root == null){ _local3 = true; }; if (_local3){ delete this.onEnterFrame; }; }; doOnEnterFrame(chk); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function _allowDomains(_arg1:String):String{ var _local2:String; _local2 = _arg1.split("/")[2].split(":")[0]; Security.allowDomain("*"); Security.allowDomain(_local2); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(_local2); return (_local2); } public static function unload(_arg1:Object):Boolean{ if (((_arg1.clip) && (_arg1.clip._mochiad))){ _arg1 = _arg1.clip; }; if (_arg1.origFrameRate != undefined){ _arg1.stage.frameRate = _arg1.origFrameRate; }; if (!_arg1._mochiad){ return (false); }; if (_arg1._mochiad._containerLCName != undefined){ _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"}); }; if (_arg1._mochiad.onUnload){ _arg1._mochiad.onUnload(); }; delete _arg1._mochiad_loaded; delete _arg1._mochiad; return (true); } public static function showInterLevelAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var options = _arg1; DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; _local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = (_arg1 - 250); }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Number; var _local3:Boolean; var _local4:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; _local1 = this.parent._mochiad_ctr; _local2 = (getTimer() - this.started); _local3 = false; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (_local2 > chk.ad_msec){ _local3 = true; }; if (_local3){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _parseOptions(_arg1:Object, _arg2:Object):Object{ var _local3:Object; var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; _local3 = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; if (_arg1){ for (_local4 in _arg1) { _local3[_local4] = _arg1[_local4]; }; }; if (_local3.clip == undefined){ throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite.")); }; _arg1 = _local3.clip.loaderInfo.parameters.mochiad_options; if (_arg1){ _local5 = _arg1.split("&"); _local6 = 0; while (_local6 < _local5.length) { _local7 = _local5[_local6].split("="); _local3[unescape(_local7[0])] = unescape(_local7[1]); _local6++; }; }; if (_local3.id == "test"){ trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); }; return (_local3); } public static function _cleanup(_arg1:Object):void{ var idx:Number; var k:String; var lc:LocalConnection; var f:Function; var mc = _arg1; if (("lc" in mc)){ lc = mc.lc; f = function ():void{ try { lc.client = null; lc.close(); } catch(e:Error) { }; }; setTimeout(f, 0); }; idx = DisplayObjectContainer(mc).numChildren; while (idx > 0) { idx = (idx - 1); DisplayObjectContainer(mc).removeChildAt(idx); }; for (k in mc) { delete mc[k]; }; } public static function load(_arg1:Object):MovieClip{ var DEFAULTS:Object; var clip:Object; var depth:Number; var mc:MovieClip; var wh:Array; var lv:URLVariables; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var g:Function; var req:URLRequest; var v:Object; var options = _arg1; DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!MochiAd._isNetworkAvailable()){ return (null); }; try { if (clip._mochiad_loaded){ return (null); }; } catch(e:Error) { throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; depth = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, "_mochiad", depth); wh = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; }; lv = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; mc.lcName = name; lv.lc = name; lv.st = getTimer(); loader = new Loader(); g = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest((server + ".swf")); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.load(req); mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{ var _local4:Array; var _local5:Number; _local4 = _arg2.split("."); _local5 = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return (undefined); }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; if (typeof(_arg1[_local4[_local5]]) == "function"){ return (_arg1[_local4[_local5]].apply(_arg1, _arg3)); }; return (undefined); } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{ var _local4:MovieClip; _local4 = new MovieClip(); if (((false) && (_arg3))){ _arg1.addChildAt(_local4, _arg3); } else { _arg1.addChild(_local4); }; _arg1[_arg2] = _local4; _local4["_name"] = _arg2; return (_local4); } public static function _getRes(_arg1:Object, _arg2:Object):Array{ var _local3:Object; var _local4:Number; var _local5:Number; var _local6:Array; _local3 = _arg2.getBounds(_arg2.root); _local4 = 0; _local5 = 0; if (typeof(_arg1.res) != "undefined"){ _local6 = _arg1.res.split("x"); _local4 = parseFloat(_local6[0]); _local5 = parseFloat(_local6[1]); } else { _local4 = (_local3.xMax - _local3.xMin); _local5 = (_local3.yMax - _local3.yMin); }; if ((((_local4 == 0)) || ((_local5 == 0)))){ _local4 = _arg2.stage.stageWidth; _local5 = _arg2.stage.stageHeight; }; return ([_local4, _local5]); } public static function adShowing(_arg1:Object):void{ _arg1.origFrameRate = _arg1.stage.frameRate; _arg1.stage.frameRate = 30; } public static function getValue(_arg1:Object, _arg2:String):Object{ var _local3:Array; var _local4:Number; _local3 = _arg2.split("."); _local4 = 0; while (_local4 < (_local3.length - 1)) { if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){ return (undefined); }; _arg1 = _arg1[_local3[_local4]]; _local4++; }; return (_arg1[_local3[_local4]]); } public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{ var _local4:Object; var _local5:Object; switch (_arg3.id){ case "setValue": MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value); break; case "getValue": _local4 = MochiAd.getValue(_arg1, _arg3.objectName); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4); break; case "runMethod": _local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5); break; default: trace(("[mochiads rpc] unknown rpc id: " + _arg3.id)); }; } public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Array; var _local5:Number; _local4 = _arg2.split("."); _local5 = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return; }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; _arg1[_local4[_local5]] = _arg3; } public static function showPreGameAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var bar:MovieClip; var bar_color:Number; var bar_background:Number; var bar_outline:Number; var backing_mc:MovieClip; var backing:Object; var inside_mc:MovieClip; var inside:Object; var outline_mc:MovieClip; var outline:Object; var complete:Boolean; var unloaded:Boolean; var f:Function; var sendHostProgress:Boolean; var r:MovieClip; var options = _arg1; DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }, ad_progress:function (_arg1:Number):void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){ options.ad_started(); setTimeout(options.ad_finished, 100); return; }; clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ var fn:Function; MochiAd._cleanup(mc); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); bar = createEmptyMovieClip(chk, "_mochiad_bar", 4); if (options.no_progress_bar){ bar.visible = false; delete options.no_progress_bar; } else { bar.x = 10; bar.y = (h - 20); }; bar_color = options.color; delete options.color; bar_background = options.background; delete options.background; bar_outline = options.outline; delete options.outline; backing_mc = createEmptyMovieClip(bar, "_outline", 1); backing = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo((w - 20), 0); backing.lineTo((w - 20), 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); inside_mc = createEmptyMovieClip(bar, "_inside", 2); inside = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo((w - 20), 0); inside.lineTo((w - 20), 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; outline_mc = createEmptyMovieClip(bar, "_outline", 3); outline = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo((w - 20), 0); outline.lineTo((w - 20), 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number; _local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; f = function (_arg1:Event):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); complete = true; if (unloaded){ MochiAd.unload(clip); }; }; clip.loaderInfo.addEventListener(Event.COMPLETE, f); if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = _arg1; }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; mc.rpcTestFn = function (_arg1:String):Object{ trace(("[MOCHIAD rpcTestFn] " + _arg1)); return (_arg1); }; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; sendHostProgress = false; mc.sendHostLoadProgress = function (_arg1:String):void{ sendHostProgress = true; }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Object; var _local3:Number; var _local4:Boolean; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Object; var _local10:Number; var _local11:Number; if (((!(this.parent)) || (!(this.parent.parent)))){ delete this["onEnterFrame"]; return; }; _local1 = this.parent.parent.root; _local2 = this.parent._mochiad_ctr; _local3 = (getTimer() - this.started); _local4 = false; _local5 = _local1.loaderInfo.bytesTotal; _local6 = _local1.loaderInfo.bytesLoaded; if (complete){ _local6 = Math.max(1, _local6); _local5 = _local6; }; _local7 = ((100 * _local6) / _local5); _local8 = ((100 * _local3) / chk.ad_msec); _local9 = this._mochiad_bar._inside; _local10 = Math.min(100, Math.min(((_local7) || (0)), _local8)); _local10 = Math.max(this.last_pcnt, _local10); this.last_pcnt = _local10; _local9.scaleX = (_local10 * 0.01); options.ad_progress(_local10); if (sendHostProgress){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7}); if (_local7 == 100){ sendHostProgress = false; }; }; if (!chk.showing){ _local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local11 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){ options.ad_failed(); _local4 = true; }; }; }; if (_local3 > chk.ad_msec){ _local4 = true; }; if (((complete) && (_local4))){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0"); MochiAd.showPreGameAd(_arg1); } public static function showTimedAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0"); MochiAd.showInterLevelAd(_arg1); } public static function doOnEnterFrame(_arg1:MovieClip):void{ var f:Function; var mc = _arg1; f = function (_arg1:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//packageSection 89//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//packageSection 90//notEnoughPoints (notEnoughPoints) package { import flash.display.*; public dynamic class notEnoughPoints extends MovieClip { } }//packageSection 91//sndBeep (sndBeep) package { import flash.media.*; public dynamic class sndBeep extends Sound { } }//packageSection 92//sndBG2 (sndBG2) package { import flash.media.*; public dynamic class sndBG2 extends Sound { } }//packageSection 93//sndBG3 (sndBG3) package { import flash.media.*; public dynamic class sndBG3 extends Sound { } }//packageSection 94//sndBG4 (sndBG4) package { import flash.media.*; public dynamic class sndBG4 extends Sound { } }//packageSection 95//sndBG5 (sndBG5) package { import flash.media.*; public dynamic class sndBG5 extends Sound { } }//packageSection 96//sndDing (sndDing) package { import flash.media.*; public dynamic class sndDing extends Sound { } }//packageSection 97//sndHitRing (sndHitRing) package { import flash.media.*; public dynamic class sndHitRing extends Sound { } }//packageSection 98//sndMiss (sndMiss) package { import flash.media.*; public dynamic class sndMiss extends Sound { } }//packageSection 99//sndSpawn (sndSpawn) package { import flash.media.*; public dynamic class sndSpawn extends Sound { } }//package
Library Items
Symbol 1 Font | Used by:2 3 4 5 6 7 173 175 177 | |
Symbol 2 Text | Uses:1 | Used by:8 |
Symbol 3 EditableText | Uses:1 | Used by:8 |
Symbol 4 EditableText | Uses:1 | Used by:8 |
Symbol 5 EditableText | Uses:1 | Used by:8 |
Symbol 6 EditableText | Uses:1 | Used by:8 |
Symbol 7 EditableText | Uses:1 | Used by:8 |
Symbol 8 MovieClip {levelCompleteStats} | Uses:2 3 4 5 6 7 | |
Symbol 9 Graphic | Used by:10 | |
Symbol 10 MovieClip {notEnoughPoints} | Uses:9 | Used by:271 |
Symbol 11 ShapeTweening | Used by:15 | |
Symbol 12 ShapeTweening | Used by:15 | |
Symbol 13 ShapeTweening | Used by:15 | |
Symbol 14 Graphic | Used by:15 | |
Symbol 15 MovieClip {assetLevelCompleteBar} | Uses:11 12 13 14 | Used by:179 |
Symbol 16 Graphic | Used by:22 | |
Symbol 17 Font | Used by:18 21 24 140 170 171 172 183 200 204 209 | |
Symbol 18 EditableText | Uses:17 | Used by:22 |
Symbol 19 Bitmap | Used by:20 245 | |
Symbol 20 Graphic | Uses:19 | Used by:22 |
Symbol 21 EditableText | Uses:17 | Used by:22 |
Symbol 22 MovieClip {engine_fla.preloader_1} | Uses:16 18 20 21 | Used by:Timeline |
Symbol 23 Graphic | Used by:61 135 142 | |
Symbol 24 EditableText | Uses:17 | Used by:61 |
Symbol 25 Graphic | Used by:26 | |
Symbol 26 MovieClip | Uses:25 | Used by:27 |
Symbol 27 MovieClip {net.amp3d.entropy.LineWave} | Uses:26 | Used by:61 135 142 |
Symbol 28 ShapeTweening | Used by:61 | |
Symbol 29 Graphic | Used by:61 | |
Symbol 30 Bitmap | Used by:31 | |
Symbol 31 Graphic | Uses:30 | Used by:32 |
Symbol 32 MovieClip | Uses:31 | Used by:33 |
Symbol 33 MovieClip {engine_fla.logo_blurin_6} | Uses:32 | Used by:61 135 142 179 211 |
Symbol 34 ShapeTweening | Used by:49 | |
Symbol 35 ShapeTweening | Used by:49 | |
Symbol 36 ShapeTweening | Used by:49 | |
Symbol 37 ShapeTweening | Used by:49 | |
Symbol 38 Graphic | Used by:49 | |
Symbol 39 ShapeTweening | Used by:49 | |
Symbol 40 Graphic | Used by:49 | |
Symbol 41 ShapeTweening | Used by:49 | |
Symbol 42 Graphic | Used by:49 | |
Symbol 43 ShapeTweening | Used by:49 | |
Symbol 44 Graphic | Used by:49 | |
Symbol 45 ShapeTweening | Used by:49 | |
Symbol 46 Graphic | Used by:49 | |
Symbol 47 Graphic | Used by:49 | |
Symbol 48 Graphic | Used by:49 | |
Symbol 49 MovieClip {engine_fla.gameOver_animationIn_8} | Uses:34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | Used by:61 |
Symbol 50 Graphic | Used by:51 54 | |
Symbol 51 MovieClip | Uses:50 | Used by:54 |
Symbol 52 Sound | Used by:54 57 125 129 169 189 191 193 195 197 249 258 282 | |
Symbol 53 Sound | Used by:54 57 125 129 169 189 191 193 195 197 249 258 282 | |
Symbol 54 Button | Uses:51 50 52 53 | Used by:61 142 179 |
Symbol 55 Graphic | Used by:56 57 | |
Symbol 56 MovieClip | Uses:55 | Used by:57 |
Symbol 57 Button | Uses:56 55 52 53 | Used by:61 |
Symbol 58 Font | Used by:59 122 123 126 127 130 131 246 260 261 262 264 | |
Symbol 59 Text | Uses:58 | Used by:61 141 |
Symbol 60 Graphic | Used by:61 | |
Symbol 61 MovieClip {net.amp3d.entropy.GameOver} | Uses:23 24 27 28 29 33 49 54 57 59 60 | Used by:282 |
Symbol 62 Graphic | Used by:63 | |
Symbol 63 MovieClip | Uses:62 | Used by:77 282 |
Symbol 64 Graphic | Used by:68 | |
Symbol 65 Graphic | Used by:68 | |
Symbol 66 ShapeTweening | Used by:68 | |
Symbol 67 Graphic | Used by:68 | |
Symbol 68 MovieClip {assetEnemy} | Uses:64 65 66 67 | Used by:282 |
Symbol 69 ShapeTweening | Used by:75 | |
Symbol 70 Graphic | Used by:75 | |
Symbol 71 ShapeTweening | Used by:75 | |
Symbol 72 ShapeTweening | Used by:75 | |
Symbol 73 ShapeTweening | Used by:75 | |
Symbol 74 Graphic | Used by:75 | |
Symbol 75 MovieClip {assetFader} | Uses:69 70 71 72 73 74 | Used by:282 |
Symbol 76 Graphic | Used by:77 | |
Symbol 77 MovieClip {assetReport} | Uses:76 63 | Used by:282 |
Symbol 78 ShapeTweening | Used by:87 | |
Symbol 79 ShapeTweening | Used by:87 | |
Symbol 80 Graphic | Used by:87 | |
Symbol 81 ShapeTweening | Used by:87 | |
Symbol 82 ShapeTweening | Used by:87 | |
Symbol 83 Graphic | Used by:87 | |
Symbol 84 Graphic | Used by:87 | |
Symbol 85 ShapeTweening | Used by:87 | |
Symbol 86 Graphic | Used by:87 | |
Symbol 87 MovieClip {assetPaddle} | Uses:78 79 80 81 82 83 84 85 86 | Used by:282 |
Symbol 88 ShapeTweening | Used by:91 | |
Symbol 89 ShapeTweening | Used by:91 | |
Symbol 90 Graphic | Used by:91 | |
Symbol 91 MovieClip {engine_fla.redflash_18} | Uses:88 89 90 | Used by:109 282 |
Symbol 92 Graphic | Used by:103 | |
Symbol 93 Font | Used by:94 97 101 117 | |
Symbol 94 Text | Uses:93 | Used by:103 |
Symbol 95 Font | Used by:96 98 102 118 | |
Symbol 96 EditableText | Uses:95 | Used by:103 |
Symbol 97 Text | Uses:93 | Used by:103 |
Symbol 98 EditableText | Uses:95 | Used by:103 |
Symbol 99 Bitmap | Used by:100 | |
Symbol 100 Graphic | Uses:99 | Used by:103 |
Symbol 101 Text | Uses:93 | Used by:103 |
Symbol 102 EditableText | Uses:95 | Used by:103 |
Symbol 103 MovieClip {assetStats} | Uses:92 94 96 97 98 100 101 102 | Used by:282 |
Symbol 104 Graphic | Used by:109 | |
Symbol 105 ShapeTweening | Used by:108 | |
Symbol 106 ShapeTweening | Used by:108 | |
Symbol 107 Graphic | Used by:108 | |
Symbol 108 MovieClip {engine_fla.greenflash_21} | Uses:105 106 107 | Used by:109 |
Symbol 109 MovieClip {assetTally} | Uses:91 104 108 | Used by:282 |
Symbol 110 Graphic | Used by:116 | |
Symbol 111 ShapeTweening | Used by:116 | |
Symbol 112 ShapeTweening | Used by:116 | |
Symbol 113 ShapeTweening | Used by:116 | |
Symbol 114 ShapeTweening | Used by:116 | |
Symbol 115 Graphic | Used by:116 | |
Symbol 116 MovieClip {assetBall} | Uses:110 111 112 113 114 115 | Used by:282 |
Symbol 117 Text | Uses:93 | Used by:119 |
Symbol 118 EditableText | Uses:95 | Used by:119 |
Symbol 119 MovieClip {assetTotalTime} | Uses:117 118 | Used by:282 |
Symbol 120 Graphic | Used by:121 125 129 133 | |
Symbol 121 MovieClip | Uses:120 | Used by:124 128 132 |
Symbol 122 Text | Uses:58 | Used by:124 125 |
Symbol 123 Text | Uses:58 | Used by:124 125 |
Symbol 124 MovieClip | Uses:121 122 123 | Used by:125 |
Symbol 125 Button | Uses:124 120 122 123 52 53 | Used by:135 |
Symbol 126 Text | Uses:58 | Used by:128 129 |
Symbol 127 Text | Uses:58 | Used by:128 129 |
Symbol 128 MovieClip | Uses:121 126 127 | Used by:129 |
Symbol 129 Button | Uses:128 120 126 127 52 53 | Used by:135 |
Symbol 130 Text | Uses:58 | Used by:132 133 |
Symbol 131 Text | Uses:58 | Used by:132 133 |
Symbol 132 MovieClip | Uses:121 130 131 | Used by:133 |
Symbol 133 Button | Uses:132 120 130 131 | Used by:135 |
Symbol 134 Graphic | Used by:135 | |
Symbol 135 MovieClip {Menu} | Uses:23 27 33 125 129 133 134 | Used by:282 |
Symbol 136 Graphic | Used by:137 | |
Symbol 137 MovieClip | Uses:136 | Used by:142 |
Symbol 138 Graphic | Used by:139 | |
Symbol 139 MovieClip | Uses:138 | Used by:142 |
Symbol 140 EditableText | Uses:17 | Used by:142 |
Symbol 141 MovieClip | Uses:59 | Used by:142 |
Symbol 142 MovieClip {net.amp3d.entropy.GameWin} | Uses:23 27 137 139 140 54 141 33 | Used by:282 |
Symbol 143 Graphic | Used by:179 | |
Symbol 144 ShapeTweening | Used by:166 | |
Symbol 145 ShapeTweening | Used by:166 | |
Symbol 146 Graphic | Used by:166 | |
Symbol 147 ShapeTweening | Used by:166 | |
Symbol 148 Graphic | Used by:166 | |
Symbol 149 ShapeTweening | Used by:166 | |
Symbol 150 Graphic | Used by:166 | |
Symbol 151 ShapeTweening | Used by:166 | |
Symbol 152 ShapeTweening | Used by:166 | |
Symbol 153 Graphic | Used by:166 | |
Symbol 154 ShapeTweening | Used by:166 | |
Symbol 155 Graphic | Used by:166 | |
Symbol 156 ShapeTweening | Used by:166 | |
Symbol 157 Graphic | Used by:166 | |
Symbol 158 ShapeTweening | Used by:166 | |
Symbol 159 Graphic | Used by:166 | |
Symbol 160 ShapeTweening | Used by:166 | |
Symbol 161 Graphic | Used by:166 | |
Symbol 162 ShapeTweening | Used by:166 | |
Symbol 163 ShapeTweening | Used by:166 | |
Symbol 164 ShapeTweening | Used by:166 | |
Symbol 165 Graphic | Used by:166 | |
Symbol 166 MovieClip {engine_fla.levelComplete_37} | Uses:144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | Used by:179 |
Symbol 167 Graphic | Used by:168 169 | |
Symbol 168 MovieClip | Uses:167 | Used by:169 |
Symbol 169 Button | Uses:168 167 52 53 | Used by:179 |
Symbol 170 EditableText | Uses:17 | Used by:179 |
Symbol 171 EditableText | Uses:17 | Used by:179 |
Symbol 172 EditableText | Uses:17 | Used by:179 |
Symbol 173 Text | Uses:1 | Used by:174 |
Symbol 174 MovieClip | Uses:173 | Used by:179 |
Symbol 175 Text | Uses:1 | Used by:176 |
Symbol 176 MovieClip | Uses:175 | Used by:179 |
Symbol 177 Text | Uses:1 | Used by:178 |
Symbol 178 MovieClip | Uses:177 | Used by:179 |
Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} | Uses:143 33 166 15 169 54 170 171 172 174 176 178 | Used by:282 |
Symbol 180 Graphic | Used by:211 | |
Symbol 181 Bitmap | Used by:182 | |
Symbol 182 Graphic | Uses:181 | Used by:211 |
Symbol 183 Text | Uses:17 | Used by:211 |
Symbol 184 Font | Used by:185 201 205 206 210 | |
Symbol 185 Text | Uses:184 | Used by:211 |
Symbol 186 Graphic | Used by:187 189 191 193 195 197 | |
Symbol 187 MovieClip | Uses:186 | Used by:189 191 193 195 197 |
Symbol 188 Graphic | Used by:189 | |
Symbol 189 Button | Uses:187 188 186 52 53 | Used by:211 |
Symbol 190 Graphic | Used by:191 | |
Symbol 191 Button | Uses:187 190 186 52 53 | Used by:211 |
Symbol 192 Graphic | Used by:193 | |
Symbol 193 Button | Uses:187 192 186 52 53 | Used by:211 |
Symbol 194 Graphic | Used by:195 | |
Symbol 195 Button | Uses:187 194 186 52 53 | Used by:211 |
Symbol 196 Graphic | Used by:197 | |
Symbol 197 Button | Uses:187 196 186 52 53 | Used by:211 |
Symbol 198 Bitmap | Used by:199 | |
Symbol 199 Graphic | Uses:198 | Used by:211 |
Symbol 200 Text | Uses:17 | Used by:211 |
Symbol 201 Text | Uses:184 | Used by:211 |
Symbol 202 Bitmap | Used by:203 | |
Symbol 203 Graphic | Uses:202 | Used by:211 |
Symbol 204 Text | Uses:17 | Used by:211 |
Symbol 205 Text | Uses:184 | Used by:211 |
Symbol 206 Text | Uses:184 | Used by:211 |
Symbol 207 Bitmap | Used by:208 | |
Symbol 208 Graphic | Uses:207 | Used by:211 |
Symbol 209 Text | Uses:17 | Used by:211 |
Symbol 210 Text | Uses:184 | Used by:211 |
Symbol 211 MovieClip {net.amp3d.entropy.Tutorial} | Uses:180 182 183 185 189 191 193 195 197 33 199 200 201 203 204 205 206 208 209 210 | Used by:282 |
Symbol 212 Graphic | Used by:213 | |
Symbol 213 MovieClip {net.amp3d.assets.Whiteflash} | Uses:212 | Used by:282 |
Symbol 214 Graphic | Used by:229 | |
Symbol 215 Graphic | Used by:229 | |
Symbol 216 Graphic | Used by:229 | |
Symbol 217 Graphic | Used by:229 | |
Symbol 218 Graphic | Used by:229 | |
Symbol 219 Graphic | Used by:229 | |
Symbol 220 Graphic | Used by:229 | |
Symbol 221 Graphic | Used by:229 | |
Symbol 222 Graphic | Used by:229 | |
Symbol 223 Graphic | Used by:229 | |
Symbol 224 Graphic | Used by:229 | |
Symbol 225 Graphic | Used by:229 | |
Symbol 226 Graphic | Used by:229 | |
Symbol 227 Graphic | Used by:229 | |
Symbol 228 Graphic | Used by:229 | |
Symbol 229 MovieClip {assetShowLevels} | Uses:214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | Used by:282 |
Symbol 230 Graphic | Used by:244 | |
Symbol 231 Graphic | Used by:244 | |
Symbol 232 ShapeTweening | Used by:244 | |
Symbol 233 ShapeTweening | Used by:244 | |
Symbol 234 Graphic | Used by:244 | |
Symbol 235 Graphic | Used by:244 | |
Symbol 236 ShapeTweening | Used by:244 | |
Symbol 237 ShapeTweening | Used by:244 | |
Symbol 238 Graphic | Used by:244 | |
Symbol 239 Graphic | Used by:244 | |
Symbol 240 ShapeTweening | Used by:244 | |
Symbol 241 ShapeTweening | Used by:244 | |
Symbol 242 Graphic | Used by:244 | |
Symbol 243 Graphic | Used by:244 | |
Symbol 244 MovieClip {assetRoundStart} | Uses:230 231 232 233 234 235 236 237 238 239 240 241 242 243 | Used by:282 |
Symbol 245 Graphic | Uses:19 | Used by:271 |
Symbol 246 EditableText | Uses:58 | Used by:271 |
Symbol 247 Graphic | Used by:248 249 | |
Symbol 248 MovieClip | Uses:247 | Used by:249 |
Symbol 249 Button | Uses:248 247 52 53 | Used by:271 |
Symbol 250 Graphic | Used by:251 | |
Symbol 251 MovieClip | Uses:250 | Used by:258 |
Symbol 252 Graphic | Used by:257 258 | |
Symbol 253 ShapeTweening | Used by:257 258 | |
Symbol 254 ShapeTweening | Used by:257 258 | |
Symbol 255 Graphic | Used by:257 258 | |
Symbol 256 Graphic | Used by:257 | |
Symbol 257 MovieClip | Uses:252 253 254 255 256 | Used by:258 |
Symbol 258 Button | Uses:251 257 252 253 254 255 52 53 | Used by:271 |
Symbol 259 Graphic | Used by:271 | |
Symbol 260 EditableText | Uses:58 | Used by:271 |
Symbol 261 EditableText | Uses:58 | Used by:271 |
Symbol 262 EditableText | Uses:58 | Used by:271 |
Symbol 263 Graphic | Used by:271 | |
Symbol 264 Text | Uses:58 | Used by:271 |
Symbol 265 Graphic | Used by:270 | |
Symbol 266 ShapeTweening | Used by:269 | |
Symbol 267 ShapeTweening | Used by:269 | |
Symbol 268 Graphic | Used by:269 | |
Symbol 269 MovieClip {engine_fla.greenLoadIn_61} | Uses:266 267 268 | Used by:270 |
Symbol 270 MovieClip {engine_fla.upgrade_levels_60} | Uses:265 269 | Used by:271 |
Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} | Uses:245 246 249 258 259 260 261 262 263 264 270 10 | Used by:282 |
Symbol 272 Sound {sndBG2} | Used by:282 | |
Symbol 273 Sound {sndBeep} | Used by:282 | |
Symbol 274 Sound {sndBG3} | Used by:282 | |
Symbol 275 Sound {sndDing} | Used by:282 | |
Symbol 276 Sound {sndHitRing} | Used by:282 | |
Symbol 277 Sound {sndMiss} | Used by:282 | |
Symbol 278 Sound {sndBG4} | Used by:282 | |
Symbol 279 Sound {sndBG5} | Used by:282 | |
Symbol 280 Sound {sndSpawn} | Used by:282 | |
Symbol 281 Sound | Used by:282 | |
Symbol 282 MovieClip {engine_fla.holdEVERYTHING_2} | Uses:61 63 68 75 77 87 91 103 109 116 119 135 142 179 211 213 229 244 271 272 273 274 275 276 277 278 52 279 280 281 53 | Used by:Timeline |
Symbol 283 Video | Used by:286 | |
Symbol 284 Graphic | Used by:285 | |
Symbol 285 MovieClip | Uses:284 | Used by:286 |
Symbol 286 MovieClip {engine_fla.parLogo_63} | Uses:283 285 | Used by:Timeline |
Instance Names
"preloader" | Frame 1 | Symbol 22 MovieClip {engine_fla.preloader_1} |
"movie" | Frame 4 | Symbol 286 MovieClip {engine_fla.parLogo_63} |
"tFastestCurve" | Symbol 8 MovieClip {levelCompleteStats} Frame 1 | Symbol 3 EditableText |
"tTargetHits" | Symbol 8 MovieClip {levelCompleteStats} Frame 1 | Symbol 4 EditableText |
"tUpgradePoints" | Symbol 8 MovieClip {levelCompleteStats} Frame 1 | Symbol 5 EditableText |
"tMisses" | Symbol 8 MovieClip {levelCompleteStats} Frame 1 | Symbol 6 EditableText |
"tBallVelocity" | Symbol 8 MovieClip {levelCompleteStats} Frame 1 | Symbol 7 EditableText |
"loadingText" | Symbol 22 MovieClip {engine_fla.preloader_1} Frame 1 | Symbol 18 EditableText |
"loadingText2" | Symbol 22 MovieClip {engine_fla.preloader_1} Frame 1 | Symbol 21 EditableText |
"w1" | Symbol 27 MovieClip {net.amp3d.entropy.LineWave} Frame 1 | Symbol 26 MovieClip |
"w4" | Symbol 27 MovieClip {net.amp3d.entropy.LineWave} Frame 1 | Symbol 26 MovieClip |
"w2" | Symbol 27 MovieClip {net.amp3d.entropy.LineWave} Frame 1 | Symbol 26 MovieClip |
"w5" | Symbol 27 MovieClip {net.amp3d.entropy.LineWave} Frame 1 | Symbol 26 MovieClip |
"w3" | Symbol 27 MovieClip {net.amp3d.entropy.LineWave} Frame 1 | Symbol 26 MovieClip |
"w6" | Symbol 27 MovieClip {net.amp3d.entropy.LineWave} Frame 1 | Symbol 26 MovieClip |
"userScore" | Symbol 61 MovieClip {net.amp3d.entropy.GameOver} Frame 1 | Symbol 24 EditableText |
"btnHS" | Symbol 61 MovieClip {net.amp3d.entropy.GameOver} Frame 1 | Symbol 54 Button |
"btnMenu" | Symbol 61 MovieClip {net.amp3d.entropy.GameOver} Frame 1 | Symbol 57 Button |
"arrow" | Symbol 77 MovieClip {assetReport} Frame 1 | Symbol 63 MovieClip |
"points" | Symbol 103 MovieClip {assetStats} Frame 1 | Symbol 96 EditableText |
"time" | Symbol 103 MovieClip {assetStats} Frame 1 | Symbol 98 EditableText |
"upgrade" | Symbol 103 MovieClip {assetStats} Frame 1 | Symbol 102 EditableText |
"time" | Symbol 119 MovieClip {assetTotalTime} Frame 1 | Symbol 118 EditableText |
"btnPlayGame" | Symbol 135 MovieClip {Menu} Frame 1 | Symbol 125 Button |
"btnTutorial" | Symbol 135 MovieClip {Menu} Frame 1 | Symbol 129 Button |
"btnMore" | Symbol 135 MovieClip {Menu} Frame 1 | Symbol 133 Button |
"yourScore" | Symbol 142 MovieClip {net.amp3d.entropy.GameWin} Frame 1 | Symbol 140 EditableText |
"sHighScore" | Symbol 142 MovieClip {net.amp3d.entropy.GameWin} Frame 1 | Symbol 54 Button |
"a2" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 15 MovieClip {assetLevelCompleteBar} |
"a1" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 15 MovieClip {assetLevelCompleteBar} |
"sUpgrades" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 169 Button |
"sHighScore" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 54 Button |
"timebonus" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 170 EditableText |
"roundbonus" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 171 EditableText |
"totalscore" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 172 EditableText |
"tTimeBonus" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 174 MovieClip |
"tRoundPoints" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 176 MovieClip |
"tRoundScore" | Symbol 179 MovieClip {net.amp3d.assets.assetLevelComplete} Frame 1 | Symbol 178 MovieClip |
"btnexit" | Symbol 211 MovieClip {net.amp3d.entropy.Tutorial} Frame 1 | Symbol 189 Button |
"btnupgrade" | Symbol 211 MovieClip {net.amp3d.entropy.Tutorial} Frame 1 | Symbol 191 Button |
"btngameplay" | Symbol 211 MovieClip {net.amp3d.entropy.Tutorial} Frame 1 | Symbol 193 Button |
"btncurve" | Symbol 211 MovieClip {net.amp3d.entropy.Tutorial} Frame 1 | Symbol 195 Button |
"btntargets" | Symbol 211 MovieClip {net.amp3d.entropy.Tutorial} Frame 1 | Symbol 197 Button |
"pointsLeft" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 246 EditableText |
"btnNextLevel" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 249 Button |
"btnCurve" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 258 Button |
"btnSpeed" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 258 Button |
"btnPaddle" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 258 Button |
"cPaddle" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 260 EditableText |
"cCurve" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 261 EditableText |
"cSpeed" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 262 EditableText |
"rSpeed" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 270 MovieClip {engine_fla.upgrade_levels_60} |
"rCurve" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 270 MovieClip {engine_fla.upgrade_levels_60} |
"rPaddle" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 270 MovieClip {engine_fla.upgrade_levels_60} |
"nep" | Symbol 271 MovieClip {net.amp3d.entropy.UpgradeMenu} Frame 1 | Symbol 10 MovieClip {notEnoughPoints} |
Special Tags
FileAttributes (69) | Timeline Frame 1 | Access local files only, Metadata not present, AS3. |
Tag 0x0FF (255) | Timeline Frame 1 | 1 bytes " " |
|