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

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

Music Catch 2.swf

This is the info page for
Flash #196125

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


ActionScript [AS3]
Section 1
//Transitions (com.boostworthy.animation.easing.Transitions) package com.boostworthy.animation.easing { public final class Transitions { public static const SINE_OUT:String = "sineOut"; public static const QUAD_IN_AND_OUT:String = "quadInAndOut"; private static const ELASTIC_PERIOD:Number = 400; public static const QUART_OUT:String = "quartOut"; public static const BOUNCE:String = "bounce"; public static const EXPO_IN:String = "expoIn"; public static const SINE_IN:String = "sineIn"; public static const CUBIC_OUT:String = "cubicOut"; public static const QUINT_OUT:String = "quintOut"; public static const QUAD_IN:String = "quadIn"; public static const QUINT_IN_AND_OUT:String = "quintInAndOut"; public static const ELASTIC_OUT:String = "elasticOut"; public static const LINEAR:String = "linear"; public static const QUART_IN_AND_OUT:String = "quartInAndOut"; public static const QUAD_OUT:String = "quadOut"; public static const QUINT_IN:String = "quintIn"; public static const CUBIC_IN_AND_OUT:String = "cubicInAndOut"; public static const QUART_IN:String = "quartIn"; public static const DEFAULT_TRANSITION:String = "linear"; private static const BACK_OVERSHOOT:Number = 1.70158; public static const BACK_OUT:String = "backOut"; private static const ELASTIC_AMPLITUDE:Number = undefined; public static const CUBIC_IN:String = "cubicIn"; public static const ELASTIC_IN_AND_OUT:String = "elasticInAndOut"; public static const EXPO_OUT:String = "expoOut"; public static const BACK_IN_AND_OUT:String = "backInAndOut"; public static const ELASTIC_IN:String = "elasticIn"; public static const EXPO_IN_AND_OUT:String = "expoInAndOut"; public static const BACK_IN:String = "backIn"; public static const SINE_IN_AND_OUT:String = "sineInAndOut"; public static function quadOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function expoOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : ((_arg3 * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function expoInAndOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2)); }; --_arg1; return ((((_arg3 / 2) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function quintOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function cubicIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function sineIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2) + _arg3)); } public static function sineOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function quartOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function sineInAndOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) / 2) * (Math.cos(((_arg1 / _arg4) * Math.PI)) - 1)) + _arg2)); } public static function bounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function backInAndOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number = BACK_OVERSHOOT; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _local5 = (_local5 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local5 + 1) * _arg1) - _local5))) + _arg2)); }; _arg1 = (_arg1 - 2); _local5 = (_local5 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local5 + 1) * _arg1) + _local5)) + 2)) + _arg2)); } public static function expoIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1)==0) ? _arg2 : ((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2)); } public static function cubicOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function linear(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function quadIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function quintIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function elasticOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local7:Number; var _local5:Number = ELASTIC_AMPLITUDE; var _local6:Number = ELASTIC_PERIOD; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_local6){ _local6 = (_arg4 * 0.3); }; if (((!(_local5)) || ((_local5 < Math.abs(_arg3))))){ _local5 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local5))); }; return (((((_local5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2)); } public static function quartInAndOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function quartIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function quadInAndOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function quintInAndOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function elasticIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local7:Number; var _local5:Number = ELASTIC_AMPLITUDE; var _local6:Number = ELASTIC_PERIOD; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_local6){ _local6 = (_arg4 * 0.3); }; if (((!(_local5)) || ((_local5 < Math.abs(_arg3))))){ _local5 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local5))); }; --_arg1; return ((-(((_local5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); } public static function cubicInAndOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function backOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number = BACK_OVERSHOOT; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_local5 + 1) * _arg1) + _local5)) + 1)) + _arg2)); } public static function elasticInAndOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local7:Number; var _local5:Number = ELASTIC_AMPLITUDE; var _local6:Number = ELASTIC_PERIOD; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; if (!_local6){ _local6 = (_arg4 * (0.3 * 1.5)); }; if (((!(_local5)) || ((_local5 < Math.abs(_arg3))))){ _local5 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local5))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_local5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); }; --_arg1; return ((((((_local5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2)); } public static function backIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number = BACK_OVERSHOOT; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_local5 + 1) * _arg1) - _local5)) + _arg2)); } } }//package com.boostworthy.animation.easing
Section 2
//Renderer (com.boostworthy.animation.rendering.Renderer) package com.boostworthy.animation.rendering { import flash.events.*; import flash.display.*; import flash.utils.*; import com.boostworthy.utils.logger.*; import com.boostworthy.core.*; public class Renderer extends EventDispatcher implements IDisposable { protected var m_objTimer:Timer; protected var m_fncOnTimer:Function; protected var m_objStage:Stage; protected var m_fncOnEnterFrame:Function; protected var m_objLog:ILog; public function Renderer(_arg1:Function, _arg2:Function, _arg3:Number){ if (_arg1 != null){ m_fncOnEnterFrame = _arg1; m_objStage = Global.stage; }; if (_arg2 != null){ m_fncOnTimer = _arg2; m_objTimer = new Timer(_arg3, 0); m_objTimer.addEventListener(TimerEvent.TIMER, m_fncOnTimer); }; m_objLog = LogFactory.getInstance().getLog("Renderer"); } public function start(_arg1:Number):void{ if (_arg1 == RenderMethod.ENTER_FRAME){ startEnterFrame(); } else { if (_arg1 == RenderMethod.TIMER){ startTimer(); }; }; } protected function startTimer():void{ m_objTimer.start(); } public function startAll():void{ startEnterFrame(); startTimer(); } public function stop(_arg1:Number):void{ if (_arg1 == RenderMethod.ENTER_FRAME){ stopEnterFrame(); } else { if (_arg1 == RenderMethod.TIMER){ stopTimer(); }; }; } protected function stopTimer():void{ m_objTimer.stop(); } public function stopAll():void{ stopEnterFrame(); stopTimer(); } protected function startEnterFrame():void{ if (!m_objStage){ m_objStage = Global.stage; }; if (m_objStage){ m_objStage.addEventListener(Event.ENTER_FRAME, m_fncOnEnterFrame); } else { m_objLog.warning("startEnterFrame :: Unable to add a listener to the enter frame event because a global stage reference does not exist."); }; } protected function stopEnterFrame():void{ if (m_objStage){ m_objStage.removeEventListener(Event.ENTER_FRAME, m_fncOnEnterFrame); }; } public function dispose():void{ if (((!((m_fncOnEnterFrame == null))) && (!((m_objStage == null))))){ m_objStage.removeEventListener(Event.ENTER_FRAME, m_fncOnEnterFrame); }; if (m_objTimer != null){ m_objTimer.removeEventListener(TimerEvent.TIMER, m_fncOnTimer); }; m_fncOnEnterFrame = null; m_objTimer = null; m_fncOnTimer = null; m_objStage = null; } } }//package com.boostworthy.animation.rendering
Section 3
//RenderMethod (com.boostworthy.animation.rendering.RenderMethod) package com.boostworthy.animation.rendering { public final class RenderMethod { public static const TIMER:uint = 2; public static const ENTER_FRAME:uint = 1; } }//package com.boostworthy.animation.rendering
Section 4
//Action (com.boostworthy.animation.sequence.tweens.Action) package com.boostworthy.animation.sequence.tweens { public class Action implements ITween { protected const PROPERTY:String = "action"; protected var m_aParamsForward:Array; protected var m_uPreviousFrame:uint; protected var m_uLastFrame:uint; protected var m_fncReverse:Function; protected var m_uFirstFrame:uint; protected var m_aParamsReverse:Array; protected var m_fncForward:Function; public function Action(_arg1:Function, _arg2:Array, _arg3:Function, _arg4:Array, _arg5:uint){ m_fncForward = _arg1; m_aParamsForward = _arg2; m_fncReverse = _arg3; m_aParamsReverse = _arg4; m_uFirstFrame = _arg5; m_uLastFrame = _arg5; m_uPreviousFrame = 1; } public function get target():Object{ return (null); } public function get property():String{ return (PROPERTY); } public function get firstFrame():uint{ return (m_uFirstFrame); } public function clone():ITween{ return (new Action(m_fncForward, m_aParamsForward, m_fncReverse, m_aParamsReverse, m_uFirstFrame)); } public function get lastFrame():uint{ return (m_uLastFrame); } public function renderFrame(_arg1:uint):void{ if (_arg1 == m_uFirstFrame){ if (m_uPreviousFrame > _arg1){ m_fncReverse.apply(null, m_aParamsReverse); } else { m_fncForward.apply(null, m_aParamsForward); }; }; m_uPreviousFrame = _arg1; } } }//package com.boostworthy.animation.sequence.tweens
Section 5
//ITween (com.boostworthy.animation.sequence.tweens.ITween) package com.boostworthy.animation.sequence.tweens { public interface ITween { function get target():Object; function clone():ITween; function get property():String; function get lastFrame():uint; function get firstFrame():uint; function renderFrame(_arg1:uint):void; } }//package com.boostworthy.animation.sequence.tweens
Section 6
//Tween (com.boostworthy.animation.sequence.tweens.Tween) package com.boostworthy.animation.sequence.tweens { import com.boostworthy.animation.easing.*; public class Tween implements ITween { protected const DEFAULT_TRANSITION:String = "linear"; protected var m_objToTween:Object; protected var m_strTransition:String; protected var m_bIsDirty:Boolean; protected var m_strProperty:String; protected var m_uFirstFrame:uint; protected var m_uLastFrame:uint; protected var m_nTargetValue:Number; protected var m_nChangeValue:Number; protected var m_nStartValue:Number; protected var m_fncTransition:Function; public function Tween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:uint, _arg5:uint, _arg6:String="linear"){ m_objToTween = _arg1; m_strProperty = _arg2; m_nTargetValue = _arg3; m_uFirstFrame = _arg4; m_uLastFrame = _arg5; m_strTransition = _arg6; m_fncTransition = Transitions[m_strTransition]; } public function renderFrame(_arg1:uint):void{ var _local2:Number; if ((((_arg1 < m_uFirstFrame)) && (!(isNaN(m_nStartValue))))){ m_objToTween[m_strProperty] = m_nStartValue; m_bIsDirty = true; } else { if ((((_arg1 >= m_uFirstFrame)) && ((_arg1 <= m_uLastFrame)))){ _local2 = ((_arg1 - m_uFirstFrame) / (m_uLastFrame - m_uFirstFrame)); if (((isNaN(m_nStartValue)) && ((_arg1 == m_uFirstFrame)))){ m_nStartValue = m_objToTween[m_strProperty]; m_nChangeValue = (m_nTargetValue - m_nStartValue); }; m_objToTween[m_strProperty] = m_fncTransition(_local2, m_nStartValue, m_nChangeValue, 1); m_bIsDirty = true; } else { if ((((_arg1 > m_uLastFrame)) && (m_bIsDirty))){ m_objToTween[m_strProperty] = m_nTargetValue; m_bIsDirty = false; }; }; }; } public function get target():Object{ return (m_objToTween); } public function get property():String{ return (m_strProperty); } public function get lastFrame():uint{ return (m_uLastFrame); } public function clone():ITween{ return (new Tween(m_objToTween, m_strProperty, m_nTargetValue, m_uFirstFrame, m_uLastFrame, m_strTransition)); } public function get firstFrame():uint{ return (m_uFirstFrame); } } }//package com.boostworthy.animation.sequence.tweens
Section 7
//Timeline (com.boostworthy.animation.sequence.Timeline) package com.boostworthy.animation.sequence { import flash.events.*; import com.boostworthy.animation.sequence.tweens.*; import com.boostworthy.collections.iterators.*; import com.boostworthy.animation.rendering.*; import com.boostworthy.core.*; import com.boostworthy.animation.*; import com.boostworthy.events.*; public class Timeline extends EventDispatcher implements IDisposable { protected const DEFAULT_LOOP:Boolean = false; protected const DEFAULT_RENDER_METHOD:uint = 2; protected const DEFAULT_FRAME_RATE:Number = 60; protected var m_uFrameRate:uint; protected var m_uFrame:uint; protected var m_uRenderMethod:uint; protected var m_nRefreshRate:Number; protected var m_objTweenStack:TweenStack; protected var m_bLoop:Boolean; protected var m_uLength:uint; protected var m_objRendererPrev:Renderer; protected var m_objRendererNext:Renderer; public function Timeline(_arg1:uint=2, _arg2:Number=60){ init(_arg1, _arg2); } protected function computeFrameData(_arg1:uint, _arg2:uint):void{ var _local5:ITween; var _local3:IIterator = m_objTweenStack.getIterator(IteratorType.ARRAY_REVERSE); var _local4:int = _arg1; while (_local4 <= _arg2) { while (_local3.hasNext()) { _local5 = (_local3.next() as ITween); if (!(_local5 is Action)){ _local5.renderFrame(_local4); }; }; _local3.reset(); _local4++; }; render(); } public function prevFrame():void{ setFrame((m_uFrame - 1)); } protected function onNextFrameEF(_arg1:Event):void{ nextFrame(); } public function gotoAndPlay(_arg1:uint):void{ stop(); setFrame(_arg1); play(); } public function stop():void{ m_objRendererPrev.stop(m_uRenderMethod); m_objRendererNext.stop(m_uRenderMethod); dispatchEvent(new AnimationEvent(AnimationEvent.STOP)); } public function playReverse():void{ stop(); dispatchEvent(new AnimationEvent(AnimationEvent.START)); m_objRendererPrev.start(m_uRenderMethod); } public function set loop(_arg1:Boolean):void{ m_bLoop = _arg1; } protected function init(_arg1:uint, _arg2:Number):void{ BoostworthyAnimation.log(); setFrameRate(_arg2); m_uRenderMethod = _arg1; m_objRendererPrev = new Renderer(onPrevFrameEF, onPrevFrameT, m_nRefreshRate); m_objRendererNext = new Renderer(onNextFrameEF, onNextFrameT, m_nRefreshRate); m_objTweenStack = new TweenStack(); m_uFrame = (m_uLength = 1); loop = DEFAULT_LOOP; } public function gotoAndStop(_arg1:uint):void{ stop(); setFrame(_arg1); } protected function onPrevFrameT(_arg1:TimerEvent):void{ prevFrame(); _arg1.updateAfterEvent(); } public function nextFrame():void{ setFrame((m_uFrame + 1)); } protected function render(_arg1:Boolean=false):void{ var _local2:IIterator = m_objTweenStack.getIterator((_arg1) ? IteratorType.ARRAY_REVERSE : IteratorType.ARRAY_FORWARD); while (_local2.hasNext()) { _local2.next().renderFrame(m_uFrame); }; } public function get loop():Boolean{ return (m_bLoop); } public function get length():Number{ return (m_uLength); } public function setFrameRate(_arg1:Number):void{ m_uFrameRate = ((_arg1)>0) ? _arg1 : DEFAULT_FRAME_RATE; m_nRefreshRate = Math.floor((1000 / m_uFrameRate)); } public function addTween(_arg1:ITween):void{ var _local2:ITween = _arg1.clone(); m_uLength = ((_local2.lastFrame)>m_uLength) ? _local2.lastFrame : m_uLength; m_objTweenStack.addElement(_local2); computeFrameData(_local2.firstFrame, _local2.lastFrame); } public function dispose():void{ stop(); m_objRendererPrev.dispose(); m_objRendererNext.dispose(); m_objTweenStack.dispose(); m_uRenderMethod = NaN; m_uFrameRate = NaN; m_nRefreshRate = NaN; m_uFrame = NaN; m_uLength = NaN; m_bLoop = false; } protected function onNextFrameT(_arg1:TimerEvent):void{ nextFrame(); _arg1.updateAfterEvent(); } protected function setFrame(_arg1:Number):void{ var _local2:Boolean; var _local3:Boolean; if (_arg1 > m_uLength){ if (m_bLoop){ _arg1 = 1; } else { _local3 = true; }; }; if (_arg1 < 1){ if (m_bLoop){ _arg1 = m_uLength; _local2 = true; } else { _local3 = true; }; }; m_uFrame = Math.min(Math.max(1, _arg1), m_uLength); if (!_local3){ render(_local2); }; dispatchEvent(new AnimationEvent(AnimationEvent.CHANGE)); if (_local3){ stop(); dispatchEvent(new AnimationEvent(AnimationEvent.FINISH)); }; } public function gotoAndPlayReverse(_arg1:uint):void{ stop(); setFrame(_arg1); playReverse(); } public function play():void{ stop(); dispatchEvent(new AnimationEvent(AnimationEvent.START)); m_objRendererNext.start(m_uRenderMethod); } protected function onPrevFrameEF(_arg1:Event):void{ prevFrame(); } } }//package com.boostworthy.animation.sequence
Section 8
//TweenStack (com.boostworthy.animation.sequence.TweenStack) package com.boostworthy.animation.sequence { import com.boostworthy.animation.sequence.tweens.*; import com.boostworthy.collections.iterators.*; import com.boostworthy.collections.*; public class TweenStack extends Stack { override public function addElement(_arg1:Object):void{ var _local7:ITween; var _local2:ITween = (_arg1 as ITween); var _local3:Array = new Array(); var _local4:IIterator = getIterator(); while (_local4.hasNext()) { _local7 = (_local4.next() as ITween); if ((((_local7.target == _local2.target)) && ((_local7.property == _local2.property)))){ if (_local7.firstFrame > _local2.firstFrame){ _local3.push(_local7.clone()); removeElement(_local7); }; }; }; super.addElement(_local2); var _local5:int = _local3.length; var _local6:int; while (_local6 < _local5) { super.addElement(_local3[_local6]); _local6++; }; } } }//package com.boostworthy.animation.sequence
Section 9
//BoostworthyAnimation (com.boostworthy.animation.BoostworthyAnimation) package com.boostworthy.animation { import com.boostworthy.utils.logger.*; public final class BoostworthyAnimation { public static const VERSION:String = "2.1"; public static const AUTHOR:String = "Copyright (c) 2007 Ryan Taylor | http://www.boostworthy.com"; public static const NAME:String = "Boostworthy Animation System"; public static const DATE:String = "06.07.2007"; private static var c_bIsLogged:Boolean; public static function log():void{ if (!c_bIsLogged){ LogFactory.getInstance().getLog(NAME).info(((("Version " + VERSION) + " :: ") + AUTHOR)); c_bIsLogged = true; }; } } }//package com.boostworthy.animation
Section 10
//ForwardArrayIterator (com.boostworthy.collections.iterators.ForwardArrayIterator) package com.boostworthy.collections.iterators { public class ForwardArrayIterator implements IIterator { private var m_aData:Array; private var m_uIndex:uint; public function ForwardArrayIterator(_arg1:Array){ m_aData = _arg1; reset(); } public function reset():void{ m_uIndex = 0; } public function next():Object{ return (m_aData[m_uIndex++]); } public function hasNext():Boolean{ return ((m_uIndex < m_aData.length)); } } }//package com.boostworthy.collections.iterators
Section 11
//IIterator (com.boostworthy.collections.iterators.IIterator) package com.boostworthy.collections.iterators { public interface IIterator { function next():Object; function hasNext():Boolean; function reset():void; } }//package com.boostworthy.collections.iterators
Section 12
//IteratorType (com.boostworthy.collections.iterators.IteratorType) package com.boostworthy.collections.iterators { public final class IteratorType { public static const NULL:uint = 1; public static const ARRAY_REVERSE:uint = 4; public static const ARRAY_FORWARD:uint = 2; } }//package com.boostworthy.collections.iterators
Section 13
//ReverseArrayIterator (com.boostworthy.collections.iterators.ReverseArrayIterator) package com.boostworthy.collections.iterators { public class ReverseArrayIterator implements IIterator { private var m_aData:Array; private var m_uIndex:uint; public function ReverseArrayIterator(_arg1:Array){ m_aData = _arg1; reset(); } public function reset():void{ m_uIndex = m_aData.length; } public function next():Object{ return (m_aData[--m_uIndex]); } public function hasNext():Boolean{ return ((m_uIndex > 0)); } } }//package com.boostworthy.collections.iterators
Section 14
//HashMap (com.boostworthy.collections.HashMap) package com.boostworthy.collections { import com.boostworthy.collections.iterators.*; import com.boostworthy.core.*; public class HashMap implements ICollection, IDisposable { protected var m_aKeys:Array; protected var m_aValues:Array; public function HashMap(_arg1:Object=null){ init(_arg1); } public function containsKey(_arg1:Object):Boolean{ return (!((searchForKey(_arg1) == Global.NULL_INDEX))); } public function remove(_arg1:Object):void{ var _local2:int = searchForKey(_arg1); if (_local2 != Global.NULL_INDEX){ m_aKeys.splice(_local2, 1); m_aValues.splice(_local2, 1); }; } public function getValueIterator(_arg1:uint=2):IIterator{ if (_arg1 == IteratorType.ARRAY_FORWARD){ return (new ForwardArrayIterator(m_aValues.concat())); }; if (_arg1 == IteratorType.ARRAY_REVERSE){ return (new ReverseArrayIterator(m_aValues.concat())); }; return (new ForwardArrayIterator(m_aValues.concat())); } public function getIterator(_arg1:uint=2):IIterator{ return (getValueIterator(_arg1)); } public function putMap(_arg1:Object):void{ var _local2:String; for (_local2 in _arg1) { put(_local2, _arg1[_local2]); }; } public function put(_arg1:Object, _arg2:Object):void{ remove(_arg1); m_aKeys.push(_arg1); m_aValues.push(_arg2); } protected function init(_arg1:Object):void{ dispose(); if (_arg1 != null){ putMap(_arg1); }; } public function get length():uint{ return (m_aKeys.length); } public function get(_arg1:Object):Object{ var _local2:int = searchForKey(_arg1); if (_local2 != Global.NULL_INDEX){ return (m_aValues[_local2]); }; return (null); } public function getKeyIterator(_arg1:uint=2):IIterator{ if (_arg1 == IteratorType.ARRAY_FORWARD){ return (new ForwardArrayIterator(m_aKeys.concat())); }; if (_arg1 == IteratorType.ARRAY_REVERSE){ return (new ReverseArrayIterator(m_aKeys.concat())); }; return (new ForwardArrayIterator(m_aKeys.concat())); } public function clone():HashMap{ var _local1:HashMap = new HashMap(); var _local2:int = m_aKeys.length; var _local3:int; while (_local3 < _local2) { _local1.put(m_aKeys[_local3], m_aValues[_local3]); _local3++; }; return (_local1); } protected function searchForKey(_arg1:Object):int{ var _local2:int = m_aKeys.length; var _local3:int; while (_local3 < _local2) { if (m_aKeys[_local3] === _arg1){ return (_local3); }; _local3++; }; return (Global.NULL_INDEX); } public function dispose():void{ m_aKeys = new Array(); m_aValues = new Array(); } } }//package com.boostworthy.collections
Section 15
//ICollection (com.boostworthy.collections.ICollection) package com.boostworthy.collections { import com.boostworthy.collections.iterators.*; public interface ICollection { function getIterator(_arg1:uint=2):IIterator; } }//package com.boostworthy.collections
Section 16
//Stack (com.boostworthy.collections.Stack) package com.boostworthy.collections { import com.boostworthy.collections.iterators.*; import com.boostworthy.core.*; public class Stack implements ICollection, IDisposable { protected var m_aData:Array; public function Stack(){ dispose(); } public function getIterator(_arg1:uint=2):IIterator{ if (_arg1 == IteratorType.ARRAY_FORWARD){ return (new ForwardArrayIterator(m_aData.concat())); }; if (_arg1 == IteratorType.ARRAY_REVERSE){ return (new ReverseArrayIterator(m_aData.concat())); }; return (new ForwardArrayIterator(m_aData.concat())); } private function getElementIndex(_arg1:Object):int{ var _local2:int; while (_local2 < m_aData.length) { if (m_aData[_local2] === _arg1){ return (_local2); }; _local2++; }; return (Global.NULL_INDEX); } public function get length():uint{ return (m_aData.length); } public function removeElement(_arg1:Object):void{ var _local2:int = getElementIndex(_arg1); if (_local2 != Global.NULL_INDEX){ m_aData.splice(_local2, 1); }; } public function addElement(_arg1:Object):void{ m_aData.unshift(_arg1); } public function dispose():void{ m_aData = new Array(); } } }//package com.boostworthy.collections
Section 17
//Global (com.boostworthy.core.Global) package com.boostworthy.core { import flash.display.*; public final class Global { private static var c_objStage:Stage; public static var NULL_INDEX:int = -1; public function Global(){ throw (new Error("ERROR -> Global :: Constructor :: The 'Global' class is not meant to be instantiated.")); } public static function set stage(_arg1:Stage):void{ c_objStage = _arg1; } public static function get stage():Stage{ return (c_objStage); } } }//package com.boostworthy.core
Section 18
//IDisposable (com.boostworthy.core.IDisposable) package com.boostworthy.core { public interface IDisposable { function dispose():void; } }//package com.boostworthy.core
Section 19
//AnimationEvent (com.boostworthy.events.AnimationEvent) package com.boostworthy.events { import flash.events.*; public class AnimationEvent extends Event { protected var m_strProperty:String; protected var m_objTarget:Object; public static const CHANGE:String = "animationChange"; public static const STOP:String = "animationStop"; public static const START:String = "animationStart"; public static const FINISH:String = "animationFinish"; public function AnimationEvent(_arg1:String, _arg2:Object=null, _arg3:String=""){ super(_arg1); m_objTarget = _arg2; m_strProperty = _arg3; } public function get animTarget():Object{ return (m_objTarget); } public function get animProperty():String{ return (m_strProperty); } } }//package com.boostworthy.events
Section 20
//ILog (com.boostworthy.utils.logger.ILog) package com.boostworthy.utils.logger { public interface ILog { function getName():String; function setLevel(_arg1:uint):void; function debug(_arg1:String):void; function severe(_arg1:String):void; function getLevel():uint; function warning(_arg1:String):void; function info(_arg1:String):void; } }//package com.boostworthy.utils.logger
Section 21
//Log (com.boostworthy.utils.logger.Log) package com.boostworthy.utils.logger { public class Log implements ILog { protected var m_strName:String; protected var m_uLevel:uint; public function Log(_arg1:String, _arg2:uint){ init(_arg1, _arg2); } protected function output(_arg1:String, _arg2:uint):void{ if (((!((m_uLevel & LogLevel.OFF))) && ((m_uLevel >= _arg2)))){ trace(createOutputMessage(_arg1, _arg2)); }; } public function getName():String{ return (m_strName); } public function setLevel(_arg1:uint):void{ m_uLevel = _arg1; } protected function createOutputMessage(_arg1:String, _arg2:uint):String{ return ((((((m_strName + " (") + getLevelName(_arg2)) + ") :: ") + _arg1) + "\n")); } public function getLevel():uint{ return (m_uLevel); } protected function init(_arg1:String, _arg2:uint):void{ m_strName = _arg1; m_uLevel = _arg2; } protected function getLevelName(_arg1:uint):String{ switch (_arg1){ case LogLevel.OFF: return ("OFF"); case LogLevel.SEVERE: return ("SEVERE"); case LogLevel.WARNING: return ("WARNING"); case LogLevel.INFO: return ("INFO"); case LogLevel.DEBUG: return ("DEBUG"); default: return (""); }; } public function debug(_arg1:String):void{ output(_arg1, LogLevel.DEBUG); } public function severe(_arg1:String):void{ output(_arg1, LogLevel.SEVERE); } public function warning(_arg1:String):void{ output(_arg1, LogLevel.WARNING); } public function info(_arg1:String):void{ output(_arg1, LogLevel.INFO); } } }//package com.boostworthy.utils.logger
Section 22
//LogFactory (com.boostworthy.utils.logger.LogFactory) package com.boostworthy.utils.logger { import com.boostworthy.collections.iterators.*; import com.boostworthy.collections.*; import com.boostworthy.core.*; public class LogFactory implements IDisposable { private var m_uLevel:uint; private var m_objLogHash:HashMap; private static var c_objInstance:LogFactory; public function LogFactory(_arg1:SingletonEnforcer){ init(); } protected function init():void{ m_uLevel = LogSettings.DEFAULT_LOG_LEVEL; m_objLogHash = new HashMap(); } public function getLog(_arg1:String):ILog{ if (m_objLogHash.containsKey(_arg1)){ return ((m_objLogHash.get(_arg1) as ILog)); }; m_objLogHash.put(_arg1, new Log(_arg1, m_uLevel)); return ((m_objLogHash.get(_arg1) as ILog)); } public function setLevel(_arg1:uint):void{ m_uLevel = _arg1; var _local2:IIterator = m_objLogHash.getValueIterator(); while (_local2.hasNext()) { _local2.next().setLevel(m_uLevel); }; } public function getLevel():uint{ return (m_uLevel); } public function dispose():void{ m_objLogHash.dispose(); } public static function getInstance():LogFactory{ if (c_objInstance == null){ c_objInstance = new LogFactory(new SingletonEnforcer()); }; return (c_objInstance); } } }//package com.boostworthy.utils.logger class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 23
//LogLevel (com.boostworthy.utils.logger.LogLevel) package com.boostworthy.utils.logger { public final class LogLevel { public static const SEVERE:uint = 2; public static const INFO:uint = 8; public static const DEBUG:uint = 16; public static const WARNING:uint = 4; public static const OFF:uint = 1; } }//package com.boostworthy.utils.logger
Section 24
//LogSettings (com.boostworthy.utils.logger.LogSettings) package com.boostworthy.utils.logger { public final class LogSettings { public static const DEFAULT_LOG_LEVEL:uint = LogLevel.DEBUG; } }//package com.boostworthy.utils.logger
Section 25
//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 26
//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 27
//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 28
//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 29
//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 30
//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 31
//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 32
//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 33
//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 34
//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 35
//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 36
//KongregateAPI (com.kongregate.as3.client.KongregateAPI) package com.kongregate.as3.client { import flash.events.*; import flash.display.*; import flash.utils.*; import com.kongregate.as3.client.services.*; import flash.net.*; import flash.system.*; import com.kongregate.as3.client.events.*; 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 37
//ReflexiveAPI (com.reflexive.ReflexiveAPI) package com.reflexive { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; public class ReflexiveAPI extends Sprite { private var connected:Boolean; private var connectionString:String; private var scoreTimer:Timer; private var useAPI:Boolean; private var oldMouseY:Number; private var lastScore;// = null private var oldMouseX:Number; private var updateActivity:Boolean;// = false private var conn:LocalConnection; private var activityTimer:Timer; private static var obj:ReflexiveAPI; public function ReflexiveAPI(){ addEventListener(Event.ADDED_TO_STAGE, onLoad); } private function initConnection():void{ if (useAPI){ if (!connected){ conn.send(connectionString, "initToolbar"); setTimeout(initConnection, 500); }; }; } public function setIsActive():void{ if (useAPI){ if (!connected){ setTimeout(setIsActive, 500); } else { conn.send(connectionString, "setIsActive", null); }; }; } private function onLoad(_arg1:Event):void{ connected = false; useAPI = (int(root.loaderInfo.parameters.useReflexiveAPI) == 1); if (useAPI){ connectionString = root.loaderInfo.parameters.connectionString; conn = new LocalConnection(); conn.addEventListener(StatusEvent.STATUS, onStatus); conn.addEventListener(AsyncErrorEvent.ASYNC_ERROR, onAsyncError); initConnection(); root.addEventListener(Event.ENTER_FRAME, checkActivity); scoreTimer = new Timer(1000); scoreTimer.addEventListener(TimerEvent.TIMER, submitScoreHelper); scoreTimer.start(); activityTimer = new Timer(5000); activityTimer.addEventListener(TimerEvent.TIMER, sendActivity); activityTimer.start(); }; } private function submitScoreHelper(_arg1:TimerEvent):void{ if (((((useAPI) && (connected))) && (!((lastScore == null))))){ conn.send(connectionString, "submitScore", lastScore); lastScore = null; }; } public function submitScore(_arg1):void{ if (useAPI){ lastScore = _arg1; }; } private function onAsyncError(_arg1:AsyncErrorEvent):void{ } private function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "status": connected = true; break; case "error": break; }; } private function checkActivity(_arg1:Event):void{ if (((!((mouseX == oldMouseX))) || (!((mouseY == oldMouseY))))){ oldMouseX = mouseX; oldMouseY = mouseY; updateActivity = true; }; } private function sendActivity(_arg1:TimerEvent):void{ if (updateActivity){ setIsActive(); }; updateActivity = false; } public static function getInstance():ReflexiveAPI{ if (obj == null){ obj = new (ReflexiveAPI); }; return (obj); } } }//package com.reflexive
Section 38
//BitmapAsset (mx.core.BitmapAsset) package mx.core { import flash.display.*; public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject { mx_internal static const VERSION:String = "3.0.0.0"; public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } public function get measuredWidth():Number{ if (bitmapData){ return (bitmapData.width); }; return (0); } public function get measuredHeight():Number{ if (bitmapData){ return (bitmapData.height); }; return (0); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } } }//package mx.core
Section 39
//ByteArrayAsset (mx.core.ByteArrayAsset) package mx.core { import flash.utils.*; public class ByteArrayAsset extends ByteArray implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 40
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); ; public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){ this.left = _arg1; this.top = _arg2; this.right = _arg3; this.bottom = _arg4; } public function clone():EdgeMetrics{ return (new EdgeMetrics(left, top, right, bottom)); } } }//package mx.core
Section 41
//FlexBitmap (mx.core.FlexBitmap) package mx.core { import flash.display.*; import mx.utils.*; public class FlexBitmap extends Bitmap { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ var bitmapData = _arg1; var pixelSnapping = _arg2; var smoothing = _arg3; super(bitmapData, pixelSnapping, smoothing); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 42
//FlexMovieClip (mx.core.FlexMovieClip) package mx.core { import flash.display.*; import mx.utils.*; public class FlexMovieClip extends MovieClip { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexMovieClip(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 43
//FontAsset (mx.core.FontAsset) package mx.core { import flash.text.*; public class FontAsset extends Font implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 44
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 45
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 46
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.accessibility.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(_arg1:Point):Point; function get name():String; function set width(_arg1:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(_arg1:String):void; function set scaleX(_arg1:Number):void; function set scaleY(_arg1:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(_arg1:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(_arg1:Point):Point; function get height():Number; function set blendMode(_arg1:String):void; function get parent():DisplayObjectContainer; function getBounds(_arg1:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(_arg1:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(_arg1:Number):void; function set accessibilityProperties(_arg1:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(_arg1:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(_arg1:Number):void; function set mask(_arg1:DisplayObject):void; function getRect(_arg1:DisplayObject):Rectangle; function get alpha():Number; function set transform(_arg1:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(_arg1:DisplayObject):Boolean; function set opaqueBackground(_arg1:Object):void; function set visible(_arg1:Boolean):void; function get mask():DisplayObject; function set x(_arg1:Number):void; function set y(_arg1:Number):void; function get transform():Transform; function set filters(_arg1:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(_arg1:Number):void; function get stage():Stage; } }//package mx.core
Section 47
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(_arg1:Array):void; function get isDocument():Boolean; function set repeaters(_arg1:Array):void; function initializeRepeaterArrays(_arg1:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(_arg1:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 48
//MovieClipAsset (mx.core.MovieClipAsset) package mx.core { public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function MovieClipAsset(){ _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 49
//MovieClipLoaderAsset (mx.core.MovieClipLoaderAsset) package mx.core { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.system.*; public class MovieClipLoaderAsset extends MovieClipAsset implements IFlexAsset, IFlexDisplayObject { protected var initialHeight:Number;// = 0 private var loader:Loader;// = null private var initialized:Boolean;// = false protected var initialWidth:Number;// = 0 private var requestedHeight:Number; private var requestedWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function MovieClipLoaderAsset(){ var _local1:LoaderContext = new LoaderContext(); _local1.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); if (("allowLoadBytesCodeExecution" in _local1)){ _local1["allowLoadBytesCodeExecution"] = true; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.loadBytes(movieClipData, _local1); addChild(loader); } override public function get width():Number{ if (!initialized){ return (initialWidth); }; return (super.width); } override public function set width(_arg1:Number):void{ if (!initialized){ requestedWidth = _arg1; } else { loader.width = _arg1; }; } override public function get measuredHeight():Number{ return (initialHeight); } private function completeHandler(_arg1:Event):void{ initialized = true; initialWidth = loader.width; initialHeight = loader.height; if (!isNaN(requestedWidth)){ loader.width = requestedWidth; }; if (!isNaN(requestedHeight)){ loader.height = requestedHeight; }; dispatchEvent(_arg1); } override public function set height(_arg1:Number):void{ if (!initialized){ requestedHeight = _arg1; } else { loader.height = _arg1; }; } override public function get measuredWidth():Number{ return (initialWidth); } override public function get height():Number{ if (!initialized){ return (initialHeight); }; return (super.height); } public function get movieClipData():ByteArray{ return (null); } } }//package mx.core
Section 50
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 51
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 52
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static var counter:int = 0; public static function displayObjectToString(_arg1:DisplayObject):String{ var _local2:String; var _local4:String; var _local5:Array; var _local3:DisplayObject = _arg1; while (_local3 != null) { if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){ break; }; _local4 = _local3.name; if ((_local3 is IRepeaterClient)){ _local5 = IRepeaterClient(_local3).instanceIndices; if (_local5){ _local4 = (_local4 + (("[" + _local5.join("][")) + "]")); }; }; _local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2); _local3 = _local3.parent; }; return (_local2); } public static function createUniqueName(_arg1:Object):String{ if (!_arg1){ return (null); }; var _local2:String = getQualifiedClassName(_arg1); var _local3:int = _local2.indexOf("::"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 2)); }; var _local4:int = _local2.charCodeAt((_local2.length - 1)); if ((((_local4 >= 48)) && ((_local4 <= 57)))){ _local2 = (_local2 + "_"); }; return ((_local2 + counter++)); } } }//package mx.utils
Section 53
//Cursor (Cursor) package { import flash.display.*; import flash.text.*; import flash.filters.*; public class Cursor extends Sprite { public var size:Number; private var helpers:Helpers; private var outline:Sprite; private var outlineGood:Sprite; private var shape:Sprite; private var defaultSize:Number; public var cursorText:TextField; public var isHighlight:Boolean;// = false private var outlineBad:Sprite; public var defaultTextColor:int;// = 6710835 private var outlineSuction:Sprite; public function Cursor(_arg1:Number){ helpers = new Helpers(); this.defaultSize = _arg1; mouseChildren = false; mouseEnabled = false; outline = new Sprite(); outline.visible = false; addChild(outline); outlineGood = new Sprite(); outlineGood.visible = false; addChild(outlineGood); cursorText = new TextField(); cursorText.defaultTextFormat = new TextFormat("MyFont", 9, defaultTextColor); cursorText.autoSize = "center"; cursorText.embedFonts = true; cursorText.antiAliasType = "advanced"; cursorText.selectable = false; addChild(cursorText); shape = new Sprite(); shape.filters = [new BlurFilter(5, 5, 1)]; addChild(shape); outlineSuction = new Sprite(); outlineSuction.visible = false; addChild(outlineSuction); outlineBad = new Sprite(); outlineBad.visible = false; addChild(outlineBad); } private function pulseOutlineGood(_arg1:Number, _arg2:Number):void{ outlineGood.graphics.clear(); outlineGood.graphics.beginFill(16777130, _arg2); outlineGood.graphics.drawCircle(0, 0, _arg1); } private function pulseOutlineBad(_arg1:Number, _arg2:Number):void{ outlineBad.graphics.clear(); outlineBad.graphics.beginFill(0x660000, _arg2); outlineBad.graphics.drawCircle(0, 0, _arg1); } public function pulseNormal():void{ if (!outline.visible){ outline.graphics.clear(); outline.visible = true; pulseOutline((size + 1), 0.4); helpers.setTimeout(pulseOutline, 100, (size + 4), 0.2); helpers.setTimeout(function ():void{ outline.visible = false; }, 200); }; } private function pulseOutline(_arg1:Number, _arg2:Number):void{ outline.graphics.clear(); outline.graphics.lineStyle(2, 11206570, _arg2); outline.graphics.drawCircle(0, 0, _arg1); } public function pulseBad():void{ if (!outlineBad.visible){ outlineBad.graphics.clear(); outlineBad.visible = true; pulseOutlineBad((size + 2), 0.8); helpers.setTimeout(pulseOutlineBad, 100, (size + 4), 0.6); helpers.setTimeout(pulseOutlineBad, 200, (size + 7), 0.4); helpers.setTimeout(pulseOutlineBad, 300, (size + 10), 0.2); helpers.setTimeout(function ():void{ outlineBad.visible = false; }, 400); }; } public function pulseGood():void{ if (!outlineGood.visible){ outlineGood.graphics.clear(); outlineGood.visible = true; pulseOutlineGood((size + 2), 0.8); helpers.setTimeout(pulseOutlineGood, 50, (size + 4), 0.6); helpers.setTimeout(pulseOutlineGood, 100, (size + 7), 0.4); helpers.setTimeout(pulseOutlineGood, 150, (size + 10), 0.2); helpers.setTimeout(function ():void{ outlineGood.visible = false; }, 200); }; } private function pulseOutlineSuction(_arg1:Number, _arg2:Number):void{ outlineSuction.graphics.clear(); outlineSuction.graphics.beginFill(0xFF00FF, _arg2); outlineSuction.graphics.drawCircle(0, 0, _arg1); } public function pulseSuction():void{ if (!outlineSuction.visible){ outlineSuction.graphics.clear(); outlineSuction.visible = true; pulseOutlineSuction((size + 2), 0.8); helpers.setTimeout(pulseOutlineSuction, 100, (size + 4), 0.6); helpers.setTimeout(pulseOutlineSuction, 200, (size + 7), 0.4); helpers.setTimeout(pulseOutlineSuction, 300, (size + 10), 0.2); helpers.setTimeout(function ():void{ outlineSuction.visible = false; }, 400); }; } public function updateCursor(_arg1:Number, _arg2:String):void{ this.size = _arg1; shape.graphics.clear(); if (isHighlight){ shape.graphics.lineStyle(2, 11206570); shape.graphics.beginFill(11206570, 0.5); shape.graphics.drawRoundRect(-(_arg1), -(_arg1), (_arg1 * 2), (_arg1 * 2), (_arg1 / 2), (_arg1 / 2)); } else { shape.graphics.lineStyle(2, 16777130); shape.graphics.beginFill(16777130, 0.5); shape.graphics.drawCircle(0, 0, _arg1); }; cursorText.text = _arg2; var _local3:Number = 1; if (cursorText.length > 3){ _local3 = 0.8; }; cursorText.scaleX = (_local3 * (_arg1 / defaultSize)); cursorText.scaleY = (_local3 * (_arg1 / defaultSize)); cursorText.x = (-(cursorText.width) / 2); cursorText.y = (-(cursorText.height) / 2); } } }//package
Section 54
//Helpers (Helpers) package { import com.boostworthy.animation.sequence.tweens.*; import com.boostworthy.animation.sequence.*; import com.boostworthy.animation.rendering.*; import com.boostworthy.core.*; public class Helpers { public function setTimeout(_arg1:Function, _arg2:int, ... _args):void{ var _local4:int = Math.max(1, int(((_arg2 / 1000) * Global.stage.frameRate))); var _local5:Timeline = new Timeline(RenderMethod.ENTER_FRAME); _local5.addTween(new Action(_arg1, _args, null, [], _local4)); _local5.play(); } } }//package
Section 55
//MochiBot (MochiBot) package { import flash.display.*; import flash.system.*; import flash.net.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 56
//MusicCatch2 (MusicCatch2) package { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import com.kongregate.as3.client.*; import com.boostworthy.animation.sequence.tweens.*; import com.reflexive.*; import flash.text.*; import flash.media.*; import flash.net.*; import com.boostworthy.animation.sequence.*; import com.boostworthy.animation.rendering.*; import com.boostworthy.animation.easing.*; import com.boostworthy.core.*; import flash.ui.*; import flash.filters.*; public class MusicCatch2 extends Sprite { private var testFullScreen:Boolean;// = true private var powerDownCount:int;// = 0 private var pool:Array; private var referrer:String;// = "MusicCatch2" private var proxyURL:String;// = "http://wgextras.gamecentersolution.com/proxy.php" private var introMovie:MovieClip; private var activeShapeSet:String;// = "Music" private var oldVolume:Array; private var songURL:TextField; private var stateCounter:int;// = 0 private var allowPause:Boolean;// = true private var songFile:String;// = "" private var music1Class:Class; private var yellowMadnessCount:int;// = 0 private var scoreName:TextField; private var ba:ByteArray; private var songTitle:TextField; private var kongregateAPI:KongregateAPI; private var sc:SoundChannel; private var title:TextField; private var totalShapeCount:int;// = 0 private var so:SharedObject; private var objTimeline:Timeline; private var silverClass:Class; private var powerUpCount:int;// = 0 private var s:Sound; private var cursorSize:Number; private var cheatUnlockCode:String;// = "unlock" private var helpers:Helpers; private var maxLoaded:Number;// = 0 private var maxCombo:int;// = 1 private var randomizeType:String;// = "Off" private var bandWidth:int;// = 16 private var score:Number;// = 0 private var yellowMadness:Boolean;// = true private var songTitles:Array; private var allowCheating:Boolean;// = false private var credits:TextField; private var volumePoints:Array; private var unlockLevel:int;// = 1 private var progressBar:Sprite; private var skipFadeOut:Boolean;// = false private var cursorDefaultSize:Number;// = 10 private var songIndex:int;// = 0 private var mainMenu:TextField; private var powerDownTime:int;// = 0 private var platinumClass:Class; private var music2Class:Class; private var suction:int;// = 0 private var displayTypes:Array; private var helperParams:Object; private var scoreText:TextField; private var patterns:Array; private var playAreaRed:Sprite; private var goldClass:Class; private var shapeSet:String;// = "Music" private var buttonSound1Class:Class; private var song:String;// = "" private var maxRadius:int;// = 15 private var cheatUnlockIndex:int;// = 0 private var displayType:String;// = "Normal" private var position:int; private var halfHeight:Number;// = 0 private var songName:TextField; private var randomizeTypes:Array; private var rotateDegrees:Number;// = 0 private var songClasses:Array; private var halfWidth:Number;// = 0 private var cursor:Cursor; private var skipPulse:Boolean;// = false private var music3Class:Class; private var songLoaded:Boolean;// = false private var cheatLotsOfShapes:Boolean;// = false private var introMovieTimer:Timer; private var combo:int;// = 1 private var pattern:String;// = "In & Out" private var shapeSets:Array; private var rotationTypes:Array; private var gameArea:Sprite; private var recentList:Array; private var frameCount:int;// = 0 private var buttonSound2Class:Class; private var introMovieClass:Class; private var skipGarbage:Boolean;// = false private var allowsFullScreen:Boolean;// = false private var downloadURL:String; private var channelLength:int;// = 0x0100 private var reflexiveAPI:ReflexiveAPI; private var textContainer:Sprite; private var noRedsClass:Class; private var copyright:TextField; private var rotationType:String;// = "Right" private var playArea:Sprite; private var purplePowerCount:int;// = 0 private var shapeCount:int;// = 0 private var maxShapesOnBoard:int;// = 50 private var pause:TextField; public var myfont:Class; private var bronzeClass:Class; public function MusicCatch2(){ pool = []; so = SharedObject.getLocal((referrer + "_UserData_1")); helperParams = {}; sc = new SoundChannel(); volumePoints = []; oldVolume = []; ba = new ByteArray(); rotationTypes = ["Right", "Left", "Wave", "Breathe", "Fixed"]; patterns = ["In & Out", "Fixed", "Straight", "Radar", "Spiral"]; displayTypes = ["Normal", "Fullscreen"]; randomizeTypes = ["Off", "Surprise Me", "Mix It Up"]; recentList = []; buttonSound1Class = MusicCatch2_buttonSound1Class; buttonSound2Class = MusicCatch2_buttonSound2Class; music1Class = MusicCatch2_music1Class; music2Class = MusicCatch2_music2Class; music3Class = MusicCatch2_music3Class; songTitle = new TextField(); songTitles = ["Leaves in the Wind", "Gentle", "Letting Go", "MP3 from URL"]; songClasses = [music1Class, music2Class, music3Class]; shapeSets = ["Music", "Sky", "Floral", "Abstract", "Random"]; myfont = MusicCatch2_myfont; noRedsClass = MusicCatch2_noRedsClass; platinumClass = MusicCatch2_platinumClass; goldClass = MusicCatch2_goldClass; silverClass = MusicCatch2_silverClass; bronzeClass = MusicCatch2_bronzeClass; introMovieClass = MusicCatch2_introMovieClass; super(); addEventListener("Preloader Finished", init); } public function scaleAroundExternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ _arg1.translate(-(_arg2), -(_arg3)); _arg1.scale(_arg4, _arg5); _arg1.translate(_arg2, _arg3); } private function selectShapeSet(_arg1:MouseEvent):void{ var _local2:Sprite; playSelectSound(); if (_arg1.target != null){ _local2 = Sprite(_arg1.target); if (((!((helperParams[_local2.name] == null))) && (!((helperParams[_local2.name][0] == null))))){ shapeSet = helperParams[_local2.name][0]; initShapeSet(); showMainMenu(); }; }; } private function onButtonMouseOver(_arg1:MouseEvent):void{ var _local2:int; var _local3:int; var _local4:Sprite = Sprite(_arg1.target); if (helperParams[_local4.name] != null){ if (helperParams[_local4.name][(helperParams[_local4.name].length - 2)] != null){ _local3 = helperParams[_local4.name][(helperParams[_local4.name].length - 2)]; }; if (helperParams[_local4.name][(helperParams[_local4.name].length - 1)] != null){ _local2 = helperParams[_local4.name][(helperParams[_local4.name].length - 1)]; }; }; var _local5:Number = (_local2 / 4); _local4.graphics.clear(); _local4.graphics.beginFill(_local3, 0.3); _local4.graphics.drawRoundRect(-(_local5), -(_local5), (_local4.width + (_local5 * 2)), (_local4.height + (_local5 * 2)), 10, 10); playHoverSound(); } private function selectSong(_arg1:MouseEvent):void{ var _local2:Sprite; playSelectSound(); if (_arg1.target != null){ _local2 = Sprite(_arg1.target); if (((!((helperParams[_local2.name] == null))) && (!((helperParams[_local2.name][0] == null))))){ songIndex = int(helperParams[_local2.name][0]); loadSongFile(songIndex); showMainMenu(); }; }; } private function initShapeSet():void{ if (shapeSet == "Random"){ if (title.visible){ activeShapeSet = "Music"; } else { activeShapeSet = getRandomShapeSet(); }; } else { activeShapeSet = shapeSet; }; } private function showSelectURL(_arg1:MouseEvent=null):void{ var _local3:int; clearText(); clearGame(); progressBar.graphics.clear(); maxCombo = 1; combo = 1; purplePowerCount = 0; yellowMadnessCount = 0; powerUpCount = 0; powerDownCount = 0; shapeCount = 0; totalShapeCount = 0; yellowMadness = true; powerDownTime = 0; suction = 0; highlightCursor(false); cursorSize = cursorDefaultSize; updateCursor(); title.visible = false; credits.visible = false; mainMenu.visible = true; pause.visible = false; songName.visible = false; progressBar.visible = false; scoreText.visible = false; scoreName.visible = false; score = 0; scoreText.text = score.toString(); gameArea.mouseChildren = true; textContainer.mouseChildren = true; if (gameArea.alpha < 1){ fadeIn(gameArea, 500); fadeIn(textContainer, 500); }; stateCounter++; showText("Enter the URL of any MP3 Song", 500, 16777164, NaN, 10, 10, 20, null, stateCounter, true); var _local2:Sprite = new Sprite(); _local2.alpha = 0; textContainer.addChild(_local2); songURL = new TextField(); songURL.defaultTextFormat = new TextFormat("MyFont", 18, 0); songURL.type = TextFieldType.INPUT; songURL.width = 430; songURL.height = 30; songURL.wordWrap = false; songURL.multiline = false; if (((!((recentList[0] == null))) && (!((recentList[0]["file"] == null))))){ songURL.text = recentList[0]["file"]; } else { songURL.text = ""; }; songURL.embedFonts = true; songURL.antiAliasType = "advanced"; songURL.selectable = true; songURL.background = true; songURL.border = true; songURL.x = 50; songURL.y = 50; stage.focus = songURL; songURL.setSelection(0, songURL.text.length); _local2.addChild(songURL); fadeIn(_local2, 500); showText("Play", 500, 0xFFFFFF, 500, 50, 50, 20, selectSongURL, stateCounter, false, ["url"], true, false, 0xFFFFFF); if (recentList.length > 0){ showText("- Recently Played -", 500, 16777164, NaN, 100, 100, 20, null, stateCounter, true); _local3 = 0; while (_local3 < recentList.length) { showText(recentList[_local3]["name"], 500, 12307677, 50, (130 + (45 * _local3)), (130 + (45 * _local3)), 16, selectSongURL, stateCounter, false, [recentList[_local3]["file"]]); showText(recentList[_local3]["file"], 500, 0x666666, 50, (150 + (45 * _local3)), (150 + (45 * _local3)), 12, selectSongURL, stateCounter, false, [recentList[_local3]["file"]]); _local3++; }; }; } public function rotateAroundExternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{ _arg1.translate(-(_arg2), -(_arg3)); _arg1.rotate((_arg4 * (Math.PI / 180))); _arg1.translate(_arg2, _arg3); } private function setCursorSize():void{ cursorSize = (cursorDefaultSize + combo); if (cursorSize < 3){ cursorSize = 3; } else { if (cursorSize > 50){ cursorSize = (int(((cursorSize - 50) / 4)) + 50); }; }; updateCursor(); } private function addRainDrop(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String="", _arg5:String="", _arg6:Boolean=true, _arg7:Boolean=false):RainDrop{ var _local9:Point; var _local11:int; var _local12:Number; var _local13:int; _arg3 = (_arg3 + 0.2); var _local8:int = (_arg3 * 12); if (_arg5 == ""){ _arg5 = "normal"; if (_arg3 > 0.5){ _local11 = int((Math.random() * 1200)); if (_local11 < 20){ _arg5 = "powerUp"; } else { if (_local11 < 40){ _arg5 = "powerDown"; } else { if ((((_local11 < 42)) && ((suction == 0)))){ _arg5 = "suction"; } else { if ((((((_local11 == 42)) && (yellowMadness))) && ((suction == 0)))){ _arg5 = "yellowMadness"; yellowMadness = false; }; }; }; }; }; }; if (_arg4 == ""){ _arg4 = getRandomShape(); }; var _local10:RainDrop = new RainDrop(_arg5, _arg4, pattern, _arg3, maxRadius, stage.stageWidth, stage.stageHeight); _local10.recycled = _arg7; if (pattern == "Spiral"){ if (_arg6){ if (_arg1 > halfWidth){ _local10.x = ((_arg1 * 2) - halfWidth); _local10.y = (stage.stageHeight - _arg2); } else { _local10.x = (_arg1 * 2); _local10.y = _arg2; }; } else { _local10.x = _arg1; _local10.y = _arg2; }; _local10.fadeVelocity = _local8; _local10.originalFadeVelocity = _local8; _local10.yVelocity = 0; _local10.originalYVelocity = 0; } else { if (pattern == "Fixed"){ if (_arg6){ _local9 = playArea.globalToLocal(new Point(cursor.x, cursor.y)); _local10.x = (Math.random() * stage.stageWidth); _local10.y = (Math.random() * stage.stageHeight); while (((((((Math.abs((_local9.x - _local10.x)) - cursorSize) - _local10.radius) - 50) <= 0)) && (((((Math.abs((_local9.y - _local10.y)) - cursorSize) - _local10.radius) - 50) <= 0)))) { _local10.x = (Math.random() * stage.stageWidth); _local10.y = (Math.random() * stage.stageHeight); }; } else { _local10.x = _arg1; _local10.y = _arg2; }; _local10.fadeVelocity = _local8; _local10.originalFadeVelocity = _local8; _local10.yVelocity = 0; _local10.originalYVelocity = 0; } else { if (pattern == "Radar"){ if (_arg6){ _local9 = playArea.globalToLocal(new Point(cursor.x, cursor.y)); _local12 = (_arg1 + 20); _local13 = ((frameCount % 60) * 6); _local10.x = ((_local12 * Math.cos(((Math.PI * _local13) / 180))) + halfWidth); _local10.y = ((_local12 * Math.sin(((Math.PI * _local13) / 180))) + halfHeight); if ((((((_local10.type == "powerDown")) && (((((Math.abs((_local9.x - _local10.x)) - cursorSize) - _local10.radius) - 50) <= 0)))) && (((((Math.abs((_local9.y - _local10.y)) - cursorSize) - _local10.radius) - 50) <= 0)))){ _local10.type = "normal"; }; } else { _local10.x = _arg1; _local10.y = _arg2; }; _local10.fadeVelocity = _local8; _local10.originalFadeVelocity = _local8; _local10.yVelocity = 0; _local10.originalYVelocity = 0; } else { _local10.x = _arg1; _local10.y = _arg2; if (pattern == "Straight"){ _local10.yVelocity = (_local8 / 2); _local10.originalYVelocity = (_local8 / 2); } else { _local10.yVelocity = _local8; _local10.originalYVelocity = _local8; }; }; }; }; if (_local10.type == "powerDown"){ playAreaRed.addChild(_local10); } else { playArea.addChild(_local10); }; totalShapeCount++; return (_local10); } private function selectDisplayType(_arg1:MouseEvent):void{ var link:Sprite; var e = _arg1; playSelectSound(); if (e.target != null){ link = Sprite(e.target); if (((!((helperParams[link.name] == null))) && (!((helperParams[link.name][0] == null))))){ displayType = helperParams[link.name][0]; if (displayType == "Fullscreen"){ try { stage.fullScreenSourceRect = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight); stage.displayState = StageDisplayState.FULL_SCREEN; } catch(e:Error) { }; } else { stage.displayState = StageDisplayState.NORMAL; }; showMainMenu(); }; }; } private function addRainDrops():void{ var _local1:int; var _local2:int = volumePoints.length; _local1 = 0; while (_local1 < _local2) { if (pattern == "Radar"){ if (((((cheatLotsOfShapes) || ((playArea.numChildren < (maxShapesOnBoard * 2))))) || ((volumePoints[_local1][1] > 0.9)))){ addRainDrop(((halfWidth - ((volumePoints[_local1][0] / channelLength) * halfWidth)) + (Math.random() * bandWidth)), 0, volumePoints[_local1][1]); }; } else { if (((((cheatLotsOfShapes) || ((playArea.numChildren < maxShapesOnBoard)))) || ((volumePoints[_local1][1] > 0.9)))){ addRainDrop(((halfWidth + ((volumePoints[_local1][0] / channelLength) * halfWidth)) + (Math.random() * bandWidth)), 0, volumePoints[_local1][1]); addRainDrop(((halfWidth - ((volumePoints[_local1][0] / channelLength) * halfWidth)) + (Math.random() * bandWidth)), 0, volumePoints[_local1][1]); }; }; _local1++; }; volumePoints = []; } public function cursorFollow(_arg1:MouseEvent):void{ cursor.x = stage.mouseX; cursor.y = stage.mouseY; cursor.visible = true; } private function saveUserData():void{ try { so.data.unlockLevel = unlockLevel; so.data.allowsFullScreen = allowsFullScreen; so.data.recentList = recentList; so.flush(); } catch(e:Error) { }; } private function getSongName(_arg1:String):String{ return (_arg1.replace(/^.*[\/\\](.*)\.mp3$/i, "$1")); } private function badSong():void{ var _local1:int; while (_local1 < recentList.length) { if (recentList[_local1]["file"] == songFile){ recentList.splice(_local1, 1); break; }; _local1++; }; saveUserData(); if (!songName.visible){ showMainMenu(); return; }; clearText(); clearGame(); s = new Sound(); song = "Invalid MP3 song"; songName.text = song; songFile = ""; credits.visible = false; mainMenu.visible = false; pause.visible = false; stateCounter++; showText("The MP3 song you selected cannot be loaded.", 1000, 16777164, NaN, 130, NaN, 25, clearPause, stateCounter); showText("If the problem continues, please select another song.", 1000, 16777164, NaN, 175, NaN, 25, clearPause, stateCounter); if (unlockLevel >= 6){ showText("Select Another URL", 1000, 0xFFFFFF, NaN, 250, NaN, 40, showSelectURL, stateCounter); }; showText("Main Menu", 1000, 16764108, NaN, 325, NaN, 40, showMainMenu, stateCounter); } private function fadeIn(_arg1:DisplayObject, _arg2:int):void{ var _local3:int = int(((_arg2 / 1000) * stage.frameRate)); _arg1.alpha = 0; _arg1.visible = true; var _local4:Timeline = new Timeline(RenderMethod.ENTER_FRAME); _local4.addTween(new Tween(_arg1, "alpha", 1, 0, _local3, Transitions.CUBIC_OUT)); _local4.play(); } private function update(_arg1:Event=null):void{ var _local3:Boolean; var _local4:Matrix; var _local5:int; var _local6:Number; var _local7:Number; var _local8:int; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local2:Boolean; frameCount++; if (pause.visible){ if ((((randomizeType == "Mix It Up")) && (((frameCount % 300) == 0)))){ shapeSet = shapeSets[Math.floor((Math.random() * shapeSets.length))]; initShapeSet(); pattern = patterns[Math.floor((Math.random() * patterns.length))]; rotationType = rotationTypes[Math.floor((Math.random() * rotationTypes.length))]; }; processMusic(); _local3 = false; if ((frameCount % 3) == 0){ if (((((((!((sc == null))) && (!((s == null))))) && (!(isNaN(s.length))))) && ((s.length > 0)))){ _local3 = true; progressBar.graphics.clear(); progressBar.graphics.beginFill(13421823, 0.8); progressBar.graphics.drawRect(0, 0, ((stage.stageWidth * sc.position) / s.length), 5); }; }; if (pattern == "Radar"){ _local3 = true; }; if (_local3){ addRainDrops(); }; updateRainDrops(); if ((frameCount % 300) == 0){ reflexiveAPI.submitScore(score); }; _local2 = true; } else { if (title.visible){ if ((frameCount % 10) == 0){ addRainDrop((Math.random() * stage.stageWidth), 0, Math.random(), "", "normal"); }; updateRainDrops(); _local2 = true; }; }; if (_local2){ _local4 = new Matrix(); if (rotationType == "Breathe"){ _local5 = ((frameCount * 2) % 360); _local6 = ((Math.PI * _local5) / 180); _local7 = (1 + (Math.sin(_local6) * 0.05)); scaleAroundExternalPoint(_local4, halfWidth, halfHeight, _local7, _local7); } else { if (rotationType == "Wave"){ _local8 = ((frameCount * 4) % 360); _local9 = ((Math.PI * _local8) / 180); _local10 = 20; _local11 = (Math.sin(_local9) * _local10); _local12 = Math.atan2(_local10, halfHeight); _local13 = (Math.cos(_local9) * _local12); xShearAroundExternalPoint(_local4, halfWidth, halfHeight, _local13); _local4.translate(_local11, 0); } else { if (rotationType != "Fixed"){ if (rotationType == "Right"){ rotateDegrees = (rotateDegrees + 0.1); } else { rotateDegrees = (rotateDegrees - 0.1); }; }; }; }; rotateAroundExternalPoint(_local4, halfWidth, halfHeight, rotateDegrees); playArea.transform.matrix = _local4; playAreaRed.transform.matrix = _local4; }; } private function showMainMenu(_arg1:MouseEvent=null):void{ var result:Sprite; var xPos:Number; var yPos:Number; var i:int; var e = _arg1; gameArea.mouseChildren = true; textContainer.mouseChildren = true; clearText(); clearGame(); if (gameArea.alpha < 1){ fadeIn(gameArea, 1000); fadeIn(textContainer, 1000); }; allowPause = true; title.visible = true; mainMenu.visible = false; songName.visible = false; credits.visible = true; scoreName.visible = false; scoreText.visible = false; progressBar.visible = false; suction = 0; powerDownTime = 0; maxCombo = 1; combo = 1; cursorSize = cursorDefaultSize; updateCursor(); highlightCursor(false); loadSongFile(songIndex); initShapeSet(); stateCounter++; var lockedText = " ? "; var spacing = 10; var fontSize = 17; showText("Play", 0, 0xFFFFFF, NaN, 120, 120, 40, playGame, stateCounter); yPos = 210; result = showText("Song:", 0, 0xDDDDDD, 70, yPos, yPos, 20, null, stateCounter, true); i = 0; while (i < songTitles.length) { xPos = ((result.x + result.width) + spacing); if (randomizeType == "Surprise Me"){ result = showText(songTitles[i], 0, 0x666666, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, false); } else { if ((((i >= unlockLevel)) || ((((i == 3)) && ((unlockLevel < 6)))))){ result = showText(lockedText, 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, false); } else { if (songIndex == i){ result = showText(songTitles[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, true); } else { result = showText(songTitles[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, selectSong, stateCounter, true, [i], true, false, 0xFFFFFF); }; }; }; i = (i + 1); }; yPos = (yPos + 60); result = showText("Shapes:", 0, 0xDDDDDD, 53, yPos, yPos, 20, null, stateCounter, true); i = 0; while (i < shapeSets.length) { xPos = ((result.x + result.width) + spacing); if ((((randomizeType == "Surprise Me")) || ((randomizeType == "Mix It Up")))){ result = showText(shapeSets[i], 0, 0x666666, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, false); } else { if (i >= unlockLevel){ result = showText(lockedText, 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, false); } else { if (shapeSet == shapeSets[i]){ result = showText(shapeSets[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, true); } else { result = showText(shapeSets[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, selectShapeSet, stateCounter, true, [shapeSets[i]], true, false, 0xFFFFFF); }; }; }; i = (i + 1); }; yPos = (yPos + 60); result = showText("Pattern:", 0, 0xDDDDDD, 45, yPos, yPos, 20, null, stateCounter, true); i = 0; while (i < patterns.length) { xPos = ((result.x + result.width) + spacing); if ((((randomizeType == "Surprise Me")) || ((randomizeType == "Mix It Up")))){ result = showText(patterns[i], 0, 0x666666, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, false); } else { if (i >= unlockLevel){ result = showText(lockedText, 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, false); } else { if (pattern == patterns[i]){ result = showText(patterns[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, true); } else { result = showText(patterns[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, selectPattern, stateCounter, true, [patterns[i]], true, false, 0xFFFFFF); }; }; }; i = (i + 1); }; yPos = (yPos + 60); result = showText("Motion:", 0, 0xDDDDDD, 48, yPos, yPos, 20, null, stateCounter, true); i = 0; while (i < rotationTypes.length) { xPos = ((result.x + result.width) + spacing); if ((((randomizeType == "Surprise Me")) || ((randomizeType == "Mix It Up")))){ result = showText(rotationTypes[i], 0, 0x666666, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, false); } else { if (i >= unlockLevel){ result = showText(lockedText, 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, false); } else { if (rotationType == rotationTypes[i]){ result = showText(rotationTypes[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, true); } else { result = showText(rotationTypes[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, selectRotationType, stateCounter, true, [rotationTypes[i]], true, false, 0xFFFFFF); }; }; }; i = (i + 1); }; if (unlockLevel >= 6){ yPos = (yPos + 60); result = showText("Randomize:", 0, 0xDDDDDD, 22, yPos, yPos, 20, null, stateCounter, true); i = 0; while (i < randomizeTypes.length) { xPos = ((result.x + result.width) + spacing); if ((i + 3) >= unlockLevel){ result = showText(lockedText, 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, false); } else { if (randomizeType == randomizeTypes[i]){ result = showText(randomizeTypes[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, true); } else { result = showText(randomizeTypes[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, selectRandomizeType, stateCounter, true, [randomizeTypes[i]], true, false, 0xFFFFFF); }; }; i = (i + 1); }; }; if (((allowsFullScreen) && ((unlockLevel >= 6)))){ yPos = (yPos + 60); result = showText("Display:", 0, 0xDDDDDD, 44, yPos, yPos, 20, null, stateCounter, true); i = 0; while (i < displayTypes.length) { xPos = ((result.x + result.width) + spacing); if (displayType == displayTypes[i]){ result = showText(displayTypes[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, null, stateCounter, true, null, true, true); } else { result = showText(displayTypes[i], 0, 0xFFFFFF, xPos, yPos, yPos, fontSize, selectDisplayType, stateCounter, true, [displayTypes[i]], true, false, 0xFFFFFF); }; i = (i + 1); }; }; yPos = (stage.stageHeight - 25); showText("Put this game on your website", 0, 0xAAAAAA, 5, yPos, yPos, 14, function ():void{ navigateToURL(new URLRequest((("http://www.reflexive.com/index.php?PAGE=WebGameForMySite&REFERRER=" + referrer) + "&SOURCE=MainMenu"))); }); yPos = (yPos - 20); showText("More Games", 0, 0xAAAAAA, 5, yPos, yPos, 14, function ():void{ navigateToURL(new URLRequest((("http://www.reflexive.com/index.php?PAGE=WebGameHome&REFERRER=" + referrer) + "&SOURCE=MainMenu"))); }); } private function showCredits(_arg1:MouseEvent):void{ var e = _arg1; clearText(); clearGame(); title.visible = false; credits.visible = false; mainMenu.visible = true; stateCounter++; helpers.setTimeout(showText, 0, "Developed By:", 3000, 0xFFFFFF, NaN, 150, NaN, 20, null, stateCounter); helpers.setTimeout(showText, 0, "Reflexive Entertainment", 3000, 16777164, NaN, 200, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 0, "www.reflexive.com", 3000, 13434828, NaN, 250, NaN, 30, null, stateCounter); helpers.setTimeout(showText, 3000, "Programming & Design:", 3000, 0xFFFFFF, NaN, 150, NaN, 20, null, stateCounter); helpers.setTimeout(showText, 3000, "Isaac Shepard", 3000, 16777164, NaN, 200, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 6000, "Graphics:", 3000, 0xFFFFFF, NaN, 120, NaN, 20, null, stateCounter); helpers.setTimeout(showText, 6000, "Zach Young", 3000, 16777164, NaN, 170, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 9000, "Music:", 3000, 0xFFFFFF, NaN, 150, NaN, 20, null, stateCounter); var yPos:Number = 200; var i:int; while (i < (songTitles.length - 1)) { helpers.setTimeout(showText, 9000, (("\"" + songTitles[i]) + "\""), 3000, 16777164, NaN, yPos, NaN, 40, null, stateCounter); yPos = (yPos + 50); i = (i + 1); }; helpers.setTimeout(showText, 9000, "from \"Deep Joy\"", 3000, 16777164, NaN, yPos, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 9000, "by Isaac Shepard", 3000, 13434828, NaN, (yPos + 50), NaN, 30, null, stateCounter); helpers.setTimeout(showText, 12000, "Additional Design & Testing:", 3000, 0xFFFFFF, NaN, 50, NaN, 20, null, stateCounter); helpers.setTimeout(showText, 12000, "Brian Fisher", 3000, 16777164, NaN, 100, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 12000, "Simon Hallam", 3000, 16777164, NaN, 150, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 12000, "Lars Brubaker", 3000, 16777164, NaN, 200, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 12000, "Russell Carroll", 3000, 16777164, NaN, 250, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 12000, "Zach Young", 3000, 16777164, NaN, 300, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 12000, "Terri Hardie", 3000, 16777164, NaN, 350, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 12000, "John Pangilinan", 3000, 16777164, NaN, 400, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 12000, "Dan Ruskin", 3000, 16777164, NaN, 450, NaN, 40, null, stateCounter); helpers.setTimeout(function (_arg1:int):void{ if (_arg1 == stateCounter){ showMainMenu(); }; }, 15000, stateCounter); } private function songLoadProgress(_arg1:ProgressEvent):void{ if (!songLoaded){ maxLoaded = Math.max(maxLoaded, Math.round(((100 * _arg1.bytesLoaded) / _arg1.bytesTotal))); songName.text = (("Loading... " + maxLoaded) + "%"); }; } private function selectRandomizeType(_arg1:MouseEvent):void{ var _local2:Sprite; playSelectSound(); if (_arg1.target != null){ _local2 = Sprite(_arg1.target); if (((!((helperParams[_local2.name] == null))) && (!((helperParams[_local2.name][0] == null))))){ randomizeType = helperParams[_local2.name][0]; showMainMenu(); }; }; } private function processMusic():void{ var volume:Number; var i:int; if (SoundMixer.areSoundsInaccessible()){ showPause(null); showText("Sound Conflict!", 3000, 16737894, NaN, 25, NaN, 14, clearPause, stateCounter); showText("You have another web page open with Flash that is emitting sound.", 3000, 16737894, NaN, 50, NaN, 14, clearPause, stateCounter); showText("Please close all other Flash windows and then click 'Resume'.", 3000, 16737894, NaN, 75, NaN, 14, clearPause, stateCounter); return; }; try { SoundMixer.computeSpectrum(ba, true, 0); i = 0; while (i < channelLength) { volume = ba.readFloat(); if (volume > 0.1){ volume = (volume + (0.5 * Math.max(0, (0.5 - volume)))); }; volume = (volume + 0.1); if ((((volume > 0.3)) && ((((((oldVolume[i] == null)) || ((oldVolume[i] == 0)))) || ((volume > (3 * oldVolume[i]))))))){ volumePoints.push([i, volume]); }; oldVolume[i] = volume; i = (i + bandWidth); }; } catch(e:SecurityError) { reloadMusicFromError(); return; }; } private function showPause(_arg1:MouseEvent=null):void{ if (((!(pause.visible)) || (!(allowPause)))){ return; }; position = sc.position; sc.stop(); credits.visible = false; mainMenu.visible = false; pause.visible = false; stateCounter++; showText("Resume", 1000, 16777164, NaN, 175, NaN, 40, clearPause, stateCounter); showText("Restart", 1000, 13434879, NaN, 250, NaN, 40, playGame, stateCounter); showText("End Game", 1000, 16764108, NaN, 325, NaN, 40, showMainMenu, stateCounter); } private function selectRotationType(_arg1:MouseEvent):void{ var _local2:Sprite; playSelectSound(); if (_arg1.target != null){ _local2 = Sprite(_arg1.target); if (((!((helperParams[_local2.name] == null))) && (!((helperParams[_local2.name][0] == null))))){ rotationType = helperParams[_local2.name][0]; showMainMenu(); }; }; } private function addToScore(_arg1:Number):void{ score = Math.round((score + _arg1)); scoreText.text = score.toString(); } private function selectPattern(_arg1:MouseEvent):void{ var _local2:Sprite; playSelectSound(); if (_arg1.target != null){ _local2 = Sprite(_arg1.target); if (((!((helperParams[_local2.name] == null))) && (!((helperParams[_local2.name][0] == null))))){ pattern = helperParams[_local2.name][0]; showMainMenu(); }; }; } private function continuePlayGame():void{ var skip:Sprite; if ((((((song == "")) || ((songFile == "")))) || ((songTitles[songIndex] == null)))){ showMainMenu(); return; }; clearText(); clearGame(); stage.focus = stage; maxCombo = 1; combo = 1; purplePowerCount = 0; yellowMadnessCount = 0; powerUpCount = 0; powerDownCount = 0; shapeCount = 0; totalShapeCount = 0; yellowMadness = true; powerDownTime = 0; progressBar.graphics.clear(); highlightCursor(false); cursorSize = cursorDefaultSize; updateCursor(); title.visible = false; credits.visible = false; mainMenu.visible = true; pause.visible = false; songName.visible = true; progressBar.visible = false; scoreText.visible = false; scoreName.visible = false; score = 0; scoreText.text = score.toString(); initShapeSet(); gameArea.mouseChildren = true; textContainer.mouseChildren = true; if (gameArea.alpha < 1){ fadeIn(gameArea, 500); fadeIn(textContainer, 500); }; stateCounter++; skip = showText("[Skip Instructions]", 1000, 0x999999, NaN, 50, 50, 16, startGame, stateCounter, false, null, false, false, 0xFFFFFF, false); helpers.setTimeout(showText, 0, "Collect the shapes", 3000, 0xFFFFFF, NaN, 150, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 0, "to earn points!", 3000, 0xFFFFFF, NaN, 200, NaN, 40, null, stateCounter); helpers.setTimeout(function (_arg1:int):void{ if (_arg1 == stateCounter){ scoreText.visible = true; scoreName.visible = true; }; }, 1500, stateCounter); helpers.setTimeout(showText, 3000, "Yellow shapes are good!", 2000, 0xFFFF00, NaN, 200, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 5000, "Red shapes are bad!", 2000, 0xFF0000, NaN, 200, NaN, 40, null, stateCounter); helpers.setTimeout(showText, 7000, "Purple shapes are POWER!", 2000, 0xFF00FF, NaN, 200, NaN, 40, null, stateCounter); helpers.setTimeout(function (_arg1:int):void{ if (_arg1 == stateCounter){ skip.visible = false; }; }, 9000, stateCounter); helpers.setTimeout(showText, 9000, "Get Ready!", 2000, 0xFFFFFF, NaN, 200, NaN, 40, null, stateCounter); helpers.setTimeout(function (_arg1:int):void{ if (_arg1 == stateCounter){ startGame(null); }; }, 12000, stateCounter); } private function init(_arg1:Event):void{ var e = _arg1; reflexiveAPI = ReflexiveAPI.getInstance(); addChild(reflexiveAPI); if (loaderInfo.url.match("kongregate.com")){ kongregateAPI = new KongregateAPI(); addChild(kongregateAPI); }; loadUserData(); halfWidth = (stage.stageWidth / 2); halfHeight = (stage.stageHeight / 2); introMovie = new introMovieClass(); introMovie.x = Math.floor(((stage.stageWidth - introMovie.width) / 2)); introMovie.y = Math.floor(((stage.stageHeight - introMovie.height) / 2)); introMovie.buttonMode = true; introMovie.addEventListener(MouseEvent.CLICK, function ():void{ navigateToURL(new URLRequest((("http://www.reflexive.com/index.php?PAGE=WebGameHome&REFERRER=" + referrer) + "&SOURCE=IntroMovie"))); }); addChild(introMovie); introMovieTimer = new Timer(7000, 0); introMovieTimer.addEventListener(TimerEvent.TIMER, initGame); introMovieTimer.start(); } private function clearText():void{ removeChild(textContainer); textContainer = new Sprite(); addChild(textContainer); helperParams = {}; } private function loadUserData():void{ unlockLevel = so.data.unlockLevel; if (((isNaN(unlockLevel)) || ((unlockLevel <= 0)))){ unlockLevel = 1; }; allowsFullScreen = so.data.allowsFullScreen; recentList = so.data.recentList; if (recentList == null){ recentList = []; }; } private function songLoadError(_arg1:IOErrorEvent):void{ badSong(); } private function initGame(_arg1:TimerEvent):void{ var e = _arg1; introMovieTimer.stop(); removeChild(introMovie); Global.stage = stage; helpers = new Helpers(); Font.registerFont(myfont); downloadURL = "http://webgames.gamecentersolution.com/DownloadFromWebGame.aspx"; gameArea = new Sprite(); gameArea.alpha = 0; addChild(gameArea); clearPlayArea(); cursor = new Cursor(cursorDefaultSize); addChild(cursor); cursorSize = cursorDefaultSize; stage.addEventListener(Event.MOUSE_LEAVE, cursorHide); stage.addEventListener(MouseEvent.MOUSE_MOVE, cursorFollow); cursorHide(null); Mouse.hide(); updateCursor(); textContainer = new Sprite(); textContainer.alpha = 0; addChild(textContainer); title = new TextField(); title.defaultTextFormat = new TextFormat("MyFont", 60, 16777164, true); title.text = "Music Catch 2"; title.autoSize = "left"; title.embedFonts = true; title.antiAliasType = "advanced"; title.x = Math.floor(((stage.stageWidth - title.textWidth) / 2)); title.y = 20; title.selectable = false; title.visible = false; title.filters = [new GlowFilter(16777164, 0.5, 30, 30, 2, 1, false, false)]; gameArea.addChild(title); fadeIn(title, 1000); credits = new TextField(); credits.defaultTextFormat = new TextFormat("MyFont", 14, 0xAAAAAA); credits.text = "Credits"; credits.autoSize = "left"; credits.embedFonts = true; credits.antiAliasType = "advanced"; credits.x = Math.floor(((stage.stageWidth - credits.textWidth) / 2)); credits.y = (stage.stageHeight - 25); credits.selectable = false; credits.addEventListener(MouseEvent.CLICK, showCredits); credits.addEventListener(MouseEvent.MOUSE_OVER, function ():void{ highlightCursor(true); playHoverSound(); }); credits.addEventListener(MouseEvent.MOUSE_OUT, function ():void{ highlightCursor(false); }); credits.filters = [new GlowFilter(0xFFFFFF, 0.5, 20, 20, 1.5, 1, false, false)]; gameArea.addChild(credits); copyright = new TextField(); copyright.defaultTextFormat = new TextFormat("MyFont", 10, 0xAAAAAA); copyright.text = "© Reflexive.com"; copyright.autoSize = "left"; copyright.embedFonts = true; copyright.antiAliasType = "advanced"; copyright.x = ((stage.stageWidth - copyright.textWidth) - 8); copyright.y = (stage.stageHeight - 20); copyright.selectable = false; copyright.addEventListener(MouseEvent.CLICK, function ():void{ navigateToURL(new URLRequest((("http://www.reflexive.com/index.php?PAGE=WebGameHome&REFERRER=" + referrer) + "&SOURCE=MainMenuCopyright"))); }); copyright.addEventListener(MouseEvent.MOUSE_OVER, function ():void{ highlightCursor(true); }); copyright.addEventListener(MouseEvent.MOUSE_OUT, function ():void{ highlightCursor(false); }); gameArea.addChild(copyright); mainMenu = new TextField(); mainMenu.defaultTextFormat = new TextFormat("MyFont", 12, 0xAAAAAA); mainMenu.text = "Main Menu"; mainMenu.autoSize = "left"; mainMenu.embedFonts = true; mainMenu.antiAliasType = "advanced"; mainMenu.x = 5; mainMenu.y = (stage.stageHeight - 20); mainMenu.selectable = false; mainMenu.visible = false; mainMenu.addEventListener(MouseEvent.CLICK, showMainMenu); mainMenu.addEventListener(MouseEvent.MOUSE_OVER, function ():void{ highlightCursor(true); playHoverSound(); }); mainMenu.addEventListener(MouseEvent.MOUSE_OUT, function ():void{ highlightCursor(false); }); gameArea.addChild(mainMenu); pause = new TextField(); pause.defaultTextFormat = new TextFormat("MyFont", 12, 0xAAAAAA); pause.text = "(P)ause"; pause.autoSize = "left"; pause.embedFonts = true; pause.antiAliasType = "advanced"; pause.x = 5; pause.y = (stage.stageHeight - 20); pause.selectable = false; pause.visible = false; pause.addEventListener(MouseEvent.CLICK, showPause); pause.addEventListener(MouseEvent.MOUSE_OVER, function ():void{ highlightCursor(true); }); pause.addEventListener(MouseEvent.MOUSE_OUT, function ():void{ highlightCursor(false); }); gameArea.addChild(pause); scoreName = new TextField(); scoreName.defaultTextFormat = new TextFormat("MyFont", 20, 0xFFFFFF); scoreName.text = "Points:"; scoreName.autoSize = "left"; scoreName.embedFonts = true; scoreName.antiAliasType = "advanced"; scoreName.x = (Math.floor(halfWidth) - 66); scoreName.y = (stage.stageHeight - 30); scoreName.selectable = false; scoreName.visible = false; scoreName.filters = [new GlowFilter(0xFFFFFF, 0.5, 20, 20, 1.5, 1, false, false)]; gameArea.addChild(scoreName); scoreText = new TextField(); scoreText.defaultTextFormat = new TextFormat("MyFont", 20, 13434828); scoreText.text = "0"; scoreText.autoSize = "left"; scoreText.embedFonts = true; scoreText.antiAliasType = "advanced"; scoreText.x = (Math.floor(halfWidth) + 14); scoreText.y = (stage.stageHeight - 30); scoreText.selectable = false; scoreText.visible = false; gameArea.addChild(scoreText); songName = new TextField(); songName.defaultTextFormat = new TextFormat("MyFont", 14, 12307677); songName.alpha = 0.5; songName.text = "Loading..."; songName.autoSize = "left"; songName.embedFonts = true; songName.antiAliasType = "advanced"; songName.x = 5; songName.y = 5; songName.selectable = false; gameArea.addChild(songName); progressBar = new Sprite(); addChild(progressBar); showMainMenu(); stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); stage.addEventListener(Event.ENTER_FRAME, update); stage.addEventListener(FullScreenEvent.FULL_SCREEN, onFullscreenChange); } private function loadSongFile(_arg1:int, _arg2:String=""):void{ var _local3:Class; s = new Sound(); if (_arg1 == 3){ songLoaded = false; if (_arg2 != ""){ loadExternalSong(_arg2); }; } else { songLoaded = true; song = songTitles[_arg1]; songName.text = song; songFile = song; _local3 = songClasses[_arg1]; s = new (_local3); }; } private function highlightCursor(_arg1:Boolean):void{ cursor.isHighlight = _arg1; updateCursor(); } private function onFullscreenChange(_arg1:FullScreenEvent):void{ if (_arg1.fullScreen){ displayType = "Fullscreen"; } else { displayType = "Normal"; }; if (title.visible){ showMainMenu(); }; } private function playGame(_arg1:MouseEvent=null):void{ var randomSongIndex:int; var e = _arg1; playSelectSound(); if (testFullScreen){ testFullScreen = false; try { stage.fullScreenSourceRect = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight); stage.displayState = StageDisplayState.FULL_SCREEN; stage.displayState = StageDisplayState.NORMAL; allowsFullScreen = true; saveUserData(); } catch(e:Error) { allowsFullScreen = false; }; }; if (randomizeType == "Surprise Me"){ randomSongIndex = Math.floor((Math.random() * ((songTitles.length - 1) + recentList.length))); if (randomSongIndex >= (songTitles.length - 1)){ songIndex = 3; songFile = recentList[randomSongIndex]["file"]; } else { songIndex = randomSongIndex; }; shapeSet = shapeSets[Math.floor((Math.random() * shapeSets.length))]; initShapeSet(); pattern = patterns[Math.floor((Math.random() * patterns.length))]; rotationType = rotationTypes[Math.floor((Math.random() * rotationTypes.length))]; }; gameArea.mouseChildren = false; textContainer.mouseChildren = false; fadeOut(gameArea, 1500); fadeOut(textContainer, 1500); if (songIndex == 3){ if (randomizeType == "Surprise Me"){ helpers.setTimeout(function (_arg1:int, _arg2:String):void{ if (_arg1 == stateCounter){ loadSongFile(songIndex, _arg2); continuePlayGame(); }; }, 2000, stateCounter, songFile); } else { helpers.setTimeout(showSelectURL, 2000); }; } else { loadSongFile(songIndex); helpers.setTimeout(continuePlayGame, 2000); }; } private function clearPlayArea():void{ if (playArea != null){ gameArea.removeChild(playArea); }; if (playAreaRed != null){ gameArea.removeChild(playAreaRed); }; rotateDegrees = 0; playArea = new Sprite(); if (((((!((pattern == "Spiral"))) && (!((pattern == "Fixed"))))) && (!((pattern == "Radar"))))){ playArea.graphics.lineStyle(6, 0xFFFFFF, 0.1); playArea.graphics.lineTo(stage.stageWidth, 0); playArea.graphics.lineStyle(2, 0xFFFFFF, 0.2); playArea.graphics.moveTo(0, 0); playArea.graphics.lineTo(stage.stageWidth, 0); }; gameArea.addChild(playArea); playAreaRed = new Sprite(); gameArea.addChild(playAreaRed); } private function getMedal(_arg1:int):Sprite{ var _local2:Sprite; if ((((_arg1 >= 1)) && ((_arg1 <= 4)))){ if (_arg1 == 4){ _local2 = new platinumClass(); } else { if (_arg1 == 3){ _local2 = new goldClass(); } else { if (_arg1 == 2){ _local2 = new silverClass(); } else { _local2 = new bronzeClass(); }; }; }; }; return (_local2); } private function fadeOut(_arg1:DisplayObject, _arg2:int):void{ var _local3:int = int(((_arg2 / 1000) * stage.frameRate)); _arg1.alpha = 1; _arg1.visible = true; var _local4:Timeline = new Timeline(RenderMethod.ENTER_FRAME); _local4.addTween(new Tween(_arg1, "alpha", 0, 0, _local3, Transitions.CUBIC_OUT)); _local4.play(); } private function updateRainDrops():void{ var rd:RainDrop; var area:Sprite; var cp:Point; var i:int; var origCombo:int; var origCursorSize:Number; var type:String; var xPos:Number; var yPos:Number; var count:int; var k:int; var newRD:RainDrop; var m:int; var pushAmount:int; var suctionAmount:int; if (suction > 0){ suction--; }; var j:int; while (j <= 1) { if (j == 0){ area = playArea; } else { area = playAreaRed; }; cp = area.globalToLocal(new Point(cursor.x, cursor.y)); i = (area.numChildren - 1); while (i >= 0) { rd = (area.getChildAt(i) as RainDrop); if ((((((((rd.type == "powerDown")) && (((Math.abs((cp.x - rd.x)) - (0.8 * cursorSize)) <= 0)))) && (((Math.abs((cp.y - rd.y)) - (0.8 * cursorSize)) <= 0)))) || (((((((!((rd.type == "powerDown"))) && (!((rd.type == "collected"))))) && ((((Math.abs((cp.x - rd.x)) - cursorSize) - rd.radius) <= 0)))) && ((((Math.abs((cp.y - rd.y)) - cursorSize) - rd.radius) <= 0)))))){ origCombo = combo; origCursorSize = cursorSize; type = rd.type; collectRainDrop(rd); if (type == "powerDown"){ count = Math.floor((0.9 * (origCombo - combo))); k = 0; while (k < count) { if (Math.random() > 0.5){ xPos = (((cp.x - origCursorSize) - (Math.random() * 100)) + 20); } else { xPos = (((cp.x + origCursorSize) + (Math.random() * 100)) + 20); }; if ((((((pattern == "Fixed")) || ((pattern == "Radar")))) && ((Math.random() > 0.5)))){ yPos = (((cp.y - origCursorSize) - (Math.random() * 100)) + 20); } else { yPos = (((cp.y + origCursorSize) + (Math.random() * 100)) + 20); }; newRD = addRainDrop(xPos, yPos, 0.7, "", "powerUp", false, true); newRD.originalCursorX = cp.x; newRD.originalCursorY = cp.y; k = (k + 1); }; } else { if (type == "yellowMadness"){ powerDownTime = 0; m = (playArea.numChildren - 1); while (m >= 0) { rd = (playArea.getChildAt(m) as RainDrop); rd.type = "powerUp"; rd.recycled = true; m = (m - 1); }; m = (playAreaRed.numChildren - 1); while (m >= 0) { rd = (playAreaRed.getChildAt(m) as RainDrop); rd.type = "powerUp"; rd.recycled = true; m = (m - 1); }; }; }; } else { if (rd.type == "collected"){ if (rd.alpha == 0){ try { if (skipGarbage){ pool.push(rd); }; rd.parent.removeChild(rd); } catch(e:Error) { }; } else { rd.x = (rd.x + ((cp.x - rd.x) / 3)); rd.y = (rd.y + ((cp.y - rd.y) / 3)); }; } else { rd.updateRainDrop(); if ((((powerDownTime > 0)) && (rd.recycled))){ if (powerDownTime == 1){ if (skipGarbage){ pool.push(rd); }; area.removeChildAt(i); } else { pushAmount = 30; if (powerDownTime < 30){ rd.alpha = (powerDownTime / 30); pushAmount = (3000 / powerDownTime); }; rd.x = (rd.x - ((rd.originalCursorX - rd.x) / pushAmount)); rd.y = (rd.y - ((rd.originalCursorY - rd.y) / pushAmount)); rd.yVelocity = 0; }; }; if ((((suction > 0)) && (!((rd.type == "powerDown"))))){ suctionAmount = 6; if (suction < 30){ suctionAmount = (180 / suction); }; rd.x = (rd.x + ((cp.x - rd.x) / suctionAmount)); rd.y = (rd.y + ((cp.y - rd.y) / suctionAmount)); rd.yVelocity = 0; }; if ((((((((rd.radius < 2)) || ((((((((((rd.pattern == "Spiral")) || ((rd.pattern == "Fixed")))) || ((rd.pattern == "Radar")))) && ((rd.type == "powerDown")))) && ((rd.radius < 5)))))) || ((((rd.pattern == "In & Out")) && ((rd.y < -(rd.radius))))))) || (((((!((rd.pattern == "In & Out"))) && (!((rd.pattern == "Spiral"))))) && ((rd.y > (stage.stageHeight + rd.radius))))))){ if (skipGarbage){ pool.push(rd); }; area.removeChildAt(i); }; }; }; i = (i - 1); }; j = (j + 1); }; if (powerDownTime > 0){ powerDownTime--; }; } private function endGame(_arg1:Event):void{ var medalName:String; var medal:Sprite; var noReds:Sprite; var e = _arg1; if ((((playArea.numChildren > 0)) || ((playAreaRed.numChildren > 0)))){ allowPause = false; helpers.setTimeout(endGame, 100, null); return; }; suction = 0; powerDownTime = 0; allowPause = true; pause.visible = false; clearText(); clearGame(); if (loaderInfo.url.match("kongregate.com")){ kongregateAPI.stats.submit(("TotalPlays-" + songTitles[songIndex]), 1); setTimeout(kongregateAPI.stats.submit, 400, ("MaxCombos-" + songTitles[songIndex]), maxCombo); setTimeout(kongregateAPI.stats.submit, 800, ("EndCombos-" + songTitles[songIndex]), combo); setTimeout(kongregateAPI.stats.submit, 1200, ("PowerUpsCollected-" + songTitles[songIndex]), powerUpCount); setTimeout(kongregateAPI.stats.submit, 1600, ("PowerDownsCollected-" + songTitles[songIndex]), powerDownCount); setTimeout(kongregateAPI.stats.submit, 2000, ("PurplePowersCollected-" + songTitles[songIndex]), purplePowerCount); setTimeout(kongregateAPI.stats.submit, 2400, ("YellowMadnessCollected-" + songTitles[songIndex]), yellowMadnessCount); setTimeout(kongregateAPI.stats.submit, 2800, ("ShapesCollected-" + songTitles[songIndex]), shapeCount); setTimeout(kongregateAPI.stats.submit, 3200, ("GameCompleted-" + songTitles[songIndex]), 1); if (powerDownCount == 0){ setTimeout(kongregateAPI.stats.submit, 3600, ("GameCompletedWithoutPowerDown-" + songTitles[songIndex]), 1); }; setTimeout(kongregateAPI.stats.submit, 4000, ("TotalPowerUps-" + songTitles[songIndex]), powerUpCount); setTimeout(kongregateAPI.stats.submit, 4400, ("TotalPowerDowns-" + songTitles[songIndex]), powerDownCount); setTimeout(kongregateAPI.stats.submit, 4800, ("TotalPurplePowers-" + songTitles[songIndex]), purplePowerCount); setTimeout(kongregateAPI.stats.submit, 5200, ("TotalYellowMadness-" + songTitles[songIndex]), yellowMadnessCount); setTimeout(kongregateAPI.stats.submit, 5600, ("TotalShapes-" + songTitles[songIndex]), shapeCount); setTimeout(kongregateAPI.stats.submit, 6000, ("TotalPossibleShapes-" + songTitles[songIndex]), totalShapeCount); setTimeout(kongregateAPI.stats.submit, 0x1900, "TotalPlays", 1); setTimeout(kongregateAPI.stats.submit, 6800, "TotalPowerUps", powerUpCount); setTimeout(kongregateAPI.stats.submit, 7200, "TotalPowerDowns", powerDownCount); setTimeout(kongregateAPI.stats.submit, 7600, "TotalPurplePowers", purplePowerCount); setTimeout(kongregateAPI.stats.submit, 8000, "TotalYellowMadness", yellowMadnessCount); setTimeout(kongregateAPI.stats.submit, 8400, "TotalShapes", shapeCount); setTimeout(kongregateAPI.stats.submit, 8800, "TotalPossibleShapes", totalShapeCount); }; var comboBonus:Number = (maxCombo * 1000); helpers.setTimeout(showText, 0, ("Max Combo: " + maxCombo.toString()), 3000, 6710988, NaN, 150, NaN); helpers.setTimeout(showText, 0, ("Combo Bonus: " + comboBonus.toString()), 3000, 6710988, NaN, 200, NaN); var originalCombo:Number = combo; var sizeBonus:Number = (Math.round(cursorSize) * 1000); helpers.setTimeout(showText, 3000, ("Size Bonus: " + sizeBonus.toString()), 2000, 10066380, NaN, 200); maxCombo = 1; combo = 1; helpers.setTimeout(cursor.updateCursor, 3200, (cursorSize - ((cursorSize - cursorDefaultSize) / 7)), ("x" + int((originalCombo / 1.2)).toString())); helpers.setTimeout(cursor.updateCursor, 3300, (cursorSize - ((cursorSize - cursorDefaultSize) / 6)), ("x" + int((originalCombo / 1.5)).toString())); helpers.setTimeout(cursor.updateCursor, 3400, (cursorSize - ((cursorSize - cursorDefaultSize) / 5)), ("x" + int((originalCombo / 2)).toString())); helpers.setTimeout(cursor.updateCursor, 3500, (cursorSize - ((cursorSize - cursorDefaultSize) / 4)), ("x" + int((originalCombo / 3)).toString())); helpers.setTimeout(cursor.updateCursor, 3600, (cursorSize - ((cursorSize - cursorDefaultSize) / 3)), ("x" + int((originalCombo / 4)).toString())); helpers.setTimeout(cursor.updateCursor, 3700, (cursorSize - ((cursorSize - cursorDefaultSize) / 2)), ("x" + int((originalCombo / 5)).toString())); helpers.setTimeout(cursor.updateCursor, 3800, (cursorSize - ((cursorSize - cursorDefaultSize) / 1.5)), ("x" + int((originalCombo / 6)).toString())); helpers.setTimeout(cursor.updateCursor, 3900, (cursorSize - ((cursorSize - cursorDefaultSize) / 1.2)), ("x" + int((originalCombo / 7)).toString())); cursorSize = cursorDefaultSize; helpers.setTimeout(cursor.updateCursor, 4000, cursorSize, ("x" + combo.toString())); addToScore((sizeBonus + comboBonus)); helpers.setTimeout(showText, 5000, ("Total Points: " + Math.round(score).toString()), 3000, 14540287, NaN, 200); var time = 8000; if (powerDownCount == 0){ helpers.setTimeout(showText, time, "Super Duper!", 2000, 16751001, NaN, 200, 200); helpers.setTimeout(showText, time, "You avoided all red shapes!", 2000, 16751001, NaN, 250, 250); noReds = new noRedsClass(); noReds.width = 50; noReds.height = 50; noReds.x = Math.floor((halfWidth - 25)); noReds.y = 310; noReds.visible = false; textContainer.addChild(noReds); helpers.setTimeout(fadeIn, time, noReds, 1000); helpers.setTimeout(fadeOut, (time + 1500), noReds, 1000); time = (time + 3000); }; var medalNumber:int; var percentShapes:Number = Math.round(((100 * shapeCount) / totalShapeCount)); if (percentShapes > 30){ if (percentShapes > 75){ medalNumber = 4; medalName = "Platinum"; } else { if (percentShapes > 60){ medalNumber = 3; medalName = "Gold"; } else { if (percentShapes > 40){ medalNumber = 2; medalName = "Silver"; } else { medalNumber = 1; medalName = "Bronze"; }; }; }; helpers.setTimeout(showText, time, "Congratulations!", 3000, 16777164, NaN, 150, 150); helpers.setTimeout(showText, time, (("You collected " + percentShapes) + "% of the shapes"), 3000, 16777164, NaN, 200, 200); medal = getMedal(medalNumber); if (medal != null){ medal.width = 33.3; medal.height = 50; medal.x = Math.floor(((stage.stageWidth - 33.3) / 2)); medal.y = 260; medal.visible = false; textContainer.addChild(medal); helpers.setTimeout(fadeIn, time, medal, 1000); helpers.setTimeout(fadeOut, (time + 2500), medal, 1000); }; time = (time + 4000); }; if (loaderInfo.url.match("kongregate.com")){ kongregateAPI.stats.submit("HighScore", score); kongregateAPI.stats.submit(("HighScore-" + songTitles[songIndex]), score); }; unlockLevel++; if (unlockLevel < 4){ songIndex = ((unlockLevel - 1) % songTitles.length); shapeSet = shapeSets[(unlockLevel - 1)]; initShapeSet(); pattern = patterns[(unlockLevel - 1)]; rotationType = rotationTypes[(unlockLevel - 1)]; helpers.setTimeout(showText, time, "You unlocked more options!", 3000, 16777164, NaN, 80, 80, 40, null, stateCounter, true); helpers.setTimeout(showText, time, "New Song:", 3000, 16777164, 200, 150, 150, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "New Shape Set:", 3000, 16777164, 148, 200, 200, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "New Pattern:", 3000, 16777164, 170, 250, 250, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "New Motion:", 3000, 16777164, 175, 300, 300, 25, null, stateCounter, true); helpers.setTimeout(showText, time, songTitles[songIndex], 3000, 0xCCCCCC, 320, 150, 150, 25, null, stateCounter, true); helpers.setTimeout(showText, time, shapeSet, 3000, 0xCCCCCC, 320, 200, 200, 25, null, stateCounter, true); helpers.setTimeout(showText, time, pattern, 3000, 0xCCCCCC, 320, 250, 250, 25, null, stateCounter, true); helpers.setTimeout(showText, time, rotationType, 3000, 0xCCCCCC, 320, 300, 300, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "Continue", 1000, 0xFFFFFF, NaN, 370, 370, 40, playGame); helpers.setTimeout(showText, time, "Change Options", 1000, 0xFFFFFF, NaN, 450, 450, 20, showMainMenu); saveUserData(); } else { if (unlockLevel == 4){ songIndex = 0; shapeSet = shapeSets[(unlockLevel - 1)]; initShapeSet(); pattern = patterns[(unlockLevel - 1)]; rotationType = rotationTypes[(unlockLevel - 1)]; helpers.setTimeout(showText, time, "You unlocked more options!", 3000, 16777164, NaN, 80, 80, 40, null, stateCounter, true); helpers.setTimeout(showText, time, "New Shape Set:", 3000, 16777164, 148, 150, 150, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "New Pattern:", 3000, 16777164, 170, 200, 200, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "New Motion:", 3000, 16777164, 175, 250, 250, 25, null, stateCounter, true); helpers.setTimeout(showText, time, shapeSet, 3000, 0xCCCCCC, 320, 150, 150, 25, null, stateCounter, true); helpers.setTimeout(showText, time, pattern, 3000, 0xCCCCCC, 320, 200, 200, 25, null, stateCounter, true); helpers.setTimeout(showText, time, rotationType, 3000, 0xCCCCCC, 320, 250, 250, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "Continue", 1000, 0xFFFFFF, NaN, 320, 320, 40, playGame); helpers.setTimeout(showText, time, "Change Options", 1000, 0xFFFFFF, NaN, 400, 400, 20, showMainMenu); saveUserData(); } else { if (unlockLevel == 5){ songIndex = 1; shapeSet = shapeSets[(unlockLevel - 1)]; initShapeSet(); pattern = patterns[(unlockLevel - 1)]; rotationType = rotationTypes[(unlockLevel - 1)]; helpers.setTimeout(showText, time, "You unlocked more options!", 3000, 16777164, NaN, 80, 80, 40, null, stateCounter, true); helpers.setTimeout(showText, time, "New Shape Set:", 3000, 16777164, 148, 150, 150, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "New Pattern:", 3000, 16777164, 170, 200, 200, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "New Motion:", 3000, 16777164, 175, 250, 250, 25, null, stateCounter, true); helpers.setTimeout(showText, time, shapeSet, 3000, 0xCCCCCC, 320, 150, 150, 25, null, stateCounter, true); helpers.setTimeout(showText, time, pattern, 3000, 0xCCCCCC, 320, 200, 200, 25, null, stateCounter, true); helpers.setTimeout(showText, time, rotationType, 3000, 0xCCCCCC, 320, 250, 250, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "Continue", 1000, 0xFFFFFF, NaN, 370, 370, 40, playGame); helpers.setTimeout(showText, time, "Change Options", 1000, 0xFFFFFF, NaN, 450, 450, 20, showMainMenu); saveUserData(); } else { if (unlockLevel == 6){ if (loaderInfo.url.match("kongregate.com")){ kongregateAPI.stats.submit("GameCompleted", 1); }; songIndex = 2; shapeSet = shapeSets[0]; initShapeSet(); pattern = patterns[0]; rotationType = rotationTypes[0]; randomizeType = randomizeTypes[0]; helpers.setTimeout(showText, time, "All options are now unlocked!", 3000, 16777164, NaN, 80, 80, 40, null, stateCounter, true); helpers.setTimeout(showText, time, "New Song:", 3000, 16777164, 200, 150, 150, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "New Randomize:", 3000, 16777164, 143, 200, 200, 25, null, stateCounter, true); helpers.setTimeout(showText, time, "New Randomize:", 3000, 16777164, 143, 250, 250, 25, null, stateCounter, true); helpers.setTimeout(showText, time, songTitles[(songTitles.length - 1)], 3000, 0xCCCCCC, 320, 150, 150, 25, null, stateCounter, true); helpers.setTimeout(showText, time, randomizeTypes[1], 3000, 0xCCCCCC, 320, 200, 200, 25, null, stateCounter, true); helpers.setTimeout(showText, time, randomizeTypes[2], 3000, 0xCCCCCC, 320, 250, 250, 25, null, stateCounter, true); if (allowsFullScreen){ helpers.setTimeout(showText, time, "New Display Type:", 3000, 16777164, 115, 300, 300, 25, null, stateCounter, true); helpers.setTimeout(showText, time, displayTypes[1], 3000, 0xCCCCCC, 320, 300, 300, 25, null, stateCounter, true); }; helpers.setTimeout(showText, time, "Choose Options", 1000, 0xFFFFFF, NaN, 370, 370, 40, showMainMenu); unlockLevel = 100; saveUserData(); } else { helpers.setTimeout(showText, time, "Play Again", 1000, 0xFFFFFF, NaN, 200, 200, 40, playGame); helpers.setTimeout(showText, time, "Change Options", 1000, 0xFFFFFF, NaN, 270, 270, 20, showMainMenu); }; }; }; }; if (unlockLevel >= 100){ unlockLevel = 100; }; helpers.setTimeout(function ():void{ songName.visible = false; }, time); purplePowerCount = 0; yellowMadnessCount = 0; powerUpCount = 0; powerDownCount = 0; shapeCount = 0; totalShapeCount = 0; progressBar.graphics.clear(); progressBar.visible = false; reflexiveAPI.submitScore(score); } private function startGame(_arg1:MouseEvent):void{ clearText(); stateCounter++; stage.focus = stage; if (!songLoaded){ if (title.visible){ showMainMenu(); } else { helpers.setTimeout(startGame, 500, _arg1); }; return; }; if ((((song.substr(0, 5) == "http:")) || ((s.bytesTotal == 0)))){ badSong(); return; }; mainMenu.visible = false; pause.visible = true; songName.visible = true; scoreText.visible = true; scoreName.visible = true; progressBar.visible = true; powerDownTime = 0; suction = 0; highlightCursor(false); volumePoints = []; sc = s.play(0, 0); sc.addEventListener(Event.SOUND_COMPLETE, endGame); } private function getRandomShape():String{ var _local1:Array; if (shapeSet == "Random"){ activeShapeSet = getRandomShapeSet(); }; if (activeShapeSet == "Sky"){ _local1 = ["star1", "star2", "lightning", "snowflake", "moon"]; } else { if (activeShapeSet == "Abstract"){ _local1 = ["circle", "heart", "square", "triangle", "spade", "clover", "plus", "butterfly", "asterix", "wreath"]; } else { if (activeShapeSet == "Music"){ _local1 = ["twoEighths", "twoEighths", "twoEighths", "twoEighths", "eighthNote", "eighthNote", "eighthNote", "sixteenthNote", "sixteenthNote", "bass", "treble", "treble", "treble", "treble", "flat"]; } else { if (activeShapeSet == "Floral"){ _local1 = ["floral1", "floral2", "floral3", "floral4", "floral5"]; }; }; }; }; return (_local1[Math.floor((Math.random() * _local1.length))]); } private function updateCursor():void{ cursor.updateCursor(cursorSize, ("x" + combo.toString())); } private function selectSongURL(_arg1:MouseEvent):void{ var link:Sprite; var e = _arg1; playSelectSound(); if (e.target != null){ link = Sprite(e.target); if (((!((helperParams[link.name] == null))) && (!((helperParams[link.name][0] == null))))){ songIndex = 3; songFile = helperParams[link.name][0]; if (songFile == ""){ showSelectURL(); return; }; if (songFile == "url"){ songFile = songURL.text; }; gameArea.mouseChildren = false; textContainer.mouseChildren = false; fadeOut(gameArea, 1500); fadeOut(textContainer, 1500); helpers.setTimeout(function (_arg1:int, _arg2:String):void{ if (_arg1 == stateCounter){ loadSongFile(songIndex, _arg2); continuePlayGame(); }; }, 2000, stateCounter, songFile); }; }; } private function loadExternalSong(_arg1:String):void{ var request:URLRequest; var file = _arg1; file = ("http://" + file.replace(/^[^:]*:\/\//, "")); songFile = file; maxLoaded = 0; song = getSongName(songFile); songName.text = "Loading... 0%"; try { s = new Sound(); s.addEventListener(Event.ID3, id3Handler); s.addEventListener(Event.COMPLETE, songLoadComplete); s.addEventListener(ProgressEvent.PROGRESS, songLoadProgress); s.addEventListener(IOErrorEvent.IO_ERROR, songLoadError); request = new URLRequest(((proxyURL + "?url=") + encodeURIComponent(songFile))); request.data = new URLVariables("MusicCatch=1"); request.method = URLRequestMethod.POST; s.load(request, new SoundLoaderContext(1000, true)); } catch(e:Error) { badSong(); }; } private function playHoverSound(_arg1:MouseEvent=null):void{ var _local2:Sound = new buttonSound2Class(); _local2.play(0, 1, new SoundTransform(0.5)); } private function onButtonMouseOut(_arg1:MouseEvent):void{ var _local2:int; var _local3:Sprite = Sprite(_arg1.target); if (helperParams[_local3.name] != null){ if (helperParams[_local3.name][(helperParams[_local3.name].length - 1)] != null){ _local2 = helperParams[_local3.name][(helperParams[_local3.name].length - 1)]; }; }; var _local4:Number = (_local2 / 4); _local3.graphics.clear(); _local3.graphics.beginFill(0xFFFFFF, 0.2); _local3.graphics.drawRoundRect(-(_local4), -(_local4), (_local3.width + (_local4 * 2)), (_local3.height + (_local4 * 2)), 10, 10); } private function fadeOutShape(_arg1:RainDrop):void{ _arg1.type = "collected"; fadeOut(_arg1, 300); } private function playSelectSound(_arg1:MouseEvent=null):void{ var _local2:Sound = new buttonSound1Class(); _local2.play(0, 1, new SoundTransform(0.5)); } private function clearPause(_arg1:MouseEvent):void{ clearText(); highlightCursor(false); pause.visible = true; sc = s.play(position, 0); sc.addEventListener(Event.SOUND_COMPLETE, endGame); stage.focus = stage; } private function id3Handler(_arg1:Event):void{ var _local2:Sound = Sound(_arg1.target); _local2.removeEventListener(Event.ID3, id3Handler); var _local3:ID3Info = ID3Info(_local2.id3); song = ""; if ((((((_local3 == null)) || ((_local3.songName == null)))) || ((_local3.songName == "")))){ song = getSongName(songFile); } else { song = _local3.songName.replace(/\.mp3$/i, ""); }; if (((((!((_local3 == null))) && (!((_local3.artist == null))))) && (!((_local3.artist == ""))))){ song = (song + (" - " + _local3.artist)); }; } public function cursorHide(_arg1:Event):void{ cursor.visible = false; } private function showText(_arg1:String, _arg2:int, _arg3:int=0xFFFFFF, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN, _arg7:int=40, _arg8:Function=null, _arg9:Number=NaN, _arg10:Boolean=false, _arg11:Array=null, _arg12:Boolean=false, _arg13:Boolean=false, _arg14:int=0xFFFFFF, _arg15:Boolean=true):Sprite{ var padding:Number; var text = _arg1; var duration = _arg2; var color = _arg3; var xPos = _arg4; var yPos = _arg5; var startYPos = _arg6; var fontSize = _arg7; var clickCallback = _arg8; var state = _arg9; var keepAround = _arg10; var params = _arg11; var showButton = _arg12; var buttonSelected = _arg13; var highlightColor = _arg14; var playSound = _arg15; if (((!(isNaN(state))) && (!((state == stateCounter))))){ return (null); }; var frames:int = int(((duration / 1000) * stage.frameRate)); var wrapper:Sprite = new Sprite(); var msg:TextField = new TextField(); msg.autoSize = "left"; msg.defaultTextFormat = new TextFormat("MyFont", fontSize, color); msg.text = text; msg.embedFonts = true; msg.antiAliasType = "advanced"; msg.selectable = false; msg.filters = [new GlowFilter(color, 0.5, 20, 20, 1.5, 1, false, false)]; wrapper.alpha = 0; wrapper.addChild(msg); if (isNaN(xPos)){ xPos = Math.floor(((stage.stageWidth - wrapper.width) / 2)); }; if (isNaN(yPos)){ yPos = Math.floor(((stage.stageHeight - wrapper.height) / 2)); }; if (isNaN(startYPos)){ startYPos = Math.floor(((stage.stageHeight - wrapper.height) / 2)); }; wrapper.x = xPos; wrapper.y = startYPos; textContainer.addChild(wrapper); var objTimeline:Timeline = new Timeline(RenderMethod.ENTER_FRAME); if (showButton){ padding = (fontSize / 4); if (buttonSelected){ if (params == null){ params = []; }; params.push(highlightColor); params.push(fontSize); wrapper.graphics.beginFill(0xFFFFFF, 0.4); wrapper.graphics.lineStyle(2, 0xFFFFFF, 0.6, true); wrapper.graphics.drawRoundRect(-(padding), -(padding), (wrapper.width + (padding * 2)), (wrapper.height + (padding * 2)), 10, 10); } else { if (params == null){ params = []; }; params.push(highlightColor); params.push(fontSize); wrapper.graphics.beginFill(0xFFFFFF, 0.2); wrapper.graphics.drawRoundRect(-(padding), -(padding), (wrapper.width + (padding * 2)), (wrapper.height + (padding * 2)), 10, 10); if (((!((clickCallback == null))) && (playSound))){ wrapper.addEventListener(MouseEvent.MOUSE_OVER, onButtonMouseOver); wrapper.addEventListener(MouseEvent.MOUSE_OUT, onButtonMouseOut); }; }; }; if (clickCallback != null){ wrapper.mouseChildren = false; wrapper.addEventListener(MouseEvent.CLICK, clickCallback); wrapper.addEventListener(MouseEvent.MOUSE_OVER, function ():void{ highlightCursor(true); }); wrapper.addEventListener(MouseEvent.MOUSE_OUT, function ():void{ highlightCursor(false); }); if (((!(showButton)) && (playSound))){ wrapper.addEventListener(MouseEvent.MOUSE_OVER, playHoverSound); }; }; if (((!((clickCallback == null))) || (keepAround))){ objTimeline.addTween(new Tween(wrapper, "alpha", 1, 0, frames, Transitions.CUBIC_OUT)); objTimeline.addTween(new Tween(wrapper, "y", yPos, 0, frames, Transitions.ELASTIC_OUT)); } else { objTimeline.addTween(new Tween(wrapper, "alpha", 1, 0, int((frames / 2)), Transitions.CUBIC_OUT)); objTimeline.addTween(new Tween(wrapper, "y", yPos, 0, int((frames / 2)), Transitions.ELASTIC_OUT)); objTimeline.addTween(new Tween(wrapper, "alpha", 0, int((frames / 2)), frames, Transitions.CUBIC_IN)); objTimeline.addTween(new Tween(wrapper, "y", stage.stageHeight, int((frames / 2)), frames, Transitions.ELASTIC_IN)); objTimeline.addTween(new Action(textContainer.removeChild, [wrapper], null, [], (frames + 1))); }; objTimeline.play(); if (params != null){ helperParams[wrapper.name] = params; }; return (wrapper); } private function reportKeyDown(_arg1:KeyboardEvent):void{ if (((!(allowCheating)) && ((_arg1.charCode == cheatUnlockCode.charCodeAt(cheatUnlockIndex))))){ cheatUnlockIndex++; if (cheatUnlockIndex >= cheatUnlockCode.length){ allowCheating = true; }; } else { cheatUnlockIndex = 0; }; if ((((((((_arg1.charCode == 80)) || ((_arg1.charCode == 112)))) || ((_arg1.charCode == 27)))) || ((_arg1.charCode == 32)))){ showPause(); }; if (((title.visible) && (allowCheating))){ if (_arg1.charCode == 48){ cheatLotsOfShapes = !(cheatLotsOfShapes); } else { if (_arg1.charCode == 49){ unlockLevel = 1; saveUserData(); showMainMenu(); } else { if (_arg1.charCode == 50){ unlockLevel = 2; saveUserData(); showMainMenu(); } else { if (_arg1.charCode == 51){ unlockLevel = 3; saveUserData(); showMainMenu(); } else { if (_arg1.charCode == 52){ unlockLevel = 4; saveUserData(); showMainMenu(); } else { if (_arg1.charCode == 53){ unlockLevel = 5; saveUserData(); showMainMenu(); } else { if (_arg1.charCode == 54){ unlockLevel = 100; saveUserData(); showMainMenu(); }; }; }; }; }; }; }; }; if (allowCheating){ if (_arg1.charCode == 43){ reloadMusicFromError(true); } else { if (_arg1.charCode == 102){ skipFadeOut = !(skipFadeOut); if (skipFadeOut){ playSelectSound(); }; } else { if (_arg1.charCode == 103){ skipGarbage = !(skipGarbage); if (skipGarbage){ playSelectSound(); }; } else { if (_arg1.charCode == 112){ skipPulse = !(skipPulse); if (skipPulse){ playSelectSound(); }; } else { if (_arg1.charCode == 97){ combo = (combo + 10); cursor.pulseGood(); setCursorSize(); }; }; }; }; }; }; } public function xShearAroundExternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{ _arg1.translate(-(_arg2), -(_arg3)); var _local5:Matrix = new Matrix(); _local5.c = Math.tan(_arg4); _arg1.concat(_local5); _arg1.translate(_arg2, _arg3); } private function reloadMusicFromError(_arg1:Boolean=false):void{ var fastFoward = _arg1; if (pause.visible){ position = sc.position; if (fastFoward){ position = (position + 1000); }; try { sc.stop(); loadSongFile(songIndex); sc = s.play(position, 0); sc.addEventListener(Event.SOUND_COMPLETE, endGame); } catch(e:Error) { badSong(); }; }; } private function getRandomShapeSet():String{ var _local1:Array = ["Sky", "Music", "Abstract", "Floral"]; return (_local1[Math.floor((Math.random() * _local1.length))]); } private function clearGame():void{ if (sc != null){ sc.stop(); }; clearPlayArea(); frameCount = 0; } private function collectRainDrop(_arg1:RainDrop):void{ var textList:Array; var yPos:Number; var rd = _arg1; var amount:Number = Math.max(1, (maxRadius - rd.size)); if (rd.type == "powerUp"){ powerUpCount++; combo++; if (combo > maxCombo){ maxCombo = combo; }; if (!skipPulse){ cursor.pulseGood(); }; setCursorSize(); if (!rd.recycled){ textList = ["Yeah!", "Great!", "Good job!", "Super!", "Woohoo!", "Fabulous!", "Excellent!", "Wow!", "Amazing!", "Superb!", "Terrific!", "Fantastic!", "Splendid!", "Wonderful!", "Yes!", "Unbelievable!", "Outstanding!", "Remarkable!", "Woot!"]; yPos = (100 + (Math.random() * 200)); showText(textList[Math.floor((Math.random() * textList.length))], 500, 0xCCCC00, 50, yPos, (yPos + 50), 30); }; } else { if (rd.type == "powerDown"){ powerDownCount++; combo = Math.ceil((combo / 2)); if (!skipPulse){ cursor.pulseBad(); }; setCursorSize(); if (!rd.recycled){ textList = ["Oops!", "Uh oh!", "Ouch!", "Oh no!", "Zowee!", "Yikes!", "Bummer!", "Shucks!", "Too bad!", "Zing!", "Kapow!"]; yPos = (100 + (Math.random() * 200)); showText(textList[Math.floor((Math.random() * textList.length))], 500, 0xCC0000, (stage.stageWidth - 200), yPos, (yPos + 50), 30); }; powerDownTime = 60; } else { if (rd.type == "suction"){ purplePowerCount++; if (!skipPulse){ cursor.pulseSuction(); }; showText("Purple Power!", 2000, 0xFF00FF, NaN, 50, NaN, 30); suction = 100; } else { if (rd.type == "yellowMadness"){ yellowMadnessCount++; if (!skipPulse){ cursor.pulseSuction(); }; showText("Yellow Madness!", 2000, 0xFFFF00, NaN, 90, NaN, 30); } else { if (!skipPulse){ cursor.pulseNormal(); }; if (skipFadeOut){ rd.parent.removeChild(rd); } else { fadeOutShape(rd); }; }; }; }; }; shapeCount++; addToScore((amount * combo)); try { if (rd.type != "collected"){ rd.parent.removeChild(rd); }; } catch(e:Error) { }; } private function songLoadComplete(_arg1:Event):void{ var _local2:int; songLoaded = true; s.removeEventListener(Event.COMPLETE, songLoadComplete); s.removeEventListener(ProgressEvent.PROGRESS, songLoadProgress); songTitle.text = song; songName.text = song; if (song.substr(0, 5) == "http:"){ badSong(); return; }; _local2 = 0; while (_local2 < recentList.length) { if (recentList[_local2]["name"] == song){ recentList.splice(_local2, 1); break; }; _local2++; }; recentList.unshift({name:song, file:songFile}); recentList = recentList.slice(0, 10); saveUserData(); } } }//package
Section 57
//MusicCatch2_bronzeClass (MusicCatch2_bronzeClass) package { import mx.core.*; import flash.utils.*; public class MusicCatch2_bronzeClass extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function MusicCatch2_bronzeClass(){ dataClass = MusicCatch2_bronzeClass_dataClass; super(); initialWidth = (1200 / 20); initialHeight = (1800 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 58
//MusicCatch2_bronzeClass_dataClass (MusicCatch2_bronzeClass_dataClass) package { import mx.core.*; public class MusicCatch2_bronzeClass_dataClass extends ByteArrayAsset { } }//package
Section 59
//MusicCatch2_buttonSound1Class (MusicCatch2_buttonSound1Class) package { import mx.core.*; public class MusicCatch2_buttonSound1Class extends SoundAsset { } }//package
Section 60
//MusicCatch2_buttonSound2Class (MusicCatch2_buttonSound2Class) package { import mx.core.*; public class MusicCatch2_buttonSound2Class extends SoundAsset { } }//package
Section 61
//MusicCatch2_goldClass (MusicCatch2_goldClass) package { import mx.core.*; import flash.utils.*; public class MusicCatch2_goldClass extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function MusicCatch2_goldClass(){ dataClass = MusicCatch2_goldClass_dataClass; super(); initialWidth = (1200 / 20); initialHeight = (1800 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 62
//MusicCatch2_goldClass_dataClass (MusicCatch2_goldClass_dataClass) package { import mx.core.*; public class MusicCatch2_goldClass_dataClass extends ByteArrayAsset { } }//package
Section 63
//MusicCatch2_introMovieClass (MusicCatch2_introMovieClass) package { import mx.core.*; import flash.utils.*; public class MusicCatch2_introMovieClass extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function MusicCatch2_introMovieClass(){ dataClass = MusicCatch2_introMovieClass_dataClass; super(); initialWidth = (10660 / 20); initialHeight = (8000 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 64
//MusicCatch2_introMovieClass_dataClass (MusicCatch2_introMovieClass_dataClass) package { import mx.core.*; public class MusicCatch2_introMovieClass_dataClass extends ByteArrayAsset { } }//package
Section 65
//MusicCatch2_music1Class (MusicCatch2_music1Class) package { import mx.core.*; public class MusicCatch2_music1Class extends SoundAsset { } }//package
Section 66
//MusicCatch2_music2Class (MusicCatch2_music2Class) package { import mx.core.*; public class MusicCatch2_music2Class extends SoundAsset { } }//package
Section 67
//MusicCatch2_music3Class (MusicCatch2_music3Class) package { import mx.core.*; public class MusicCatch2_music3Class extends SoundAsset { } }//package
Section 68
//MusicCatch2_myfont (MusicCatch2_myfont) package { import mx.core.*; public class MusicCatch2_myfont extends FontAsset { } }//package
Section 69
//MusicCatch2_noRedsClass (MusicCatch2_noRedsClass) package { import mx.core.*; import flash.utils.*; public class MusicCatch2_noRedsClass extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function MusicCatch2_noRedsClass(){ dataClass = MusicCatch2_noRedsClass_dataClass; super(); initialWidth = (2100 / 20); initialHeight = (2400 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 70
//MusicCatch2_noRedsClass_dataClass (MusicCatch2_noRedsClass_dataClass) package { import mx.core.*; public class MusicCatch2_noRedsClass_dataClass extends ByteArrayAsset { } }//package
Section 71
//MusicCatch2_platinumClass (MusicCatch2_platinumClass) package { import mx.core.*; import flash.utils.*; public class MusicCatch2_platinumClass extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function MusicCatch2_platinumClass(){ dataClass = MusicCatch2_platinumClass_dataClass; super(); initialWidth = (1200 / 20); initialHeight = (1800 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 72
//MusicCatch2_platinumClass_dataClass (MusicCatch2_platinumClass_dataClass) package { import mx.core.*; public class MusicCatch2_platinumClass_dataClass extends ByteArrayAsset { } }//package
Section 73
//MusicCatch2_silverClass (MusicCatch2_silverClass) package { import mx.core.*; import flash.utils.*; public class MusicCatch2_silverClass extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function MusicCatch2_silverClass(){ dataClass = MusicCatch2_silverClass_dataClass; super(); initialWidth = (1600 / 20); initialHeight = (2520 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 74
//MusicCatch2_silverClass_dataClass (MusicCatch2_silverClass_dataClass) package { import mx.core.*; public class MusicCatch2_silverClass_dataClass extends ByteArrayAsset { } }//package
Section 75
//Preloader (Preloader) package { import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class Preloader extends MovieClip { private var realHeight:int;// = 600 private var realWidth:int;// = 600 private var logo:Bitmap; private var gameName:String;// = "MusicCatch2" private var LogoClass:Class; private var logoBG:Bitmap; private var logoHeight:int;// = 68 private var logoMask:Sprite; private var logoWidth:int;// = 150 public function Preloader(){ LogoClass = Preloader_LogoClass; super(); stop(); loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{ }); MochiBot.track(this, "38e5e6a6"); init(); } private function start(_arg1:TimerEvent=null):void{ var _local3:DisplayObject; nextFrame(); var _local2:Class = Class(getDefinitionByName(gameName)); if (_local2){ _local3 = new (_local2); addChild(_local3); _local3.dispatchEvent(new Event("Preloader Finished")); }; } private function showLoader(_arg1:Number):void{ var _local2:Number = Math.round((logoWidth * _arg1)); logoMask.graphics.clear(); logoMask.graphics.beginFill(0xFFFFFF, 1); logoMask.graphics.drawRect(0, 39, logoWidth, (logoHeight - 39)); logoMask.graphics.beginFill(0xFFFFFF, 1); logoMask.graphics.drawRect(0, 0, _local2, 38); logoMask.graphics.endFill(); } public function init():void{ logoBG = new LogoClass(); logoBG.alpha = 0.3; logoBG.x = Math.floor(((realWidth - logoWidth) / 2)); logoBG.y = Math.floor(((realHeight - logoHeight) / 2)); addChild(logoBG); logoMask = new Sprite(); logoMask.x = Math.floor(((realWidth - logoWidth) / 2)); logoMask.y = Math.floor(((realHeight - logoHeight) / 2)); addChild(logoMask); logo = new LogoClass(); logo.mask = logoMask; logo.x = Math.floor(((realWidth - logoWidth) / 2)); logo.y = Math.floor(((realHeight - logoHeight) / 2)); addChild(logo); addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function onEnterFrame(_arg1:Event):void{ var _local2:Timer; var _local3:Number; graphics.clear(); if (framesLoaded == totalFrames){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); _local2 = new Timer(100, 10); _local2.addEventListener(TimerEvent.TIMER, fadeOut); _local2.addEventListener(TimerEvent.TIMER_COMPLETE, start); _local2.start(); removeChild(logoBG); } else { _local3 = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal); showLoader(_local3); }; } private function fadeOut(_arg1:TimerEvent):void{ var _local2:Timer = (_arg1.currentTarget as Timer); logo.alpha = ((10 - _local2.currentCount) / 10); } } }//package
Section 76
//Preloader_LogoClass (Preloader_LogoClass) package { import mx.core.*; public class Preloader_LogoClass extends BitmapAsset { } }//package
Section 77
//RainDrop (RainDrop) package { import flash.display.*; import flash.geom.*; public class RainDrop extends Sprite { public var fadeVelocity:Number;// = 0 public var size:Number; private var stageHeight:Number; private var defaultRadius:Number;// = 30 private var gravity:Number; public var pattern:String; private var scaleFactor:Number;// = 2 public var radius:Number; private var phase:Number;// = 0 public var maxRadius:Number; public var shape:String; public var originalYVelocity:Number;// = 0 private var spiralForce:Number;// = 1 private var stageWidth:Number; public var originalFadeVelocity:Number;// = 0 public var dead:Boolean;// = false public var originalCursorX:Number;// = 0 public var originalCursorY:Number;// = 0 public var yVelocity:Number;// = 0 public var recycled:Boolean;// = false public var type:String; public function RainDrop(_arg1:String, _arg2:String, _arg3:String, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number){ var _local8:Bitmap; super(); this.type = _arg1; this.shape = _arg2; this.pattern = _arg3; this.stageWidth = _arg6; this.stageHeight = _arg7; this.size = _arg4; this.maxRadius = _arg5; radius = (_arg4 * _arg5); _local8 = new (ShapeAssets[_arg2]); _local8.x = -30; _local8.y = -30; _local8.smoothing = true; addChild(_local8); scaleX = 0; scaleY = 0; if (_arg3 == "In & Out"){ gravity = -0.2; } else { if (_arg3 == "Spiral"){ gravity = -0.15; } else { if (_arg3 == "Fixed"){ gravity = -0.1; } else { if (_arg3 == "Radar"){ gravity = -0.3; } else { gravity = 0.05; }; }; }; }; phase = Math.random(); spiralForce = ((Math.random() * 10) + 1); } public function updateRainDrop():void{ var _local3:Number; var _local4:int; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local1:Number = (stageWidth / 2); var _local2:Number = (stageHeight / 2); if (pattern == "In & Out"){ _local3 = ((originalYVelocity == 0)) ? 1 : (yVelocity / originalYVelocity); } else { if ((((((pattern == "Spiral")) || ((pattern == "Fixed")))) || ((pattern == "Radar")))){ _local3 = ((originalFadeVelocity == 0)) ? 1 : (fadeVelocity / originalFadeVelocity); } else { _local3 = ((_local2 - y) / _local2); }; }; _local3 = Math.min(1, Math.max(-1, _local3)); radius = (size * maxRadius); radius = ((radius / 2) + ((radius / 2) * _local3)); var _local5:Number = 50; if (type == "powerUp"){ if (((((((!((pattern == "Spiral"))) && (!((pattern == "Fixed"))))) && (!((pattern == "Radar"))))) || ((_local3 > 0)))){ radius = Math.max(5, radius); }; if ((((((pattern == "In & Out")) && ((_local3 < 0)))) && ((y < _local5)))){ _local4 = ((0x111100 | ((Math.max(0, y) * 3) << 16)) | ((Math.max(0, y) * 3) << 8)); } else { if (((((!((pattern == "Spiral"))) && (!((pattern == "In & Out"))))) && ((y > (stageHeight - _local5))))){ _local4 = ((0x111100 | ((Math.max(0, (stageHeight - y)) * 3) << 16)) | ((Math.max(0, (stageHeight - y)) * 3) << 8)); } else { _local4 = 0xDDDD00; }; }; } else { if (type == "powerDown"){ if (((((((!((pattern == "Spiral"))) && (!((pattern == "Fixed"))))) && (!((pattern == "Radar"))))) || ((_local3 > 0)))){ radius = Math.max(5, radius); }; if ((((((pattern == "In & Out")) && ((_local3 < 0)))) && ((y < _local5)))){ _local4 = (0x110000 | ((Math.max(0, y) * 3) << 16)); } else { if (((((!((pattern == "Spiral"))) && (!((pattern == "In & Out"))))) && ((y > (stageHeight - _local5))))){ _local4 = (0x110000 | ((Math.max(0, (stageHeight - y)) * 3) << 16)); } else { _local4 = 0xDD0000; }; }; } else { if (type == "suction"){ if (((((!((pattern == "Spiral"))) && (!((pattern == "Fixed"))))) && (!((pattern == "Radar"))))){ if (_local3 > 0){ radius = Math.max(5, radius); }; }; if ((((((pattern == "In & Out")) && ((_local3 < 0)))) && ((y < _local5)))){ _local4 = ((0 | ((Math.max(0, y) * 3) << 16)) | (Math.max(0, y) * 3)); } else { if (((((!((pattern == "Spiral"))) && (!((pattern == "In & Out"))))) && ((y > (stageHeight - _local5))))){ _local4 = ((0 | ((Math.max(0, (stageHeight - y)) * 3) << 16)) | (Math.max(0, (stageHeight - y)) * 3)); } else { _local4 = 0xFF00FF; }; }; } else { if (type == "yellowMadness"){ if (((((((!((pattern == "Spiral"))) && (!((pattern == "Fixed"))))) && (!((pattern == "Radar"))))) || ((_local3 > 0)))){ radius = Math.max(5, radius); }; _local4 = (Math.random() * 0xFFFFFF); } else { _local4 = ((0x1111 | ((110 + (_local3 * 110)) << 8)) | Math.min(0xFF, (size * 180))); }; }; }; }; scaleX = (scaleFactor * (radius / defaultRadius)); scaleY = (scaleFactor * (radius / defaultRadius)); if (type != "collected"){ transform.colorTransform = new ColorTransform(0, 0, 0, 1, ((_local4 >> 16) & 0xFF), ((_local4 >> 8) & 0xFF), (_local4 & 0xFF), 0); }; var _local6:Number = (Math.random() * 3); if (x < _local1){ rotation = (rotation + _local6); } else { rotation = (rotation - _local6); }; if ((((((pattern == "Spiral")) || ((pattern == "Fixed")))) || ((pattern == "Radar")))){ fadeVelocity = (fadeVelocity + gravity); } else { y = (y + yVelocity); yVelocity = (yVelocity + gravity); }; if (pattern == "In & Out"){ if (_local3 < 0){ if (x < _local1){ x = (x - (2 * _local3)); } else { x = (x + (2 * _local3)); }; }; } else { if (pattern == "Spiral"){ _local7 = (x - _local1); _local8 = (y - _local2); _local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local10 = Math.atan2(_local8, _local7); if (_local9 >= 10){ _local9 = (_local9 - ((_local9 / stageWidth) * spiralForce)); _local10 = (_local10 + 0.03); x = ((Math.cos(_local10) * _local9) + _local1); y = ((Math.sin(_local10) * _local9) + _local2); }; }; }; } } }//package
Section 78
//ShapeAssets (ShapeAssets) package { public class ShapeAssets { public static var moon:Class = ShapeAssets_moon; public static var triangle:Class = ShapeAssets_triangle; public static var plus:Class = ShapeAssets_plus; public static var square:Class = ShapeAssets_square; public static var floral2:Class = ShapeAssets_floral2; public static var floral3:Class = ShapeAssets_floral3; public static var floral5:Class = ShapeAssets_floral5; public static var floral1:Class = ShapeAssets_floral1; public static var spade:Class = ShapeAssets_spade; public static var star1:Class = ShapeAssets_star1; public static var floral4:Class = ShapeAssets_floral4; public static var asterix:Class = ShapeAssets_asterix; public static var star2:Class = ShapeAssets_star2; public static var clover:Class = ShapeAssets_clover; public static var heart:Class = ShapeAssets_heart; public static var sixteenthNote:Class = ShapeAssets_sixteenthNote; public static var eighthNote:Class = ShapeAssets_eighthNote; public static var circle:Class = ShapeAssets_circle; public static var lightning:Class = ShapeAssets_lightning; public static var snowflake:Class = ShapeAssets_snowflake; public static var treble:Class = ShapeAssets_treble; public static var bass:Class = ShapeAssets_bass; public static var wreath:Class = ShapeAssets_wreath; public static var twoEighths:Class = ShapeAssets_twoEighths; public static var butterfly:Class = ShapeAssets_butterfly; public static var flat:Class = ShapeAssets_flat; } }//package
Section 79
//ShapeAssets_asterix (ShapeAssets_asterix) package { import mx.core.*; public class ShapeAssets_asterix extends BitmapAsset { } }//package
Section 80
//ShapeAssets_bass (ShapeAssets_bass) package { import mx.core.*; public class ShapeAssets_bass extends BitmapAsset { } }//package
Section 81
//ShapeAssets_butterfly (ShapeAssets_butterfly) package { import mx.core.*; public class ShapeAssets_butterfly extends BitmapAsset { } }//package
Section 82
//ShapeAssets_circle (ShapeAssets_circle) package { import mx.core.*; public class ShapeAssets_circle extends BitmapAsset { } }//package
Section 83
//ShapeAssets_clover (ShapeAssets_clover) package { import mx.core.*; public class ShapeAssets_clover extends BitmapAsset { } }//package
Section 84
//ShapeAssets_eighthNote (ShapeAssets_eighthNote) package { import mx.core.*; public class ShapeAssets_eighthNote extends BitmapAsset { } }//package
Section 85
//ShapeAssets_flat (ShapeAssets_flat) package { import mx.core.*; public class ShapeAssets_flat extends BitmapAsset { } }//package
Section 86
//ShapeAssets_floral1 (ShapeAssets_floral1) package { import mx.core.*; public class ShapeAssets_floral1 extends BitmapAsset { } }//package
Section 87
//ShapeAssets_floral2 (ShapeAssets_floral2) package { import mx.core.*; public class ShapeAssets_floral2 extends BitmapAsset { } }//package
Section 88
//ShapeAssets_floral3 (ShapeAssets_floral3) package { import mx.core.*; public class ShapeAssets_floral3 extends BitmapAsset { } }//package
Section 89
//ShapeAssets_floral4 (ShapeAssets_floral4) package { import mx.core.*; public class ShapeAssets_floral4 extends BitmapAsset { } }//package
Section 90
//ShapeAssets_floral5 (ShapeAssets_floral5) package { import mx.core.*; public class ShapeAssets_floral5 extends BitmapAsset { } }//package
Section 91
//ShapeAssets_heart (ShapeAssets_heart) package { import mx.core.*; public class ShapeAssets_heart extends BitmapAsset { } }//package
Section 92
//ShapeAssets_lightning (ShapeAssets_lightning) package { import mx.core.*; public class ShapeAssets_lightning extends BitmapAsset { } }//package
Section 93
//ShapeAssets_moon (ShapeAssets_moon) package { import mx.core.*; public class ShapeAssets_moon extends BitmapAsset { } }//package
Section 94
//ShapeAssets_plus (ShapeAssets_plus) package { import mx.core.*; public class ShapeAssets_plus extends BitmapAsset { } }//package
Section 95
//ShapeAssets_sixteenthNote (ShapeAssets_sixteenthNote) package { import mx.core.*; public class ShapeAssets_sixteenthNote extends BitmapAsset { } }//package
Section 96
//ShapeAssets_snowflake (ShapeAssets_snowflake) package { import mx.core.*; public class ShapeAssets_snowflake extends BitmapAsset { } }//package
Section 97
//ShapeAssets_spade (ShapeAssets_spade) package { import mx.core.*; public class ShapeAssets_spade extends BitmapAsset { } }//package
Section 98
//ShapeAssets_square (ShapeAssets_square) package { import mx.core.*; public class ShapeAssets_square extends BitmapAsset { } }//package
Section 99
//ShapeAssets_star1 (ShapeAssets_star1) package { import mx.core.*; public class ShapeAssets_star1 extends BitmapAsset { } }//package
Section 100
//ShapeAssets_star2 (ShapeAssets_star2) package { import mx.core.*; public class ShapeAssets_star2 extends BitmapAsset { } }//package
Section 101
//ShapeAssets_treble (ShapeAssets_treble) package { import mx.core.*; public class ShapeAssets_treble extends BitmapAsset { } }//package
Section 102
//ShapeAssets_triangle (ShapeAssets_triangle) package { import mx.core.*; public class ShapeAssets_triangle extends BitmapAsset { } }//package
Section 103
//ShapeAssets_twoEighths (ShapeAssets_twoEighths) package { import mx.core.*; public class ShapeAssets_twoEighths extends BitmapAsset { } }//package
Section 104
//ShapeAssets_wreath (ShapeAssets_wreath) package { import mx.core.*; public class ShapeAssets_wreath extends BitmapAsset { } }//package

Library Items

Symbol 1 Bitmap {Preloader_LogoClass}
Symbol 2 Sound {MusicCatch2_buttonSound1Class} [MusicCatch2_buttonSound1Class]
Symbol 3 Sound {MusicCatch2_music3Class} [MusicCatch2_music3Class]
Symbol 4 Sound {MusicCatch2_buttonSound2Class} [MusicCatch2_buttonSound2Class]
Symbol 5 Sound {MusicCatch2_music1Class} [MusicCatch2_music1Class]
Symbol 6 MovieClip {com.kongregate.as3.client.KongregateAPI} [com.kongregate.as3.client.KongregateAPI]
Symbol 7 Sound {MusicCatch2_music2Class} [MusicCatch2_music2Class]
Symbol 8 MovieClip {MusicCatch2_introMovieClass}
Symbol 9 Bitmap {ShapeAssets_eighthNote}
Symbol 10 Bitmap {ShapeAssets_twoEighths}
Symbol 11 Bitmap {ShapeAssets_spade}
Symbol 12 Bitmap {ShapeAssets_floral3}
Symbol 13 BinaryData {MusicCatch2_goldClass_dataClass}
Symbol 14 Bitmap {ShapeAssets_lightning}
Symbol 15 Bitmap {ShapeAssets_triangle}
Symbol 16 Bitmap {ShapeAssets_floral4}
Symbol 17 Bitmap {ShapeAssets_treble}
Symbol 18 BinaryData {MusicCatch2_bronzeClass_dataClass}
Symbol 19 Font {MusicCatch2_myfont}
Symbol 20 Bitmap {ShapeAssets_flat}
Symbol 21 Bitmap {ShapeAssets_square}
Symbol 22 Bitmap {ShapeAssets_asterix}
Symbol 23 Bitmap {ShapeAssets_floral5}
Symbol 24 Bitmap {ShapeAssets_clover}
Symbol 25 BinaryData {MusicCatch2_introMovieClass_dataClass}
Symbol 26 Bitmap {ShapeAssets_sixteenthNote}
Symbol 27 Bitmap {ShapeAssets_wreath}
Symbol 28 Bitmap {ShapeAssets_floral2}
Symbol 29 Bitmap {ShapeAssets_butterfly}
Symbol 30 Bitmap {ShapeAssets_moon}
Symbol 31 Bitmap {ShapeAssets_bass}
Symbol 32 Bitmap {ShapeAssets_star1}
Symbol 33 BinaryData {MusicCatch2_noRedsClass_dataClass}
Symbol 34 BinaryData {MusicCatch2_platinumClass_dataClass}
Symbol 35 Bitmap {ShapeAssets_floral1}
Symbol 36 BinaryData {MusicCatch2_silverClass_dataClass}
Symbol 37 Bitmap {ShapeAssets_circle}
Symbol 38 Bitmap {ShapeAssets_snowflake}
Symbol 39 Bitmap {ShapeAssets_plus}
Symbol 40 Bitmap {ShapeAssets_heart}
Symbol 41 Bitmap {ShapeAssets_star2}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 2Symbol 2 as "MusicCatch2_buttonSound1Class"
ExportAssets (56)Timeline Frame 2Symbol 3 as "MusicCatch2_music3Class"
ExportAssets (56)Timeline Frame 2Symbol 4 as "MusicCatch2_buttonSound2Class"
ExportAssets (56)Timeline Frame 2Symbol 5 as "MusicCatch2_music1Class"
ExportAssets (56)Timeline Frame 2Symbol 6 as "com.kongregate.as3.client.KongregateAPI"
ExportAssets (56)Timeline Frame 2Symbol 7 as "MusicCatch2_music2Class"
SerialNumber (41)Timeline Frame 1

Labels

"Preloader"Frame 1
"two"Frame 2




http://swfchan.com/40/196125/info.shtml
Created: 2/8 -2019 20:23:13 Last modified: 2/8 -2019 20:23:13 Server time: 28/04 -2024 12:01:50