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

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

Shape-a-licious.swf

This is the info page for
Flash #48824

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


Text
?

Avoid All the blue Area!
Even with the mouse !

Move with WASD or arrows
aim and grab with the Mouse

Match similar shapes to destroy them

Avoid mismatching
Avoid getting hit

But above all, avoid RED,
even the mouse gets hurt

Combo by keeping the mouse pressed
and not getting hit

Good Luck

Pause with -u-

Touch power-up circles to activate them

You better rest a little...

Congratulations!!

Game Over

0

Score

Biggest Combo

+0

...

play more games on

Loading...

www.kongregate.com

Shape-a-licious

Shape-a-licious

Play

Settings

Credits

HiScores

Checklist

:

0

Life

Combo

+0

Level:

0

Adventure Combo

Meteor Storm

Hurricane

Hard Mode

Scramble

Challenge

Adventure

0

0

0

0

0

0

0

HighScores

Adventure

Meteor Storm

Hard Mode

Hurricane

Challenge

Scramble

Checklist

Complete adventure mode

Combo of 100 or more in adventure mode

Complete adventure mode scoring 45,000 or more

Hard Mode Completed

Combo of 200 or more in adventure mode

Score 2500 or more in Meteor Storm

Score 1500 or more in Scramble

Score 2000 or more in Hurricane

Complete the Challenge

:

0

+0

0

Meteor Storm

:

0

+0

0

Scramble

:

0

+0

0

Challenge

:

0

+0

0

Hard

:

0

+0

0

Hurricane

Team VillaVanilla

Music by 3206 and WuSchell

Special thanks to Belem "Fragola" Del Angel

BetaTesting by Horo the Wise Wolf

Development by OddGoo

Settings

Quality

Erase all progress

ActionScript [AS3]

Section 1
//Bosses (clss.Bosses) package clss { import flash.events.*; import flash.display.*; import flash.utils.*; public class Bosses extends MovieClip { public var life:uint; public var dying:Boolean; public var dead:Boolean; public var hit:Boolean; public function Bosses(){ var _local1:Timer; super(); addFrameScript(0, frame1, 1, frame2, 2, frame3); _local1 = new Timer(100, 0); _local1.addEventListener("timer", Acciones); _local1.start(); } function Acciones(_arg1:TimerEvent){ if (life <= 0){ dying = true; }; if (((dying) && ((alpha > 0.5)))){ alpha = (alpha - 0.03); scaleX = (scaleX + 0.1); scaleY = (scaleY + 0.1); }; if (alpha <= 0.5){ dead = true; }; if (((hit) && (!(dying)))){ alpha = (alpha + 0.1); }; if (alpha >= 1){ hit = false; }; } function frame3(){ life = 20; } public function kill(){ dying = true; } function frame1(){ life = 15; } function frame2(){ life = 10; } public function HIT(){ life--; if (!dying){ hit = true; }; if (!dying){ alpha = 0.7; }; } } }//package clss
Section 2
//BOULDER (clss.BOULDER) package clss { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.filters.*; public class BOULDER extends MovieClip { public var originX:int; public var originY:int; public var id:Boolean; public var tipo:String; private var myFilter:DropShadowFilter; public var advSpeed:int; public var thisTimer:Timer; public var accSpeed:int; public var gfx:MovieClip; public var tick:Boolean; public var grabbed:MovieClip; public var fuerzaX:int; public var Bfocus:Boolean; public var fuerzaY:int; public var Ofocus:Boolean; private var pausado:Boolean; public var bandera:int; static var arregloBoulders:Array = new Array(); public function BOULDER(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:int){ addFrameScript(0, frame1); myFilter = new DropShadowFilter(5, 45, 0, 0.5, 2, 2); alpha = 0; scaleX = 1.2; scaleY = 1.2; advSpeed = _arg3; accSpeed = _arg2; fuerzaX = _arg4; fuerzaY = _arg5; pausado = false; tipo = _arg1; if (tipo == "gemA"){ gfx.gotoAndStop(1); } else { if (tipo == "gemB"){ gfx.gotoAndStop(2); } else { if (tipo == "gemC"){ gfx.gotoAndStop(3); } else { if (tipo == "gemD"){ gfx.gotoAndStop(4); } else { if (tipo == "gemE"){ gfx.gotoAndStop(5); } else { if (tipo == "gemF"){ gfx.gotoAndStop(6); }; }; }; }; }; }; addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); Bfocus = false; Ofocus = false; grabbed.alpha = 0; } public function Acciones(_arg1:TimerEvent){ if (MAIN.pausado == false){ if (alpha < 1){ alpha = (alpha + 0.01); }; fuerzaX = (fuerzaX + ((originX - x) / (10 / accSpeed))); fuerzaY = (fuerzaY + ((originY - y) / (10 / accSpeed))); if (fuerzaX > 50000){ fuerzaX = 50000; }; if (fuerzaX < -50000){ fuerzaX = -50000; }; if (fuerzaY > 50000){ fuerzaY = 50000; }; if (fuerzaY < -50000){ fuerzaY = -50000; }; x = (x + (fuerzaX / (10000 / advSpeed))); y = (y + (fuerzaY / (10000 / advSpeed))); rotation++; if (tick == true){ if (bandera == 0){ scaleX = 1.1; scaleY = 1.1; bandera = 1; } else { scaleX = 0.9; scaleY = 0.9; bandera = 0; }; tick = false; }; }; } public function mouseUpHandler(_arg1:MouseEvent){ stopDrag(); grabbed.alpha = 0; Bfocus = false; } public function mouseDownHandler(_arg1:MouseEvent){ if (MAIN.pausado == false){ startDrag(true); grabbed.alpha = 100; fuerzaX = 0; fuerzaY = 0; Bfocus = true; }; } function frame1(){ thisTimer = new Timer(10, 0); thisTimer.addEventListener("timer", Acciones); thisTimer.start(); bandera = 0; originX = (550 / 2); originY = (400 / 2); tick = false; } public function mouseOverHandler(_arg1:MouseEvent){ if (_arg1.buttonDown){ if (MAIN.pausado == false){ startDrag(true); grabbed.alpha = 100; fuerzaX = 0; fuerzaY = 0; Bfocus = true; }; }; } } }//package clss
Section 3
//FPSCounter (clss.FPSCounter) package clss { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.text.*; public class FPSCounter extends MovieClip { private var startTick:Number; private var FPS:TextField; private var numFrames:Number; public function FPSCounter(){ numFrames = 0; startTick = getTimer(); FPS = new TextField(); FPS.textColor = 0x666666; addChild(FPS); addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function onEnterFrame(_arg1:Event):void{ var _local2:Number; numFrames++; _local2 = ((getTimer() - startTick) * 0.001); if (_local2 > 0.1){ FPS.text = ("FPS: " + (Math.floor(((numFrames / _local2) * 10)) / 10)); }; } } }//package clss
Section 4
//HELP (clss.HELP) package clss { import flash.events.*; import flash.display.*; import flash.utils.*; public class HELP extends MovieClip { var Desplegando;// = true var contador:int;// = 1 public var helpDialog:MovieClip; var bandera:Boolean;// = false public function HELP(_arg1:int){ var _local2:Timer; bandera = false; contador = 1; Desplegando = true; super(); addFrameScript(0, frame1); _local2 = new Timer(10, 0); _local2.addEventListener("timer", Acciones); _local2.start(); alpha = 0; helpDialog.gotoAndStop(_arg1); } function Acciones(_arg1:TimerEvent){ if (Desplegando == true){ if (alpha < 1){ alpha = (alpha + 0.01); }; }; if (Desplegando == false){ if (alpha > 0){ alpha = (alpha - 0.01); }; }; } function frame1(){ } } }//package clss
Section 5
//Key (clss.Key) package clss { import flash.events.*; public class Key { private var keys:Array; public function Key(_arg1:Object):void{ keys = new Array(222); _arg1.addEventListener(KeyboardEvent.KEY_DOWN, downhandle, false, 0, true); _arg1.addEventListener(KeyboardEvent.KEY_UP, uphandle, false, 0, true); } private function uphandle(_arg1:KeyboardEvent):void{ keys[_arg1.keyCode] = false; } public function isUp(_arg1:uint, ... _args):Boolean{ var _local3:uint; if (_args.length == 0){ return (!(keys[_arg1])); }; if (keys[_arg1]){ return (false); }; _local3 = 0; while (_local3 < _args.length) { if (keys[_args[_local3]]){ return (false); }; _local3++; }; return (true); } private function downhandle(_arg1:KeyboardEvent):void{ keys[_arg1.keyCode] = true; } public function isDown(_arg1:uint, ... _args):Boolean{ var _local3:uint; if (_args.length == 0){ return (keys[_arg1]); }; if (!keys[_arg1]){ return (false); }; _local3 = 0; while (_local3 < _args.length) { if (!keys[_args[_local3]]){ return (false); }; _local3++; }; return (true); } } }//package clss
Section 6
//LEVELS (clss.LEVELS) package clss { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.media.*; public class LEVELS { private const xQUARTER:int = 137; private const xHALF:int = 275; private const yHALF:int = 200; private const xTHIRD:int = 183; private const yQUARTER:int = 100; private const yTHIRD:int = 133; private var target:MovieClip; public var timerGenesis:Timer; private var uniqueNameId:uint;// = 1 private var telon:TELON; private var k:int;// = 1 private var uniqueModId:uint;// = 1 public var boss:Bosses; public var currLevel:uint; private var tempB:uint;// = 10 public var contador:uint;// = 1 private var ayuda:HELP; private var tempA:uint;// = 10 static var thisRedZone:redZone; public function LEVELS(_arg1:MovieClip){ uniqueNameId = 1; uniqueModId = 1; contador = 1; tempA = 10; tempB = 10; k = 1; super(); currLevel = 1; target = _arg1; thisRedZone = null; timerGenesis = new Timer(100, 0); timerGenesis.addEventListener("timer", cicloGenesis); timerGenesis.start(); } public function dispatchRedZone(){ thisRedZone = null; thisRedZone = new redZone(currLevel); thisRedZone.x = 275; thisRedZone.y = 200; thisRedZone.name = "mainRedZone"; target.addChild(thisRedZone); } public function Level08(){ levelTransition(); if (contador == 4){ newMod(450, 50, "Wind"); newMod(450, 350, "Wind"); newBoulder(50, (yQUARTER / 2), "gemA", 0.5, 2); newBoulder(50, (yQUARTER * 1.5), "gemB", 0.5, 2); newBoulder(50, (yQUARTER * 2.5), "gemC", 0.5, 2); newBoulder(50, (yQUARTER * 3.5), "gemD", 0.5, 2); newBoulder(500, (yQUARTER / 2), "gemA", 1, 2); newBoulder(500, (yQUARTER * 1.5), "gemB", 1, 2); newBoulder(500, (yQUARTER * 2.5), "gemC", 1, 2); newBoulder(500, (yQUARTER * 3.5), "gemD", 1, 2); }; if (contador == 100){ newMod(450, 50, "Wind"); newMod(450, 350, "Wind"); newBoulder(50, ((yQUARTER / 2) - 15), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER * 1.5) - 15), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER * 2.5) - 15), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER * 3.5) - 15), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER / 2) + 15), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER * 1.5) + 15), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER * 2.5) + 15), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER * 3.5) + 15), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER / 2) + 45), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER * 1.5) + 45), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER * 2.5) + 45), "gemB", 0.5, 2); newBoulder(50, ((yQUARTER * 3.5) + 45), "gemB", 0.5, 2); }; if ((((contador > 100)) && (isFinished()))){ advanceLevel(); }; if ((((contador > 150)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function Level09(){ var _local1:int; var _local2:int; levelTransition(); _local1 = 2; _local2 = 6; if (contador == 20){ newBoulder(-10, yQUARTER, "gemB", _local1, _local2); }; if (contador == 22){ newBoulder(-10, yQUARTER, "gemB", _local1, _local2); }; if (contador == 24){ newBoulder(-10, yQUARTER, "gemB", _local1, _local2); }; if (contador == 26){ newBoulder(-10, yQUARTER, "gemB", _local1, _local2); }; if (contador == 40){ newBoulder(560, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 42){ newBoulder(560, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 44){ newBoulder(560, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 46){ newBoulder(560, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 60){ newBoulder(560, yQUARTER, "gemA", _local1, _local2); }; if (contador == 62){ newBoulder(560, yQUARTER, "gemC", _local1, _local2); }; if (contador == 64){ newBoulder(560, yQUARTER, "gemA", _local1, _local2); }; if (contador == 66){ newBoulder(560, yQUARTER, "gemC", _local1, _local2); }; if (contador == 80){ newBoulder(-10, (yQUARTER * 3), "gemA", _local1, _local2); }; if (contador == 82){ newBoulder(-10, (yQUARTER * 3), "gemC", _local1, _local2); }; if (contador == 84){ newBoulder(-10, (yQUARTER * 3), "gemA", _local1, _local2); }; if (contador == 86){ newBoulder(-10, (yQUARTER * 3), "gemC", _local1, _local2); }; if (contador == 100){ newBoulder(-10, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 102){ newBoulder(-10, (yQUARTER * 3), "gemD", _local1, _local2); }; if (contador == 104){ newBoulder(-10, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 106){ newBoulder(-10, (yQUARTER * 3), "gemD", _local1, _local2); }; if (contador == 108){ newBoulder(-10, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 110){ newBoulder(-10, (yQUARTER * 3), "gemD", _local1, _local2); }; if (contador == 120){ newBoulder(-10, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 122){ newBoulder(-10, (yQUARTER * 3), "gemD", _local1, _local2); }; if (contador == 124){ newBoulder(-10, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 126){ newBoulder(-10, (yQUARTER * 3), "gemD", _local1, _local2); }; if (contador == 128){ newBoulder(-10, (yQUARTER * 3), "gemB", _local1, _local2); }; if (contador == 130){ newBoulder(-10, (yQUARTER * 3), "gemD", _local1, _local2); }; if (contador == 150){ newBoulder(-10, yQUARTER, "gemB", _local1, _local2); }; if (contador == 152){ newBoulder(-10, yQUARTER, "gemD", _local1, _local2); }; if (contador == 154){ newBoulder(-10, yQUARTER, "gemB", _local1, _local2); }; if (contador == 156){ newBoulder(-10, yQUARTER, "gemD", _local1, _local2); }; if (contador == 158){ newBoulder(-10, yQUARTER, "gemB", _local1, _local2); }; if (contador == 160){ newBoulder(-10, yQUARTER, "gemD", _local1, _local2); }; if (contador == 170){ newBoulder(560, yQUARTER, "gemB", _local1, _local2); }; if (contador == 172){ newBoulder(560, yQUARTER, "gemD", _local1, _local2); }; if (contador == 174){ newBoulder(560, yQUARTER, "gemB", _local1, _local2); }; if (contador == 176){ newBoulder(560, yQUARTER, "gemD", _local1, _local2); }; if (contador == 178){ newBoulder(560, yQUARTER, "gemB", _local1, _local2); }; if (contador == 180){ newBoulder(560, yQUARTER, "gemD", _local1, _local2); }; if ((((contador > 180)) && (isFinished()))){ advanceLevel(); }; if ((((contador > 250)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function Level13(){ levelTransition(); if (contador == 15){ newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemA", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemA", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemA", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemA", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemB", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemB", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemB", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemB", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemE", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemE", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemE", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemE", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemD", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemD", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemD", 1, 1); newBoulder(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "gemD", 1, 1); newMod(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "Kaos"); newMod(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "Kaos"); newMod(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "Kaos"); newMod(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "Kaos"); newMod(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "Kaos"); newMod(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "Kaos"); newMod(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "Kaos"); newMod(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "Kaos"); newMod(((xHALF * 2) * Math.random()), ((yHALF * 2) * Math.random()), "Kaos"); }; if ((((contador > 15)) && (isFinished()))){ advanceLevel(); }; if ((((contador > 60)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function cicloGenesis(_arg1:TimerEvent){ target.txtlevel.text = String(currLevel); if (MAIN.pausado == false){ if (currLevel == 1){ Level01(); } else { if (currLevel == 1){ Level01(); } else { if (currLevel == 2){ Level02(); } else { if (currLevel == 3){ Level03(); } else { if (currLevel == 4){ Level04(); } else { if (currLevel == 5){ Level05(); } else { if (currLevel == 6){ Level06(); } else { if (currLevel == 7){ Level07(); } else { if (currLevel == 8){ Level08(); } else { if (currLevel == 9){ Level09(); } else { if (currLevel == 10){ Level10(); } else { if (currLevel == 11){ Level11(); } else { if (currLevel == 12){ Level12(); } else { if (currLevel == 13){ Level13(); } else { if (currLevel == 14){ Level14(); } else { if (currLevel == 15){ Level15(); } else { if (currLevel == 16){ Level16(); } else { if (currLevel == 100){ LevelMeteorStorm(); } else { if (currLevel == 101){ LevelScramble(); } else { if (currLevel == 102){ LevelHurricane(); } else { if (currLevel == 103){ LevelChallenge(); } else { if (currLevel == 104){ LevelChallengeComplete(); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; contador++; }; } public function Level16(){ levelTransition(); if (contador == 4){ target.removeChild(boss); }; } public function Level10(){ levelTransition(); if (contador == 4){ boss = null; boss = new Bosses(); boss.gotoAndStop(2); boss.y = yHALF; boss.x = xHALF; target.addChild(boss); }; if ((contador % 40) == 0){ newBoulder(100, 100, "gemD", 1, 1); newBoulder(100, 200, "gemB", 1, 1); newBoulder(100, 300, "gemD", 1, 1); newBoulder(400, 100, "gemD", 1, 1); newBoulder(400, 200, "gemB", 1, 1); newBoulder(400, 300, "gemD", 1, 1); }; if ((((contador > 4)) && ((boss.dead == true)))){ advanceLevel(); }; } public function Level11(){ levelTransition(); if (contador == 6){ target.removeChild(boss); }; if (contador == 20){ newBoulder(20, (yTHIRD * 0.5), "gemE", 1, 10); newBoulder(20, (yTHIRD * 1.5), "gemE", 1, 10); newBoulder(20, (yTHIRD * 2.5), "gemE", 1, 10); newBoulder(20, (yTHIRD * 2.5), "gemE", 1, 10); newBoulder(530, (yTHIRD * 0.5), "gemF", 10, 1); newBoulder(530, (yTHIRD * 1.5), "gemF", 10, 1); newBoulder(530, (yTHIRD * 2.5), "gemF", 10, 1); newBoulder(530, (yTHIRD * 2.5), "gemF", 10, 1); newMod(130, 50, "Freeze"); newMod(450, 350, "Repel"); }; if (contador == 50){ newBoulder(530, (yTHIRD * 0.5), "gemE", 1, 10); newBoulder(530, (yTHIRD * 1.5), "gemE", 1, 10); newBoulder(530, (yTHIRD * 2.5), "gemE", 1, 10); newBoulder(530, (yTHIRD * 2.5), "gemE", 1, 10); newBoulder(530, (yTHIRD * 0.5), "gemE", 1, 15); newBoulder(530, (yTHIRD * 1.5), "gemE", 1, 15); newBoulder(530, (yTHIRD * 2.5), "gemE", 1, 15); newBoulder(530, (yTHIRD * 2.5), "gemE", 1, 15); newBoulder(20, (yTHIRD * 0.5), "gemF", 10, 1); newBoulder(20, (yTHIRD * 1.5), "gemF", 10, 1); newBoulder(20, (yTHIRD * 2.5), "gemF", 10, 1); newBoulder(20, (yTHIRD * 2.5), "gemF", 10, 1); newBoulder(20, (yTHIRD * 0.5), "gemF", 15, 1); newBoulder(20, (yTHIRD * 1.5), "gemF", 15, 1); newBoulder(20, (yTHIRD * 2.5), "gemF", 15, 1); newBoulder(20, (yTHIRD * 2.5), "gemF", 15, 1); }; if ((((contador > 50)) && (isFinished()))){ advanceLevel(); }; if ((((contador > 120)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function Level12(){ levelTransition(); if (((((((contador % 2) == 0)) && ((contador < 60)))) && ((contador > 15)))){ newBoulder(-99, (yHALF - 15), "gemF", 1, 5, 1500); newBoulder(649, (yHALF + 15), "gemF", 1, 5, -1500); }; if (((((((contador % 10) == 0)) && ((contador < 130)))) && ((contador > 70)))){ newBoulder(649, (yHALF - 20), "gemE", 1, 1, -3500); newBoulder(649, (yHALF + 20), "gemE", 1, 1, -3500); newBoulder(649, yHALF, "gemE", 1, 1, -3500); newBoulder(-99, (yHALF - 20), "gemE", 1, 1, 3500); newBoulder(-99, (yHALF + 20), "gemE", 1, 1, 3500); newBoulder(-99, yHALF, "gemE", 1, 1, 3500); }; if (((((((contador % 10) == 0)) && ((contador < 130)))) && ((contador > 70)))){ newBoulder(649, (yHALF - 20), "gemE", 1, 1, -3500); newBoulder(649, (yHALF + 20), "gemE", 1, 1, -3500); newBoulder(649, yHALF, "gemE", 1, 1, -3500); newBoulder(-99, (yHALF - 20), "gemE", 1, 1, 3500); newBoulder(-99, (yHALF + 20), "gemE", 1, 1, 3500); newBoulder(-99, yHALF, "gemE", 1, 1, 3500); }; if ((((contador > 130)) && (isFinished()))){ advanceLevel(); }; if ((((contador > 200)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function Level07(){ levelTransition(); if (contador == 10){ newMod(xHALF, 50, "Freeze"); }; if (contador == 50){ newMod(xHALF, 350, "Freeze"); }; if (contador == 90){ newMod(50, yHALF, "Freeze"); }; if (contador == 130){ newMod(500, yHALF, "Freeze"); }; if (contador == 170){ newMod(500, yHALF, "Freeze"); newMod(50, yHALF, "Freeze"); }; if (contador == 20){ newBoulder(50, 50, "gemA", 2, 2); newBoulder(50, 350, "gemA", 2, 2); newBoulder(500, 50, "gemA", 2, 2); newBoulder(500, 350, "gemA", 2, 2); }; if (contador == 60){ closeHelp(); newBoulder(50, 50, "gemB", 2, 3); newBoulder(50, 350, "gemB", 2, 3); newBoulder(500, 50, "gemB", 2, 3); newBoulder(500, 350, "gemB", 2, 3); newBoulder(xHALF, 50, "gemB", 2, 5); newBoulder(xHALF, 350, "gemB", 2, 5); newBoulder(500, yHALF, "gemB", 2, 5); newBoulder(50, yHALF, "gemB", 2, 5); }; if (contador == 100){ newBoulder(50, 50, "gemC", 3, 4); newBoulder(50, 350, "gemC", 3, 4); newBoulder(500, 50, "gemC", 3, 4); newBoulder(500, 350, "gemC", 3, 4); newBoulder(xHALF, 50, "gemA", 3, 5); newBoulder(xHALF, 350, "gemA", 3, 5); newBoulder(50, yHALF, "gemA", 3, 5); newBoulder(500, yHALF, "gemA", 3, 5); }; if (contador == 140){ newBoulder(50, 50, "gemD", 4, 5); newBoulder(50, 350, "gemD", 4, 5); newBoulder(500, 50, "gemD", 4, 5); newBoulder(500, 350, "gemD", 4, 5); newBoulder(xHALF, 50, "gemA", 4, 5); newBoulder(xHALF, 350, "gemA", 4, 5); newBoulder(50, yHALF, "gemA", 4, 5); newBoulder(500, yHALF, "gemA", 4, 5); }; if ((((contador > 140)) && (isFinished()))){ advanceLevel(); }; if ((((contador > 200)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function Level14(){ levelTransition(); if (contador == 20){ newBoulder(100, 200, "gemA", 1, 3); newBoulder(400, 200, "gemB", 1, 3); newBoulder(100, 250, "gemA", 1, 3); newBoulder(400, 250, "gemB", 1, 3); }; if (contador == 60){ closeHelp(); newBoulder(100, 200, "gemC", 1, 3); newBoulder(400, 200, "gemD", 1, 3); newBoulder(100, 250, "gemC", 1, 3); newBoulder(400, 250, "gemD", 1, 3); }; if ((((contador > 80)) && (isFinished()))){ advanceLevel(); }; if ((((contador > 150)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function finish(){ if (((((((((((!((currLevel == 100))) && (!((currLevel == 101))))) && (!((currLevel == 102))))) && (!((currLevel == 103))))) && (!((currLevel == 104))))) && (!((currLevel == 1))))){ telon.y = 600; }; if (((((((!((currLevel == 100))) && (!((currLevel == 101))))) && (!((currLevel == 102))))) && (!((currLevel == 1))))){ telon = null; }; if (((((((!((currLevel == 100))) && (!((currLevel == 101))))) && (!((currLevel == 102))))) && ((currLevel >= 3)))){ target.removeChild(thisRedZone); }; if ((((((currLevel == 5)) || ((currLevel == 10)))) || ((currLevel == 15)))){ target.removeChild(boss); }; if (((((((!((currLevel == 100))) && (!((currLevel == 101))))) && (!((currLevel == 102))))) && (!((currLevel == 103))))){ target.removeChild(ayuda); }; if (((!((currLevel == 100))) && ((currLevel >= 3)))){ thisRedZone = null; }; } public function posicionarOrigen(){ target.origin.x = 275; target.origin.y = 200; } public function Level15(){ levelTransition(); if (contador == 4){ boss = null; boss = new Bosses(); boss.gotoAndStop(3); boss.y = yHALF; boss.x = xHALF; target.addChild(boss); }; if (((((contador % 10) == 0)) && (isFinished()))){ newBoulder(50, (yTHIRD * 0.5), "gemA", 2, 2); newBoulder(50, (yTHIRD * 1.5), "gemB", 2, 2); newBoulder(50, (yTHIRD * 2.5), "gemC", 1, 1); newBoulder(500, (yTHIRD * 0.5), "gemD", 1, 1); newBoulder(500, (yTHIRD * 1.5), "gemE", 3, 3); newBoulder(500, (yTHIRD * 2.5), "gemF", 3, 3); }; if ((((contador > 4)) && ((boss.dead == true)))){ advanceLevel(); }; } public function LevelMeteorStorm(){ if ((contador % 5) == 0){ newBoulder(((Math.random() * xHALF) * 2), -30, "gemF", 11, 1, -10000, -10000); newBoulder(((Math.random() * xHALF) * 2), 430, "gemF", 11, 1, 10000, 10000); }; } public function LevelHurricane(){ if ((contador % 15) == 0){ newBoulder(0, ((Math.random() * yHALF) * 2), "gemA", 10, 1); newBoulder(0, ((Math.random() * yHALF) * 2), "gemB", 10, 1); newBoulder(0, ((Math.random() * yHALF) * 2), "gemC", 10, 1); newMod(((Math.random() * xHALF) * 2), ((Math.random() * yHALF) * 2), "Kaos"); newMod(((Math.random() * xHALF) * 2), ((Math.random() * yHALF) * 2), "Kaos"); newMod(((Math.random() * xHALF) * 2), ((Math.random() * yHALF) * 2), "Kaos"); newMod(((Math.random() * xHALF) * 2), ((Math.random() * yHALF) * 2), "Kaos"); }; } public function hitBoss(){ boss.HIT(); } public function advanceLevel(){ KillAll(); contador = 0; currLevel++; } public function newBoulder(_arg1:int, _arg2:int, _arg3:String, _arg4:Number=1, _arg5:Number=1, _arg6:int=0, _arg7:int=0){ BOULDER.arregloBoulders.push(new BOULDER(_arg3, _arg4, _arg5, _arg6, _arg7)); BOULDER.arregloBoulders[(BOULDER.arregloBoulders.length - 1)].x = _arg1; BOULDER.arregloBoulders[(BOULDER.arregloBoulders.length - 1)].y = _arg2; BOULDER.arregloBoulders[(BOULDER.arregloBoulders.length - 1)].name = ("boulderNum_" + uniqueNameId); target.addChild(BOULDER.arregloBoulders[(BOULDER.arregloBoulders.length - 1)]); uniqueNameId++; } public function closeTelon(){ telon.Desplegando = false; } public function LevelChallengeComplete(){ } public function isFinished():Boolean{ if (BOULDER.arregloBoulders.length > 0){ return (false); }; return (true); } public function newMod(_arg1:int, _arg2:int, _arg3:String){ MOD.arregloMods.push(new MOD(_arg3)); MOD.arregloMods[(MOD.arregloMods.length - 1)].x = _arg1; MOD.arregloMods[(MOD.arregloMods.length - 1)].y = _arg2; MOD.arregloMods[(MOD.arregloMods.length - 1)].name = ("ModNum_" + uniqueModId); target.addChild(MOD.arregloMods[(MOD.arregloMods.length - 1)]); uniqueModId++; } public function KillAll(){ var _local1:rightPlosion; k = 1; while (k <= BOULDER.arregloBoulders.length) { target.removeChild(target.getChildByName(BOULDER.arregloBoulders[(k - 1)].name)); _local1 = new rightPlosion(); _local1.x = BOULDER.arregloBoulders[(k - 1)].x; _local1.y = BOULDER.arregloBoulders[(k - 1)].y; target.addChild(_local1); k++; }; k = 1; while (k <= MOD.arregloMods.length) { target.removeChild(target.getChildByName(MOD.arregloMods[(k - 1)].name)); k++; }; BOULDER.arregloBoulders.splice(0, BOULDER.arregloBoulders.length); MOD.arregloMods.splice(0, MOD.arregloMods.length); } public function LevelScramble(){ if ((contador % 25) == 0){ newBoulder(20, ((Math.random() * yHALF) * 2), "gemA", (1 + (Math.random() * 2)), (1 + (Math.random() * 2))); newBoulder(20, ((Math.random() * yHALF) * 2), "gemB", (1 + (Math.random() * 2)), (1 + (Math.random() * 2))); newBoulder(20, ((Math.random() * yHALF) * 2), "gemC", (1 + (Math.random() * 2)), (1 + (Math.random() * 2))); newBoulder(530, ((Math.random() * yHALF) * 2), "gemD", (1 + (Math.random() * 2)), (1 + (Math.random() * 2))); newBoulder(530, ((Math.random() * yHALF) * 2), "gemE", (1 + (Math.random() * 2)), (1 + (Math.random() * 2))); newBoulder(530, ((Math.random() * yHALF) * 2), "gemF", (1 + (Math.random() * 2)), (1 + (Math.random() * 2))); }; } public function closeHelp(){ ayuda.Desplegando = false; } public function dispatchHelp(){ ayuda = null; ayuda = new HELP(currLevel); ayuda.x = 275; ayuda.y = 200; target.addChild(ayuda); } public function dispatchTelon(){ telon.listo = false; telon.Desplegando = true; } public function Level01(){ if (contador == 1){ dispatchHelp(); }; if (contador == 40){ newBoulder((xTHIRD - 20), 350, "gemC"); newBoulder((xTHIRD + 20), 350, "gemC"); newBoulder(((xTHIRD * 2) - 20), 350, "gemC"); newBoulder(((xTHIRD * 2) + 20), 350, "gemC"); }; if (contador == 45){ closeHelp(); }; if (contador == 70){ newBoulder((xTHIRD - 30), 100, "gemC"); newBoulder((xTHIRD + 30), 100, "gemC"); newBoulder(((xTHIRD * 2) - 30), 100, "gemC"); newBoulder(((xTHIRD * 2) + 30), 100, "gemC"); }; if (contador == 90){ newBoulder(0, yQUARTER, "gemC"); newBoulder(0, (yQUARTER * 2), "gemC"); newBoulder(0, (yQUARTER * 3), "gemC"); newBoulder(550, yQUARTER, "gemC"); newBoulder(550, (yQUARTER * 2), "gemC"); newBoulder(550, (yQUARTER * 3), "gemC"); }; if (contador > 90){ if (isFinished()){ advanceLevel(); }; }; if ((((contador > 170)) && ((BOULDER.arregloBoulders.length < 3)))){ KillAll(); advanceLevel(); }; } public function Level03(){ levelTransition(); if (contador == 40){ closeHelp(); dispatchRedZone(); }; if (contador == 60){ newBoulder((xQUARTER / 2), 400, "gemC", 1, 5); }; if (contador == 64){ newBoulder((xQUARTER * 1.5), 400, "gemC", 1, 5); }; if (contador == 68){ newBoulder((xQUARTER * 2), 400, "gemC", 1, 5); }; if (contador == 72){ newBoulder((xQUARTER * 2.5), 400, "gemC", 1, 5); }; if (contador == 76){ newBoulder((xQUARTER * 3), 400, "gemC", 1, 5); }; if (contador == 80){ newBoulder((xQUARTER * 3.5), 400, "gemC", 1, 5); }; if (contador == 60){ newBoulder((xQUARTER / 2), 0, "gemD", 1, 5); }; if (contador == 64){ newBoulder((xQUARTER * 1.5), 0, "gemD", 1, 5); }; if (contador == 68){ newBoulder((xQUARTER * 2), 0, "gemD", 1, 5); }; if (contador == 72){ newBoulder((xQUARTER * 2.5), 0, "gemD", 1, 5); }; if (contador == 76){ newBoulder((xQUARTER * 3), 0, "gemD", 1, 5); }; if (contador == 80){ newBoulder((xQUARTER * 3.5), 0, "gemD", 1, 5); }; tempA = 5; tempB = 1; if (contador == 100){ newBoulder(0, (yQUARTER / 2), "gemC", tempA, tempB); newBoulder(0, (yQUARTER * 1.5), "gemC", tempA, tempB); newBoulder(0, (yQUARTER * 2), "gemC", tempA, tempB); newBoulder(0, (yQUARTER * 2.5), "gemC", tempA, tempB); newBoulder(0, (yQUARTER * 3), "gemC", tempA, tempB); newBoulder(0, (yQUARTER * 3.5), "gemC", tempA, tempB); }; if (contador == 110){ newBoulder(550, (yQUARTER / 2), "gemD", tempA, tempB); newBoulder(550, (yQUARTER * 1.5), "gemD", tempA, tempB); newBoulder(550, (yQUARTER * 2), "gemD", tempA, tempB); newBoulder(550, (yQUARTER * 2.5), "gemD", tempA, tempB); newBoulder(550, (yQUARTER * 3), "gemD", tempA, tempB); newBoulder(550, (yQUARTER * 3.5), "gemD", tempA, tempB); }; if (contador > 110){ if (isFinished()){ advanceLevel(); }; }; if ((((contador > 200)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function Level04(){ levelTransition(); if (contador == 40){ closeHelp(); }; if (contador == 40){ newBoulder((xQUARTER / 2), 400, "gemC", 1, 2); newBoulder((xQUARTER * 1.5), 400, "gemD", 1, 2); newBoulder((xQUARTER * 2.5), 400, "gemC", 1, 2); newBoulder((xQUARTER * 3), 400, "gemD", 1, 2); }; if (contador == 40){ newBoulder((xQUARTER / 2), 0, "gemD", 1, 2); newBoulder((xQUARTER * 1.5), 0, "gemC", 1, 2); newBoulder((xQUARTER * 2.5), 0, "gemD", 1, 2); newBoulder((xQUARTER * 3), 0, "gemC", 1, 2); }; if (contador == 80){ newBoulder((xQUARTER / 2), 400, "gemD", 1, 2); newBoulder((xQUARTER * 1.5), 400, "gemC", 1, 2); newBoulder((xQUARTER * 2.5), 400, "gemD", 1, 2); newBoulder((xQUARTER * 3), 400, "gemC", 1, 2); }; if (contador == 80){ newBoulder((xQUARTER / 2), 0, "gemC", 1, 2); newBoulder((xQUARTER * 1.5), 0, "gemD", 1, 2); newBoulder((xQUARTER * 2.5), 0, "gemC", 1, 2); newBoulder((xQUARTER * 3), 0, "gemD", 1, 2); }; if (contador == 110){ newBoulder((xQUARTER / 2), 400, "gemC", 1, 2); newBoulder((xQUARTER * 1.5), 400, "gemD", 1, 2); newBoulder((xQUARTER * 2.5), 400, "gemC", 1, 2); newBoulder((xQUARTER * 3), 400, "gemD", 1, 2); }; if (contador == 110){ newBoulder((xQUARTER / 2), 0, "gemD", 1, 2); newBoulder((xQUARTER * 1.5), 0, "gemC", 1, 2); newBoulder((xQUARTER * 2.5), 0, "gemD", 1, 2); newBoulder((xQUARTER * 3), 0, "gemC", 1, 2); }; if (contador == 130){ newBoulder((xQUARTER / 2), 400, "gemD", 1, 2); newBoulder((xQUARTER * 1.5), 400, "gemC", 1, 2); newBoulder((xQUARTER * 2.5), 400, "gemD", 1, 2); newBoulder((xQUARTER * 3), 400, "gemC", 1, 2); }; if (contador == 130){ newBoulder((xQUARTER / 2), 0, "gemC", 1, 2); newBoulder((xQUARTER * 1.5), 0, "gemD", 1, 2); newBoulder((xQUARTER * 2.5), 0, "gemC", 1, 2); newBoulder((xQUARTER * 3), 0, "gemD", 1, 2); }; if ((((contador > 130)) && (isFinished()))){ advanceLevel(); }; if ((((contador > 200)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function Level05(){ levelTransition(); if (contador == 4){ boss = new Bosses(); boss.gotoAndStop(1); boss.y = 100; boss.x = xHALF; target.addChild(boss); }; if (contador == 40){ closeHelp(); }; if ((((contador > 25)) && (((contador % 12) == 0)))){ newBoulder((Math.random() * 550), -10, "gemC", 5, 2); }; if ((((contador > 25)) && (((contador % 25) == 0)))){ newBoulder((Math.random() * 550), -10, "gemD", 5, 2); }; if ((((contador > 4)) && ((boss.dead == true)))){ advanceLevel(); }; } public function Level06(){ levelTransition(); if (contador == 6){ target.removeChild(boss); }; if (contador == 40){ closeHelp(); }; if (contador == 20){ newBoulder((xQUARTER / 2), 350, "gemB", 0.5, 2); newBoulder((xQUARTER * 1.5), 350, "gemA", 0.5, 2); newBoulder((xQUARTER * 2.5), 350, "gemB", 0.5, 2); newBoulder((xQUARTER * 3.5), 350, "gemA", 0.5, 2); }; if (contador == 20){ newBoulder(50, (yQUARTER / 2), "gemB", 0.5, 2); newBoulder(50, (yQUARTER * 1.5), "gemA", 0.5, 2); newBoulder(50, (yQUARTER * 2.5), "gemB", 0.5, 2); newBoulder(50, (yQUARTER * 3.5), "gemA", 0.5, 2); }; if (contador == 20){ newBoulder((xQUARTER / 2), 50, "gemB", 0.5, 2); newBoulder((xQUARTER * 1.5), 50, "gemA", 0.5, 2); newBoulder((xQUARTER * 2.5), 50, "gemB", 0.5, 2); newBoulder((xQUARTER * 3.5), 50, "gemA", 0.5, 2); }; if (contador == 20){ newBoulder(500, (yQUARTER / 2), "gemA", 0.5, 2); newBoulder(500, (yQUARTER * 1.5), "gemB", 0.5, 2); newBoulder(500, (yQUARTER * 2.5), "gemA", 0.5, 2); newBoulder(500, (yQUARTER * 3.5), "gemB", 0.5, 2); }; if (contador == 100){ newBoulder(500, (yQUARTER * 1.5), "gemB", 1, 2); newBoulder(500, (yQUARTER * 2.5), "gemC", 1, 2); newBoulder(500, (yQUARTER * 3.5), "gemA", 1, 2); }; if (contador == 100){ newBoulder(50, (yQUARTER / 2), "gemA", 1, 2); newBoulder(50, (yQUARTER * 1.5), "gemB", 1, 2); newBoulder(50, (yQUARTER * 2.5), "gemC", 1, 2); }; if ((((contador > 130)) && (isFinished()))){ advanceLevel(); }; if ((((contador > 200)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } public function LevelChallenge(){ var _local1:String; if (contador == 4){ dispatchRedZone(); }; if ((contador % 40) == 0){ newBoulder(((Math.random() * xHALF) * 2), -30, "gemB", 2, 2, -10000, -10000); _local1 = thisRedZone.challenge_area.red_area.y; if (int(_local1) < -4700){ advanceLevel(); }; }; } public function levelTransition(){ if (contador == 1){ dispatchTelon(); }; if ((((telon.listo == true)) && ((contador == 3)))){ closeTelon(); contador = 4; posicionarOrigen(); if (currLevel > 3){ thisRedZone.gotoAndStop(currLevel); }; } else { if (telon.listo == false){ contador = 2; }; }; if (contador == 10){ dispatchHelp(); }; } public function Level02(){ if (contador == 1){ telon = new TELON(); telon.x = 275; telon.y = 200; target.addChild(telon); }; levelTransition(); if (contador == 30){ newBoulder(0, 0, "gemC", 4, 1); newBoulder(550, 400, "gemC", 4, 1); newBoulder(0, 400, "gemD", 4, 1); newBoulder(550, 0, "gemD", 4, 1); }; if (contador == 45){ closeHelp(); }; if (contador == 55){ newBoulder(0, 0, "gemC", 1, 1); newBoulder(550, 400, "gemC", 1, 1); newBoulder(xHALF, 400, "gemD", 1, 1); newBoulder(xHALF, 0, "gemD", 1, 1); newBoulder(0, 400, "gemC", 1, 1); newBoulder(550, 0, "gemC", 1, 1); newBoulder(0, yHALF, "gemD", 1, 1); newBoulder(550, yHALF, "gemD", 1, 1); }; if (contador == 80){ newBoulder(0, 0, "gemD", 1, 1); newBoulder(550, 400, "gemD", 1, 1); newBoulder(xHALF, 400, "gemC", 1, 1); newBoulder(xHALF, 0, "gemC", 1, 1); newBoulder(0, 400, "gemD", 1, 1); newBoulder(550, 0, "gemD", 1, 1); newBoulder(0, yHALF, "gemC", 1, 1); newBoulder(550, yHALF, "gemC", 1, 1); }; if (contador > 85){ if (isFinished()){ advanceLevel(); }; }; if ((((contador > 180)) && ((BOULDER.arregloBoulders.length < 3)))){ advanceLevel(); }; } } }//package clss
Section 7
//MAIN (clss.MAIN) package clss { import flash.events.*; import flash.display.*; import com.kongregate.as3.client.*; import flash.net.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.ui.*; public dynamic class MAIN extends MovieClip { public var txt_adventure:TextField; public var txtScore:TextField; public var btnInstructions:SimpleButton; public var timerIntro:Timer; private var vault:VAULT; private var currLevelHold:int; public var txt_meteor:TextField; public var btnNormal:SimpleButton; public var kongIntro:MovieClip; private var i:int;// = 1 private var k:int;// = 1 public var btn_challenge:SimpleButton; public var btn_hurricane:SimpleButton; public var txtLifeBars:TextField; private var m:int;// = 1 private var l:int;// = 1 private var dY:int;// = 0 public var btn_Vanilla:SimpleButton; private var j:int;// = 1 private var t:int;// = 1 private var emptyVar;// = 34 private var currModArrayLen:int; public var btnSettings:SimpleButton; private var dX:int;// = 0 public var btnProgress:SimpleButton; public var btnCredits:SimpleButton; private var timerRythm:Timer; private var yaPego:Number; private var timerOrigin:Timer; var fx; public var btn_adventure:SimpleButton; public var btn_hard:SimpleButton; public var txtCombo:TextField; public var btnQuality:SimpleButton; public var txtlevel:TextField; public var timerIntroV:Timer; public var t_1:MovieClip; public var t_4:MovieClip; public var t_5:MovieClip; public var t_6:MovieClip; public var t_7:MovieClip; public var origin:MovieClip; public var t_2:MovieClip; public var t_3:MovieClip; private var keyui:Key; public var t_9:MovieClip; public var t_8:MovieClip; private var seleccion:int; private var banderaT:Boolean;// = true private var currArrayLen:int; public var txt_challenge:TextField; public var btnKongregate:SimpleButton; public var txt_hard:TextField; public var btnBack:SimpleButton; public var btn_meteoro:SimpleButton; var timerColisiones:Timer; private var levels:LEVELS; public var gfx:MovieClip; public var txt_hurricane:TextField; public var txt_advCombo:TextField; private var cFPS:FPSCounter; public var btnErase:SimpleButton; var chnl_fx:SoundChannel; public var txt_scramble:TextField; public var gameOver_dialog:gameOverDialog; public var jukebox:MovieClip; public var VanillaIntro:MovieClip; private var pC:int;// = 1 private var kongregate:KongregateAPI; public var btn_soup:SimpleButton; public static var scr:int; public static var level:int; public static var bigCombo:int; public static var combo:int; public static var lf:int; public static var pausado:Boolean; public function MAIN(){ keyui = new Key(stage); emptyVar = 34; banderaT = true; j = 1; i = 1; k = 1; l = 1; m = 1; t = 1; dX = 0; dY = 0; pC = 1; super(); addFrameScript(0, frame1, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); kongregate = new KongregateAPI(); this.addChild(kongregate); vault = new VAULT(); cFPS = new FPSCounter(); cFPS.x = 500; cFPS.y = 0; this.addChild(cFPS); timerRythm = new Timer(469, 0); timerRythm.addEventListener("timer", cicloRythm); timerOrigin = new Timer(20, 0); timerOrigin.addEventListener("timer", control); timerColisiones = new Timer(10, 0); timerColisiones.addEventListener("timer", deteccionColisiones); } public function onAdventureClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("normal"); } public function OnLogoPress(_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=Shape-a-licious"), "_blank"); } public function onHardClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("Hard"); } function frame14(){ scr = 0; combo = 0; lf = 130; level = 0; bigCombo = 0; pausado = false; timerOrigin.start(); parseLifeVars(lf); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); addEventListener(MouseEvent.ROLL_OUT, mouseAfueraHandler); timerColisiones.start(); levels = null; levels = new LEVELS(this); levels.currLevel = 100; stop(); } function frame16(){ scr = 0; combo = 0; lf = 130; level = 0; bigCombo = 0; pausado = false; timerOrigin.start(); parseLifeVars(lf); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); addEventListener(MouseEvent.ROLL_OUT, mouseAfueraHandler); timerColisiones.start(); levels = null; levels = new LEVELS(this); levels.currLevel = 103; stop(); } function frame5(){ MochiAd.showInterLevelAd({clip:root, id:"a64757caff87fd86", res:"550x400", no_bg:false}); } public function mouseDownHandler(_arg1:MouseEvent){ origin.presionado = true; } function frame11(){ btnBack.addEventListener(MouseEvent.CLICK, onBackClick); btn_adventure.addEventListener(MouseEvent.CLICK, onAdventureClick); btn_hard.addEventListener(MouseEvent.CLICK, onHardClick); btn_meteoro.addEventListener(MouseEvent.CLICK, onMeteorClick); btn_challenge.addEventListener(MouseEvent.CLICK, onChallengeClick); btn_hurricane.addEventListener(MouseEvent.CLICK, onHurricaneClick); btn_soup.addEventListener(MouseEvent.CLICK, onSoupClick); stop(); } function frame6(){ SoundMixer.stopAll(); } function frame4(){ stop(); timerIntroV = new Timer(500, 0); timerIntroV.addEventListener("timer", cicloIntroV); timerIntroV.start(); } function frame19(){ btnBack.addEventListener(MouseEvent.CLICK, onBackClick); stop(); } function frame3(){ stop(); timerIntro = new Timer(500, 0); timerIntro.addEventListener("timer", cicloIntro); timerIntro.start(); } function frame9(){ levels = null; stop(); } function frame12(){ stop(); if (vault.trophy_adventureComplete){ t_1.x = 135; }; if (vault.trophy_adventureCombo){ t_2.x = 135; }; if (vault.trophy_challengeComplete){ t_3.x = 135; }; if (vault.trophy_hurricaneScore){ t_4.x = 135; }; if (vault.trophy_meteorScore){ t_5.x = 135; }; if (vault.trophy_scrambleScore){ t_6.x = 135; }; if (vault.trophy_adventureScore){ t_7.x = 135; }; if (vault.trophy_hardComplete){ t_8.x = 135; }; if (vault.trophy_perfectCombo){ t_9.x = 135; }; btnBack.addEventListener(MouseEvent.CLICK, onBackClick); } public function cicloIntroV(_arg1:TimerEvent){ if (VanillaIntro.cargado == 1){ timerIntroV.stop(); gotoAndPlay("menu"); }; } function frame1(){ MochiAd.showPreGameAd({clip:root, id:"a64757caff87fd86", res:"550x400", background:0xFFFFFF, color:0x884F00, outline:6307872, no_bg:true}); MochiBot.track(this, "8c90e2c6"); } public function onCreditsClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("Credits"); } function frame13(){ scr = 0; combo = 0; lf = 130; level = 0; bigCombo = 0; pausado = false; timerOrigin.start(); parseLifeVars(lf); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); addEventListener(MouseEvent.ROLL_OUT, mouseAfueraHandler); timerColisiones.start(); levels = null; levels = new LEVELS(this); levels.currLevel = 100; stop(); } function frame7(){ btnNormal.addEventListener(MouseEvent.CLICK, onNormalClick); btnInstructions.addEventListener(MouseEvent.CLICK, onInstructionsClick); btnProgress.addEventListener(MouseEvent.CLICK, onProgressClick); btnCredits.addEventListener(MouseEvent.CLICK, onCreditsClick); btnSettings.addEventListener(MouseEvent.CLICK, onSettingsClick); btn_Vanilla.addEventListener(MouseEvent.CLICK, OnLogoPressV); btnKongregate.addEventListener(MouseEvent.CLICK, OnLogoPress); stop(); } function frame8(){ scr = 0; combo = 0; lf = 130; level = 0; bigCombo = 0; pausado = false; timerOrigin.start(); timerRythm.start(); parseLifeVars(lf); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); addEventListener(MouseEvent.ROLL_OUT, mouseAfueraHandler); timerColisiones.start(); levels = null; levels = new LEVELS(this); stop(); } function frame17(){ scr = 0; combo = 0; lf = 130; level = 0; bigCombo = 0; pausado = false; timerOrigin.start(); parseLifeVars(lf); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); addEventListener(MouseEvent.ROLL_OUT, mouseAfueraHandler); timerColisiones.start(); levels = null; levels = new LEVELS(this); stop(); } public function onChallengeClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("Challenge"); } function frame18(){ scr = 0; combo = 0; lf = 130; level = 0; bigCombo = 0; pausado = false; timerOrigin.start(); parseLifeVars(lf); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); addEventListener(MouseEvent.ROLL_OUT, mouseAfueraHandler); timerColisiones.start(); levels = null; levels = new LEVELS(this); levels.currLevel = 102; stop(); } public function onSoupClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("Soup"); } function frame10(){ btnBack.addEventListener(MouseEvent.CLICK, onBackClick); txt_hurricane.text = String(vault.score_hurricane); txt_adventure.text = String(vault.score_adventure); txt_meteor.text = String(vault.score_meteor); txt_challenge.text = String(vault.score_challenge); txt_scramble.text = String(vault.score_scramble); txt_hard.text = String(vault.score_hard); txt_advCombo.text = String(vault.combo_adventure); stop(); } public function onInstructionsClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("instructions"); } function frame20(){ btnBack.addEventListener(MouseEvent.CLICK, onBackClick); stop(); btnQuality.addEventListener(MouseEvent.CLICK, onQualityClick); btnErase.addEventListener(MouseEvent.CLICK, onEraseClick); } function cicloMods(){ if (currModArrayLen > 0){ j = 1; while (j <= MOD.arregloMods.length) { if (MOD.arregloMods[(j - 1)].x > 550){ this.removeChild(getChildByName(MOD.arregloMods[(j - 1)].name)); MOD.arregloMods.splice((j - 1), 1); break; }; if (MOD.arregloMods[(j - 1)].Ofocus == true){ if (MOD.arregloMods[(j - 1)].tipo == "Wind"){ k = 1; while (k <= BOULDER.arregloBoulders.length) { BOULDER.arregloBoulders[(k - 1)].fuerzaX = (BOULDER.arregloBoulders[(k - 1)].fuerzaX + 3000); k++; }; }; if (MOD.arregloMods[(j - 1)].tipo == "Kaos"){ k = 1; while (k <= BOULDER.arregloBoulders.length) { BOULDER.arregloBoulders[(k - 1)].fuerzaX = (BOULDER.arregloBoulders[(k - 1)].fuerzaX + ((Math.random() - 0.5) * 100000)); BOULDER.arregloBoulders[(k - 1)].fuerzaY = (BOULDER.arregloBoulders[(k - 1)].fuerzaY + ((Math.random() - 0.5) * 100000)); k++; }; }; if (MOD.arregloMods[(j - 1)].tipo == "KillAll"){ k = 1; while (k <= BOULDER.arregloBoulders.length) { this.removeChild(getChildByName(BOULDER.arregloBoulders[(k - 1)].name)); BOULDER.arregloBoulders.splice((k - 1), 1); scr = (scr + 100); txtScore.text = String(scr); k++; }; }; if (MOD.arregloMods[(j - 1)].tipo == "Freeze"){ k = 1; while (k <= BOULDER.arregloBoulders.length) { BOULDER.arregloBoulders[(k - 1)].fuerzaX = 0; BOULDER.arregloBoulders[(k - 1)].fuerzaY = 0; k++; }; }; if (MOD.arregloMods[(j - 1)].tipo == "Repel"){ k = 1; while (k <= BOULDER.arregloBoulders.length) { BOULDER.arregloBoulders[(k - 1)].fuerzaX = (BOULDER.arregloBoulders[(k - 1)].fuerzaX * -1); BOULDER.arregloBoulders[(k - 1)].fuerzaY = (BOULDER.arregloBoulders[(k - 1)].fuerzaY * -1); k++; }; }; fx = new rightPlosion(); fx.x = MOD.arregloMods[(j - 1)].x; fx.y = MOD.arregloMods[(j - 1)].y; this.addChild(fx); this.removeChild(getChildByName(MOD.arregloMods[(j - 1)].name)); MOD.arregloMods.splice((j - 1), 1); }; j++; }; }; } function frame15(){ scr = 0; combo = 0; lf = 130; level = 0; bigCombo = 0; pausado = false; timerOrigin.start(); parseLifeVars(lf); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); addEventListener(MouseEvent.ROLL_OUT, mouseAfueraHandler); timerColisiones.start(); levels = null; levels = new LEVELS(this); levels.currLevel = 101; stop(); } public function mouseUpHandler(_arg1:MouseEvent){ origin.presionado = false; combo = 0; txtCombo.text = ("+" + String(combo)); } public function deteccionColisiones(_arg1:TimerEvent){ var _local2:*; if (levels.currLevel != currLevelHold){ seleccion = 0; }; if (seleccion == 0){ if (levels.currLevel == 1){ jukebox.gotoAndPlay("LoopEasy"); seleccion = 1; } else { if (levels.currLevel == 5){ jukebox.gotoAndPlay("LoopBossOne"); seleccion = 1; } else { if (levels.currLevel == 6){ jukebox.gotoAndPlay("LoopB"); seleccion = 1; } else { if (levels.currLevel == 15){ jukebox.gotoAndPlay("LoopBSpeed"); seleccion = 1; } else { if (levels.currLevel == 16){ jukebox.gotoAndPlay("LoopFanfare"); seleccion = 1; } else { if (levels.currLevel == 100){ jukebox.gotoAndPlay("LoopBSpeed"); seleccion = 1; } else { if (levels.currLevel == 101){ jukebox.gotoAndPlay("LoopB"); seleccion = 1; } else { if (levels.currLevel == 102){ jukebox.gotoAndPlay("LoopBSpeed"); seleccion = 1; } else { if (levels.currLevel == 103){ jukebox.gotoAndPlay("LoopEasy"); seleccion = 1; }; }; }; }; }; }; }; }; }; if (levels.currLevel == 104){ jukebox.gotoAndPlay("LoopFanfare"); seleccion = 1; }; }; currLevelHold = levels.currLevel; if (pausado == false){ if (LEVELS.thisRedZone){ if (LEVELS.thisRedZone.hitTestPoint(origin.x, origin.y, true)){ lf = (lf - 1); parseLifeVars(lf); }; if (LEVELS.thisRedZone.hitTestPoint(this.mouseX, this.mouseY, true)){ lf = (lf - 0.5); parseLifeVars(lf); }; }; }; if (pausado == false){ if (levels.boss){ if (levels.boss.hitTestPoint(origin.x, origin.y, true)){ lf = (lf - 1); parseLifeVars(lf); }; }; }; yaPego = 0; currArrayLen = BOULDER.arregloBoulders.length; currModArrayLen = MOD.arregloMods.length; cicloMods(); if (currArrayLen > 0){ j = 1; while (j <= currArrayLen) { if (yaPego == 0){ if (BOULDER.arregloBoulders[(j - 1)].x < -100){ BOULDER.arregloBoulders[(j - 1)].x = 600; }; if (BOULDER.arregloBoulders[(j - 1)].x > 650){ BOULDER.arregloBoulders[(j - 1)].x = -100; }; if (BOULDER.arregloBoulders[(j - 1)].y > 500){ BOULDER.arregloBoulders[(j - 1)].y = -50; }; if (BOULDER.arregloBoulders[(j - 1)].y < -100){ BOULDER.arregloBoulders[(j - 1)].y = 450; }; BOULDER.arregloBoulders[(j - 1)].originX = origin.x; BOULDER.arregloBoulders[(j - 1)].originY = origin.y; if (levels.currLevel == 5){ if (levels.boss){ if (BOULDER.arregloBoulders[(j - 1)].Bfocus == true){ if (levels.boss.hitTestPoint(BOULDER.arregloBoulders[(j - 1)].x, BOULDER.arregloBoulders[(j - 1)].y, true)){ if (BOULDER.arregloBoulders[(j - 1)].tipo == "gemC"){ fx = new rightPlosion(); fx.x = BOULDER.arregloBoulders[(j - 1)].x; fx.y = BOULDER.arregloBoulders[(j - 1)].y; this.addChild(fx); combo++; if (combo > bigCombo){ bigCombo = combo; }; scr = (scr + (100 + (combo << 1))); levels.hitBoss(); txtScore.text = String(scr); txtCombo.text = ("+" + String(combo)); } else { fx = new wrongPlosion(); fx.x = BOULDER.arregloBoulders[(j - 1)].x; fx.y = BOULDER.arregloBoulders[(j - 1)].y; this.addChild(fx); lf = (lf - 10); parseLifeVars(lf); combo = 0; txtCombo.text = ("+" + String(combo)); }; this.removeChild(getChildByName(BOULDER.arregloBoulders[(j - 1)].name)); BOULDER.arregloBoulders.splice((j - 1), 1); yaPego = 1; break; }; }; }; }; if (levels.currLevel == 10){ if (levels.boss){ if (BOULDER.arregloBoulders[(j - 1)].Bfocus == true){ if (levels.boss.hitTestPoint(BOULDER.arregloBoulders[(j - 1)].x, BOULDER.arregloBoulders[(j - 1)].y, true)){ if (BOULDER.arregloBoulders[(j - 1)].tipo == "gemD"){ fx = new rightPlosion(); fx.x = BOULDER.arregloBoulders[(j - 1)].x; fx.y = BOULDER.arregloBoulders[(j - 1)].y; this.addChild(fx); combo++; if (combo > bigCombo){ bigCombo = combo; }; scr = (scr + (100 + (combo << 1))); levels.hitBoss(); txtScore.text = String(scr); txtCombo.text = ("+" + String(combo)); } else { fx = new wrongPlosion(); fx.x = BOULDER.arregloBoulders[(j - 1)].x; fx.y = BOULDER.arregloBoulders[(j - 1)].y; this.addChild(fx); lf = (lf - 10); parseLifeVars(lf); combo = 0; txtCombo.text = ("+" + String(combo)); }; this.removeChild(getChildByName(BOULDER.arregloBoulders[(j - 1)].name)); BOULDER.arregloBoulders.splice((j - 1), 1); yaPego = 1; break; }; }; }; }; if (levels.currLevel == 15){ if (levels.boss){ if (BOULDER.arregloBoulders[(j - 1)].Bfocus == true){ if (levels.boss.hitTestPoint(BOULDER.arregloBoulders[(j - 1)].x, BOULDER.arregloBoulders[(j - 1)].y, true)){ fx = new rightPlosion(); fx.x = BOULDER.arregloBoulders[(j - 1)].x; fx.y = BOULDER.arregloBoulders[(j - 1)].y; this.addChild(fx); combo++; if (combo > bigCombo){ bigCombo = combo; }; scr = (scr + (100 + (combo << 1))); levels.hitBoss(); txtScore.text = String(scr); txtCombo.text = ("+" + String(combo)); this.removeChild(getChildByName(BOULDER.arregloBoulders[(j - 1)].name)); BOULDER.arregloBoulders.splice((j - 1), 1); yaPego = 1; break; }; }; }; }; if (BOULDER.arregloBoulders[(j - 1)].hitTestPoint(origin.x, origin.y)){ fx = new wrongPlosion(); fx.x = BOULDER.arregloBoulders[(j - 1)].x; fx.y = BOULDER.arregloBoulders[(j - 1)].y; this.addChild(fx); combo = 0; txtCombo.text = ("+" + String(combo)); this.removeChild(getChildByName(BOULDER.arregloBoulders[(j - 1)].name)); BOULDER.arregloBoulders.splice((j - 1), 1); lf = (lf - 20); parseLifeVars(lf); yaPego = 1; break; }; if (BOULDER.arregloBoulders[(j - 1)].Bfocus == true){ _local2 = 0; _local2 = 1; while (_local2 <= currArrayLen) { if (((BOULDER.arregloBoulders[(j - 1)].hitTestPoint(BOULDER.arregloBoulders[(_local2 - 1)].x, BOULDER.arregloBoulders[(_local2 - 1)].y, true)) && (!((_local2 == j))))){ if (BOULDER.arregloBoulders[(j - 1)].tipo == BOULDER.arregloBoulders[(_local2 - 1)].tipo){ fx = new rightPlosion(); fx.x = BOULDER.arregloBoulders[(j - 1)].x; fx.y = BOULDER.arregloBoulders[(j - 1)].y; this.addChild(fx); combo++; if (combo > bigCombo){ bigCombo = combo; }; scr = (scr + (100 + (combo << 1))); txtScore.text = String(scr); txtCombo.text = ("+" + String(combo)); } else { fx = new wrongPlosion(); fx.x = BOULDER.arregloBoulders[(j - 1)].x; fx.y = BOULDER.arregloBoulders[(j - 1)].y; this.addChild(fx); lf = (lf - 10); parseLifeVars(lf); combo = 0; txtCombo.text = ("+" + String(combo)); }; this.removeChild(getChildByName(BOULDER.arregloBoulders[(_local2 - 1)].name)); this.removeChild(getChildByName(BOULDER.arregloBoulders[(j - 1)].name)); if (j > _local2){ BOULDER.arregloBoulders.splice((j - 1), 1); BOULDER.arregloBoulders.splice((_local2 - 1), 1); } else { if (_local2 > j){ BOULDER.arregloBoulders.splice((j - 1), 1); BOULDER.arregloBoulders.splice((_local2 - 2), 1); }; }; yaPego = 1; break; }; _local2++; }; }; }; j++; }; }; if (levels.currLevel == 16){ if (levels.contador > 50){ lf = 0; }; }; if (levels.currLevel == 104){ if (levels.contador > 50){ lf = 0; }; }; if (lf <= 0){ gameOver_dialog.x = 275; gameOver_dialog.txtBigCombo.text = ("+" + String(bigCombo)); gameOver_dialog.txtScore.text = String(Math.round(scr)); if ((((levels.currLevel >= 1)) && ((levels.currLevel <= 15)))){ if (currentFrame == 17){ vault.parseHardScore(scr); vault.parseAdvCombo(bigCombo); kongregate.stats.submit("HighScore Hard", scr); kongregate.stats.submit("HighScore Combo", bigCombo); } else { vault.parseAdvScore(scr); vault.parseAdvCombo(bigCombo); kongregate.stats.submit("HighScore Adventure", scr); kongregate.stats.submit("HighScore Combo", bigCombo); }; if (bigCombo >= 100){ if (!vault.trophy_adventureCombo){ gameOver_dialog.dyna_tag.text = "Got the Adventure Combo Trophy !"; }; vault.trophy_adventureCombo = true; kongregate.stats.submit("trophy combo", 1); }; if (bigCombo >= 200){ if (!vault.trophy_perfectCombo){ gameOver_dialog.dyna_tag.text = "Got the Perfect Combo Trophy !"; }; vault.trophy_perfectCombo = true; kongregate.stats.submit("trophy big combo", 1); }; }; if (levels.currLevel == 16){ if (currentFrame == 17){ if (!vault.trophy_hardComplete){ gameOver_dialog.dyna_tag.text = "Got the Hard Trophy !"; }; vault.trophy_hardComplete = true; vault.parseHardScore(scr); vault.parseAdvCombo(bigCombo); kongregate.stats.submit("HighScore Hard", scr); kongregate.stats.submit("HighScore Combo", bigCombo); kongregate.stats.submit("trophy hard", 1); } else { if (!vault.trophy_adventureComplete){ gameOver_dialog.dyna_tag.text = "Got the Adventure Trophy !"; }; vault.trophy_adventureComplete = true; vault.parseAdvScore(scr); vault.parseAdvCombo(bigCombo); kongregate.stats.submit("HighScore Adventure", scr); kongregate.stats.submit("HighScore Combo", bigCombo); kongregate.stats.submit("trophy adventure", 1); }; if (scr >= 45000){ if (!vault.trophy_adventureScore){ gameOver_dialog.dyna_tag.text = "Got the Adventure Score Trophy"; }; vault.trophy_adventureScore = true; kongregate.stats.submit("trophy adventure score", 1); }; if (bigCombo >= 100){ if (!vault.trophy_adventureCombo){ gameOver_dialog.dyna_tag.text = "Got the Adventure Combo Trophy !"; }; vault.trophy_adventureCombo = true; kongregate.stats.submit("trophy combo", 1); }; if (bigCombo >= 200){ if (!vault.trophy_perfectCombo){ gameOver_dialog.dyna_tag.text = "Got the Perfect Combo Trophy !"; }; vault.trophy_perfectCombo = true; kongregate.stats.submit("trophy big combo", 1); }; }; if (levels.currLevel == 100){ if (scr >= 2500){ if (!vault.trophy_meteorScore){ gameOver_dialog.dyna_tag.text = "Got the Meteor Trophy !"; }; vault.trophy_meteorScore = true; kongregate.stats.submit("trophy meteor", 1); }; vault.parseMeteorScore(scr); kongregate.stats.submit("HighScore MeteorStorm", scr); }; if (levels.currLevel == 101){ if (scr >= 1500){ if (!vault.trophy_scrambleScore){ gameOver_dialog.dyna_tag.text = "Got the Scramble Trophy !"; }; vault.trophy_scrambleScore = true; kongregate.stats.submit("trophy scramble", 1); }; vault.parseScrambleScore(scr); kongregate.stats.submit("HighScore Scramble", scr); }; if (levels.currLevel == 102){ if (scr >= 2000){ if (!vault.trophy_hurricaneScore){ gameOver_dialog.dyna_tag.text = "Got the Hurricane Trophy !"; }; vault.trophy_hurricaneScore = true; kongregate.stats.submit("trophy hurricane", 1); }; vault.parseHurricaneScore(scr); kongregate.stats.submit("HighScore Hurricane", scr); }; if (levels.currLevel == 103){ vault.parseChallengeScore(scr); kongregate.stats.submit("HighScore Challenge", scr); }; if (levels.currLevel == 104){ if (!vault.trophy_challengeComplete){ gameOver_dialog.dyna_tag.text = "Got the Challenge Trophy !"; }; vault.trophy_challengeComplete = true; vault.parseChallengeScore(scr); kongregate.stats.submit("trophy challenge", 1); kongregate.stats.submit("HighScore Challenge", scr); }; vault.saveTrophies(); vault.saveScores(); if (levels.currLevel == 100){ gameOver_dialog.txttitle.text = "Crashed"; }; if (levels.currLevel == 16){ gameOver_dialog.txttitle.text = "Finished"; }; if (levels.currLevel == 104){ gameOver_dialog.txttitle.text = "Completed"; }; removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); removeEventListener(MouseEvent.ROLL_OUT, mouseAfueraHandler); removeEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); k = 1; while (k <= BOULDER.arregloBoulders.length) { this.removeChild(getChildByName(BOULDER.arregloBoulders[(k - 1)].name)); k++; }; k = 1; while (k <= MOD.arregloMods.length) { this.removeChild(getChildByName(MOD.arregloMods[(k - 1)].name)); k++; }; BOULDER.arregloBoulders.splice(0, BOULDER.arregloBoulders.length); MOD.arregloMods.splice(0, MOD.arregloMods.length); stage.removeEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); timerColisiones.stop(); levels.timerGenesis.stop(); timerOrigin.stop(); levels.finish(); }; } public function onHurricaneClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("Hurricane"); } public function onQualityClick(_arg1:MouseEvent):void{ if (stage.quality == "LOW"){ stage.quality = "MEDIUM"; } else { if (stage.quality == "MEDIUM"){ stage.quality = "HIGH"; } else { if (stage.quality == "HIGH"){ stage.quality = "BEST"; } else { if (stage.quality == "BEST"){ stage.quality = "LOW"; }; }; }; }; } public function cicloIntro(_arg1:TimerEvent){ if (kongIntro.cargado == 1){ timerIntro.stop(); play(); }; } public function OnLogoPressV(_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.villavanilla.net"), "_blank"); } function control(_arg1:TimerEvent){ if (pausado == false){ if (dX > 70){ dX = 70; } else { if (dX < -70){ dX = -70; }; }; if (dY > 70){ dY = 70; } else { if (dY < -70){ dY = -70; }; }; if (((keyui.isDown(83)) || (keyui.isDown(40)))){ dY = (dY + 6); }; if (((keyui.isDown(87)) || (keyui.isDown(38)))){ dY = (dY - 6); }; if (((keyui.isDown(65)) || (keyui.isDown(37)))){ dX = (dX - 6); }; if (((keyui.isDown(68)) || (keyui.isDown(39)))){ dX = (dX + 6); }; if (origin.x < 0){ origin.x = 2; dX = 0; }; if (origin.x > 550){ origin.x = 548; dX = 0; }; if (origin.y < 0){ origin.y = 2; dY = 0; }; if (origin.y > 400){ origin.y = 398; dY = 0; }; dX = (dX * 0.99999); dY = (dY * 0.99999); origin.x = (origin.x + (dX / 10)); origin.y = (origin.y + (dY / 10)); }; } function parseLifeVars(_arg1:int){ txtLifeBars.text = ":"; m = 1; while (m < _arg1) { txtLifeBars.appendText("I"); m++; }; } public function onNormalClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("PlayMenu"); } public function onSettingsClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("Settings"); } public function mouseAfueraHandler(_arg1:MouseEvent){ origin.presionado = false; } function cicloRythm(_arg1:TimerEvent){ if (pausado == false){ if (lf < 130){ if (currentFrame == 8){ lf++; parseLifeVars(lf); }; }; k = 1; while (k <= BOULDER.arregloBoulders.length) { BOULDER.arregloBoulders[(k - 1)].tick = true; k++; }; }; } public function onBackClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("menu"); } public function onProgressClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("Progress"); } public function onEraseClick(_arg1:MouseEvent):void{ vault.eraseAll(); } function reportKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.charCode == 117){ if (pausado == true){ Mouse.show(); pausado = false; origin.pausado = false; alpha = 1; } else { if (pausado == false){ pausado = true; origin.pausado = true; combo = 0; txtCombo.text = ("+" + String(combo)); alpha = 0.2; pC = 1; while (pC <= BOULDER.arregloBoulders.length) { BOULDER.arregloBoulders[(pC - 1)].grabbed.alpha = 0; BOULDER.arregloBoulders[(pC - 1)].stopDrag(); BOULDER.arregloBoulders[(pC - 1)].Bfocus = false; pC++; }; Mouse.hide(); }; }; }; } public function onMeteorClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); gotoAndPlay("MeteorStorm"); } } }//package clss
Section 8
//MOD (clss.MOD) package clss { import flash.events.*; import flash.display.*; import flash.utils.*; public class MOD extends MovieClip { public var SPEED:uint; public var tipo:String; public var thisTimer:Timer; public var gfx:MovieClip; public var fuerzaX:uint; public var Ofocus:Boolean; public static var arregloMods:Array = new Array(); public function MOD(_arg1:String){ addFrameScript(0, frame1, 2, frame3); tipo = _arg1; if (tipo == "Wind"){ gfx.gotoAndStop(1); } else { if (tipo == "Kaos"){ gfx.gotoAndStop(2); } else { if (tipo == "Repel"){ gfx.gotoAndStop(3); } else { if (tipo == "KillAll"){ gfx.gotoAndStop(4); } else { if (tipo == "Freeze"){ gfx.gotoAndStop(5); }; }; }; }; }; addEventListener(MouseEvent.ROLL_OVER, mouseOverHandler); Ofocus = false; alpha = 0; } public function Acciones(_arg1:TimerEvent){ if (MAIN.pausado == false){ x = (x + fuerzaX); }; if (alpha < 1){ alpha = (alpha + 0.01); }; } function frame3(){ stop(); } function frame1(){ SPEED = 20; thisTimer = new Timer(SPEED, 0); thisTimer.addEventListener("timer", Acciones); thisTimer.start(); fuerzaX = 0; } public function mouseOverHandler(_arg1:MouseEvent){ if (MAIN.pausado == false){ Ofocus = true; }; } } }//package clss
Section 9
//redZone (clss.redZone) package clss { import flash.events.*; import flash.display.*; import flash.utils.*; public class redZone extends MovieClip { public var red_2:MovieClip; public var red:MovieClip; public var challenge_area:MovieClip; public function redZone(_arg1:int){ var _local2:Timer; super(); alpha = 0; gotoAndStop(_arg1); _local2 = new Timer(10, 0); _local2.addEventListener("timer", Acciones); _local2.start(); } function Acciones(_arg1:TimerEvent){ if (alpha < 1){ alpha = (alpha + 0.01); }; } } }//package clss
Section 10
//TELON (clss.TELON) package clss { import flash.events.*; import flash.display.*; import flash.utils.*; public class TELON extends MovieClip { var Desplegando;// = true private var contador:int;// = 1 public var listo:Boolean;// = false private var bandera:Boolean;// = false public function TELON(){ var _local1:Timer; bandera = false; contador = 1; listo = false; Desplegando = true; super(); _local1 = new Timer(10, 0); _local1.addEventListener("timer", Acciones); _local1.start(); alpha = 0; } function Acciones(_arg1:TimerEvent){ contador++; if (alpha >= 1){ listo = true; }; if (Desplegando == true){ if (alpha <= 1){ alpha = (alpha + 0.05); }; }; if (Desplegando == false){ if (alpha > 0){ alpha = (alpha - 0.05); }; }; } } }//package clss
Section 11
//VAULT (clss.VAULT) package clss { import flash.net.*; public class VAULT { public var trophy_adventureCombo:Boolean; var mySharedObject:SharedObject; public var trophy_adventureScore:Boolean; public var trophy_adventureComplete:Boolean; public var combo_adventure:int; public var score_adventure:int; public var score_hurricane:int; public var trophy_challengeComplete:Boolean; public var trophy_perfectCombo:Boolean; public var score_scramble:int; public var trophy_hardComplete:Boolean; public var trophy_scrambleScore:Boolean; public var trophy_meteorScore:Boolean; public var score_hard:int; public var score_meteor:int; public var score_challenge:int; public var trophy_hurricaneScore:Boolean; public function VAULT(){ mySharedObject = SharedObject.getLocal("saveFile"); trophy_adventureComplete = mySharedObject.data.trophy_adventureComplete; trophy_hardComplete = mySharedObject.data.trophy_hardComplete; trophy_challengeComplete = mySharedObject.data.trophy_challengeComplete; trophy_adventureCombo = mySharedObject.data.trophy_adventureCombo; trophy_adventureScore = mySharedObject.data.trophy_adventureScore; trophy_meteorScore = mySharedObject.data.trophy_meteorScore; trophy_scrambleScore = mySharedObject.data.trophy_scrambleScore; trophy_hurricaneScore = mySharedObject.data.trophy_hurricaneScore; trophy_perfectCombo = mySharedObject.data.trophy_perfectCombo; combo_adventure = mySharedObject.data.combo_adventure; score_adventure = mySharedObject.data.score_adventure; score_hard = mySharedObject.data.score_hard; score_hurricane = mySharedObject.data.score_hurricane; score_challenge = mySharedObject.data.score_challenge; score_scramble = mySharedObject.data.score_scramble; score_meteor = mySharedObject.data.score_meteor; } public function parseChallengeScore(_arg1:int){ if (_arg1 > score_challenge){ score_challenge = _arg1; }; mySharedObject.data.score_challenge = _arg1; } public function saveScores(){ mySharedObject.data.combo_adventure = combo_adventure; mySharedObject.data.score_adventure = score_adventure; mySharedObject.data.score_hard = score_hard; mySharedObject.data.score_hurricane = score_hurricane; mySharedObject.data.score_challenge = score_challenge; mySharedObject.data.score_scramble = score_scramble; mySharedObject.data.score_meteor = score_meteor; } public function parseHardScore(_arg1:int){ if (_arg1 > score_hard){ score_hard = _arg1; }; mySharedObject.data.score_hard = _arg1; } public function parseScrambleScore(_arg1:int){ if (_arg1 > score_scramble){ score_scramble = _arg1; }; mySharedObject.data.score_scramble = _arg1; } public function parseMeteorScore(_arg1:int){ if (_arg1 > score_meteor){ score_meteor = _arg1; }; mySharedObject.data.score_meteor = _arg1; } public function parseAdvScore(_arg1:int){ if (_arg1 > score_adventure){ score_adventure = _arg1; }; mySharedObject.data.score_adventure = _arg1; } public function parseHurricaneScore(_arg1:int){ if (_arg1 > score_hurricane){ score_hurricane = _arg1; }; mySharedObject.data.score_hurricane = _arg1; } public function eraseAll(){ trophy_adventureComplete = false; trophy_hardComplete = false; trophy_challengeComplete = false; trophy_adventureCombo = false; trophy_adventureScore = false; trophy_meteorScore = false; trophy_scrambleScore = false; trophy_hurricaneScore = false; trophy_perfectCombo = false; combo_adventure = 0; score_adventure = 0; score_hard = 0; score_hurricane = 0; score_challenge = 0; score_scramble = 0; score_meteor = 0; saveTrophies(); saveScores(); } public function saveTrophies(){ mySharedObject.data.trophy_adventureComplete = trophy_adventureComplete; mySharedObject.data.trophy_hardComplete = trophy_hardComplete; mySharedObject.data.trophy_challengeComplete = trophy_challengeComplete; mySharedObject.data.trophy_adventureCombo = trophy_adventureCombo; mySharedObject.data.trophy_adventureScore = trophy_adventureScore; mySharedObject.data.trophy_meteorScore = trophy_meteorScore; mySharedObject.data.trophy_scrambleScore = trophy_scrambleScore; mySharedObject.data.trophy_hurricaneScore = trophy_hurricaneScore; mySharedObject.data.trophy_perfectCombo = trophy_perfectCombo; } public function parseAdvCombo(_arg1:int){ if (_arg1 > combo_adventure){ combo_adventure = _arg1; }; mySharedObject.data.scombo_adventure = _arg1; } } }//package clss
Section 12
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent) package com.kongregate.as3.client.events { import flash.events.*; public class KongregateEvent extends Event { public static const COMPLETE:String = "component_api_available"; public function KongregateEvent(_arg1:String){ super(_arg1); } } }//package com.kongregate.as3.client.events
Section 13
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService) package com.kongregate.as3.client.services { import flash.events.*; public class AbstractShadowService extends EventDispatcher { protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{ trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4)); } } }//package com.kongregate.as3.client.services
Section 14
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow) package com.kongregate.as3.client.services { public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices { private var mode:String; public function HighScoreServiceShadow(){ mode = ""; } public function submit(_arg1:Number, _arg2:String=null):void{ alert("IHighScoreServices", "submit", arguments); } public function connect():Boolean{ alert("IKongregateServices", "connect"); return (true); } public function requestList(_arg1:Function):void{ alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]")); _arg1({success:false}); } public function setMode(_arg1:String):void{ alert("IHighScoreServices", "setMode", arguments); this.mode = _arg1; } } }//package com.kongregate.as3.client.services
Section 15
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices) package com.kongregate.as3.client.services { public interface IHighScoreServices { function setMode(_arg1:String):void; function submit(_arg1:Number, _arg2:String=null):void; function requestList(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 16
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices) package com.kongregate.as3.client.services { import flash.events.*; public interface IKongregateServices extends IEventDispatcher { function getPlayerInfo(_arg1:Function):void; function connect(_arg1:Number=-1):Boolean; } }//package com.kongregate.as3.client.services
Section 17
//IStatServices (com.kongregate.as3.client.services.IStatServices) package com.kongregate.as3.client.services { public interface IStatServices { function submitArray(_arg1:Array):void; function submit(_arg1:String, _arg2:Number):void; } }//package com.kongregate.as3.client.services
Section 18
//IUserServices (com.kongregate.as3.client.services.IUserServices) package com.kongregate.as3.client.services { public interface IUserServices { function getName():String; function getPlayerInfo(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 19
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow) package com.kongregate.as3.client.services { public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices { public function getName():String{ alert("IKongregateServices", "getName"); return ("Guest"); } public function connect(_arg1:Number=-1):Boolean{ alert("IKongregateServices", "connect", arguments); return (true); } public function getPlayerInfo(_arg1:Function):void{ alert("IKongregateServices", "getPlayerInfo"); _arg1(new Object()); } } }//package com.kongregate.as3.client.services
Section 20
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow) package com.kongregate.as3.client.services { public class StatServiceShadow extends AbstractShadowService implements IStatServices { public function submitArray(_arg1:Array):void{ alert("IStatServices", "submitArray", arguments); } public function submit(_arg1:String, _arg2:Number):void{ alert("IStatServices", "submitStat", arguments); } } }//package com.kongregate.as3.client.services
Section 21
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow) package com.kongregate.as3.client.services { public class UserServiceShadow extends AbstractShadowService implements IUserServices { public function getName():String{ alert("UserService", "getName"); return ("Guest"); } public function getPlayerInfo(_arg1:Function):void{ alert("UserService", "getPlayerInfo"); _arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""}); } } }//package com.kongregate.as3.client.services
Section 22
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap) package com.kongregate.as3.client { import flash.events.*; import flash.display.*; public interface IAPIBootstrap { function init(_arg1:Event=null, _arg2:Stage=null):void; function hideLog():void; function showLog(_arg1:int=0):void; } }//package com.kongregate.as3.client
Section 23
//KongregateAPI (com.kongregate.as3.client.KongregateAPI) package com.kongregate.as3.client { import flash.events.*; import flash.display.*; import com.kongregate.as3.client.services.*; import flash.net.*; import flash.utils.*; import com.kongregate.as3.client.events.*; import flash.system.*; import flash.errors.*; public class KongregateAPI extends Sprite { private const VERSION:Number = 1; private var loader:Loader; private var loadedDomain:ApplicationDomain; private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices"; private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices"; private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices"; private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices"; private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf"; private static var _connected:Boolean; private static var kUser:IUserServices; private static var _loaded:Boolean; private static var kServices:IKongregateServices; private static var kScores:IHighScoreServices; private static var mInstance:KongregateAPI; private static var kStats:IStatServices; private static var kAPI:IAPIBootstrap; public function KongregateAPI(){ if (mInstance != null){ throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access.")); }; mInstance = this; this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true); } public function get loaded():Boolean{ return (_loaded); } public function get connected():Boolean{ return (_connected); } private function alertConnected(_arg1:TimerEvent=null):void{ var _local2:KongregateEvent; var _local3:Boolean; _local2 = new KongregateEvent(KongregateEvent.COMPLETE); _local3 = this.dispatchEvent(_local2); } private function init(_arg1:Event):void{ var _local2:Object; var _local3:String; var _local4:URLRequest; var _local5:LoaderContext; this.removeEventListener(Event.ADDED_TO_STAGE, init); _loaded = false; _connected = false; _local2 = LoaderInfo(root.loaderInfo).parameters; _local3 = _local2.api_path; if (_local3 == null){ trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded."); createShadowServices(); return; }; Security.allowDomain("*.kongregate.com"); Security.allowDomain("kongregatetrunk.com"); _local4 = new URLRequest(_local3); _local5 = new LoaderContext(false); _local5.applicationDomain = ApplicationDomain.currentDomain; _local5.securityDomain = SecurityDomain.currentDomain; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); loader.load(_local4, _local5); } public function get api():IAPIBootstrap{ return (kAPI); } private function loadComplete(_arg1:Event):void{ getServices(); } public function get scores():IHighScoreServices{ return (kScores); } private function ioErrorHandler(_arg1:IOErrorEvent):void{ throw (new IOError(("API file not found. " + _arg1))); } public function get services():IKongregateServices{ return (kServices); } public function get stats():IStatServices{ return (kStats); } private function createShadowServices():void{ var _local1:Timer; trace(">>> Kongregate Shadow Services instantiated for local development.."); kServices = new KongregateServiceShadow(); kScores = new HighScoreServiceShadow(); kStats = new StatServiceShadow(); kUser = new UserServiceShadow(); _local1 = new Timer(200, 1); _local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected); _local1.start(); _connected = true; } public function get user():IUserServices{ return (kUser); } private function getServices():void{ var _local1:ApplicationDomain; var _local2:*; var _local3:*; var _local4:*; var _local5:*; _local1 = ApplicationDomain.currentDomain; kAPI = IAPIBootstrap(loader.getChildAt(0)); this.addChild(loader); _local2 = _local1.getDefinition(CLASS_SERVICES); trace(_local2); kServices = _local2.getInstance(); _local3 = _local1.getDefinition(CLASS_SCORES); kScores = _local3.getInstance(); _local4 = _local1.getDefinition(CLASS_STATS); kStats = _local4.getInstance(); _local5 = _local1.getDefinition(CLASS_USER); kUser = _local5.getInstance(); kServices.connect(VERSION); _loaded = true; _connected = true; alertConnected(); } public static function getInstance():KongregateAPI{ if (!mInstance){ throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it.")); }; return (mInstance); } } }//package com.kongregate.as3.client
Section 24
//Animator (fl.motion.Animator) package fl.motion { import flash.geom.*; import flash.events.*; import flash.display.*; public class Animator extends EventDispatcher { private var targetState:Object; public var transformationPoint:Point; private var _isPlaying:Boolean;// = false private var _time:int;// = -1 private var _target:DisplayObject; public var repeatCount:int;// = 1 private var _lastRenderedTime:int;// = -1 private var playCount:int;// = 0 private var _motion:Motion; public var orientToPath:Boolean;// = false public var autoRewind:Boolean;// = false public var positionMatrix:Matrix; private static var enterFrameBeacon:MovieClip = new MovieClip(); public function Animator(_arg1:XML=null, _arg2:DisplayObject=null){ orientToPath = false; autoRewind = false; repeatCount = 1; _isPlaying = false; _lastRenderedTime = -1; _time = -1; playCount = 0; super(); this.motion = new Motion(_arg1); this.target = _arg2; } public function stop():void{ enterFrameBeacon.removeEventListener(Event.ENTER_FRAME, this.enterFrameHandler); this._isPlaying = false; this.playCount = 0; this.rewind(); this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_END)); } public function get target():DisplayObject{ return (this._target); } public function set time(_arg1:int):void{ var _local2:Motion; var _local3:Keyframe; var _local4:Boolean; var _local5:Number; var _local6:Number; var _local7:Point; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Matrix; var _local13:Point; var _local14:Number; var _local15:Number; var _local16:ColorTransform; var _local17:Number; var _local18:Number; var _local19:Number; if (_arg1 == this._time){ return; }; _local2 = this.motion; if (_arg1 > (_local2.duration - 1)){ _arg1 = (_local2.duration - 1); } else { if (_arg1 < 0){ _arg1 = 0; }; }; this._time = _arg1; this.dispatchEvent(new MotionEvent(MotionEvent.TIME_CHANGE)); _local3 = _local2.getCurrentKeyframe(_arg1); _local4 = (((_local3.index == this._lastRenderedTime)) && (!(_local3.tweens.length))); if (_local4){ return; }; this._target.visible = false; if (!_local3.blank){ _local5 = _local2.getValue(_arg1, Tweenables.X); _local6 = _local2.getValue(_arg1, Tweenables.Y); _local7 = new Point(_local5, _local6); if (this.positionMatrix){ _local7 = this.positionMatrix.transformPoint(_local7); }; _local7.x = (_local7.x + this.targetState.x); _local7.y = (_local7.y + this.targetState.y); _local8 = (_local2.getValue(_arg1, Tweenables.SCALE_X) * this.targetState.scaleX); _local9 = (_local2.getValue(_arg1, Tweenables.SCALE_Y) * this.targetState.scaleY); _local10 = 0; _local11 = 0; if (this.orientToPath){ _local17 = _local2.getValue((_arg1 + 1), Tweenables.X); _local18 = _local2.getValue((_arg1 + 1), Tweenables.Y); _local19 = (Math.atan2((_local18 - _local6), (_local17 - _local5)) * (180 / Math.PI)); if (!isNaN(_local19)){ _local10 = (_local19 + this.targetState.skewX); _local11 = (_local19 + this.targetState.skewY); }; } else { _local10 = (_local2.getValue(_arg1, Tweenables.SKEW_X) + this.targetState.skewX); _local11 = (_local2.getValue(_arg1, Tweenables.SKEW_Y) + this.targetState.skewY); }; _local12 = new Matrix((_local8 * Math.cos((_local11 * (Math.PI / 180)))), (_local8 * Math.sin((_local11 * (Math.PI / 180)))), (-(_local9) * Math.sin((_local10 * (Math.PI / 180)))), (_local9 * Math.cos((_local10 * (Math.PI / 180)))), _local7.x, _local7.y); _local13 = _local12.transformPoint(this.targetState.transformPointInternal); _local14 = (_local12.tx - _local13.x); _local15 = (_local12.ty - _local13.y); _local12.tx = (_local12.tx + _local14); _local12.ty = (_local12.ty + _local15); this._target.rotation = _local11; this._target.transform.matrix = _local12; this._target.scaleX = _local8; this._target.scaleY = _local9; _local16 = _local2.getColorTransform(_arg1); if (_local16){ this._target.transform.colorTransform = _local16; }; this._target.filters = _local2.getFilters(_arg1); this._target.blendMode = _local3.blendMode; this._target.cacheAsBitmap = _local3.cacheAsBitmap; this._target.visible = true; }; this._lastRenderedTime = this._time; this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_UPDATE)); } private function enterFrameHandler(_arg1:Event):void{ this.nextFrame(); } public function set target(_arg1:DisplayObject):void{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Point; if (!_arg1){ return; }; this._target = _arg1; this.targetState = {}; this.targetState.scaleX = this._target.scaleX; this.targetState.scaleY = this._target.scaleY; this.targetState.skewX = MatrixTransformer.getSkewX(this._target.transform.matrix); this.targetState.skewY = MatrixTransformer.getSkewY(this._target.transform.matrix); this.targetState.matrix = this._target.transform.matrix; _local2 = (this.targetState.bounds = this._target.getBounds(this._target)); if (this.transformationPoint){ _local3 = ((this.transformationPoint.x * _local2.width) + _local2.left); _local4 = ((this.transformationPoint.y * _local2.height) + _local2.top); this.targetState.transformPointInternal = new Point(_local3, _local4); _local5 = this.targetState.matrix.transformPoint(this.targetState.transformPointInternal); this.targetState.x = _local5.x; this.targetState.y = _local5.y; } else { this.targetState.transformPointInternal = new Point(0, 0); this.targetState.x = this._target.x; this.targetState.y = this._target.y; }; } public function get isPlaying():Boolean{ return (_isPlaying); } public function resume():void{ enterFrameBeacon.addEventListener(Event.ENTER_FRAME, this.enterFrameHandler, false, 0, true); this._isPlaying = true; } private function handleLastFrame():void{ this.playCount++; if ((((this.repeatCount == 0)) || ((this.playCount < this.repeatCount)))){ this.rewind(); } else { this.end(); }; } public function get motion():Motion{ return (this._motion); } public function nextFrame():void{ if (this.time >= (this.motion.duration - 1)){ this.handleLastFrame(); } else { this.time++; }; } public function play():void{ if (!this._isPlaying){ enterFrameBeacon.addEventListener(Event.ENTER_FRAME, this.enterFrameHandler, false, 0, true); this._isPlaying = true; }; this.playCount = 0; this.rewind(); this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_START)); } public function rewind():void{ this.time = 0; } public function end():void{ enterFrameBeacon.removeEventListener(Event.ENTER_FRAME, this.enterFrameHandler); this._isPlaying = false; this.playCount = 0; if (this.autoRewind){ this.rewind(); } else { if (this.time != (this.motion.duration - 1)){ this.time = (this.motion.duration - 1); }; }; this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_END)); } public function get time():int{ return (this._time); } public function pause():void{ enterFrameBeacon.removeEventListener(Event.ENTER_FRAME, this.enterFrameHandler); this._isPlaying = false; } public function set motion(_arg1:Motion):void{ this._motion = _arg1; if (((_arg1.source) && (_arg1.source.transformationPoint))){ this.transformationPoint = _arg1.source.transformationPoint.clone(); }; } public static function fromXMLString(_arg1:String, _arg2:DisplayObject=null):Animator{ return (new Animator(new XML(_arg1), _arg2)); } } }//package fl.motion
Section 25
//BezierEase (fl.motion.BezierEase) package fl.motion { import flash.geom.*; public class BezierEase implements ITween { public var points:Array; private var firstNode:Point; private var _target:String;// = "" private var lastNode:Point; public function BezierEase(_arg1:XML=null){ _target = ""; super(); this.points = []; this.parseXML(_arg1); } public function set target(_arg1:String):void{ this._target = _arg1; } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Array; var _local7:Number; if (_arg4 <= 0){ return (NaN); }; _local5 = (_arg1 / _arg4); if (_local5 <= 0){ return (_arg2); }; if (_local5 >= 1){ return ((_arg2 + _arg3)); }; this.firstNode = new Point(0, _arg2); this.lastNode = new Point(1, (_arg2 + _arg3)); _local6 = [this.firstNode].concat(this.points); _local6.push(this.lastNode); _local7 = CustomEase.getYForPercent(_local5, _local6); return (_local7); } private function parseXML(_arg1:XML=null):BezierEase{ var _local2:XMLList; var _local3:XML; if (!_arg1){ return (this); }; if (_arg1.@target.length()){ this.target = _arg1.@target; }; _local2 = _arg1.elements(); for each (_local3 in _local2) { this.points.push(new Point(Number(_local3.@x), Number(_local3.@y))); }; return (this); } } }//package fl.motion
Section 26
//BezierSegment (fl.motion.BezierSegment) package fl.motion { import flash.geom.*; public class BezierSegment { public var a:Point; public var c:Point; public var b:Point; public var d:Point; public function BezierSegment(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point){ this.a = _arg1; this.b = _arg2; this.c = _arg3; this.d = _arg4; } public function getYForX(_arg1:Number, _arg2:Array=null):Number{ var _local3:Array; var _local4:Number; var _local5:Number; var _local6:Number; if (this.a.x < this.d.x){ if (_arg1 <= (this.a.x + 1E-16)){ return (this.a.y); }; if (_arg1 >= (this.d.x - 1E-16)){ return (this.d.y); }; } else { if (_arg1 >= (this.a.x + 1E-16)){ return (this.a.y); }; if (_arg1 <= (this.d.x - 1E-16)){ return (this.d.y); }; }; if (!_arg2){ _arg2 = getCubicCoefficients(this.a.x, this.b.x, this.c.x, this.d.x); }; _local3 = getCubicRoots(_arg2[0], _arg2[1], _arg2[2], (_arg2[3] - _arg1)); _local4 = NaN; if (_local3.length == 0){ _local4 = 0; } else { if (_local3.length == 1){ _local4 = _local3[0]; } else { for each (_local6 in _local3) { if ((((0 <= _local6)) && ((_local6 <= 1)))){ _local4 = _local6; break; }; }; }; }; if (isNaN(_local4)){ return (NaN); }; _local5 = getSingleValue(_local4, this.a.y, this.b.y, this.c.y, this.d.y); return (_local5); } public function getValue(_arg1:Number):Point{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = this.a.x; _local3 = (((((_arg1 * _arg1) * (this.d.x - _local2)) + ((3 * (1 - _arg1)) * ((_arg1 * (this.c.x - _local2)) + ((1 - _arg1) * (this.b.x - _local2))))) * _arg1) + _local2); _local4 = this.a.y; _local5 = (((((_arg1 * _arg1) * (this.d.y - _local4)) + ((3 * (1 - _arg1)) * ((_arg1 * (this.c.y - _local4)) + ((1 - _arg1) * (this.b.y - _local4))))) * _arg1) + _local4); return (new Point(_local3, _local5)); } public static function getCubicCoefficients(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Array{ return ([(((-(_arg1) + (3 * _arg2)) - (3 * _arg3)) + _arg4), (((3 * _arg1) - (6 * _arg2)) + (3 * _arg3)), ((-3 * _arg1) + (3 * _arg2)), _arg1]); } public static function getSingleValue(_arg1:Number, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0):Number{ return ((((((_arg1 * _arg1) * (_arg5 - _arg2)) + ((3 * (1 - _arg1)) * ((_arg1 * (_arg4 - _arg2)) + ((1 - _arg1) * (_arg3 - _arg2))))) * _arg1) + _arg2)); } public static function getCubicRoots(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):Array{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:int; var _local16:Number; if (!_arg1){ return (BezierSegment.getQuadraticRoots(_arg2, _arg3, _arg4)); }; if (_arg1 != 1){ _arg2 = (_arg2 / _arg1); _arg3 = (_arg3 / _arg1); _arg4 = (_arg4 / _arg1); }; _local5 = (((_arg2 * _arg2) - (3 * _arg3)) / 9); _local6 = (((((_arg2 * _arg2) - (3 * _arg3)) / 9) * _local5) * _local5); _local7 = ((((((2 * _arg2) * _arg2) * _arg2) - ((9 * _arg2) * _arg3)) + (27 * _arg4)) / 54); _local8 = (_local6 - (_local7 * _local7)); if (_local8 >= 0){ if (!_local5){ return ([0]); }; _local9 = Math.acos((_local7 / Math.sqrt(_local6))); _local10 = Math.sqrt(_local5); _local11 = (((-2 * _local10) * Math.cos((_local9 / 3))) - (_arg2 / 3)); _local12 = (((-2 * _local10) * Math.cos(((_local9 + (2 * Math.PI)) / 3))) - (_arg2 / 3)); _local13 = (((-2 * _local10) * Math.cos(((_local9 + (4 * Math.PI)) / 3))) - (_arg2 / 3)); return ([_local11, _local12, _local13]); //unresolved jump }; _local14 = Math.pow((Math.sqrt(-(_local8)) + Math.abs(_local7)), (1 / 3)); _local15 = ((_local7)>0) ? 1 : ((_local7 < 0)) ? -1 : 0; _local16 = ((-(_local15) * (_local14 + (_local5 / _local14))) - (_arg2 / 3)); return ([_local16]); } public static function getQuadraticRoots(_arg1:Number, _arg2:Number, _arg3:Number):Array{ var _local4:Array; var _local5:Number; var _local6:int; var _local7:Number; _local4 = []; if (!_arg1){ if (!_arg2){ return ([]); }; _local4[0] = (-(_arg3) / _arg2); return (_local4); }; _local5 = ((_arg2 * _arg2) - ((4 * _arg1) * _arg3)); _local6 = ((_local5)>0) ? 1 : ((_local5 < 0)) ? -1 : 0; if (_local6 < 0){ return ([]); }; if (!_local6){ _local4[0] = (-(_arg2) / (2 * _arg1)); } else { _local4[0] = (_local4[1] = (-(_arg2) / (2 * _arg1))); _local7 = (Math.sqrt(_local5) / (2 * _arg1)); _local4[0] = (_local4[0] - _local7); _local4[1] = (_local4[1] + _local7); }; return (_local4); } } }//package fl.motion
Section 27
//Color (fl.motion.Color) package fl.motion { import flash.geom.*; import flash.display.*; public class Color extends ColorTransform { private var _tintMultiplier:Number;// = 0 private var _tintColor:Number;// = 0 public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){ _tintColor = 0; _tintMultiplier = 0; super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function setTint(_arg1:uint, _arg2:Number):void{ var _local3:uint; var _local4:uint; var _local5:uint; this._tintColor = _arg1; this._tintMultiplier = _arg2; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2))); _local3 = ((_arg1 >> 16) & 0xFF); _local4 = ((_arg1 >> 8) & 0xFF); _local5 = (_arg1 & 0xFF); this.redOffset = Math.round((_local3 * _arg2)); this.greenOffset = Math.round((_local4 * _arg2)); this.blueOffset = Math.round((_local5 * _arg2)); } public function set tintColor(_arg1:uint):void{ this.setTint(_arg1, this.tintMultiplier); } public function get brightness():Number{ return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1)); } private function deriveTintColor():uint{ var _local1:Number; var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; _local1 = (1 / this.tintMultiplier); _local2 = Math.round((this.redOffset * _local1)); _local3 = Math.round((this.greenOffset * _local1)); _local4 = Math.round((this.blueOffset * _local1)); _local5 = (((_local2 << 16) | (_local3 << 8)) | _local4); return (_local5); } public function get tintMultiplier():Number{ return (this._tintMultiplier); } public function get tintColor():uint{ return (this._tintColor); } public function set brightness(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (_arg1 > 1){ _arg1 = 1; } else { if (_arg1 < -1){ _arg1 = -1; }; }; _local2 = (1 - Math.abs(_arg1)); _local3 = 0; if (_arg1 > 0){ _local3 = (_arg1 * 0xFF); }; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2)); this.redOffset = (this.greenOffset = (this.blueOffset = _local3)); } public function set tintMultiplier(_arg1:Number):void{ this.setTint(this.tintColor, _arg1); } private function parseXML(_arg1:XML=null):Color{ var _local2:XML; var _local3:XML; var _local4:String; var _local5:uint; if (!_arg1){ return (this); }; _local2 = _arg1.elements()[0]; if (!_local2){ return (this); }; for each (_local3 in _local2.attributes()) { _local4 = _local3.localName(); if (_local4 == "tintColor"){ _local5 = (Number(_local3.toString()) as uint); this.tintColor = _local5; } else { this[_local4] = Number(_local3.toString()); }; }; return (this); } public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{ var _local4:Number; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; var _local17:uint; _local4 = (1 - _arg3); _local5 = ((_arg1 >> 24) & 0xFF); _local6 = ((_arg1 >> 16) & 0xFF); _local7 = ((_arg1 >> 8) & 0xFF); _local8 = (_arg1 & 0xFF); _local9 = ((_arg2 >> 24) & 0xFF); _local10 = ((_arg2 >> 16) & 0xFF); _local11 = ((_arg2 >> 8) & 0xFF); _local12 = (_arg2 & 0xFF); _local13 = ((_local5 * _local4) + (_local9 * _arg3)); _local14 = ((_local6 * _local4) + (_local10 * _arg3)); _local15 = ((_local7 * _local4) + (_local11 * _arg3)); _local16 = ((_local8 * _local4) + (_local12 * _arg3)); _local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16); return (_local17); } public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{ var _local4:Number; var _local5:ColorTransform; _local4 = (1 - _arg3); _local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3))); return (_local5); } public static function fromXML(_arg1:XML):Color{ return (Color(new (Color).parseXML(_arg1))); } } }//package fl.motion
Section 28
//CustomEase (fl.motion.CustomEase) package fl.motion { import flash.geom.*; public class CustomEase implements ITween { public var points:Array; private var firstNode:Point; private var _target:String;// = "" private var lastNode:Point; public function CustomEase(_arg1:XML=null){ _target = ""; super(); this.points = []; this.parseXML(_arg1); this.firstNode = new Point(0, 0); this.lastNode = new Point(1, 1); } public function set target(_arg1:String):void{ this._target = _arg1; } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Array; var _local7:Number; if (_arg4 <= 0){ return (NaN); }; _local5 = (_arg1 / _arg4); if (_local5 <= 0){ return (_arg2); }; if (_local5 >= 1){ return ((_arg2 + _arg3)); }; _local6 = [this.firstNode].concat(this.points); _local6.push(this.lastNode); _local7 = getYForPercent(_local5, _local6); return ((_arg2 + (_local7 * _arg3))); } private function parseXML(_arg1:XML=null):CustomEase{ var _local2:XMLList; var _local3:XML; if (!_arg1){ return (this); }; if (_arg1.@target.length()){ this.target = _arg1.@target; }; _local2 = _arg1.elements(); for each (_local3 in _local2) { this.points.push(new Point(Number(_local3.@x), Number(_local3.@y))); }; return (this); } static function getYForPercent(_arg1:Number, _arg2:Array):Number{ var _local3:BezierSegment; var _local4:Array; var _local5:int; var _local6:BezierSegment; var _local7:Number; var _local8:int; var _local9:BezierSegment; _local3 = new BezierSegment(_arg2[0], _arg2[1], _arg2[2], _arg2[3]); _local4 = [_local3]; _local5 = 3; while (_local5 < (_arg2.length - 3)) { _local4.push(new BezierSegment(_arg2[_local5], _arg2[(_local5 + 1)], _arg2[(_local5 + 2)], _arg2[(_local5 + 3)])); _local5 = (_local5 + 3); }; _local6 = _local3; if (_arg2.length >= 5){ _local8 = 0; while (_local8 < _local4.length) { _local9 = _local4[_local8]; if ((((_local9.a.x <= _arg1)) && ((_arg1 <= _local9.d.x)))){ _local6 = _local9; break; }; _local8++; }; }; _local7 = _local6.getYForX(_arg1); return (_local7); } } }//package fl.motion
Section 29
//FunctionEase (fl.motion.FunctionEase) package fl.motion { import flash.utils.*; public class FunctionEase implements ITween { private var _functionName:String;// = "" public var parameters:Array;// = null private var _target:String;// = "" public var easingFunction:Function;// = null public function FunctionEase(_arg1:XML=null){ _functionName = ""; easingFunction = null; parameters = null; _target = ""; super(); this.parseXML(_arg1); } public function get functionName():String{ return (this._functionName); } public function set functionName(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:Class; _local2 = _arg1.split("."); _local3 = _local2.pop(); _local4 = _local2.join("."); _local5 = (getDefinitionByName(_local4) as Class); if ((_local5[_local3] is Function)){ this.easingFunction = _local5[_local3]; this._functionName = _arg1; }; } public function set target(_arg1:String):void{ this._target = _arg1; } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Array; if ((this.parameters is Array)){ _local5 = [_arg1, _arg2, _arg3, _arg4].concat(this.parameters); return (this.easingFunction.apply(null, _local5)); }; return (this.easingFunction(_arg1, _arg2, _arg3, _arg4)); } private function parseXML(_arg1:XML=null):FunctionEase{ if (!_arg1){ return (this); }; if (_arg1.@functionName.length()){ this.functionName = _arg1.@functionName; }; return (this); } } }//package fl.motion
Section 30
//ITween (fl.motion.ITween) package fl.motion { public interface ITween { function get target():String; function set target(_arg1:String):void; function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number; } }//package fl.motion
Section 31
//Keyframe (fl.motion.Keyframe) package fl.motion { import flash.filters.*; import flash.display.*; import flash.utils.*; public class Keyframe { public var skewX:Number;// = NAN public var blendMode:String; public var skewY:Number;// = NAN public var firstFrame:String; public var tweenScale:Boolean;// = true public var cacheAsBitmap:Boolean;// = false public var rotateTimes:uint;// = 0 public var tweenSync:Boolean;// = false public var loop:String; public var scaleX:Number;// = NAN private var _index:int;// = -1 public var blank:Boolean;// = false public var tweenSnap:Boolean;// = false public var scaleY:Number;// = NAN public var color:Color; public var rotateDirection:String; public var orientToPath:Boolean;// = false public var tweens:Array; public var label:String;// = "" public var x:Number;// = NAN public var y:Number;// = NAN public var filters:Array; public function Keyframe(_arg1:XML=null){ _index = -1; x = NaN; y = NaN; scaleX = NaN; scaleY = NaN; skewX = NaN; skewY = NaN; label = ""; tweenScale = true; tweenSnap = false; tweenSync = false; cacheAsBitmap = false; blendMode = BlendMode.NORMAL; rotateDirection = RotateDirection.AUTO; rotateTimes = 0; orientToPath = false; blank = false; super(); this.tweens = []; this.filters = []; this.parseXML(_arg1); } public function set index(_arg1:int):void{ this._index = ((_arg1)<0) ? 0 : _arg1; if (this._index == 0){ this.setDefaults(); }; } public function getTween(_arg1:String=""):ITween{ var _local2:ITween; for each (_local2 in this.tweens) { if ((((((((_local2.target == _arg1)) || ((((_local2.target == "rotation")) && ((((_arg1 == "skewX")) || ((_arg1 == "skewY")))))))) || ((((_local2.target == "position")) && ((((_arg1 == "x")) || ((_arg1 == "y")))))))) || ((((_local2.target == "scale")) && ((((_arg1 == "scaleX")) || ((_arg1 == "scaleY")))))))){ return (_local2); }; }; return (null); } public function setValue(_arg1:String, _arg2:Number):void{ this[_arg1] = _arg2; } public function getValue(_arg1:String):Number{ return (Number(this[_arg1])); } public function get index():int{ return (this._index); } private function setDefaults():void{ if (isNaN(this.x)){ this.x = 0; }; if (isNaN(this.y)){ this.y = 0; }; if (isNaN(this.scaleX)){ this.scaleX = 1; }; if (isNaN(this.scaleY)){ this.scaleY = 1; }; if (isNaN(this.skewX)){ this.skewX = 0; }; if (isNaN(this.skewY)){ this.skewY = 0; }; if (!this.color){ this.color = new Color(); }; } public function affectsTweenable(_arg1:String=""):Boolean{ return (((((((((((!(_arg1)) || (!(isNaN(this[_arg1]))))) || ((((_arg1 == "color")) && (this.color))))) || ((((_arg1 == "filters")) && (this.filters.length))))) || (this.blank))) || (this.getTween()))); } private function parseXML(_arg1:XML=null):Keyframe{ var indexString:String; var indexValue:int; var tweenableNames:Array; var tweenableName:String; var elements:XMLList; var filtersArray:Array; var child:XML; var attribute:XML; var attributeValue:String; var name:String; var tweenChildren:XMLList; var tweenChild:XML; var tweenName:String; var filtersChildren:XMLList; var filterXML:XML; var filterName:String; var filterClassName:String; var filterClass:Object; var filterInstance:BitmapFilter; var filterTypeInfo:XML; var accessorList:XMLList; var ratios:Array; var attrib:XML; var attribName:String; var accessor:XML; var attribType:String; var attribValue:String; var uintValue:uint; var valuesArray:Array; var xml = _arg1; if (!xml){ return (this); }; indexString = xml.@index.toXMLString(); indexValue = parseInt(indexString); if (indexString){ this.index = indexValue; } else { throw (new Error("<Keyframe> is missing the required attribute \"index\".")); }; if (xml.@label.length()){ this.label = xml.@label; }; if (xml.@tweenScale.length()){ this.tweenScale = (xml.@tweenScale.toString() == "true"); }; if (xml.@tweenSnap.length()){ this.tweenSnap = (xml.@tweenSnap.toString() == "true"); }; if (xml.@tweenSync.length()){ this.tweenSync = (xml.@tweenSync.toString() == "true"); }; if (xml.@blendMode.length()){ this.blendMode = xml.@blendMode; }; if (xml.@cacheAsBitmap.length()){ this.cacheAsBitmap = (xml.@cacheAsBitmap.toString() == "true"); }; if (xml.@rotateDirection.length()){ this.rotateDirection = xml.@rotateDirection; }; if (xml.@rotateTimes.length()){ this.rotateTimes = parseInt(xml.@rotateTimes); }; if (xml.@orientToPath.length()){ this.orientToPath = (xml.@orientToPath.toString() == "true"); }; if (xml.@blank.length()){ this.blank = (xml.@blank.toString() == "true"); }; tweenableNames = ["x", "y", "scaleX", "scaleY", "rotation", "skewX", "skewY"]; for each (tweenableName in tweenableNames) { attribute = xml.attribute(tweenableName)[0]; if (!attribute){ } else { attributeValue = attribute.toString(); if (attributeValue){ this[tweenableName] = Number(attributeValue); }; }; }; elements = xml.elements(); filtersArray = []; for each (child in elements) { name = child.localName(); if (name == "tweens"){ tweenChildren = child.elements(); for each (tweenChild in tweenChildren) { tweenName = tweenChild.localName(); if (tweenName == "SimpleEase"){ this.tweens.push(new SimpleEase(tweenChild)); } else { if (tweenName == "CustomEase"){ this.tweens.push(new CustomEase(tweenChild)); } else { if (tweenName == "BezierEase"){ this.tweens.push(new BezierEase(tweenChild)); } else { if (tweenName == "FunctionEase"){ this.tweens.push(new FunctionEase(tweenChild)); }; }; }; }; }; } else { if (name == "filters"){ filtersChildren = child.elements(); for each (filterXML in filtersChildren) { filterName = filterXML.localName(); filterClassName = ("flash.filters." + filterName); if (filterName == "AdjustColorFilter"){ } else { filterClass = getDefinitionByName(filterClassName); filterInstance = new (filterClass); filterTypeInfo = describeType(filterInstance); accessorList = filterTypeInfo.accessor; ratios = []; for each (attrib in filterXML.attributes()) { attribName = attrib.localName(); accessor = accessorList.(@name == attribName)[0]; attribType = accessor.@type; attribValue = attrib.toString(); if (attribType == "int"){ filterInstance[attribName] = parseInt(attribValue); } else { if (attribType == "uint"){ filterInstance[attribName] = (parseInt(attribValue) as uint); uintValue = (parseInt(attribValue) as uint); } else { if (attribType == "Number"){ filterInstance[attribName] = Number(attribValue); } else { if (attribType == "Boolean"){ filterInstance[attribName] = (attribValue == "true"); } else { if (attribType == "Array"){ attribValue = attribValue.substring(1, (attribValue.length - 1)); valuesArray = null; if ((((attribName == "ratios")) || ((attribName == "colors")))){ valuesArray = splitUint(attribValue); } else { if (attribName == "alphas"){ valuesArray = splitNumber(attribValue); }; }; if (attribName == "ratios"){ ratios = valuesArray; } else { if (valuesArray){ filterInstance[attribName] = valuesArray; }; }; } else { if (attribType == "String"){ filterInstance[attribName] = attribValue; }; }; }; }; }; }; }; if (ratios.length){ filterInstance["ratios"] = ratios; }; filtersArray.push(filterInstance); }; }; } else { if (name == "color"){ this.color = Color.fromXML(child); }; }; }; this.filters = filtersArray; }; return (this); } public function set rotation(_arg1:Number):void{ if (((isNaN(this.skewX)) || (isNaN(this.skewY)))){ this.skewX = _arg1; } else { this.skewX = (this.skewX + (_arg1 - this.skewY)); }; this.skewY = _arg1; } public function get rotation():Number{ return (this.skewY); } private static function splitNumber(_arg1:String):Array{ var _local2:Array; var _local3:int; _local2 = _arg1.split(","); _local3 = 0; while (_local3 < _local2.length) { _local2[_local3] = Number(_local2[_local3]); _local3++; }; return (_local2); } private static function splitUint(_arg1:String):Array{ var _local2:Array; var _local3:int; _local2 = _arg1.split(","); _local3 = 0; while (_local3 < _local2.length) { _local2[_local3] = (parseInt(_local2[_local3]) as uint); _local3++; }; return (_local2); } private static function splitInt(_arg1:String):Array{ var _local2:Array; var _local3:int; _local2 = _arg1.split(","); _local3 = 0; while (_local3 < _local2.length) { _local2[_local3] = (parseInt(_local2[_local3]) as int); _local3++; }; return (_local2); } } }//package fl.motion
Section 32
//MatrixTransformer (fl.motion.MatrixTransformer) package fl.motion { import flash.geom.*; public class MatrixTransformer { public static function getSkewY(_arg1:Matrix):Number{ return ((Math.atan2(_arg1.b, _arg1.a) * (180 / Math.PI))); } public static function getScaleX(_arg1:Matrix):Number{ return (Math.sqrt(((_arg1.a * _arg1.a) + (_arg1.b * _arg1.b)))); } public static function getScaleY(_arg1:Matrix):Number{ return (Math.sqrt(((_arg1.c * _arg1.c) + (_arg1.d * _arg1.d)))); } public static function setSkewXRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; _local3 = getScaleY(_arg1); _arg1.c = (-(_local3) * Math.sin(_arg2)); _arg1.d = (_local3 * Math.cos(_arg2)); } public static function setRotation(_arg1:Matrix, _arg2:Number):void{ setRotationRadians(_arg1, (_arg2 * (Math.PI / 180))); } public static function rotateAroundInternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Point; _local5 = new Point(_arg2, _arg3); _local5 = _arg1.transformPoint(_local5); _arg1.tx = (_arg1.tx - _local5.x); _arg1.ty = (_arg1.ty - _local5.y); _arg1.rotate((_arg4 * (Math.PI / 180))); _arg1.tx = (_arg1.tx + _local5.x); _arg1.ty = (_arg1.ty + _local5.y); } public static function setSkewX(_arg1:Matrix, _arg2:Number):void{ setSkewXRadians(_arg1, (_arg2 * (Math.PI / 180))); } public static function setSkewY(_arg1:Matrix, _arg2:Number):void{ setSkewYRadians(_arg1, (_arg2 * (Math.PI / 180))); } public static function setScaleX(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = getScaleX(_arg1); if (_local3){ _local4 = (_arg2 / _local3); _arg1.a = (_arg1.a * _local4); _arg1.b = (_arg1.b * _local4); } else { _local5 = getSkewYRadians(_arg1); _arg1.a = (Math.cos(_local5) * _arg2); _arg1.b = (Math.sin(_local5) * _arg2); }; } public static function setScaleY(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = getScaleY(_arg1); if (_local3){ _local4 = (_arg2 / _local3); _arg1.c = (_arg1.c * _local4); _arg1.d = (_arg1.d * _local4); } else { _local5 = getSkewXRadians(_arg1); _arg1.c = (-(Math.sin(_local5)) * _arg2); _arg1.d = (Math.cos(_local5) * _arg2); }; } public static function setRotationRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; var _local4:Number; _local3 = getRotationRadians(_arg1); _local4 = getSkewXRadians(_arg1); setSkewXRadians(_arg1, ((_local4 + _arg2) - _local3)); setSkewYRadians(_arg1, _arg2); } public static function setSkewYRadians(_arg1:Matrix, _arg2:Number):void{ var _local3:Number; _local3 = getScaleX(_arg1); _arg1.a = (_local3 * Math.cos(_arg2)); _arg1.b = (_local3 * Math.sin(_arg2)); } public static function getSkewX(_arg1:Matrix):Number{ return ((Math.atan2(-(_arg1.c), _arg1.d) * (180 / Math.PI))); } public static function getSkewYRadians(_arg1:Matrix):Number{ return (Math.atan2(_arg1.b, _arg1.a)); } public static function getSkewXRadians(_arg1:Matrix):Number{ return (Math.atan2(-(_arg1.c), _arg1.d)); } public static function getRotation(_arg1:Matrix):Number{ return ((getRotationRadians(_arg1) * (180 / Math.PI))); } public static function rotateAroundExternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{ _arg1.tx = (_arg1.tx - _arg2); _arg1.ty = (_arg1.ty - _arg3); _arg1.rotate((_arg4 * (Math.PI / 180))); _arg1.tx = (_arg1.tx + _arg2); _arg1.ty = (_arg1.ty + _arg3); } public static function getRotationRadians(_arg1:Matrix):Number{ return (getSkewYRadians(_arg1)); } public static function matchInternalPointWithExternal(_arg1:Matrix, _arg2:Point, _arg3:Point):void{ var _local4:Point; var _local5:Number; var _local6:Number; _local4 = _arg1.transformPoint(_arg2); _local5 = (_arg3.x - _local4.x); _local6 = (_arg3.y - _local4.y); _arg1.tx = (_arg1.tx + _local5); _arg1.ty = (_arg1.ty + _local6); } } }//package fl.motion
Section 33
//Motion (fl.motion.Motion) package fl.motion { import flash.filters.*; import flash.geom.*; import flash.utils.*; public class Motion { private var _keyframesCompact:Array; public var keyframes:Array; public var source:Source; private var _duration:int;// = 0 private static var typeCache:Object = {}; public function Motion(_arg1:XML=null){ var _local2:Keyframe; _duration = 0; super(); this.keyframes = []; this.parseXML(_arg1); if (!this.source){ this.source = new Source(); }; if (this.duration == 0){ _local2 = new Keyframe(); _local2.index = 0; this.addKeyframe(_local2); }; } public function getFilters(_arg1:Number):Array{ var _local2:Array; var _local3:Keyframe; var _local4:Array; var _local5:Number; var _local6:ITween; var _local7:Keyframe; var _local8:Array; var _local9:Number; var _local10:Number; _local2 = null; _local3 = this.getCurrentKeyframe(_arg1, "filters"); if (((!(_local3)) || (!(_local3.filters.length)))){ return ([]); }; _local4 = _local3.filters; _local5 = (_arg1 - _local3.index); _local6 = ((_local3.getTween("filters")) || (_local3.getTween())); if ((((_local5 == 0)) || (!(_local6)))){ _local2 = _local4; } else { if (_local6){ _local7 = this.getNextKeyframe(_arg1, "filters"); if (((!(_local7)) || (!(_local7.filters.length)))){ _local2 = _local4; } else { _local8 = _local7.filters; _local9 = (_local7.index - _local3.index); _local10 = _local6.getValue(_local5, 0, 1, _local9); _local2 = interpolateFilters(_local4, _local8, _local10); }; }; }; return (_local2); } public function getCurrentKeyframe(_arg1:int, _arg2:String=""):Keyframe{ var _local3:int; var _local4:Keyframe; if (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))){ return (null); }; _local3 = _arg1; while (_local3 > 0) { _local4 = this.keyframes[_local3]; if (((_local4) && (_local4.affectsTweenable(_arg2)))){ return (_local4); }; _local3--; }; return (this.keyframes[0]); } public function get duration():int{ if (this._duration < this.keyframes.length){ this._duration = this.keyframes.length; }; return (this._duration); } public function get keyframesCompact():Array{ var _local1:Keyframe; this._keyframesCompact = []; for each (_local1 in this.keyframes) { if (_local1){ this._keyframesCompact.push(_local1); }; }; return (this._keyframesCompact); } private function parseXML(_arg1:XML):Motion{ var _local2:XMLList; var _local3:Number; var _local4:XML; var _local5:XML; if (!_arg1){ return (this); }; if (_arg1.@duration.length()){ this._duration = parseInt(_arg1.@duration); }; _local2 = _arg1.elements(); _local3 = 0; while (_local3 < _local2.length()) { _local4 = _local2[_local3]; if (_local4.localName() == "source"){ _local5 = _local4.children()[0]; this.source = new Source(_local5); } else { if (_local4.localName() == "Keyframe"){ this.addKeyframe(new Keyframe(_local4)); }; }; _local3++; }; return (this); } public function set duration(_arg1:int):void{ if (_arg1 < this.keyframes.length){ _arg1 = this.keyframes.length; }; this._duration = _arg1; } private function indexOutOfRange(_arg1:int):Boolean{ return (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))); } public function addKeyframe(_arg1:Keyframe):void{ this.keyframes[_arg1.index] = _arg1; if (this.duration < this.keyframes.length){ this.duration = this.keyframes.length; }; } public function setValue(_arg1:int, _arg2:String, _arg3:Number):void{ var _local4:Keyframe; if (_arg1 == 0){ return; }; _local4 = this.keyframes[_arg1]; if (!_local4){ _local4 = new Keyframe(); _local4.index = _arg1; this.addKeyframe(_local4); }; _local4.setValue(_arg2, _arg3); } public function getNextKeyframe(_arg1:int, _arg2:String=""):Keyframe{ var _local3:int; var _local4:Keyframe; if (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))){ return (null); }; _local3 = (_arg1 + 1); while (_local3 < this.keyframes.length) { _local4 = this.keyframes[_local3]; if (((_local4) && (_local4.affectsTweenable(_arg2)))){ return (_local4); }; _local3++; }; return (null); } public function getValue(_arg1:Number, _arg2:String):Number{ var _local3:Number; var _local4:Keyframe; var _local5:Number; var _local6:Number; var _local7:ITween; var _local8:String; var _local9:Keyframe; var _local10:Number; var _local11:Number; var _local12:Number; _local3 = NaN; _local4 = this.getCurrentKeyframe(_arg1, _arg2); if (((!(_local4)) || (_local4.blank))){ return (NaN); }; _local5 = _local4.getValue(_arg2); if (((isNaN(_local5)) && ((_local4.index > 0)))){ _local5 = this.getValue((_local4.index - 1), _arg2); }; if (isNaN(_local5)){ return (NaN); }; _local6 = (_arg1 - _local4.index); if (_local6 == 0){ return (_local5); }; _local7 = ((_local4.getTween(_arg2)) || (_local4.getTween())); if (((((!(_local7)) || (((!(_local4.tweenScale)) && ((((_arg2 == Tweenables.SCALE_X)) || ((_arg2 == Tweenables.SCALE_Y)))))))) || ((((_local4.rotateDirection == RotateDirection.NONE)) && ((((((_arg2 == Tweenables.ROTATION)) || ((_arg2 == Tweenables.SKEW_X)))) || ((_arg2 == Tweenables.SKEW_Y)))))))){ return (_local5); }; _local8 = _arg2; if (_local7.target == ""){ _local8 = ""; }; _local9 = this.getNextKeyframe(_arg1, _local8); if (((!(_local9)) || (_local9.blank))){ return (_local5); }; _local10 = _local9.getValue(_arg2); if (isNaN(_local10)){ _local10 = _local5; }; _local11 = (_local10 - _local5); if ((((((_arg2 == Tweenables.SKEW_X)) || ((_arg2 == Tweenables.SKEW_Y)))) || ((_arg2 == Tweenables.ROTATION)))){ if (_local4.rotateDirection == RotateDirection.AUTO){ _local11 = (_local11 % 360); if (_local11 > 180){ _local11 = (_local11 - 360); } else { if (_local11 < -180){ _local11 = (_local11 + 360); }; }; } else { if (_local4.rotateDirection == RotateDirection.CW){ if (_local11 < 0){ _local11 = ((_local11 % 360) + 360); }; _local11 = (_local11 + (_local4.rotateTimes * 360)); } else { if (_local11 > 0){ _local11 = ((_local11 % 360) - 360); }; _local11 = (_local11 - (_local4.rotateTimes * 360)); }; }; }; _local12 = (_local9.index - _local4.index); _local3 = _local7.getValue(_local6, _local5, _local11, _local12); return (_local3); } public function set keyframesCompact(_arg1:Array):void{ var _local2:Keyframe; this._keyframesCompact = _arg1.concat(); this.keyframes = []; for each (_local2 in this._keyframesCompact) { this.addKeyframe(_local2); }; } public function getColorTransform(_arg1:int):ColorTransform{ var _local2:ColorTransform; var _local3:Keyframe; var _local4:ColorTransform; var _local5:Number; var _local6:ITween; var _local7:Keyframe; var _local8:ColorTransform; var _local9:Number; var _local10:Number; _local2 = null; _local3 = this.getCurrentKeyframe(_arg1, "color"); if (((!(_local3)) || (!(_local3.color)))){ return (null); }; _local4 = _local3.color; _local5 = (_arg1 - _local3.index); _local6 = ((((_local3.getTween("color")) || (_local3.getTween("alpha")))) || (_local3.getTween())); if ((((_local5 == 0)) || (!(_local6)))){ _local2 = _local4; } else { if (_local6){ _local7 = this.getNextKeyframe(_arg1, "color"); if (((!(_local7)) || (!(_local7.color)))){ _local2 = _local4; } else { _local8 = _local7.color; _local9 = (_local7.index - _local3.index); _local10 = _local6.getValue(_local5, 0, 1, _local9); _local2 = Color.interpolateTransform(_local4, _local8, _local10); }; }; }; return (_local2); } private static function getTypeInfo(_arg1):XML{ var _local2:String; _local2 = ""; if ((_arg1 is String)){ _local2 = _arg1; } else { _local2 = getQualifiedClassName(_arg1); }; if ((_local2 in typeCache)){ return (typeCache[_local2]); }; if ((_arg1 is String)){ _arg1 = getDefinitionByName(_arg1); }; return ((typeCache[_local2] = describeType(_arg1))); } public static function interpolateFilter(_arg1:BitmapFilter, _arg2:BitmapFilter, _arg3:Number):BitmapFilter{ var _local4:Number; var _local5:BitmapFilter; var _local6:XML; var _local7:XMLList; var _local8:XML; var _local9:String; var _local10:String; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:int; var _local20:int; var _local21:int; var _local22:Number; var _local23:uint; var _local24:Number; var _local25:int; var _local26:Number; var _local27:uint; var _local28:Number; var _local29:int; var _local30:uint; var _local31:Number; if (((!(_arg2)) || (!((_arg1["constructor"] == _arg2["constructor"]))))){ return (_arg1); }; if (_arg3 > 1){ _arg3 = 1; } else { if (_arg3 < 0){ _arg3 = 0; }; }; _local4 = (1 - _arg3); _local5 = _arg1.clone(); _local6 = getTypeInfo(_arg1); _local7 = _local6.accessor; for each (_local8 in _local7) { _local9 = _local8.@name.toString(); _local10 = _local8.@type; if ((((_local10 == "Number")) || ((_local10 == "int")))){ _local5[_local9] = ((_arg1[_local9] * _local4) + (_arg2[_local9] * _arg3)); } else { if (_local10 == "uint"){ switch (_local9){ case "color": case "highlightColor": case "shadowColor": _local11 = _arg1[_local9]; _local12 = _arg2[_local9]; _local13 = Color.interpolateColor(_local11, _local12, _arg3); _local5[_local9] = _local13; break; default: _local5[_local9] = ((_arg1[_local9] * _local4) + (_arg2[_local9] * _arg3)); break; }; }; }; }; if ((((_arg1 is GradientGlowFilter)) || ((_arg1 is GradientBevelFilter)))){ _local14 = []; _local15 = []; _local16 = []; _local17 = _arg1["ratios"].length; _local18 = _arg2["ratios"].length; _local19 = Math.max(_local17, _local18); _local20 = 0; while (_local20 < _local19) { _local21 = Math.min(_local20, (_local17 - 1)); _local22 = _arg1["ratios"][_local21]; _local23 = _arg1["colors"][_local21]; _local24 = _arg1["alphas"][_local21]; _local25 = Math.min(_local20, (_local18 - 1)); _local26 = _arg2["ratios"][_local25]; _local27 = _arg2["colors"][_local25]; _local28 = _arg2["alphas"][_local25]; _local29 = ((_local22 * _local4) + (_local26 * _arg3)); _local30 = Color.interpolateColor(_local23, _local27, _arg3); _local31 = ((_local24 * _local4) + (_local28 * _arg3)); _local14[_local20] = _local29; _local15[_local20] = _local30; _local16[_local20] = _local31; _local20++; }; _local5["colors"] = _local15; _local5["alphas"] = _local16; _local5["ratios"] = _local14; }; return (_local5); } public static function interpolateFilters(_arg1:Array, _arg2:Array, _arg3:Number):Array{ var _local4:Array; var _local5:int; var _local6:BitmapFilter; var _local7:BitmapFilter; var _local8:BitmapFilter; if (_arg1.length != _arg2.length){ return (null); }; _local4 = []; _local5 = 0; while (_local5 < _arg1.length) { _local6 = _arg1[_local5]; _local7 = _arg2[_local5]; _local8 = interpolateFilter(_local6, _local7, _arg3); if (_local8){ _local4.push(_local8); }; _local5++; }; return (_local4); } public static function fromXMLString(_arg1:String):Motion{ var _local2:XML; _local2 = new XML(_arg1); return (new Motion(_local2)); } } }//package fl.motion
Section 34
//MotionEvent (fl.motion.MotionEvent) package fl.motion { import flash.events.*; public class MotionEvent extends Event { public static const MOTION_UPDATE:String = "motionUpdate"; public static const TIME_CHANGE:String = "timeChange"; public static const MOTION_START:String = "motionStart"; public static const MOTION_END:String = "motionEnd"; public function MotionEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new MotionEvent(this.type, this.bubbles, this.cancelable)); } } }//package fl.motion
Section 35
//RotateDirection (fl.motion.RotateDirection) package fl.motion { public class RotateDirection { public static const CW:String = "cw"; public static const CCW:String = "ccw"; public static const NONE:String = "none"; public static const AUTO:String = "auto"; } }//package fl.motion
Section 36
//SimpleEase (fl.motion.SimpleEase) package fl.motion { public class SimpleEase implements ITween { private var _ease:Number;// = 0 private var _target:String;// = "" public function SimpleEase(_arg1:XML=null){ _ease = 0; _target = ""; super(); this.parseXML(_arg1); } public function set target(_arg1:String):void{ this._target = _arg1; } private function parseXML(_arg1:XML=null):SimpleEase{ if (_arg1){ if (_arg1.@ease.length()){ this.ease = Number(_arg1.@ease); }; }; return (this); } public function get ease():Number{ return (this._ease); } public function get target():String{ return (this._target); } public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (easeQuadPercent(_arg1, _arg2, _arg3, _arg4, this.ease)); } public function set ease(_arg1:Number):void{ this._ease = ((_arg1 > 1)) ? 1 : ((_arg1 < -1)) ? -1 : (isNaN(_arg1)) ? 0 : _arg1; } public static function easeQuadPercent(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ if (_arg4 <= 0){ return (NaN); }; if (_arg1 <= 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 >= 1){ return ((_arg2 + _arg3)); }; if (!_arg5){ return (((_arg3 * _arg1) + _arg2)); }; if (_arg5 > 1){ _arg5 = 1; } else { if (_arg5 < -1){ _arg5 = -1; }; }; if (_arg5 < 0){ return ((((_arg3 * _arg1) * ((_arg1 * -(_arg5)) + (1 + _arg5))) + _arg2)); }; return ((((_arg3 * _arg1) * (((2 - _arg1) * _arg5) + (1 - _arg5))) + _arg2)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg4 <= 0){ return (NaN); }; if (_arg1 <= 0){ return (_arg2); }; if (_arg1 >= _arg4){ return ((_arg2 + _arg3)); }; return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package fl.motion
Section 37
//Source (fl.motion.Source) package fl.motion { import flash.geom.*; public class Source { public var instanceName:String;// = "" public var symbolName:String;// = "" public var dimensions:Rectangle; public var scaleX:Number;// = 1 public var skewY:Number;// = 0 public var skewX:Number;// = 0 public var scaleY:Number;// = 1 public var elementType:String;// = "" public var transformationPoint:Point; public var linkageID:String;// = "" public var frameRate:Number;// = NAN public var x:Number;// = 0 public var y:Number;// = 0 public var rotation:Number;// = 0 public function Source(_arg1:XML=null){ frameRate = NaN; elementType = ""; symbolName = ""; instanceName = ""; linkageID = ""; x = 0; y = 0; scaleX = 1; scaleY = 1; skewX = 0; skewY = 0; rotation = 0; super(); this.parseXML(_arg1); } private function parseXML(_arg1:XML=null):Source{ var _local2:XMLList; var _local3:XML; var _local4:XML; var _local5:XML; if (!_arg1){ return (this); }; if (_arg1.@instanceName){ this.instanceName = String(_arg1.@instanceName); }; if (_arg1.@symbolName){ this.symbolName = String(_arg1.@symbolName); }; if (_arg1.@linkageID){ this.linkageID = String(_arg1.@linkageID); }; if (!isNaN(_arg1.@frameRate)){ this.frameRate = Number(_arg1.@frameRate); }; _local2 = _arg1.elements(); for each (_local3 in _local2) { if (_local3.localName() == "transformationPoint"){ _local4 = _local3.children()[0]; this.transformationPoint = new Point(Number(_local4.@x), Number(_local4.@y)); } else { if (_local3.localName() == "dimensions"){ _local5 = _local3.children()[0]; this.dimensions = new Rectangle(Number(_local5.@left), Number(_local5.@top), Number(_local5.@width), Number(_local5.@height)); }; }; }; return (this); } } }//package fl.motion
Section 38
//Tweenables (fl.motion.Tweenables) package fl.motion { public class Tweenables { public static const SCALE_X:String = "scaleX"; public static const SCALE_Y:String = "scaleY"; public static const SKEW_X:String = "skewX"; public static const SKEW_Y:String = "skewY"; public static const X:String = "x"; public static const Y:String = "y"; public static const ROTATION:String = "rotation"; } }//package fl.motion
Section 39
//bg_ani_19 (TheShapes_fla.bg_ani_19) package TheShapes_fla { import flash.display.*; public dynamic class bg_ani_19 extends MovieClip { public var gfx:MovieClip; } }//package TheShapes_fla
Section 40
//ChallengeCourse_64 (TheShapes_fla.ChallengeCourse_64) package TheShapes_fla { import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class ChallengeCourse_64 extends MovieClip { public var pausado; public var haciaArribat:Timer; public var red_area:MovieClip; public function ChallengeCourse_64(){ addFrameScript(0, frame1); } public function haciaArriba(_arg1:TimerEvent){ if (!pausado){ red_area.y = (red_area.y - 2); }; } function frame1(){ pausado = false; haciaArribat = new Timer(25, 0); haciaArribat.addEventListener(TimerEvent.TIMER, haciaArriba); haciaArribat.start(); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); } public function reportKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.charCode == 117){ if (pausado == true){ pausado = false; } else { if (pausado == false){ pausado = true; }; }; }; } } }//package TheShapes_fla
Section 41
//JukeBox_29 (TheShapes_fla.JukeBox_29) package TheShapes_fla { import flash.display.*; import flash.media.*; public dynamic class JukeBox_29 extends MovieClip { public function JukeBox_29(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function frame10(){ stop(); } function frame3(){ SoundMixer.stopAll(); } function frame6(){ stop(); } function frame7(){ SoundMixer.stopAll(); } function frame1(){ SoundMixer.stopAll(); } function frame4(){ stop(); } function frame5(){ SoundMixer.stopAll(); } function frame9(){ SoundMixer.stopAll(); } function frame8(){ stop(); } function frame2(){ stop(); } } }//package TheShapes_fla
Section 42
//Kongintro30fps_2 (TheShapes_fla.Kongintro30fps_2) package TheShapes_fla { import flash.events.*; import flash.display.*; import flash.net.*; public dynamic class Kongintro30fps_2 extends MovieClip { public var btn_Kong:SimpleButton; public var cargado; public function Kongintro30fps_2(){ addFrameScript(0, frame1, 179, frame180); } public function OnLogoPress(_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=Shape-a-licious"), "_blank"); } function frame180(){ cargado = 1; stop(); } function frame1(){ cargado = 0; btn_Kong.addEventListener(MouseEvent.CLICK, OnLogoPress); } } }//package TheShapes_fla
Section 43
//origin_30 (TheShapes_fla.origin_30) package TheShapes_fla { import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class origin_30 extends MovieClip { public var WHITE:int; public var gutter:int; public var thisTimer:Timer; public var BLUE:int; public var seed:int; public var YELLOW:int; public var gfx:MovieClip; public var borderColor:int; public var borderSize:int; public var presionado:Boolean; public var myDegrees:Number; public var fxs:MovieClip; public var pausado:Boolean; public function origin_30(){ addFrameScript(0, frame1); } public function Acciones(_arg1:TimerEvent):void{ var _local2:int; var _local3:DisplayObject; if (pausado == false){ myDegrees = ((Math.atan2((root.mouseY - this.y), (root.mouseX - this.x)) * 180) / Math.PI); gfx.rotation = (myDegrees + 90); _local2 = this.fxs.numChildren; fxs.graphics.clear(); if (presionado == true){ fxs.graphics.lineStyle(0, BLUE, 1); fxs.graphics.lineTo((root.mouseX - x), (root.mouseY - y)); }; }; } function frame1(){ thisTimer = new Timer(5, 0); gutter = 0; seed = 1; YELLOW = 12615776; WHITE = 12615776; BLUE = 12615776; presionado = false; borderColor = 0x666666; borderSize = 1; thisTimer.addEventListener("timer", Acciones); thisTimer.start(); pausado = false; } } }//package TheShapes_fla
Section 44
//RED_62 (TheShapes_fla.RED_62) package TheShapes_fla { import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class RED_62 extends MovieClip { public var red_2:MovieClip; public var thisTimer:Timer; public var haciaArribat:Timer; public var red:MovieClip; public var pausado; public function RED_62(){ addFrameScript(0, frame1); } public function haciaArriba(_arg1:TimerEvent){ if (pausado == false){ red.rotation = (red.rotation + 0.5); red_2.rotation = (red_2.rotation - 0.5); }; } function frame1(){ thisTimer = new Timer(10, 0); pausado = false; stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); haciaArribat = new Timer(10, 0); haciaArribat.addEventListener("timer", haciaArriba); haciaArribat.start(); } public function reportKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.charCode == 117){ if (pausado == true){ pausado = false; } else { if (pausado == false){ pausado = true; }; }; }; } } }//package TheShapes_fla
Section 45
//Red5_inner_59 (TheShapes_fla.Red5_inner_59) package TheShapes_fla { import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class Red5_inner_59 extends MovieClip { public var pausado; public var haciaArribat:Timer; public var red_area:MovieClip; public function Red5_inner_59(){ addFrameScript(0, frame1); } public function haciaArriba(_arg1:TimerEvent){ if (!pausado){ red_area.y = (red_area.y - 0.1); }; } function frame1(){ pausado = false; stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); haciaArribat = new Timer(10, 0); haciaArribat.addEventListener("timer", haciaArriba); haciaArribat.start(); } public function reportKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.charCode == 117){ if (pausado == true){ pausado = false; } else { if (pausado == false){ pausado = true; }; }; }; } } }//package TheShapes_fla
Section 46
//Shapator_50 (TheShapes_fla.Shapator_50) package TheShapes_fla { import flash.filters.*; import flash.geom.*; import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.xml.*; public dynamic class Shapator_50 extends MovieClip { public var counter:int; public var thisTimer:Timer; public var shapoto:MovieClip; public var haciaArribat:Timer; public var originalH:int; public var originalW:int; public var pausado; public function Shapator_50(){ addFrameScript(0, frame1); } public function haciaArriba(_arg1:TimerEvent){ if (pausado == false){ shapoto.rotation = (shapoto.rotation + 1); shapoto.shapator_inner.y = (shapoto.shapator_inner.y + Math.cos((counter / 10))); if (shapoto.shapator_inner.scaleX < 5){ shapoto.shapator_inner.scaleX = (shapoto.shapator_inner.scaleX * 1.001); }; if (shapoto.shapator_inner.scaleY < 5){ shapoto.shapator_inner.scaleY = (shapoto.shapator_inner.scaleY * 1.001); }; shapoto.shapator_inner.x = (shapoto.shapator_inner.x + (Math.cos((counter / 100)) * 2)); shapoto.x = (shapoto.x + (Math.cos((counter / 100)) * 2)); counter = (counter + 1); }; } function frame1(){ thisTimer = new Timer(10, 0); pausado = false; stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); haciaArribat = new Timer(10, 0); haciaArribat.addEventListener("timer", haciaArriba); originalW = shapoto.width; originalH = shapoto.height; haciaArribat.start(); } public function reportKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.charCode == 117){ if (pausado == true){ pausado = false; } else { if (pausado == false){ pausado = true; }; }; }; } } }//package TheShapes_fla
Section 47
//trapezodo_full_47 (TheShapes_fla.trapezodo_full_47) package TheShapes_fla { import fl.motion.*; import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class trapezodo_full_47 extends MovieClip { public var jaw_down_animator:Animator; public var jaw_up:MovieClip; public var jaw_down_xml:XML; public var thisTimer:Timer; public var jaw_down:MovieClip; public var jaw_up_animator:Animator; public var jaw_up_xml:XML; public var pausado; public function trapezodo_full_47(){ addFrameScript(0, frame1); } public function Acciones(_arg1:TimerEvent){ if (pausado == false){ jaw_up_animator.nextFrame(); jaw_down_animator.nextFrame(); }; } function frame1(){ jaw_down_xml = <Motion duration="193" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*"> <source> <Source frameRate="120" x="54" y="159.05" scaleX="0.738" scaleY="0.738" rotation="0" elementType="movie clip" instanceName="jaw_down" symbolName="Juego/Bosses/trapezodo_B"> <dimensions> <geom:Rectangle left="-72.6" top="-33.35" width="145.2" height="66.75"/> </dimensions> <transformationPoint> <geom:Point x="1" y="0.9992509363295881"/> </transformationPoint> </Source> </source> <Keyframe index="0" tweenSnap="true" tweenSync="true"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> <Keyframe index="44" tweenSnap="true" tweenSync="true"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> <Keyframe index="74" tweenSnap="true" tweenSync="true" y="-109.00000000000001"> <tweens> <SimpleEase ease="1"/> </tweens> </Keyframe> <Keyframe index="102" tweenSnap="true" tweenSync="true"> <tweens> <SimpleEase ease="1"/> </tweens> </Keyframe> <Keyframe index="192" tweenSnap="true" tweenSync="true" y="0"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> </Motion> ; jaw_down_animator = new Animator(jaw_down_xml, jaw_down); jaw_down_animator.repeatCount = 0; pausado = false; jaw_up_xml = <Motion duration="193" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*"> <source> <Source frameRate="120" x="54" y="-121.1" scaleX="0.738" scaleY="0.738" rotation="0" elementType="movie clip" instanceName="jaw_up" symbolName="Juego/Bosses/trapezodo_A"> <dimensions> <geom:Rectangle left="-72.6" top="-33.35" width="145.2" height="66.75"/> </dimensions> <transformationPoint> <geom:Point x="1" y="0.9992509363295881"/> </transformationPoint> </Source> </source> <Keyframe index="0" tweenSnap="true" tweenSync="true"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> <Keyframe index="44" tweenSnap="true" tweenSync="true"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> <Keyframe index="74" tweenSnap="true" tweenSync="true" y="121.94999999999999"> <tweens> <SimpleEase ease="1"/> </tweens> </Keyframe> <Keyframe index="102" tweenSnap="true" tweenSync="true"> <tweens> <SimpleEase ease="1"/> </tweens> </Keyframe> <Keyframe index="192" tweenSnap="true" tweenSync="true" y="0"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> </Motion> ; jaw_up_animator = new Animator(jaw_up_xml, jaw_up); jaw_up_animator.repeatCount = 0; thisTimer = new Timer(10, 0); thisTimer.addEventListener("timer", Acciones); thisTimer.start(); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); } public function reportKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.charCode == 117){ if (pausado == true){ pausado = false; } else { if (pausado == false){ pausado = true; }; }; }; } } }//package TheShapes_fla
Section 48
//Trapezodo_inner_46 (TheShapes_fla.Trapezodo_inner_46) package TheShapes_fla { import fl.motion.*; import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class Trapezodo_inner_46 extends MovieClip { public var trapezoido_inner_xml:XML; public var thisTimer:Timer; public var trapezoido_inner_animator:Animator; public var trapezoido_inner:MovieClip; public var pausado; public function Trapezodo_inner_46(){ addFrameScript(0, frame1); } public function Acciones(_arg1:TimerEvent){ if (pausado == false){ trapezoido_inner_animator.nextFrame(); }; } function frame1(){ pausado = false; trapezoido_inner_xml = <Motion duration="1200" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*"> <source> <Source frameRate="120" x="-257.85" y="9.15" scaleX="1.12" scaleY="1.12" rotation="-7.3" elementType="movie clip" symbolName="Juego/Bosses/trapezodo_full"> <dimensions> <geom:Rectangle left="-53.2" top="-170.35" width="107.2" height="329.45"/> </dimensions> <transformationPoint> <geom:Point x="0.4962686567164179" y="0.5170739110638943"/> </transformationPoint> </Source> </source> <Keyframe index="0" tweenSnap="true" tweenSync="true"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> <Keyframe index="299" orientToPath="true" tweenSnap="true" tweenSync="true" x="257.95000000000005" y="-9" scaleX="0.8919642857142857" scaleY="0.8919642857142857" rotation="8"> <tweens> <SimpleEase ease="1"/> </tweens> </Keyframe> <Keyframe index="599" orientToPath="true" tweenSnap="true" tweenSync="true" x="544.05" y="0.049999999999998934" scaleX="1.0419642857142857" scaleY="1.0419642857142857" rotation="30"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> <Keyframe index="899" orientToPath="true" tweenSnap="true" tweenSync="true" x="257.95000000000005" y="-9" scaleX="0.8919642857142857" scaleY="0.8919642857142857" rotation="8"> <tweens> <SimpleEase ease="1"/> </tweens> </Keyframe> <Keyframe index="1199" tweenSnap="true" tweenSync="true" x="0" y="0" scaleX="1" scaleY="1" rotation="0"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> </Motion> ; thisTimer = new Timer(15, 0); thisTimer.addEventListener("timer", Acciones); thisTimer.start(); trapezoido_inner_animator = new Animator(trapezoido_inner_xml, trapezoido_inner); trapezoido_inner_animator.repeatCount = 0; stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); } public function reportKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.charCode == 117){ if (pausado == true){ pausado = false; } else { if (pausado == false){ pausado = true; }; }; }; } } }//package TheShapes_fla
Section 49
//Triangu_inner_44 (TheShapes_fla.Triangu_inner_44) package TheShapes_fla { import fl.motion.*; import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class Triangu_inner_44 extends MovieClip { public var thisTimer:Timer; public var boss_gfx_xml:XML; public var boss_gfx_animator:Animator; public var boss_gfx:MovieClip; public var pausado; public function Triangu_inner_44(){ addFrameScript(0, frame1); } public function Acciones(_arg1:TimerEvent){ if (pausado == false){ boss_gfx_animator.nextFrame(); }; } function frame1(){ pausado = false; boss_gfx_xml = <Motion duration="200" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*"> <source> <Source frameRate="120" x="-188" y="0" scaleX="1" scaleY="1" rotation="0" elementType="movie clip" instanceName="boss_gfx" symbolName="Triangu_gfx"> <dimensions> <geom:Rectangle left="-57.3" top="-49.85" width="114.65" height="99.7"/> </dimensions> <transformationPoint> <geom:Point x="0.4997819450501526" y="0.5"/> </transformationPoint> </Source> </source> <Keyframe index="0" rotateDirection="cw" tweenScale="false" tweenSnap="true" tweenSync="true"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> <Keyframe index="49" tweenScale="false" tweenSnap="true" tweenSync="true" x="179.15" rotation="180"> <tweens> <SimpleEase ease="1"/> </tweens> </Keyframe> <Keyframe index="99" tweenScale="false" tweenSnap="true" tweenSync="true" x="362" rotation="-15"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> <Keyframe index="149" tweenScale="false" tweenSnap="true" tweenSync="true" x="181" rotation="180"> <tweens> <SimpleEase ease="1"/> </tweens> </Keyframe> <Keyframe index="199" rotateDirection="cw" tweenScale="false" tweenSnap="true" tweenSync="true" x="0" rotation="0"> <tweens> <SimpleEase ease="-1"/> </tweens> </Keyframe> </Motion> ; boss_gfx_animator = new Animator(boss_gfx_xml, boss_gfx); boss_gfx_animator.repeatCount = 0; thisTimer = new Timer(20, 0); thisTimer.addEventListener("timer", Acciones); thisTimer.start(); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); } public function reportKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.charCode == 117){ if (pausado == true){ pausado = false; } else { if (pausado == false){ pausado = true; }; }; }; } } }//package TheShapes_fla
Section 50
//Tween1_51 (TheShapes_fla.Tween1_51) package TheShapes_fla { import flash.display.*; public dynamic class Tween1_51 extends MovieClip { public var shapator_inner:MovieClip; } }//package TheShapes_fla
Section 51
//VanillaIntro_17 (TheShapes_fla.VanillaIntro_17) package TheShapes_fla { import flash.events.*; import flash.display.*; import flash.net.*; public dynamic class VanillaIntro_17 extends MovieClip { public var btn_Vanilla:SimpleButton; public var cargado; public function VanillaIntro_17(){ addFrameScript(0, frame1, 34, frame35, 99, frame100, 149, frame150); } function frame150(){ cargado = 1; stop(); } public function OnLogoPress(_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.villavanilla.net"), "_blank"); } function frame1(){ cargado = 0; btn_Vanilla.addEventListener(MouseEvent.CLICK, OnLogoPress); } function frame100(){ btn_Vanilla.addEventListener(MouseEvent.CLICK, OnLogoPress); } function frame35(){ btn_Vanilla.addEventListener(MouseEvent.CLICK, OnLogoPress); } } }//package TheShapes_fla
Section 52
//gameOverDialog (gameOverDialog) package { import flash.events.*; import flash.display.*; import flash.net.*; import flash.text.*; import flash.media.*; public dynamic class gameOverDialog extends MovieClip { public var txtBigCombo:TextField; public var txtScore:TextField; public var dyna_tag:TextField; public var btnKongregate:SimpleButton; public var btnBack:SimpleButton; public var txttitle:TextField; public function gameOverDialog(){ addFrameScript(0, frame1); } public function OnLogoPress(_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=Shape-a-licious"), "_blank"); } function frame1(){ btnBack.addEventListener(MouseEvent.CLICK, onBackClick); btnKongregate.addEventListener(MouseEvent.CLICK, OnLogoPress); } public function onBackClick(_arg1:MouseEvent):void{ SoundMixer.stopAll(); MovieClip(root).gotoAndPlay(5); } } }//package
Section 53
//LoopB (LoopB) package { import flash.media.*; public dynamic class LoopB extends Sound { } }//package
Section 54
//LoopBossOne (LoopBossOne) package { import flash.media.*; public dynamic class LoopBossOne extends Sound { } }//package
Section 55
//LoopBSpeed (LoopBSpeed) package { import flash.media.*; public dynamic class LoopBSpeed extends Sound { } }//package
Section 56
//LoopEasy (LoopEasy) package { import flash.media.*; public dynamic class LoopEasy extends Sound { } }//package
Section 57
//LoopFanfare (LoopFanfare) package { import flash.media.*; public dynamic class LoopFanfare extends Sound { } }//package
Section 58
//MochiAd (MochiAd) package { import flash.events.*; import flash.display.*; import flash.net.*; import flash.utils.*; import flash.system.*; public class MochiAd { public static var adReady:Boolean; public static function getVersion():String{ return ("2.1"); } public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{ var _local4:MovieClip; _local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id}); if (!_local4){ return (false); }; _local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3); return (true); } 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 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 f:Function; 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); }; if (clip._mochiad_loaded){ return (null); }; 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; lv.lc = name; lv.st = getTimer(); loader = new Loader(); f = function (_arg1:Object):void{ mc._mochiad_ctr_failed = true; }; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); g = function (_arg1:Object):void{ 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 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{ this.clip.stop(); }, ad_finished:function ():void{ this.clip.play(); }}; 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_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ 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; _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.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = (_arg1 - 250); }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Number; var _local3:Boolean; var _local4:Number; _local1 = this.parent._mochiad_ctr; _local2 = (getTimer() - this.started); _local3 = false; if (!chk.showing){ _local4 = _local1.loaderInfo.bytesTotal; if ((((_local4 > 0)) || (("number" == "undefined")))){ chk.showing = true; chk.started = getTimer(); } else { if (_local2 > chk.ad_timeout){ _local3 = true; }; }; }; if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){ _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]; }; }; _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++; }; }; return (_local3); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function unload(_arg1:Object):Boolean{ if (((_arg1.clip) && (_arg1.clip._mochiad))){ _arg1 = _arg1.clip; }; if (!_arg1._mochiad){ return (false); }; if (_arg1._mochiad.onUnload){ _arg1._mochiad.onUnload(); }; _arg1.removeChild(_arg1._mochiad); delete _arg1._mochiad_loaded; delete _arg1._mochiad; return (true); } 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 sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{ var _local4:MovieClip; _local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id}); if (!_local4){ return (false); }; _local4.doSend(["sendHighScore", _arg1], _arg2, _arg3); return (true); } public static function _loadCommunicator(_arg1:Object):MovieClip{ var DEFAULTS:Object; var clip:Object; var clipname:String; var server:String; var depth:Number; var mc:MovieClip; var lv:URLVariables; var k:String; var lc:LocalConnection; var name:String; var req:URLRequest; var loader:Loader; var options = _arg1; DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; clipname = ("_mochiad_com_" + options.id); if (!MochiAd._isNetworkAvailable()){ return (null); }; if (clip[clipname]){ return (clip[clipname]); }; server = (options.com_server + options.id); MochiAd._allowDomains(server); delete options.id; delete options.com_server; depth = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, clipname, depth); lv = new URLVariables(); for (k in options) { lv[k] = options[k]; }; 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.name = name; mc.lc = lc; lv.lc = name; mc._id = 0; mc._queue = []; mc.rpcResult = function (_arg1:Object):void{ var _local3:Array; var _local4:Array; var _local5:Number; var _local6:Object; var _local7:Object; _arg1 = parseInt(_arg1.toString()); _local3 = mc._callbacks[_arg1]; if (typeof(_local3) == "undefined"){ return; }; delete mc._callbacks[_arg1]; _local4 = []; _local5 = 2; while (_local5 < _local3.length) { _local4.push(_local3[_local5]); _local5++; }; _local5 = 1; while (_local5 < arguments.length) { _local4.push(arguments[_local5]); _local5++; }; _local6 = _local3[1]; _local7 = _local3[0]; if (((_local7) && ((typeof(_local6) == "string")))){ _local6 = _local7[_local6]; }; if (typeof(_local6) == "function"){ _local6.apply(_local7, _local4); }; }; mc._didConnect = function (_arg1:String):void{ var _local2:Array; var _local3:Function; var _local4:Number; var _local5:Array; mc._endpoint = _arg1; _local2 = mc._queue; delete mc._queue; _local3 = mc.doSend; _local4 = 0; while (_local4 < _local2.length) { _local5 = _local2[_local4]; _local3.apply(this, _local5); _local4++; }; }; mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{ var _local5:Number; var _local6:LocalConnection; var _local7:Array; var _local8:Number; if (mc._endpoint == null){ _local7 = []; _local8 = 0; while (_local8 < arguments.length) { _local7.push(arguments[_local8]); _local8++; }; mc._queue.push(_local7); return; }; mc._id = (mc._id + 1); _local5 = mc._id; mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))]; _local6 = new LocalConnection(); _local6.send(mc._endpoint, "rpc", _local5, _arg1); }; mc._callbacks = {}; mc._callbacks[0] = [mc, "_didConnect"]; lv.st = getTimer(); req = new URLRequest((server + ".swf")); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader = new Loader(); loader.load(req); mc.addChild(loader); mc._mochiad_com = loader; return (mc); } 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 r:MovieClip; var options = _arg1; DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{ this.clip.stop(); }, ad_finished:function ():void{ this.clip.play(); }}; 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_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ var fn:Function; 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); 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{ 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.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = _arg1; }; 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.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; _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); if (!chk.showing){ _local11 = _local2.loaderInfo.bytesTotal; if ((((_local11 > 0)) || (("number" == "undefined")))){ chk.showing = true; chk.started = getTimer(); } else { if (_local3 > chk.ad_timeout){ _local4 = true; }; }; }; if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){ _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{ MochiAd.showPreGameAd(_arg1); } public static function showTimedAd(_arg1:Object):void{ 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 { mc.removeEventListener(Event.ENTER_FRAME, f); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package
Section 59
//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); } } }//package
Section 60
//rightPlosion (rightPlosion) package { import flash.display.*; public dynamic class rightPlosion extends MovieClip { public function rightPlosion(){ addFrameScript(50, frame51); } function frame51(){ stop(); } } }//package
Section 61
//wrongPlosion (wrongPlosion) package { import flash.display.*; public dynamic class wrongPlosion extends MovieClip { public function wrongPlosion(){ addFrameScript(24, frame25); } function frame25(){ stop(); } } }//package

Library Items

Symbol 1 Sound {LoopFanfare}Used by:170
Symbol 2 GraphicUsed by:10
Symbol 3 GraphicUsed by:9
Symbol 4 FontUsed by:5
Symbol 5 TextUses:4Used by:9
Symbol 6 GraphicUsed by:9
Symbol 7 GraphicUsed by:9
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:3 5 6 7 8Used by:10
Symbol 10 MovieClipUses:2 9
Symbol 11 GraphicUsed by:28
Symbol 12 GraphicUsed by:25
Symbol 13 GraphicUsed by:25
Symbol 14 GraphicUsed by:25
Symbol 15 GraphicUsed by:25
Symbol 16 GraphicUsed by:25
Symbol 17 GraphicUsed by:25
Symbol 18 GraphicUsed by:25
Symbol 19 GraphicUsed by:25
Symbol 20 GraphicUsed by:25
Symbol 21 GraphicUsed by:25
Symbol 22 GraphicUsed by:25
Symbol 23 GraphicUsed by:25
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClipUses:12 13 14 15 16 17 18 19 20 21 22 23 24Used by:28
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:28
Symbol 28 MovieClipUses:11 25 27
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClipUses:29
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClipUses:31
Symbol 33 GraphicUsed by:53
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:36
Symbol 36 MovieClip {TheShapes_fla.Red5_inner_59}Uses:35Used by:53
Symbol 37 GraphicUsed by:53
Symbol 38 GraphicUsed by:53
Symbol 39 GraphicUsed by:53
Symbol 40 GraphicUsed by:53
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:47 53
Symbol 43 GraphicUsed by:53
Symbol 44 GraphicUsed by:53
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClipUses:45Used by:47
Symbol 47 MovieClip {TheShapes_fla.RED_62}Uses:46 42Used by:53
Symbol 48 GraphicUsed by:51
Symbol 49 FontUsed by:50 54 55 56 57 58 59 62 63 87 93 94 101 108 151 152 153 156 158 160 162 177 178 180 182 183 184 185 186 187 188 198 200 205 207 209 210 211 229 230 231 232 233 234 235 236 237 238 273 274 275 276 277 279 280 283
Symbol 50 TextUses:49Used by:51
Symbol 51 MovieClipUses:48 50Used by:52
Symbol 52 MovieClip {TheShapes_fla.ChallengeCourse_64}Uses:51Used by:53
Symbol 53 MovieClipUses:33 36 37 38 39 40 42 43 44 47 52
Symbol 54 TextUses:49Used by:65
Symbol 55 TextUses:49Used by:65
Symbol 56 TextUses:49Used by:65
Symbol 57 TextUses:49Used by:65
Symbol 58 TextUses:49Used by:65
Symbol 59 TextUses:49Used by:65
Symbol 60 FontUsed by:61 64
Symbol 61 TextUses:60Used by:65
Symbol 62 TextUses:49Used by:65
Symbol 63 TextUses:49Used by:65
Symbol 64 TextUses:60Used by:65
Symbol 65 MovieClipUses:54 55 56 57 58 59 61 62 63 64Used by:66
Symbol 66 MovieClipUses:65
Symbol 67 GraphicUsed by:68 109 138 142
Symbol 68 MovieClipUses:67
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClipUses:69Used by:71
Symbol 71 MovieClip {TheShapes_fla.Triangu_inner_44}Uses:70Used by:85
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClipUses:72Used by:76
Symbol 74 GraphicUsed by:75
Symbol 75 MovieClipUses:74Used by:76
Symbol 76 MovieClip {TheShapes_fla.trapezodo_full_47}Uses:73 75Used by:77
Symbol 77 MovieClip {TheShapes_fla.Trapezodo_inner_46}Uses:76Used by:85
Symbol 78 GraphicUsed by:79
Symbol 79 MovieClipUses:78Used by:82
Symbol 80 GraphicUsed by:81
Symbol 81 MovieClipUses:80Used by:82
Symbol 82 MovieClipUses:79 81Used by:83
Symbol 83 MovieClip {TheShapes_fla.Tween1_51}Uses:82Used by:84
Symbol 84 MovieClip {TheShapes_fla.Shapator_50}Uses:83Used by:85
Symbol 85 MovieClipUses:71 77 84
Symbol 86 GraphicUsed by:102
Symbol 87 EditableTextUses:49Used by:102
Symbol 88 GraphicUsed by:90
Symbol 89 GraphicUsed by:90
Symbol 90 ButtonUses:88 89Used by:102  Timeline
Symbol 91 FontUsed by:92 95 176 179 181 241 242 243 248 249 250 254 255 256 260 261 262 266 267 268
Symbol 92 EditableTextUses:91Used by:102
Symbol 93 TextUses:49Used by:102  Timeline
Symbol 94 TextUses:49Used by:102
Symbol 95 EditableTextUses:91Used by:102
Symbol 96 FontUsed by:97
Symbol 97 EditableTextUses:96Used by:102
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:100
Symbol 100 ButtonUses:99Used by:102  Timeline
Symbol 101 TextUses:49Used by:102
Symbol 102 MovieClipUses:86 87 90 92 93 94 95 97 100 101Used by:Timeline
Symbol 103 MovieClip {com.kongregate.as3.client.KongregateAPI}
Symbol 104 GraphicUsed by:Timeline
Symbol 105 BitmapUsed by:106
Symbol 106 GraphicUses:105Used by:107
Symbol 107 MovieClipUses:106Used by:Timeline
Symbol 108 TextUses:49Used by:Timeline
Symbol 109 MovieClipUses:67Used by:138
Symbol 110 GraphicUsed by:111
Symbol 111 ButtonUses:110Used by:138
Symbol 112 GraphicUsed by:138
Symbol 113 GraphicUsed by:114
Symbol 114 MovieClipUses:113Used by:132 138
Symbol 115 GraphicUsed by:116
Symbol 116 MovieClipUses:115Used by:131 138
Symbol 117 GraphicUsed by:118
Symbol 118 MovieClipUses:117Used by:125 131 132 138
Symbol 119 GraphicUsed by:120
Symbol 120 MovieClipUses:119Used by:125 131 132 138
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClipUses:121Used by:125 131 132 138
Symbol 123 GraphicUsed by:124
Symbol 124 MovieClipUses:123Used by:125 131 132 138
Symbol 125 MovieClipUses:118 120 122 124Used by:138
Symbol 126 GraphicUsed by:138
Symbol 127 GraphicUsed by:128 138
Symbol 128 MovieClipUses:127Used by:138
Symbol 129 GraphicUsed by:138
Symbol 130 GraphicUsed by:132
Symbol 131 MovieClipUses:116 118 120 122 124Used by:132
Symbol 132 MovieClipUses:130 114 131 118 120 122 124Used by:138
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClipUses:133Used by:138
Symbol 135 FontUsed by:136
Symbol 136 TextUses:135Used by:137
Symbol 137 MovieClipUses:136Used by:138
Symbol 138 MovieClip {TheShapes_fla.Kongintro30fps_2}Uses:67 109 111 112 114 116 125 126 128 129 118 120 122 124 132 134 127 137Used by:Timeline
Symbol 139 BitmapUsed by:140
Symbol 140 GraphicUses:139Used by:141
Symbol 141 ButtonUses:140Used by:142  Timeline
Symbol 142 MovieClip {TheShapes_fla.VanillaIntro_17}Uses:67 141Used by:Timeline
Symbol 143 Sound {LoopB}Used by:170  Timeline
Symbol 144 GraphicUsed by:Timeline
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClipUses:145Used by:147 173  Timeline
Symbol 147 MovieClip {TheShapes_fla.bg_ani_19}Uses:146Used by:Timeline
Symbol 148 GraphicUsed by:149
Symbol 149 MovieClipUses:148Used by:150
Symbol 150 MovieClipUses:149Used by:Timeline
Symbol 151 TextUses:49Used by:Timeline
Symbol 152 TextUses:49Used by:Timeline
Symbol 153 TextUses:49Used by:155
Symbol 154 GraphicUsed by:155 157 159 161 163
Symbol 155 ButtonUses:153 154Used by:Timeline
Symbol 156 TextUses:49Used by:157
Symbol 157 ButtonUses:156 154Used by:Timeline
Symbol 158 TextUses:49Used by:159
Symbol 159 ButtonUses:158 154Used by:Timeline
Symbol 160 TextUses:49Used by:161
Symbol 161 ButtonUses:160 154Used by:Timeline
Symbol 162 TextUses:49Used by:163
Symbol 163 ButtonUses:162 154Used by:Timeline
Symbol 164 SoundUsed by:Timeline
Symbol 165 GraphicUsed by:Timeline
Symbol 166 GraphicUsed by:170
Symbol 167 Sound {LoopEasy}Used by:170
Symbol 168 Sound {LoopBossOne}Used by:170
Symbol 169 Sound {LoopBSpeed}Used by:170
Symbol 170 MovieClip {TheShapes_fla.JukeBox_29}Uses:166 167 168 143 169 1Used by:Timeline
Symbol 171 GraphicUsed by:172
Symbol 172 MovieClipUses:171Used by:173
Symbol 173 MovieClip {TheShapes_fla.origin_30}Uses:146 172Used by:Timeline
Symbol 174 FontUsed by:175 240 247 253 259 265
Symbol 175 EditableTextUses:174Used by:Timeline
Symbol 176 EditableTextUses:91Used by:Timeline
Symbol 177 TextUses:49Used by:Timeline
Symbol 178 TextUses:49Used by:Timeline
Symbol 179 EditableTextUses:91Used by:Timeline
Symbol 180 TextUses:49Used by:Timeline
Symbol 181 EditableTextUses:91Used by:Timeline
Symbol 182 TextUses:49Used by:Timeline
Symbol 183 TextUses:49Used by:Timeline
Symbol 184 TextUses:49Used by:Timeline
Symbol 185 TextUses:49Used by:Timeline
Symbol 186 TextUses:49Used by:Timeline
Symbol 187 TextUses:49Used by:Timeline
Symbol 188 TextUses:49Used by:Timeline
Symbol 189 FontUsed by:190 191 192 193 194 195 196
Symbol 190 EditableTextUses:189Used by:Timeline
Symbol 191 EditableTextUses:189Used by:Timeline
Symbol 192 EditableTextUses:189Used by:Timeline
Symbol 193 EditableTextUses:189Used by:Timeline
Symbol 194 EditableTextUses:189Used by:Timeline
Symbol 195 EditableTextUses:189Used by:Timeline
Symbol 196 EditableTextUses:189Used by:Timeline
Symbol 197 GraphicUsed by:Timeline
Symbol 198 TextUses:49Used by:Timeline
Symbol 199 GraphicUsed by:Timeline
Symbol 200 TextUses:49Used by:Timeline
Symbol 201 GraphicUsed by:204
Symbol 202 GraphicUsed by:204 217
Symbol 203 GraphicUsed by:204
Symbol 204 ButtonUses:201 202 203Used by:Timeline
Symbol 205 TextUses:49Used by:Timeline
Symbol 206 GraphicUsed by:Timeline
Symbol 207 TextUses:49Used by:Timeline
Symbol 208 TextUsed by:Timeline
Symbol 209 TextUses:49Used by:Timeline
Symbol 210 TextUses:49Used by:Timeline
Symbol 211 TextUses:49Used by:Timeline
Symbol 212 GraphicUsed by:Timeline
Symbol 213 GraphicUsed by:215
Symbol 214 GraphicUsed by:215
Symbol 215 ButtonUses:213 214Used by:Timeline
Symbol 216 GraphicUsed by:217
Symbol 217 ButtonUses:202 216Used by:Timeline
Symbol 218 GraphicUsed by:220
Symbol 219 GraphicUsed by:220
Symbol 220 ButtonUses:218 219Used by:Timeline
Symbol 221 GraphicUsed by:223
Symbol 222 GraphicUsed by:223
Symbol 223 ButtonUses:221 222Used by:Timeline
Symbol 224 GraphicUsed by:Timeline
Symbol 225 GraphicUsed by:227
Symbol 226 GraphicUsed by:227
Symbol 227 ButtonUses:225 226Used by:Timeline
Symbol 228 GraphicUsed by:Timeline
Symbol 229 TextUses:49Used by:Timeline
Symbol 230 TextUses:49Used by:Timeline
Symbol 231 TextUses:49Used by:Timeline
Symbol 232 TextUses:49Used by:Timeline
Symbol 233 TextUses:49Used by:Timeline
Symbol 234 TextUses:49Used by:Timeline
Symbol 235 TextUses:49Used by:Timeline
Symbol 236 TextUses:49Used by:Timeline
Symbol 237 TextUses:49Used by:Timeline
Symbol 238 TextUses:49Used by:Timeline
Symbol 239 GraphicUsed by:Timeline
Symbol 240 EditableTextUses:174Used by:Timeline
Symbol 241 EditableTextUses:91Used by:Timeline
Symbol 242 EditableTextUses:91Used by:Timeline
Symbol 243 EditableTextUses:91Used by:Timeline
Symbol 244 FontUsed by:245 251 257 263 269
Symbol 245 TextUses:244Used by:Timeline
Symbol 246 GraphicUsed by:Timeline
Symbol 247 EditableTextUses:174Used by:Timeline
Symbol 248 EditableTextUses:91Used by:Timeline
Symbol 249 EditableTextUses:91Used by:Timeline
Symbol 250 EditableTextUses:91Used by:Timeline
Symbol 251 TextUses:244Used by:Timeline
Symbol 252 GraphicUsed by:Timeline
Symbol 253 EditableTextUses:174Used by:Timeline
Symbol 254 EditableTextUses:91Used by:Timeline
Symbol 255 EditableTextUses:91Used by:Timeline
Symbol 256 EditableTextUses:91Used by:Timeline
Symbol 257 TextUses:244Used by:Timeline
Symbol 258 GraphicUsed by:Timeline
Symbol 259 EditableTextUses:174Used by:Timeline
Symbol 260 EditableTextUses:91Used by:Timeline
Symbol 261 EditableTextUses:91Used by:Timeline
Symbol 262 EditableTextUses:91Used by:Timeline
Symbol 263 TextUses:244Used by:Timeline
Symbol 264 GraphicUsed by:Timeline
Symbol 265 EditableTextUses:174Used by:Timeline
Symbol 266 EditableTextUses:91Used by:Timeline
Symbol 267 EditableTextUses:91Used by:Timeline
Symbol 268 EditableTextUses:91Used by:Timeline
Symbol 269 TextUses:244Used by:Timeline
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:272
Symbol 272 MovieClipUses:271Used by:Timeline
Symbol 273 TextUses:49Used by:Timeline
Symbol 274 TextUses:49Used by:Timeline
Symbol 275 TextUses:49Used by:Timeline
Symbol 276 TextUses:49Used by:Timeline
Symbol 277 TextUses:49Used by:Timeline
Symbol 278 GraphicUsed by:Timeline
Symbol 279 TextUses:49Used by:Timeline
Symbol 280 TextUses:49Used by:282
Symbol 281 GraphicUsed by:282
Symbol 282 ButtonUses:280 281Used by:Timeline
Symbol 283 TextUses:49Used by:285
Symbol 284 GraphicUsed by:285
Symbol 285 ButtonUses:283 284Used by:Timeline
Symbol 286 GraphicUsed by:Timeline

Instance Names

"kongIntro"Frame 3Symbol 138 MovieClip {TheShapes_fla.Kongintro30fps_2}
"VanillaIntro"Frame 4Symbol 142 MovieClip {TheShapes_fla.VanillaIntro_17}
"btnNormal"Frame 7Symbol 155 Button
"btnSettings"Frame 7Symbol 157 Button
"btnCredits"Frame 7Symbol 159 Button
"btnInstructions"Frame 7Symbol 161 Button
"btnProgress"Frame 7Symbol 163 Button
"btnKongregate"Frame 7Symbol 100 Button
"btn_Vanilla"Frame 7Symbol 141 Button
"jukebox"Frame 8Symbol 170 MovieClip {TheShapes_fla.JukeBox_29}
"origin"Frame 8Symbol 173 MovieClip {TheShapes_fla.origin_30}
"txtLifeBars"Frame 8Symbol 175 EditableText
"gameOver_dialog"Frame 8Symbol 102 MovieClip
"txtScore"Frame 8Symbol 176 EditableText
"txtCombo"Frame 8Symbol 179 EditableText
"txtlevel"Frame 8Symbol 181 EditableText
"gfx"Frame 10Symbol 146 MovieClip
"txt_hurricane"Frame 10Symbol 190 EditableText
"txt_adventure"Frame 10Symbol 191 EditableText
"txt_meteor"Frame 10Symbol 192 EditableText
"txt_challenge"Frame 10Symbol 193 EditableText
"txt_scramble"Frame 10Symbol 194 EditableText
"txt_hard"Frame 10Symbol 195 EditableText
"txt_advCombo"Frame 10Symbol 196 EditableText
"btnBack"Frame 10Symbol 90 Button
"btn_adventure"Frame 11Symbol 204 Button
"btn_hurricane"Frame 11Symbol 215 Button
"btn_hard"Frame 11Symbol 217 Button
"btn_soup"Frame 11Symbol 220 Button
"btn_meteoro"Frame 11Symbol 223 Button
"btn_challenge"Frame 11Symbol 227 Button
"gfx"Frame 12Symbol 146 MovieClip
"gfx"Frame 12Symbol 146 MovieClip
"gfx"Frame 12Symbol 146 MovieClip
"t_1"Frame 12Symbol 146 MovieClip
"t_2"Frame 12Symbol 146 MovieClip
"t_3"Frame 12Symbol 146 MovieClip
"gfx"Frame 12Symbol 146 MovieClip
"gfx"Frame 12Symbol 146 MovieClip
"gfx"Frame 12Symbol 146 MovieClip
"t_7"Frame 12Symbol 146 MovieClip
"t_8"Frame 12Symbol 146 MovieClip
"t_9"Frame 12Symbol 146 MovieClip
"gfx"Frame 12Symbol 146 MovieClip
"gfx"Frame 12Symbol 146 MovieClip
"gfx"Frame 12Symbol 146 MovieClip
"t_4"Frame 12Symbol 146 MovieClip
"t_5"Frame 12Symbol 146 MovieClip
"t_6"Frame 12Symbol 146 MovieClip
"jukebox"Frame 14Symbol 170 MovieClip {TheShapes_fla.JukeBox_29}
"origin"Frame 14Symbol 173 MovieClip {TheShapes_fla.origin_30}
"txtLifeBars"Frame 14Symbol 240 EditableText
"gameOver_dialog"Frame 14Symbol 102 MovieClip
"txtScore"Frame 14Symbol 241 EditableText
"txtCombo"Frame 14Symbol 242 EditableText
"txtlevel"Frame 14Symbol 243 EditableText
"txtLifeBars"Frame 15Symbol 247 EditableText
"txtScore"Frame 15Symbol 248 EditableText
"txtCombo"Frame 15Symbol 249 EditableText
"txtlevel"Frame 15Symbol 250 EditableText
"txtLifeBars"Frame 16Symbol 253 EditableText
"txtScore"Frame 16Symbol 254 EditableText
"txtCombo"Frame 16Symbol 255 EditableText
"txtlevel"Frame 16Symbol 256 EditableText
"txtLifeBars"Frame 17Symbol 259 EditableText
"txtScore"Frame 17Symbol 260 EditableText
"txtCombo"Frame 17Symbol 261 EditableText
"txtlevel"Frame 17Symbol 262 EditableText
"txtLifeBars"Frame 18Symbol 265 EditableText
"txtScore"Frame 18Symbol 266 EditableText
"txtCombo"Frame 18Symbol 267 EditableText
"txtlevel"Frame 18Symbol 268 EditableText
"btnBack"Frame 19Symbol 90 Button
"btnQuality"Frame 20Symbol 282 Button
"btnErase"Frame 20Symbol 285 Button
"gfx"Symbol 10 MovieClip Frame 1Symbol 9 MovieClip
"gfx"Symbol 28 MovieClip Frame 1Symbol 25 MovieClip
"grabbed"Symbol 28 MovieClip Frame 1Symbol 27 MovieClip
"red_area"Symbol 36 MovieClip {TheShapes_fla.Red5_inner_59} Frame 1Symbol 35 MovieClip
"red"Symbol 47 MovieClip {TheShapes_fla.RED_62} Frame 1Symbol 46 MovieClip
"red_2"Symbol 47 MovieClip {TheShapes_fla.RED_62} Frame 1Symbol 42 MovieClip
"red_area"Symbol 52 MovieClip {TheShapes_fla.ChallengeCourse_64} Frame 1Symbol 51 MovieClip
"red"Symbol 53 MovieClip Frame 11Symbol 42 MovieClip
"red_2"Symbol 53 MovieClip Frame 11Symbol 42 MovieClip
"challenge_area"Symbol 53 MovieClip Frame 103Symbol 52 MovieClip {TheShapes_fla.ChallengeCourse_64}
"helpDialog"Symbol 66 MovieClip Frame 1Symbol 65 MovieClip
"boss_gfx"Symbol 71 MovieClip {TheShapes_fla.Triangu_inner_44} Frame 1Symbol 70 MovieClip
"jaw_up"Symbol 76 MovieClip {TheShapes_fla.trapezodo_full_47} Frame 1Symbol 73 MovieClip
"jaw_down"Symbol 76 MovieClip {TheShapes_fla.trapezodo_full_47} Frame 1Symbol 75 MovieClip
"trapezoido_inner"Symbol 77 MovieClip {TheShapes_fla.Trapezodo_inner_46} Frame 1Symbol 76 MovieClip {TheShapes_fla.trapezodo_full_47}
"shapator_inner"Symbol 83 MovieClip {TheShapes_fla.Tween1_51} Frame 1Symbol 82 MovieClip
"shapoto"Symbol 84 MovieClip {TheShapes_fla.Shapator_50} Frame 1Symbol 83 MovieClip {TheShapes_fla.Tween1_51}
"txttitle"Symbol 102 MovieClip Frame 1Symbol 87 EditableText
"btnBack"Symbol 102 MovieClip Frame 1Symbol 90 Button
"txtScore"Symbol 102 MovieClip Frame 1Symbol 92 EditableText
"txtBigCombo"Symbol 102 MovieClip Frame 1Symbol 95 EditableText
"dyna_tag"Symbol 102 MovieClip Frame 1Symbol 97 EditableText
"btnKongregate"Symbol 102 MovieClip Frame 1Symbol 100 Button
"btn_Kong"Symbol 138 MovieClip {TheShapes_fla.Kongintro30fps_2} Frame 1Symbol 111 Button
"btn_Vanilla"Symbol 142 MovieClip {TheShapes_fla.VanillaIntro_17} Frame 1Symbol 141 Button
"gfx"Symbol 147 MovieClip {TheShapes_fla.bg_ani_19} Frame 1Symbol 146 MovieClip
"gfx"Symbol 173 MovieClip {TheShapes_fla.origin_30} Frame 1Symbol 146 MovieClip
"fxs"Symbol 173 MovieClip {TheShapes_fla.origin_30} Frame 1Symbol 172 MovieClip

Special Tags

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

Labels

"menu"Frame 7
"normal"Frame 8
"gameOver"Frame 9
"instructions"Frame 10
"PlayMenu"Frame 11
"Progress"Frame 12
"MeteorStorm"Frame 14
"Soup"Frame 15
"Challenge"Frame 16
"Hard"Frame 17
"Hurricane"Frame 18
"Credits"Frame 19
"Settings"Frame 20
"LoopEasy"Symbol 170 MovieClip {TheShapes_fla.JukeBox_29} Frame 1
"LoopBossOne"Symbol 170 MovieClip {TheShapes_fla.JukeBox_29} Frame 3
"LoopB"Symbol 170 MovieClip {TheShapes_fla.JukeBox_29} Frame 5
"LoopBSpeed"Symbol 170 MovieClip {TheShapes_fla.JukeBox_29} Frame 7
"LoopFanfare"Symbol 170 MovieClip {TheShapes_fla.JukeBox_29} Frame 9




http://swfchan.com/10/48824/info.shtml
Created: 29/4 -2019 04:31:52 Last modified: 29/4 -2019 04:31:52 Server time: 02/05 -2024 04:38:39