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

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

Advansnake Game.swf

This is the info page for
Flash #30231

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


Text
x99

MULTIPLIER

x1

SCORE

00000000

Move up

Move down

Move left

Move right

Classic Mode

UP and DOWN switch game modes, ENTER selects, ESC returns to title screen

Rotate counter-clockwise

Rotate clockwise

Increase speed

Decrease speed

<p align="center"><font face="Pakenham" size="65" color="#000000" letterSpacing="0.000000" kerning="1">Advanced Mode</font></p>

v1.0

UP and DOWN highlight, ENTER selects

<p align="center"><font face="Arcade Normal" size="40" color="#ffffff" letterSpacing="3.000000" kerning="0">ADVANSNAKE</font></p>

BY JESS HANSEN

v1.0

UP and DOWN highlight, ENTER selects

<p align="center"><font face="Pakenham" size="68" color="#005500" letterSpacing="3.000000" kerning="0"><b>ADVANSNAKE</b></font></p>

BY JESS HANSEN

YES

YES

START GAME

START GAME

Worldwide leaderboard

WORLDWIDE LEADERBOARD

LEFT and RIGHT cycle through boards, ESC returns to title screen

ActionScript [AS3]

Section 1
//Bounce (fl.transitions.easing.Bounce) package fl.transitions.easing { public class Bounce { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 - easeOut((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeIn((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOut(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } } }//package fl.transitions.easing
Section 2
//None (fl.transitions.easing.None) package fl.transitions.easing { public class None { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package fl.transitions.easing
Section 3
//Regular (fl.transitions.easing.Regular) package fl.transitions.easing { public class Regular { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } } }//package fl.transitions.easing
Section 4
//Strong (fl.transitions.easing.Strong) package fl.transitions.easing { public class Strong { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 5
//Tween (fl.transitions.Tween) package fl.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tween extends EventDispatcher { private var _position:Number;// = NAN public var prevTime:Number;// = NAN public var prevPos:Number;// = NAN public var isPlaying:Boolean;// = false public var begin:Number;// = NAN private var _fps:Number;// = NAN private var _time:Number;// = NAN public var change:Number;// = NAN private var _finish:Number;// = NAN public var looping:Boolean;// = false private var _intervalID:uint;// = 0 public var func:Function; private var _timer:Timer;// = null private var _startTime:Number;// = NAN public var prop:String;// = "" private var _duration:Number;// = NAN public var obj:Object;// = null public var useSeconds:Boolean;// = false protected static var _mc:MovieClip = new MovieClip(); public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){ isPlaying = false; obj = null; prop = ""; func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); }; begin = NaN; change = NaN; useSeconds = false; prevTime = NaN; prevPos = NaN; looping = false; _duration = NaN; _time = NaN; _fps = NaN; _position = NaN; _startTime = NaN; _intervalID = 0; _finish = NaN; _timer = null; super(); if (!arguments.length){ return; }; this.obj = _arg1; this.prop = _arg2; this.begin = _arg4; this.position = _arg4; this.duration = _arg6; this.useSeconds = _arg7; if ((_arg3 is Function)){ this.func = _arg3; }; this.finish = _arg5; this._timer = new Timer(100); this.start(); } public function continueTo(_arg1:Number, _arg2:Number):void{ this.begin = this.position; this.finish = _arg1; if (!isNaN(_arg2)){ this.duration = _arg2; }; this.start(); } public function stop():void{ this.stopEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position)); } private function fixTime():void{ if (this.useSeconds){ this._startTime = (getTimer() - (this._time * 1000)); }; } public function set FPS(_arg1:Number):void{ var _local2:Boolean; _local2 = this.isPlaying; this.stopEnterFrame(); this._fps = _arg1; if (_local2){ this.startEnterFrame(); }; } public function get finish():Number{ return ((this.begin + this.change)); } public function get duration():Number{ return (this._duration); } protected function startEnterFrame():void{ var _local1:Number; if (isNaN(this._fps)){ _mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true); } else { _local1 = (1000 / this._fps); this._timer.delay = _local1; this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true); this._timer.start(); }; this.isPlaying = true; } public function set time(_arg1:Number):void{ this.prevTime = this._time; if (_arg1 > this.duration){ if (this.looping){ this.rewind((_arg1 - this._duration)); this.update(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position)); } else { if (this.useSeconds){ this._time = this._duration; this.update(); }; this.stop(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position)); }; } else { if (_arg1 < 0){ this.rewind(); this.update(); } else { this._time = _arg1; this.update(); }; }; } protected function stopEnterFrame():void{ if (isNaN(this._fps)){ _mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } else { this._timer.stop(); }; this.isPlaying = false; } public function getPosition(_arg1:Number=NaN):Number{ if (isNaN(_arg1)){ _arg1 = this._time; }; return (this.func(_arg1, this.begin, this.change, this._duration)); } public function set finish(_arg1:Number):void{ this.change = (_arg1 - this.begin); } public function set duration(_arg1:Number):void{ this._duration = ((_arg1)<=0) ? Infinity : _arg1; } public function setPosition(_arg1:Number):void{ this.prevPos = this._position; if (this.prop.length){ this.obj[this.prop] = (this._position = _arg1); }; this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position)); } public function resume():void{ this.fixTime(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position)); } public function fforward():void{ this.time = this._duration; this.fixTime(); } protected function onEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function get position():Number{ return (this.getPosition(this._time)); } public function yoyo():void{ this.continueTo(this.begin, this.time); } public function nextFrame():void{ if (this.useSeconds){ this.time = ((getTimer() - this._startTime) / 1000); } else { this.time = (this._time + 1); }; } protected function timerHandler(_arg1:TimerEvent):void{ this.nextFrame(); _arg1.updateAfterEvent(); } public function get FPS():Number{ return (this._fps); } public function rewind(_arg1:Number=0):void{ this._time = _arg1; this.fixTime(); this.update(); } public function set position(_arg1:Number):void{ this.setPosition(_arg1); } public function get time():Number{ return (this._time); } private function update():void{ this.setPosition(this.getPosition(this._time)); } public function start():void{ this.rewind(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position)); } public function prevFrame():void{ if (!this.useSeconds){ this.time = (this._time - 1); }; } } }//package fl.transitions
Section 6
//TweenEvent (fl.transitions.TweenEvent) package fl.transitions { import flash.events.*; public class TweenEvent extends Event { public var time:Number;// = NAN public var position:Number;// = NAN public static const MOTION_START:String = "motionStart"; public static const MOTION_STOP:String = "motionStop"; public static const MOTION_LOOP:String = "motionLoop"; public static const MOTION_CHANGE:String = "motionChange"; public static const MOTION_FINISH:String = "motionFinish"; public static const MOTION_RESUME:String = "motionResume"; public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){ time = NaN; position = NaN; super(_arg1, _arg4, _arg5); this.time = _arg2; this.position = _arg3; } override public function clone():Event{ return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable)); } } }//package fl.transitions
Section 7
//TweenFilterLite (gs.TweenFilterLite) package gs { import flash.display.*; import flash.filters.*; public class TweenFilterLite extends TweenLite { private var _endMatrix:Array; private var _hf:Boolean;// = false private var _matrix:Array; private var _cmf:ColorMatrixFilter; private var _clrsa:Array; private var _filters:Array; private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; private static var _lumB:Number = 0.072169; public static var version:Number = 7.02; public static var delayedCall:Function = TweenLite.delayedCall; public static var killTweensOf:Function = TweenLite.killTweensOf; private static var _lumG:Number = 0.71516; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; private static var _lumR:Number = 0.212671; public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){ _hf = false; _filters = []; super(_arg1, _arg2, _arg3); if ((((TweenLite.version < 6.05)) || (isNaN(TweenLite.version)))){ trace("ERROR! Please update your TweenLite class. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com."); }; if (_arg3.type != undefined){ trace((("TweenFilterLite error: " + _arg1) + " is using deprecated syntax. Please update to the new syntax. See http://www.TweenFilterLite.com for details.")); }; } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:uint; var _local4:Object; var _local5:Object; var _local6:Object; _clrsa = []; _filters = []; _matrix = _idMatrix.slice(); _arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter "); if ((this.target is DisplayObject)){ if (this.vars.blurFilter != undefined){ _local4 = this.vars.blurFilter; addFilter("blur", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2)))); }; if (this.vars.glowFilter != undefined){ _local4 = this.vars.glowFilter; addFilter("glow", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout)); }; if (this.vars.colorMatrixFilter != undefined){ _local4 = this.vars.colorMatrixFilter; _local5 = addFilter("colorMatrix", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix)); _cmf = _local5.filter; _matrix = ColorMatrixFilter(_cmf).matrix; if (_local4.relative == true){ _endMatrix = _matrix.slice(); } else { _endMatrix = _idMatrix.slice(); }; _endMatrix = setBrightness(_endMatrix, _local4.brightness); _endMatrix = setContrast(_endMatrix, _local4.contrast); _endMatrix = setHue(_endMatrix, _local4.hue); _endMatrix = setSaturation(_endMatrix, _local4.saturation); _endMatrix = setThreshold(_endMatrix, _local4.threshold); if (!isNaN(_local4.colorize)){ _endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount); } else { if (!isNaN(_local4.color)){ _endMatrix = colorize(_endMatrix, _local4.color, _local4.amount); }; }; _local3 = 0; while (_local3 < _endMatrix.length) { if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){ this.tweens[("tfl_mtx" + _local3)] = {o:_matrix, p:_local3.toString(), s:_matrix[_local3], c:(_endMatrix[_local3] - _matrix[_local3])}; }; _local3++; }; }; if (this.vars.dropShadowFilter != undefined){ _local4 = this.vars.dropShadowFilter; addFilter("dropShadow", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject)); }; if (this.vars.bevelFilter != undefined){ _local4 = this.vars.bevelFilter; addFilter("bevel", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2)))); }; if (this.vars.runBackwards == true){ _local3 = 0; while (_local3 < _clrsa.length) { _local6 = _clrsa[_local3]; _clrsa[_local3].sr = (_local6.sr + _local6.cr); _local6.cr = (_local6.cr * -1); _local6.sg = (_local6.sg + _local6.cg); _local6.cg = (_local6.cg * -1); _local6.sb = (_local6.sb + _local6.cb); _local6.cb = (_local6.cb * -1); _local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb); _local3++; }; }; super.initTweenVals(true, _arg2); } else { super.initTweenVals(_arg1, _arg2); }; } override public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; var _local6:String; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:int; var _local11:Array; _local2 = ((_arg1 - this.startTime) / 1000); if (_local2 > this.duration){ _local2 = this.duration; }; _local3 = this.vars.ease(_local2, 0, 1, this.duration); for (_local6 in this.tweens) { _local4 = this.tweens[_local6]; _local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c)); }; if (_hf){ _local5 = 0; while (_local5 < _clrsa.length) { _local4 = _clrsa[_local5]; _local7 = (_local4.sr + (_local3 * _local4.cr)); _local8 = (_local4.sg + (_local3 * _local4.cg)); _local9 = (_local4.sb + (_local3 * _local4.cb)); _local4.f[_local4.p] = (((_local7 << 16) | (_local8 << 8)) | _local9); _local5++; }; if (_cmf != null){ ColorMatrixFilter(_cmf).matrix = _matrix; }; _local11 = this.target.filters; _local5 = 0; while (_local5 < _filters.length) { _local10 = (_local11.length - 1); while (_local10 > -1) { if ((_local11[_local10] is _filters[_local5].type)){ _local11.splice(_local10, 1, _filters[_local5].filter); break; }; _local10--; }; _local5++; }; this.target.filters = _local11; }; if (_hst){ _local5 = 0; while (_local5 < _subTweens.length) { _subTweens[_local5].proxy(_subTweens[_local5]); _local5++; }; }; if (this.vars.onUpdate != null){ this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams); }; if (_local2 == this.duration){ super.complete(true); }; } private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{ var _local6:Object; var _local7:Array; var _local8:int; var _local9:String; var _local10:Number; var _local11:Object; var _local12:Object; _local6 = {type:_arg3}; _local7 = this.target.filters; _local8 = 0; while (_local8 < _local7.length) { if ((_local7[_local8] is _arg3)){ _local6.filter = _local7[_local8]; break; }; _local8++; }; if (_local6.filter == undefined){ _local6.filter = _arg5; _local7.push(_local6.filter); this.target.filters = _local7; }; _local8 = 0; while (_local8 < _arg4.length) { _local9 = _arg4[_local8]; if (_arg2[_local9] != undefined){ if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){ _local11 = HEXtoRGB(_local6.filter[_local9]); _local12 = HEXtoRGB(_arg2[_local9]); _clrsa.push({f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)}); } else { if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){ _local6.filter[_local9] = _arg2[_local9]; } else { if (typeof(_arg2[_local9]) == "number"){ _local10 = (_arg2[_local9] - _local6.filter[_local9]); } else { _local10 = Number(_arg2[_local9]); }; this.tweens[(("tfl_" + _arg1) + _local8)] = {o:_local6.filter, p:_local9, s:_local6.filter[_local9], c:_local10}; }; }; }; _local8++; }; _filters.push(_local6); _hf = true; return (_local6); } public function HEXtoRGB(_arg1:Number):Object{ return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)}); } public static function setContrast(_arg1:Array, _arg2:Number):Array{ var _local3:Array; if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 + 0.01); _local3 = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function applyMatrix(_arg1:Array, _arg2:Array):Array{ var _local3:Array; var _local4:int; var _local5:int; var _local6:int; var _local7:int; if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (_arg2); }; _local3 = []; _local4 = 0; _local5 = 0; _local6 = 0; while (_local6 < 4) { _local7 = 0; while (_local7 < 5) { if (_local7 == 4){ _local5 = _arg1[(_local4 + 4)]; } else { _local5 = 0; }; _local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5); _local7++; }; _local4 = (_local4 + 5); _local6++; }; return (_local3); } public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=100):Array{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; if (isNaN(_arg2)){ return (_arg1); }; if (isNaN(_arg3)){ _arg3 = 1; }; _local4 = (((_arg2 >> 16) & 0xFF) / 0xFF); _local5 = (((_arg2 >> 8) & 0xFF) / 0xFF); _local6 = ((_arg2 & 0xFF) / 0xFF); _local7 = (1 - _arg3); _local8 = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local8, _arg1)); } public static function setBrightness(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = ((_arg2 * 100) - 100); return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1)); } public static function setSaturation(_arg1:Array, _arg2:Number):Array{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Array; if (isNaN(_arg2)){ return (_arg1); }; _local3 = (1 - _arg2); _local4 = (_local3 * _lumR); _local5 = (_local3 * _lumG); _local6 = (_local3 * _lumB); _local7 = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local7, _arg1)); } public static function from(_arg1:DisplayObject, _arg2:Number, _arg3:Object):TweenFilterLite{ _arg3.runBackwards = true; return (new TweenFilterLite(_arg1, _arg2, _arg3)); } public static function setThreshold(_arg1:Array, _arg2:Number):Array{ var _local3:Array; if (isNaN(_arg2)){ return (_arg1); }; _local3 = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function setHue(_arg1:Array, _arg2:Number):Array{ var _local3:Number; var _local4:Number; var _local5:Array; if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 * (Math.PI / 180)); _local3 = Math.cos(_arg2); _local4 = Math.sin(_arg2); _local5 = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; return (applyMatrix(_local5, _arg1)); } public static function to(_arg1:DisplayObject, _arg2:Number, _arg3:Object):TweenFilterLite{ return (new TweenFilterLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 8
//TweenLite (gs.TweenLite) package gs { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.media.*; import flash.geom.*; public class TweenLite { public var delay:Number; protected var _initted:Boolean; protected var _subTweens:Array; public var startTime:uint; public var target:Object; public var duration:Number; protected var _hst:Boolean; protected var _active:Boolean; public var vars:Object; public var tweens:Object; public var initTime:uint; protected static var _all:Dictionary = new Dictionary(); private static var _timer:Timer = new Timer(2000); private static var _sprite:Sprite = new Sprite(); public static var killDelayedCallsTo:Function = killTweensOf; public static var version:Number = 6.05; private static var _listening:Boolean; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ if (_arg1 == null){ return; }; if (((((!((_arg3.overwrite == false))) && (!((_arg1 == null))))) || ((_all[_arg1] == undefined)))){ delete _all[_arg1]; _all[_arg1] = new Dictionary(); }; _all[_arg1][this] = this; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); this.target = _arg1; if (!(this.vars.ease is Function)){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; if (this.vars.mcColor != null){ this.vars.tint = this.vars.mcColor; }; if (!isNaN(Number(this.vars.autoAlpha))){ this.vars.alpha = Number(this.vars.autoAlpha); }; this.tweens = {}; _subTweens = []; _hst = (_initted = false); _active = (((_arg2 == 0)) && ((this.delay == 0))); this.initTime = getTimer(); if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){ initTweenVals(); this.startTime = getTimer(); if (_active){ render((this.startTime + 1)); } else { render(this.startTime); }; }; if (((!(_listening)) && (!(_active)))){ _sprite.addEventListener(Event.ENTER_FRAME, executeAll); _timer.addEventListener("timer", killGarbage); _timer.start(); _listening = true; }; } protected function addSubTween(_arg1:Function, _arg2:Object, _arg3:Object, _arg4:Object=null):void{ var _local5:String; _subTweens.push({proxy:_arg1, target:_arg2, info:_arg4}); for (_local5 in _arg3) { if (_arg2.hasOwnProperty(_local5)){ if (typeof(_arg3[_local5]) == "number"){ this.tweens[((("st" + _subTweens.length) + "_") + _local5)] = {o:_arg2, p:_local5, s:_arg2[_local5], c:(_arg3[_local5] - _arg2[_local5])}; } else { this.tweens[((("st" + _subTweens.length) + "_") + _local5)] = {o:_arg2, p:_local5, s:_arg2[_local5], c:Number(_arg3[_local5])}; }; }; }; _hst = true; } public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:Boolean; var _local4:String; var _local5:Array; var _local6:int; var _local7:ColorTransform; var _local8:ColorTransform; var _local9:Object; _local3 = (this.target is DisplayObject); if ((this.target is Array)){ _local5 = ((this.vars.endArray) || ([])); _local6 = 0; while (_local6 < _local5.length) { if (((!((this.target[_local6] == _local5[_local6]))) && (!((this.target[_local6] == undefined))))){ this.tweens[_local6.toString()] = {o:this.target, p:_local6.toString(), s:this.target[_local6], c:(_local5[_local6] - this.target[_local6])}; }; _local6++; }; } else { for (_local4 in this.vars) { if ((((((((((((((((((((((((((((((((((((((_local4 == "ease")) || ((_local4 == "delay")))) || ((_local4 == "overwrite")))) || ((_local4 == "onComplete")))) || ((_local4 == "onCompleteParams")))) || ((_local4 == "onCompleteScope")))) || ((_local4 == "runBackwards")))) || ((_local4 == "onUpdate")))) || ((_local4 == "onUpdateParams")))) || ((_local4 == "onUpdateScope")))) || ((_local4 == "autoAlpha")))) || ((_local4 == "onStart")))) || ((_local4 == "onStartParams")))) || ((_local4 == "onStartScope")))) || ((_local4 == "renderOnStart")))) || ((_local4 == "easeParams")))) || ((_local4 == "mcColor")))) || ((_local4 == "type")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local4) + " ")) == -1))))))){ } else { if ((((_local4 == "tint")) && (_local3))){ _local7 = this.target.transform.colorTransform; _local8 = new ColorTransform(); if (this.vars.alpha != undefined){ _local8.alphaMultiplier = this.vars.alpha; delete this.vars.alpha; delete this.tweens.alpha; } else { _local8.alphaMultiplier = this.target.alpha; }; if (((!((this.vars[_local4] == null))) && (!((this.vars[_local4] == ""))))){ _local8.color = this.vars[_local4]; }; addSubTween(tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8}); } else { if ((((_local4 == "frame")) && (_local3))){ addSubTween(frameProxy, {frame:this.target.currentFrame}, {frame:this.vars[_local4]}, {target:this.target}); } else { if ((((_local4 == "volume")) && (((_local3) || ((this.target is SoundChannel)))))){ addSubTween(volumeProxy, this.target.soundTransform, {volume:this.vars[_local4]}, {target:this.target}); } else { if (this.target.hasOwnProperty(_local4)){ if (typeof(this.vars[_local4]) == "number"){ this.tweens[_local4] = {o:this.target, p:_local4, s:this.target[_local4], c:(this.vars[_local4] - this.target[_local4])}; } else { this.tweens[_local4] = {o:this.target, p:_local4, s:this.target[_local4], c:Number(this.vars[_local4])}; }; }; }; }; }; }; }; }; if (this.vars.runBackwards == true){ for (_local4 in this.tweens) { _local9 = this.tweens[_local4]; this.tweens[_local4].s = (_local9.s + _local9.c); _local9.c = (_local9.c * -1); }; }; if (typeof(this.vars.autoAlpha) == "number"){ this.target.visible = !((((this.vars.runBackwards == true)) && ((this.target.alpha == 0)))); }; _initted = true; } public function get active():Boolean{ if (_active){ return (true); }; if (((getTimer() - this.initTime) / 1000) > this.delay){ _active = true; this.startTime = (this.initTime + (this.delay * 1000)); if (!_initted){ initTweenVals(); } else { if (typeof(this.vars.autoAlpha) == "number"){ this.target.visible = true; }; }; if (this.vars.onStart != null){ this.vars.onStart.apply(this.vars.onStartScope, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; return (true); //unresolved jump }; return (false); } public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:String; var _local6:uint; _local2 = ((_arg1 - this.startTime) / 1000); if (_local2 > this.duration){ _local2 = this.duration; }; _local3 = this.vars.ease(_local2, 0, 1, this.duration); for (_local5 in this.tweens) { _local4 = this.tweens[_local5]; _local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c)); }; if (_hst){ _local6 = 0; while (_local6 < _subTweens.length) { _subTweens[_local6].proxy(_subTweens[_local6]); _local6++; }; }; if (this.vars.onUpdate != null){ this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function complete(_arg1:Boolean=false):void{ if (!_arg1){ if (!_initted){ initTweenVals(); }; this.startTime = 0; render((this.duration * 1000)); return; }; if ((((typeof(this.vars.autoAlpha) == "number")) && ((this.target.alpha == 0)))){ this.target.visible = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(this.vars.onCompleteScope, this.vars.onCompleteParams); }; removeTween(this); } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, onCompleteScope:_arg4, overwrite:false})); } public static function frameProxy(_arg1:Object):void{ _arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame)); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function executeAll(_arg1:Event=null):void{ var _local2:Dictionary; var _local3:uint; var _local4:Object; var _local5:Object; _local2 = _all; _local3 = getTimer(); for (_local4 in _local2) { for (_local5 in _local2[_local4]) { if (((!((_local2[_local4][_local5] == undefined))) && (_local2[_local4][_local5].active))){ _local2[_local4][_local5].render(_local3); if (_local2[_local4] == undefined){ break; }; }; }; }; } public static function defaultEase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function volumeProxy(_arg1:Object):void{ _arg1.info.target.soundTransform = _arg1.target; } public static function removeTween(_arg1:TweenLite=null):void{ if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){ delete _all[_arg1.target][_arg1]; }; } public static function killGarbage(_arg1:TimerEvent):void{ var _local2:uint; var _local3:Boolean; var _local4:Object; var _local5:Object; var _local6:Object; _local2 = 0; for (_local4 in _all) { _local3 = false; for (_local5 in _all[_local4]) { _local3 = true; break; }; if (!_local3){ delete _all[_local4]; } else { _local2++; }; }; if (_local2 == 0){ _sprite.removeEventListener(Event.ENTER_FRAME, executeAll); _timer.removeEventListener("timer", killGarbage); _timer.stop(); _listening = false; }; } public static function tintProxy(_arg1:Object):void{ var _local2:Number; var _local3:Number; _local2 = _arg1.target.progress; _local3 = (1 - _local2); _arg1.info.target.transform.colorTransform = new ColorTransform(((_arg1.info.color.redMultiplier * _local3) + (_arg1.info.endColor.redMultiplier * _local2)), ((_arg1.info.color.greenMultiplier * _local3) + (_arg1.info.endColor.greenMultiplier * _local2)), ((_arg1.info.color.blueMultiplier * _local3) + (_arg1.info.endColor.blueMultiplier * _local2)), ((_arg1.info.color.alphaMultiplier * _local3) + (_arg1.info.endColor.alphaMultiplier * _local2)), ((_arg1.info.color.redOffset * _local3) + (_arg1.info.endColor.redOffset * _local2)), ((_arg1.info.color.greenOffset * _local3) + (_arg1.info.endColor.greenOffset * _local2)), ((_arg1.info.color.blueOffset * _local3) + (_arg1.info.endColor.blueOffset * _local2)), ((_arg1.info.color.alphaOffset * _local3) + (_arg1.info.endColor.alphaOffset * _local2))); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Object; var _local4:*; if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){ if (_arg2){ _local3 = _all[_arg1]; for (_local4 in _local3) { _local3[_local4].complete(false); }; }; delete _all[_arg1]; }; } } }//package gs
Section 9
//MochiScores (mochi.MochiScores) package mochi { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var options = _arg1; if (options != null){ if (options.clip != null){ if ((options.clip is Sprite)){ MochiServices.setContainer(options.clip); }; delete options.clip; } else { MochiServices.setContainer(); }; MochiServices.stayOnTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; _local2 = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (_arg1 != null){ if (_arg1.error != null){ if (_arg1.error == true){ if (onErrorHandler != null){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; }; }; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi
Section 10
//MochiServices (mochi.MochiServices) package mochi { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; private static var _sendChannel:LocalConnection; private static var _rcvChannelName:String; private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _listenChannel:LocalConnection; private static var _timer:Timer; private static var _sendChannelName:String; private static var _startTime:Number; private static var _connecting:Boolean = false; public static var onError:Object; private static var _listenChannelName:String = "__mochiservices"; private static var _rcvChannel:LocalConnection; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ onError("NotConnected"); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } public static function get connected():Boolean{ return (_connected); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (_clip != null){ if (_clip._queue != null){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function get childClip():Object{ return (_clip); } public static function get id():String{ return (_id); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function getVersion():String{ return ("1.31"); } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _listenChannel.close(); _rcvChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; Security.allowDomain("*"); Security.allowInsecureDomain("*"); if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; return (_local2); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } private static function initComChannels():void{ if (!_connected){ _sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion()}); _rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _clip.onReceive = function (_arg1:Object):void{ var cb:String; var cblst:Object; var method:*; var methodName:String; var obj:Object; var pkg = _arg1; cb = pkg.callbackID; cblst = this.client._callbacks[cb]; if (!cblst){ return; }; method = cblst.callbackMethod; methodName = ""; obj = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete this.client._callbacks[cb]; }; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; _rcvChannel.connect(_rcvChannelName); trace("connected!"); _connecting = false; _connected = true; _listenChannel.close(); while (_clip._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function listen():void{ _listenChannel = new LocalConnection(); _listenChannel.client = _clip; _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; _listenChannel.allowDomain("*", "localhost"); _listenChannel.allowInsecureDomain("*", "localhost"); _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } public static function get clip():Object{ return (_container); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); _rcvChannelName = _arg1; initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var clipname:String; var f:Function; var req:URLRequest; var id = _arg1; var clip = _arg2; clipname = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; MochiServices.allowDomains(_gatewayURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); _timer = new Timer(1000, 0); _startTime = getTimer(); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); f = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); req = new URLRequest(_gatewayURL); _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _rcvChannel = new LocalConnection(); _rcvChannel.allowDomain("*", "localhost"); _rcvChannel.allowInsecureDomain("*", "localhost"); _rcvChannel.client = _clip; _clip._nextcallbackID = 0; _clip._callbacks = {}; listen(); return (_clip); } public static function bringToTop(_arg1:Event):void{ var e = _arg1; if (MochiServices.clip != null){ if (MochiServices.childClip != null){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; }; } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var mc:MovieClip; var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; mc = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function connectWait(_arg1:TimerEvent):void{ if ((getTimer() - _startTime) > 10000){ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _timer.stop(); }; } } }//package mochi
Section 11
//GameModeSelection_10 (Snaketastic_fla.GameModeSelection_10) package Snaketastic_fla { import flash.display.*; public dynamic class GameModeSelection_10 extends MovieClip { public var Keys:MovieClip; public var BG:MovieClip; public var Texts:MovieClip; } }//package Snaketastic_fla
Section 12
//GameModeSelection_21 (Snaketastic_fla.GameModeSelection_21) package Snaketastic_fla { import flash.display.*; public dynamic class GameModeSelection_21 extends MovieClip { public var Keys:MovieClip; public var BG:MovieClip; public var Texts:MovieClip; } }//package Snaketastic_fla
Section 13
//ScoreBox_62 (Snaketastic_fla.ScoreBox_62) package Snaketastic_fla { import flash.display.*; import flash.text.*; public dynamic class ScoreBox_62 extends MovieClip { public var BG:MovieClip; public var TXTText:TextField; } }//package Snaketastic_fla
Section 14
//Snake_47 (Snaketastic_fla.Snake_47) package Snaketastic_fla { import flash.display.*; public dynamic class Snake_47 extends MovieClip { public function Snake_47(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Snaketastic_fla
Section 15
//Banana (Banana) package { import flash.display.*; public class Banana extends Fruit { public var Gfx:MovieClip; public function Banana(){ BasePoints = 30000; } } }//package
Section 16
//BGImage (BGImage) package { import flash.display.*; public dynamic class BGImage extends BitmapData { public function BGImage(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 17
//Cherries (Cherries) package { import flash.display.*; public class Cherries extends Fruit { public var Gfx:MovieClip; public function Cherries(){ BasePoints = 10000; } } }//package
Section 18
//CInfoBar (CInfoBar) package { import flash.events.*; import flash.display.*; import fl.transitions.easing.*; public class CInfoBar extends Sprite { private var PixelNumbers:Array; var Digits:Sprite; public function CInfoBar(){ PixelNumbers = new Array(["111", "101", "101", "101", "111"], ["010", "110", "010", "010", "111"], ["110", "001", "010", "100", "111"], ["111", "001", "011", "001", "111"], ["001", "011", "101", "111", "001"], ["111", "100", "110", "001", "110"], ["111", "100", "111", "101", "111"], ["111", "001", "010", "010", "010"], ["111", "101", "111", "101", "111"], ["111", "101", "111", "001", "111"]); super(); } public function elScoreUpdated(_arg1:Event=null){ var _local2:String; var _local3:uint; var _local4:Sprite; var _local5:uint; var _local6:*; var _local7:*; if (_arg1 == null){ _local2 = "00000000"; } else { _local2 = _arg1.target.Score.toString(); _local3 = _local2.length; while (_local3 < 8) { _local2 = ("0" + _local2); _local3++; }; }; if (((Digits) && (contains(Digits)))){ removeChild(Digits); }; Digits = new Sprite(); _local3 = 0; while (_local3 < _local2.length) { _local4 = new Sprite(); _local5 = uint(_local2.charAt(_local3)); _local4.x = (_local3 * 40); _local4.graphics.beginFill(0, 0.1); _local6 = 0; while (_local6 < PixelNumbers[_local5].length) { _local7 = 0; while (_local7 < PixelNumbers[_local5].length) { if (PixelNumbers[_local5][_local6].charAt(_local7) == "1"){ _local4.graphics.drawRect((_local7 * 10), (_local6 * 10), 10, 10); }; _local7++; }; _local6++; }; _local4.graphics.endFill(); Digits.addChild(_local4); _local3++; }; Digits.x = (7 * 10); Digits.y = (19 * 10); addChild(Digits); } public function elGameStarted(_arg1:Event){ elScoreUpdated(); } } }//package
Section 19
//CLeaderboardHeader (CLeaderboardHeader) package { import flash.display.*; public dynamic class CLeaderboardHeader extends MovieClip { } }//package
Section 20
//CMainMenuItemText (CMainMenuItemText) package { import flash.display.*; import flash.text.*; public dynamic class CMainMenuItemText extends MovieClip { public var TXTText:TextField; } }//package
Section 21
//CPellet (CPellet) package { import flash.events.*; import flash.display.*; public class CPellet extends Food { var Gfx:Sprite; public function CPellet(){ BasePoints = 100; Gfx = new Sprite(); Gfx.graphics.lineStyle(1, 0x555555); Gfx.graphics.beginFill(0); Gfx.graphics.drawCircle(0, 0, 4); Gfx.graphics.endFill(); addChild(Gfx); addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function elAddedToStage(_arg1:Event){ addEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elEnterFrame(_arg1:Event){ } private function elRemovedFromStage(_arg1:Event){ } } }//package
Section 22
//CSnake (CSnake) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.ui.*; public class CSnake extends Sprite { public var Length:int; private var MovementDelay:uint; private var Direction:Number; public var Gfx:Sprite; private var MovementTimer:Timer; public var Parts:Array; public var Movement:Array; private var DirectionQueue:Array; public function CSnake(){ Key.initialize(stage); Length = 5; Direction = 0; MovementDelay = 60; Movement = new Array(); Parts = new Array(); addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); Gfx = new Sprite(); Gfx.graphics.beginFill(0); Gfx.graphics.drawRect(-4.5, -4.5, 9, 9); Gfx.graphics.endFill(); addChild(Gfx); addEventListener("SnakeHitWall", elHitWall); } public function SetMovementDelay(_arg1:uint){ MovementDelay = _arg1; MovementTimer.removeEventListener(TimerEvent.TIMER, Move); MovementTimer = new Timer(MovementDelay); MovementTimer.addEventListener(TimerEvent.TIMER, Move); MovementTimer.start(); } public function elFoodWasEaten(_arg1:Event){ var _local2:*; _local2 = _arg1.target; if ((_local2 is CPellet)){ Length = (Length + 3); }; } private function elAddedToStage(_arg1:Event){ stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); DirectionQueue = new Array(); MovementTimer = new Timer(MovementDelay); MovementTimer.addEventListener(TimerEvent.TIMER, Move); MovementTimer.start(); } public function elHitWall(_arg1:Event){ Immobilize(); } public function Immobilize(_arg1:Event=null){ if (stage){ stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); }; if (MovementTimer){ MovementTimer.removeEventListener(TimerEvent.TIMER, Move); }; } public function Mobilize(_arg1:Event=null){ stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); if (MovementTimer){ MovementTimer.addEventListener(TimerEvent.TIMER, Move); }; } private function elRemovedFromStage(_arg1:Event){ MovementTimer.removeEventListener(TimerEvent.TIMER, Move); stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); } private function Move(_arg1:TimerEvent){ var _local2:CSnakePart; if (DirectionQueue.length > 0){ Direction = DirectionQueue[0]; DirectionQueue.shift(); }; x = (x + (int(Math.cos(((Direction / 180) * Math.PI))) * 10)); y = (y + (int(Math.sin(((Direction / 180) * Math.PI))) * 10)); Movement.push({X:x, Y:y}); if (Movement.length > 1){ _local2 = new CSnakePart(); _local2.x = Movement[(Movement.length - 2)].X; _local2.y = Movement[(Movement.length - 2)].Y; Parts.push(_local2); GameMode(Snaketastic.CurrentGameHolder).SnakePartsHolder.addChild(_local2); if (Movement.length > Length){ Parts[0].Remove(); Parts.shift(); Movement.shift(); }; if ((((((((x > 440)) || ((x < 10)))) || ((y < 10)))) || ((y > 440)))){ dispatchEvent(new Event("SnakeHitWall")); }; }; } private function elKeyDown(_arg1:KeyboardEvent){ if (_arg1.keyCode == Keyboard.LEFT){ DirectionQueue.push(180); } else { if (_arg1.keyCode == Keyboard.RIGHT){ DirectionQueue.push(0); } else { if (_arg1.keyCode == Keyboard.UP){ DirectionQueue.push(270); } else { if (_arg1.keyCode == Keyboard.DOWN){ DirectionQueue.push(90); }; }; }; }; } } }//package
Section 23
//CSnakePart (CSnakePart) package { import flash.events.*; import flash.display.*; import fl.transitions.*; public class CSnakePart extends MovieClip { var XSTween:Tween; var YSTween:Tween; var Gfx:Sprite; public function CSnakePart(){ Gfx = new Sprite(); Gfx.graphics.beginFill(0); Gfx.graphics.drawRect(-4.5, -4.5, 9, 9); Gfx.graphics.endFill(); addChild(Gfx); addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function RemoveFromStage(){ parent.removeChild(this); } private function elAddedToStage(_arg1:Event){ addEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elEnterFrame(_arg1:Event){ } public function Remove(){ RemoveFromStage(); } private function elRemovedFromStage(_arg1:Event){ removeEventListener(Event.ADDED_TO_STAGE, elAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); removeEventListener(Event.ENTER_FRAME, elEnterFrame); } } }//package
Section 24
//DialogBox (DialogBox) package { import gs.*; import flash.events.*; import flash.display.*; import flash.filters.*; import fl.transitions.easing.*; import flash.text.*; import flash.ui.*; public class DialogBox extends Sprite { var Responses:Array; var Title:String; var BG:Sprite; var HighlightedButton:DialogBoxButton; var Buttons:Sprite; var Content:Sprite; var OnCancel:Function; var HighlightedButtonIndex:uint; var ButtonSprites:Array; public function DialogBox(_arg1:String, _arg2:Array, _arg3:Function=null){ var _local4:uint; var _local5:DialogBoxTitle; var _local6:DialogBoxButton; var _local7:Sprite; var _local8:Sprite; super(); Title = _arg1; Responses = _arg2; OnCancel = _arg3; addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); Content = new Sprite(); Buttons = new Sprite(); ButtonSprites = new Array(); _local4 = 0; while (_local4 < Responses.length) { _local6 = new DialogBoxButton(); _local6.TXTText.text = Responses[_local4].Text; _local6.TXTText.autoSize = TextFieldAutoSize.LEFT; _local7 = new Sprite(); _local7.graphics.beginFill(0); _local7.graphics.drawRoundRect(-8, -5, (_local6.TXTText.width + 16), (_local6.TXTText.height + 10), 0); _local7.graphics.endFill(); _local6.OnSelect = Responses[_local4].OnSelect; _local6.OnSelectParams = Responses[_local4].OnSelectParams; _local6.addChildAt(_local7, 0); _local8 = ButtonSprites[(ButtonSprites.length - 1)]; if (_local4 > 0){ _local6.x = ((_local8.x + _local8.width) + 10); }; ButtonSprites.push(_local6); Buttons.addChild(_local6); TweenFilterLite.to(_local6, 0, {colorMatrixFilter:{brightness:0.05}}); _local4++; }; _local5 = new DialogBoxTitle(); _local5.TXTText.text = Title; _local5.TXTText.autoSize = TextFieldAutoSize.LEFT; Content.addChild(_local5); Buttons.x = ((_local5.x + _local5.width) + 20); Content.addChild(Buttons); BG = new Sprite(); BG.graphics.beginFill(0, 0.8); BG.graphics.drawRect(-10, -15, (Content.width + 20), (Content.height + 20)); BG.graphics.endFill(); addChild(BG); HighlightedButtonIndex = 0; HighlightedButton = ButtonSprites[HighlightedButtonIndex]; TweenFilterLite.to(HighlightedButton, 0, {colorMatrixFilter:{brightness:1}}); addChild(Content); } private function RemoveFromStage(){ parent.removeChild(this); } private function elAddedToStage(_arg1:Event){ stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); } private function elRemovedFromStage(_arg1:Event){ removeEventListener(Event.ADDED_TO_STAGE, elAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); } private function elKeyDown(_arg1:KeyboardEvent){ var _local2:GlowFilter; if (_arg1.keyCode == Keyboard.LEFT){ if (HighlightedButtonIndex > 0){ TweenFilterLite.to(HighlightedButton, 0, {colorMatrixFilter:{brightness:0.05}}); HighlightedButtonIndex--; HighlightedButton = ButtonSprites[HighlightedButtonIndex]; TweenFilterLite.to(HighlightedButton, 0, {colorMatrixFilter:{brightness:1}}); }; } else { if (_arg1.keyCode == Keyboard.RIGHT){ if (HighlightedButtonIndex < (ButtonSprites.length - 1)){ TweenFilterLite.to(HighlightedButton, 0, {colorMatrixFilter:{brightness:0.05}}); HighlightedButtonIndex++; HighlightedButton = ButtonSprites[HighlightedButtonIndex]; TweenFilterLite.to(HighlightedButton, 0, {colorMatrixFilter:{brightness:1}}); }; } else { if (_arg1.keyCode == Keyboard.ENTER){ RemoveFromStage(); if (HighlightedButton.OnSelect){ if (HighlightedButton.OnSelectParams != null){ HighlightedButton.OnSelect(HighlightedButton.OnSelectParams); } else { HighlightedButton.OnSelect(); }; }; } else { if (_arg1.keyCode == Keyboard.ESCAPE){ if (OnCancel != null){ RemoveFromStage(); OnCancel(); }; }; }; }; }; } } }//package
Section 25
//DialogBoxButton (DialogBoxButton) package { import flash.display.*; import flash.text.*; public dynamic class DialogBoxButton extends MovieClip { public var TXTText:TextField; } }//package
Section 26
//DialogBoxTitle (DialogBoxTitle) package { import flash.display.*; import flash.text.*; public dynamic class DialogBoxTitle extends MovieClip { public var TXTText:TextField; } }//package
Section 27
//Food (Food) package { import flash.events.*; import flash.display.*; public class Food extends Sprite { var BasePoints:int; public function Food(){ addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function elAddedToStage(_arg1:Event){ Mobilize(); } public function Mobilize(){ addEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elEnterFrame(_arg1:Event){ if ((((((((x < -100)) || ((x > (stage.stageWidth + 100))))) || ((y < -100)))) || ((y > (stage.stageHeight + 100))))){ dispatchEvent(new Event("FoodLeftStage")); parent.removeChild(this); }; } public function Immobilize(){ removeEventListener(Event.ENTER_FRAME, elEnterFrame); } public function Remove(){ this.dispatchEvent(new Event("FoodWasEaten")); parent.removeChild(this); } private function elRemovedFromStage(_arg1:Event){ removeEventListener(Event.ADDED_TO_STAGE, elAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); removeEventListener(Event.ENTER_FRAME, elEnterFrame); } } }//package
Section 28
//Fruit (Fruit) package { import flash.events.*; public class Fruit extends Food { var RotationIterator:Number; var Speed:int; var Direction:int; public function Fruit(){ RotationIterator = 0; Speed = 2; addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function elAddedToStage(_arg1:Event){ var _local2:uint; _local2 = Math.floor((Math.random() * 4)); switch (_local2){ case 0: x = stage.stageWidth; y = ((Math.random() * (stage.stageHeight - 60)) + 30); Direction = 180; break; case 1: x = ((Math.random() * (stage.stageWidth - 60)) + 30); y = stage.stageHeight; Direction = 270; break; case 2: x = 0; y = ((Math.random() * (stage.stageHeight - 60)) + 30); Direction = 0; break; case 3: x = ((Math.random() * (stage.stageWidth - 60)) + 30); y = 0; Direction = 90; break; }; addEventListener(Event.ENTER_FRAME, elEnterFrame); } override public function Mobilize(){ addEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elEnterFrame(_arg1:Event){ RotationIterator = (RotationIterator + 0.5); rotation = (Math.sin(RotationIterator) * 10); x = (x + (Math.cos(((Direction / 180) * Math.PI)) * Speed)); y = (y + (Math.sin(((Direction / 180) * Math.PI)) * Speed)); } override public function Immobilize(){ removeEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elRemovedFromStage(_arg1:Event){ } } }//package
Section 29
//GameMode (GameMode) package { import flash.display.*; public class GameMode extends Sprite { public var BG:Sprite; public var Content:Sprite; public var SnakePartsHolder:Sprite; public var FoodHolder:Sprite; public var Multiplier:uint; } }//package
Section 30
//GameModeAdvanced (GameModeAdvanced) package { import gs.*; import flash.events.*; import flash.display.*; import flash.filters.*; import fl.transitions.easing.*; import mochi.*; import flash.utils.*; import flash.ui.*; public class GameModeAdvanced extends GameMode { private var FruitLevel:uint; private var Fruits:Array; var DropIndex; public var Snake1:Snake; private var SG1:ShatteringGlass; private var GameTimer:Timer; private var LeaderboardHolder:MovieClip; var DropTimer:Timer; private var InfoBar1:InfoBar; public var Score:uint; var FruitMultiplierInterval:uint; public var GameTime:uint; public function GameModeAdvanced(){ Fruits = new Array("Cherries", "Grapes", "Banana", "Lemon", "Strawberry", "Watermelon"); addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function elKeyDown(_arg1:KeyboardEvent){ var _local2:DialogBox; switch (_arg1.keyCode){ case Keyboard.ESCAPE: Deactivate(); _local2 = new DialogBox("ABORT GAME?", new Array({Text:"NO", OnSelect:Activate}, {Text:"YES", OnSelect:Stop}), Activate); _local2.x = (((stage.stageWidth / 2) - (_local2.width / 2)) + 10); _local2.y = ((stage.stageHeight / 2) - (_local2.height / 2)); addChild(_local2); break; }; } private function AddFruit(){ var _local1:uint; var _local2:Class; var _local3:*; _local1 = FruitLevel; if (_local1 > (Fruits.length - 1)){ _local1 = (Fruits.length - 1); }; _local2 = (getDefinitionByName(Fruits[_local1]) as Class); _local3 = new (_local2); _local3.addEventListener("FoodWasEaten", elFoodWasEaten); _local3.addEventListener("FoodWasEaten", Snake1.elFoodWasEaten); _local3.addEventListener("FoodWasEaten", InfoBar1.elFoodWasEaten); _local3.addEventListener("FoodLeftStage", elFoodLeftStage); FoodHolder.addChild(_local3); } private function elFoodLeftStage(_arg1:Event){ var _local2:*; _local2 = _arg1.target; } public function Activate(){ var _local1:*; Snake1.Mobilize(); stage.focus = this; InfoBar1.addEventListener("MultiplierReset", elMultiplierReset); addEventListener("GameStarted", InfoBar1.elGameStarted); addEventListener("GameTimeUpdated", InfoBar1.elGameTimeUpdated); addEventListener("ScoreUpdated", InfoBar1.elScoreUpdated); addEventListener("SnakeAteItself", Snake1.Immobilize); addEventListener(Event.ENTER_FRAME, elEnterFrame); stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); if (GameTimer){ GameTimer.addEventListener(TimerEvent.TIMER, UpdateGameTime); GameTimer.start(); }; _local1 = 0; while (_local1 < FoodHolder.numChildren) { Food(FoodHolder.getChildAt(_local1)).Mobilize(); _local1++; }; if (InfoBar1.BarWTween){ InfoBar1.BarWTween.resume(); }; } private function Stop(){ if (LeaderboardHolder){ }; Deactivate(); dispatchEvent(new Event("ScreenCancelled")); } private function elResize(_arg1:Event=null){ var _local2:Sprite; _local2 = new Sprite(); _local2.graphics.beginBitmapFill(new BGImage(0, 0)); _local2.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); _local2.graphics.endFill(); BG.addChild(_local2); } public function Start(){ BG = new Sprite(); FoodHolder = new Sprite(); SnakePartsHolder = new Sprite(); Content = new Sprite(); InfoBar1 = new InfoBar(); InfoBar1.y = (stage.stageHeight - 25); trace(InfoBar1.y); InfoBar1.x = 30; Snake1 = new Snake(); Snake1.x = (stage.stageWidth / 2); Snake1.y = (stage.stageHeight / 2); Content.addChild(BG); Content.addChild(InfoBar1); Content.addChild(FoodHolder); Content.addChild(SnakePartsHolder); Content.addChild(Snake1); GameTimer = new Timer(1000); addChild(Content); Multiplier = 1; FruitMultiplierInterval = 10; FruitLevel = 0; AddPellet(); Activate(); GameTimer.start(); dispatchEvent(new Event("GameStarted")); elResize(); } private function ShatterGame(_arg1:MouseEvent=null){ var _local2:Sprite; var _local3:*; var _local4:LeaderboardHeader; var _local5:GlowFilter; var _local6:GlowFilter; _local2 = new Sprite(); _local2.graphics.beginFill(0xFFFFFF); _local2.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); _local2.graphics.endFill(); TweenLite.to(_local2, 2, {autoAlpha:0, ease:Strong.easeOut}); SG1 = new ShatteringGlass(); SG1.Shatter(Content, {CenterX:(Snake1.x + (Math.cos(((Snake1.rotation / 180) * Math.PI)) * 20)), CenterY:(Snake1.y + (Math.sin(((Snake1.rotation / 180) * Math.PI)) * 20))}); SG1.DropShards({InitialDelay:1, Interval:0.2}); addChild(_local2); _local3 = 0; while (_local3 < SG1.ShardHolders.length) { _local5 = new GlowFilter(0xFFFFFF, 1, 5, 5, 5, 2); _local6 = new GlowFilter(0, 0.3, 2, 2, 3, 1); SG1.ShardHolders[_local3].filters = [_local6, _local5]; _local3++; }; SoundManager.PlaySound("Glass2"); LeaderboardHolder = new MovieClip(); _local4 = new LeaderboardHeader(); LeaderboardHolder.addChild(_local4); addChildAt(LeaderboardHolder, 0); MochiScores.showLeaderboard({boardID:"35cf964bc9355425", score:Score, clip:LeaderboardHolder, onClose:Stop}); } private function elMultiplierReset(_arg1:Event){ Multiplier = 1; FruitLevel = 0; } private function elAddedToStage(_arg1:Event){ } private function elFoodWasEaten(_arg1:Event){ var _local2:ScoreBox; var _local3:uint; SoundManager.PlaySound("Gulp"); _local2 = new ScoreBox(); if ((_arg1.target is Pellet)){ _local3 = (_arg1.target.BasePoints * Multiplier); } else { if ((_arg1.target is Fruit)){ _local3 = _arg1.target.BasePoints; }; }; _local2.Text.TXTText.text = _local3.toString(); _local2.x = _arg1.target.x; _local2.y = _arg1.target.y; _local2.scaleX = 0.85; _local2.scaleY = 0.85; _local2.rotation = ((Math.random() * 20) - 10); Content.addChild(_local2); Score = (Score + _local3); Multiplier++; if ((_arg1.target is Pellet)){ AddPellet(); if ((Multiplier % FruitMultiplierInterval) == 0){ AddFruit(); FruitLevel++; }; }; dispatchEvent(new Event("ScoreUpdated")); } private function elEnterFrame(_arg1:Event){ var _local2:*; var _local3:Boolean; var _local4:*; var _local5:*; _local2 = 0; while (_local2 < FoodHolder.numChildren) { _local4 = FoodHolder.getChildAt(_local2); if (_local4.hitTestObject(Snake1.CollisionArea)){ _local4.Remove(); }; _local2++; }; _local3 = false; _local2 = 0; while (_local2 < SnakePartsHolder.numChildren) { _local5 = SnakePartsHolder.getChildAt(_local2); if (_local5.hitTestPoint((Snake1.x + (Math.cos(((Snake1.rotation / 180) * Math.PI)) * 20)), (Snake1.y + (Math.sin(((Snake1.rotation / 180) * Math.PI)) * 20)))){ _local3 = true; }; _local2++; }; if (_local3){ removeEventListener(Event.ENTER_FRAME, elEnterFrame); dispatchEvent(new Event("SnakeAteItself")); Deactivate(); ShatterGame(); }; } private function AddPellet(){ var _local1:Pellet; _local1 = new Pellet(); _local1.x = ((Math.random() * (stage.stageWidth - 80)) + 40); _local1.y = ((Math.random() * (stage.stageHeight - 80)) + 40); _local1.addEventListener("FoodWasEaten", elFoodWasEaten, false, 0, true); _local1.addEventListener("FoodWasEaten", Snake1.elFoodWasEaten, false, 0, true); _local1.addEventListener("FoodWasEaten", InfoBar1.elFoodWasEaten, false, 0, true); FoodHolder.addChild(_local1); } public function Deactivate(){ var _local1:*; Snake1.Immobilize(); removeEventListener("GameStarted", InfoBar1.elGameStarted); removeEventListener("GameTimeUpdated", InfoBar1.elGameTimeUpdated); removeEventListener("ScoreUpdated", InfoBar1.elScoreUpdated); removeEventListener("SnakeAteItself", Snake1.Immobilize); InfoBar1.removeEventListener("MultiplierReset", elMultiplierReset); stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); removeEventListener(Event.ENTER_FRAME, elEnterFrame); if (GameTimer){ GameTimer.removeEventListener(TimerEvent.TIMER, UpdateGameTime); GameTimer.stop(); }; _local1 = 0; while (_local1 < FoodHolder.numChildren) { Food(FoodHolder.getChildAt(_local1)).Immobilize(); _local1++; }; if (InfoBar1.BarWTween){ InfoBar1.BarWTween.stop(); }; } private function elRemovedFromStage(_arg1:Event){ } private function UpdateGameTime(_arg1:TimerEvent){ GameTime++; dispatchEvent(new Event("GameTimeUpdated")); } } }//package
Section 31
//GameModeClassic (GameModeClassic) package { import gs.*; import flash.events.*; import flash.display.*; import flash.filters.*; import fl.transitions.easing.*; import mochi.*; import flash.utils.*; import flash.ui.*; public class GameModeClassic extends GameMode { var DropIndex; public var Snake1:CSnake; var Speed:String; private var SG1:ShatteringGlass; private var LeaderboardHolder:MovieClip; var DropTimer:Timer; private var InfoBar1:CInfoBar; public var Score:uint; public function GameModeClassic(){ addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function elKeyDown(_arg1:KeyboardEvent){ var _local2:DialogBox; switch (_arg1.keyCode){ case Keyboard.ESCAPE: Deactivate(); _local2 = new DialogBox("ABORT GAME?", new Array({Text:"NO", OnSelect:Activate}, {Text:"YES", OnSelect:Stop}), Activate); _local2.x = (((stage.stageWidth / 2) - (_local2.width / 2)) + 10); _local2.y = ((stage.stageHeight / 2) - (_local2.height / 2)); addChild(_local2); break; }; } public function PreparePlayingField(){ BG = new Sprite(); FoodHolder = new Sprite(); SnakePartsHolder = new Sprite(); Content = new Sprite(); InfoBar1 = new CInfoBar(); Snake1 = new CSnake(); Snake1.x = ((10 * 10) + 5); Snake1.y = ((21 * 10) + 5); Content.addChild(BG); Content.addChild(SnakePartsHolder); Content.addChild(FoodHolder); Content.addChild(Snake1); addChild(Content); Multiplier = 1; elResize(); Deactivate(); } public function Activate(){ Snake1.Mobilize(); stage.focus = this; addEventListener("GameStarted", InfoBar1.elGameStarted); stage.addEventListener(KeyboardEvent.KEY_DOWN, this.elKeyDown); addEventListener("ScoreUpdated", InfoBar1.elScoreUpdated); addEventListener("SnakeAteItself", Snake1.Immobilize); addEventListener(Event.ENTER_FRAME, elEnterFrame); } private function Stop(){ if (LeaderboardHolder){ }; Deactivate(); dispatchEvent(new Event("ScreenCancelled")); } private function elSnakeHitWall(_arg1:Event){ removeEventListener(Event.ENTER_FRAME, elEnterFrame); ShatterGame(); } private function elResize(_arg1:Event=null){ var _local2:Sprite; var _local3:Sprite; var _local4:uint; var _local5:Sprite; var _local6:Sprite; _local2 = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); _local2.graphics.endFill(); BG.addChild(_local2); _local3 = new Sprite(); _local3.graphics.lineStyle(1, 0xFFFFFF, 0.6); _local4 = 0; while (_local4 < 450) { _local3.graphics.moveTo(_local4, 0); _local3.graphics.lineTo(_local4, 450); _local4 = (_local4 + 10); }; _local4 = 0; while (_local4 < 450) { _local3.graphics.moveTo(0, _local4); _local3.graphics.lineTo(450, _local4); _local4 = (_local4 + 10); }; BG.addChild(_local3); _local5 = new Sprite(); _local5.graphics.beginFill(0xFFFFFF); _local5.graphics.drawRect(10, 10, 430, 430); _local5.graphics.endFill(); BG.addChild(_local5); BG.addChild(InfoBar1); _local6 = new Sprite(); _local6.graphics.lineStyle(1, 0, 0.1); _local4 = 0; while (_local4 < 450) { _local6.graphics.moveTo(_local4, 0); _local6.graphics.lineTo(_local4, 450); _local4 = (_local4 + 10); }; _local4 = 0; while (_local4 < 450) { _local6.graphics.moveTo(0, _local4); _local6.graphics.lineTo(450, _local4); _local4 = (_local4 + 10); }; BG.addChild(_local6); } public function Start(_arg1:Object=null){ var _local2:Object; if (_arg1 != null){ _local2 = _arg1; if (_local2.Speed){ Speed = _local2.Speed; if (_local2.Speed == "Slow"){ Snake1.SetMovementDelay(110); } else { if (_local2.Speed == "Medium"){ Snake1.SetMovementDelay(70); } else { if (_local2.Speed == "Slow"){ Snake1.SetMovementDelay(45); }; }; }; }; }; addEventListener("GameStarted", InfoBar1.elGameStarted); Snake1.addEventListener("SnakeHitWall", elSnakeHitWall); AddPellet(); Activate(); dispatchEvent(new Event("GameStarted")); } private function ShatterGame(_arg1:MouseEvent=null){ var _local2:Sprite; var _local3:*; var _local4:CLeaderboardHeader; var _local5:String; var _local6:GlowFilter; var _local7:GlowFilter; _local2 = new Sprite(); _local2.graphics.beginFill(0xFFFFFF); _local2.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); _local2.graphics.endFill(); TweenLite.to(_local2, 2, {autoAlpha:0, ease:Strong.easeOut}); SG1 = new ShatteringGlass(); SG1.Shatter(Content, {CenterX:Snake1.x, CenterY:Snake1.y}); SG1.DropShards({InitialDelay:1, Interval:0.2}); addChild(_local2); _local3 = 0; while (_local3 < SG1.ShardHolders.length) { _local6 = new GlowFilter(0xFFFFFF, 1, 5, 5, 5, 2); _local7 = new GlowFilter(0, 0.3, 2, 2, 3, 1); SG1.ShardHolders[_local3].filters = [_local7, _local6]; _local3++; }; SoundManager.PlaySound("Glass2"); LeaderboardHolder = new MovieClip(); _local4 = new CLeaderboardHeader(); LeaderboardHolder.addChild(_local4); addChildAt(LeaderboardHolder, 0); if (Speed == "Slow"){ _local5 = "a97d79f3ae2b4d78"; } else { if (Speed == "Medium"){ _local5 = "5d6a8d89e412cc14"; } else { if (Speed == "Fast"){ _local5 = "bafd4129ffbdcc75"; }; }; }; MochiScores.showLeaderboard({boardID:_local5, score:Score, clip:LeaderboardHolder, onClose:Stop}); } private function elAddedToStage(_arg1:Event){ addEventListener(Event.RESIZE, elResize); } private function elFoodWasEaten(_arg1:Event){ var _local2:*; SoundManager.PlaySound("CGulp2"); _local2 = (_arg1.target.BasePoints * Multiplier); Score = (Score + _local2); if ((_arg1.target is CPellet)){ AddPellet(); }; dispatchEvent(new Event("ScoreUpdated")); } private function elEnterFrame(_arg1:Event){ var _local2:*; var _local3:Boolean; var _local4:*; var _local5:*; _local2 = 0; while (_local2 < FoodHolder.numChildren) { _local4 = FoodHolder.getChildAt(_local2); if (_local4.hitTestObject(Snake1.Gfx)){ _local4.Remove(); }; _local2++; }; _local3 = false; _local2 = 0; while (_local2 < SnakePartsHolder.numChildren) { _local5 = SnakePartsHolder.getChildAt(_local2); if (_local5.hitTestObject(Snake1)){ _local3 = true; }; _local2++; }; if (_local3){ removeEventListener(Event.ENTER_FRAME, elEnterFrame); dispatchEvent(new Event("SnakeAteItself")); ShatterGame(); }; } private function AddPellet(_arg1:int=-1, _arg2:int=-1){ var _local3:CPellet; var _local4:uint; var _local5:uint; var _local6:Boolean; var _local7:*; _local3 = new CPellet(); _local4 = 0; _local5 = 0; do { _local6 = false; if (_arg1 == -1){ _local4 = ((uint(((Math.random() * 43) + 1)) * 10) + 5); } else { _local4 = ((_arg1 * 10) + 5); }; if (_arg1 == -1){ _local5 = ((uint(((Math.random() * 43) + 1)) * 10) + 5); } else { _local5 = ((_arg2 * 10) + 5); }; _local7 = 0; while ((((_local7 < Snake1.Movement.length)) && ((_local6 == false)))) { if ((((_local4 == Snake1.Movement[_local7].X)) && ((_local5 == Snake1.Movement[_local7].Y)))){ _local6 = true; }; _local7++; }; _arg1 = -1; _arg2 = -1; } while (_local6); _local3.x = _local4; _local3.y = _local5; _local3.addEventListener("FoodWasEaten", elFoodWasEaten, false, 0, true); _local3.addEventListener("FoodWasEaten", Snake1.elFoodWasEaten, false, 0, true); FoodHolder.addChild(_local3); } public function Deactivate(){ Snake1.Immobilize(); removeEventListener("GameStarted", InfoBar1.elGameStarted); stage.removeEventListener(KeyboardEvent.KEY_DOWN, this.elKeyDown); removeEventListener("ScoreUpdated", InfoBar1.elScoreUpdated); removeEventListener("SnakeAteItself", Snake1.Immobilize); removeEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elRemovedFromStage(_arg1:Event){ } } }//package
Section 32
//GameModeSelection (GameModeSelection) package { import flash.events.*; import flash.display.*; import flash.ui.*; public class GameModeSelection extends Sprite { var ActivatedMode:String; public var Advanced:GameModeSelectionAdvanced; public var Classic:GameModeSelectionClassic; public function GameModeSelection(){ addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); } public function Show(){ Advanced.Activate(); Advanced.Show(); Classic.Deactivate(); Classic.Show(); ActivatedMode = "Advanced"; stage.focus = this; stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); addEventListener("ModeSelected", elModeSelected); addEventListener("ModeSelected", Advanced.elModeSelected); addEventListener("ModeSelected", Classic.elModeSelected); } private function elAddedToStage(_arg1:Event){ Show(); } private function Remove(){ SoundManager.StopMusic(); Advanced.Remove(); Classic.Remove(); stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); removeEventListener("ModeSelected", elModeSelected); removeEventListener("ModeSelected", Advanced.elModeSelected); removeEventListener("ModeSelected", Classic.elModeSelected); dispatchEvent(new Event("ScreenRemoved")); } private function elModeSelected(_arg1:Event){ Remove(); } public function elKeyDown(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case Keyboard.UP: if (ActivatedMode != "Advanced"){ ActivatedMode = "Advanced"; Advanced.Activate(); Classic.Deactivate(); SoundManager.PlaySound("GameModeHighlight3"); }; break; case Keyboard.DOWN: if (ActivatedMode != "Classic"){ ActivatedMode = "Classic"; Classic.Activate(); Advanced.Deactivate(); SoundManager.PlaySound("GameModeHighlight3"); }; break; case Keyboard.ENTER: dispatchEvent(new Event("ModeSelected")); break; case Keyboard.ESCAPE: dispatchEvent(new Event("ScreenCancelled")); Remove(); break; }; } } }//package
Section 33
//GameModeSelectionAdvanced (GameModeSelectionAdvanced) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import flash.utils.*; public class GameModeSelectionAdvanced extends Sprite { var CircleTimer:Timer; public var Content:MovieClip; var Circles:Sprite; public var ContentMask:MovieClip; public function GameModeSelectionAdvanced(){ Circles = new Sprite(); } public function Activate(){ var _local1:*; var _local2:*; TweenFilterLite.to(Content, 0.5, {alpha:1}); _local1 = 0; while (_local1 < Content.Texts.numChildren) { _local2 = Content.Texts.getChildAt(_local1); TweenLite.to(_local2, 0.4, {y:(10 + (_local1 * 28)), delay:(_local1 * 0.1), ease:Regular.easeOut}); _local1++; }; _local1 = 0; while (_local1 < Content.Keys.numChildren) { _local2 = Content.Keys.getChildAt(_local1); TweenLite.to(_local2, 0.4, {y:(23 + (_local1 * 27.5)), delay:(_local1 * 0.1), ease:Regular.easeOut}); _local1++; }; Content.addChildAt(Circles, 0); Content.addChildAt(Content.BG, 0); CircleTimer = new Timer(400); CircleTimer.addEventListener(TimerEvent.TIMER, AddCircle); CircleTimer.start(); } public function Show(){ TweenLite.to(this, 0.5, {y:0}); } public function Remove(_arg1:Event=null){ var _local2:*; var _local3:*; TweenLite.killTweensOf(Content.Circles); TweenLite.to(this, 0.5, {y:-225}); if (CircleTimer){ CircleTimer.removeEventListener(TimerEvent.TIMER, AddCircle); CircleTimer.stop(); }; _local2 = 0; while (_local2 < Circles.numChildren) { _local3 = Sprite(Circles.getChildAt(_local2)); TweenLite.killTweensOf(_local3); _local2++; }; } public function Deactivate(){ var _local1:*; var _local2:*; var _local3:*; TweenFilterLite.to(Content, 0.5, {alpha:0.1}); _local1 = 0.1; _local2 = (Content.Texts.numChildren - 1); while (_local2 >= 0) { _local3 = Content.Texts.getChildAt(_local2); TweenLite.to(_local3, 0.4, {y:250, delay:_local1, ease:Regular.easeOut}); _local1 = (_local1 + 0.1); _local2--; }; _local1 = 0.1; _local2 = (Content.Keys.numChildren - 1); while (_local2 >= 0) { _local3 = Content.Keys.getChildAt(_local2); TweenLite.to(_local3, 0.4, {y:250, delay:_local1, ease:Regular.easeOut}); _local1 = (_local1 + 0.1); _local2--; }; if (CircleTimer){ CircleTimer.removeEventListener(TimerEvent.TIMER, AddCircle); CircleTimer.stop(); }; } private function AddCircle(_arg1:TimerEvent){ var _local2:*; var _local3:Sprite; var _local4:*; _local2 = 0; while (_local2 < Circles.numChildren) { _local4 = Sprite(Circles.getChildAt(_local2)); if (_local4.width > 999){ Circles.removeChild(_local4); }; _local2++; }; _local3 = new Sprite(); _local3.graphics.lineStyle(40, 0xF0F0F0, 1, false, "none"); _local3.graphics.drawCircle(0, 0, 100); _local3.x = 225; _local3.y = 225; TweenLite.to(_local3, 2, {width:1000, height:1000, ease:None.easeNone}); Circles.addChild(_local3); } public function elModeSelected(_arg1:Event){ Remove(); } } }//package
Section 34
//GameModeSelectionClassic (GameModeSelectionClassic) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import flash.utils.*; public class GameModeSelectionClassic extends Sprite { var CircleTimer:Timer; public var Content:MovieClip; var Circles:Sprite; public function GameModeSelectionClassic(){ Circles = new Sprite(); } public function Activate(){ var _local1:*; var _local2:*; var _local3:*; TweenFilterLite.to(Content, 0.5, {alpha:1}); _local1 = 0.1; _local2 = (Content.Texts.numChildren - 1); while (_local2 >= 0) { _local3 = Content.Texts.getChildAt(_local2); TweenLite.to(_local3, 0.4, {y:(20 + (_local2 * 22)), delay:_local1, ease:Regular.easeOut}); _local1 = (_local1 + 0.1); _local2--; }; _local1 = 0.1; _local2 = (Content.Keys.numChildren - 1); while (_local2 >= 0) { _local3 = Content.Keys.getChildAt(_local2); TweenLite.to(_local3, 0.4, {y:(25 + (_local2 * 22)), delay:_local1, ease:Regular.easeOut}); _local1 = (_local1 + 0.1); trace(_local3); _local2--; }; Content.addChildAt(Circles, 0); Content.addChildAt(Content.BG, 0); CircleTimer = new Timer(400); CircleTimer.addEventListener(TimerEvent.TIMER, AddCircle); CircleTimer.start(); } public function Show(){ TweenLite.to(this, 0.5, {y:225}); } public function Remove(_arg1:Event=null){ var _local2:*; var _local3:*; TweenLite.killTweensOf(Content.Circles); TweenLite.to(this, 0.5, {y:450}); if (CircleTimer){ CircleTimer.removeEventListener(TimerEvent.TIMER, AddCircle); CircleTimer.stop(); }; _local2 = 0; while (_local2 < Circles.numChildren) { _local3 = Sprite(Circles.getChildAt(_local2)); TweenLite.killTweensOf(_local3); _local2++; }; } public function Deactivate(){ var _local1:*; var _local2:*; TweenFilterLite.to(Content, 0.5, {alpha:0.2}); _local1 = (Content.Texts.numChildren - 1); while (_local1 >= 0) { _local2 = Content.Texts.getChildAt(_local1); TweenLite.to(_local2, 0.4, {y:-50, delay:(_local1 * 0.1), ease:Regular.easeOut}); _local1--; }; _local1 = (Content.Keys.numChildren - 1); while (_local1 >= 0) { _local2 = Content.Keys.getChildAt(_local1); TweenLite.to(_local2, 0.4, {y:-50, delay:(_local1 * 0.1), ease:Regular.easeOut}); _local1--; }; if (CircleTimer){ CircleTimer.removeEventListener(TimerEvent.TIMER, AddCircle); CircleTimer.stop(); }; } private function AddCircle(_arg1:TimerEvent){ var _local2:*; var _local3:Sprite; var _local4:*; _local2 = 0; while (_local2 < Circles.numChildren) { _local4 = Sprite(Circles.getChildAt(_local2)); if (_local4.width > 1999){ Circles.removeChild(_local4); }; _local2++; }; _local3 = new Sprite(); _local3.graphics.lineStyle(40, 0x333333, 1, false, "none"); _local3.graphics.drawCircle(0, 0, 10); _local3.x = 225; TweenLite.to(_local3, 2, {width:2000, height:2000, ease:None.easeNone}); Circles.addChild(_local3); } public function elModeSelected(_arg1:Event){ Remove(); } } }//package
Section 35
//Grapes (Grapes) package { import flash.display.*; public class Grapes extends Fruit { public var Gfx:MovieClip; public function Grapes(){ BasePoints = 20000; } } }//package
Section 36
//InfoBar (InfoBar) package { import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.utils.*; import flash.text.*; public class InfoBar extends Sprite { public var BarWTween:Tween; public var TXTScore:TextField; public var TXTMultiplier:TextField; var GameTimer:Timer; public var MultiplierBar:MovieClip; public var MultiplierDuration:uint; var ResetTime:Number; public function InfoBar(){ MultiplierDuration = 6; MultiplierBar.alpha = 0; } public function elGameStarted(_arg1:Event){ } public function elScoreUpdated(_arg1:Event){ var _local2:String; var _local3:*; _local2 = _arg1.target.Score.toString(); _local3 = _local2.length; while (_local3 < 8) { _local2 = ("0" + _local2); _local3++; }; TXTScore.text = _local2; } public function elGameTimeUpdated(_arg1:Event){ var _local2:*; var _local3:uint; var _local4:uint; var _local5:String; _local2 = _arg1.target.GameTime; _local3 = (_local2 / 60); _local4 = (_local2 % 60); _local5 = (_local3 + ":"); if (_local4 < 10){ _local5 = (_local5 + "0"); }; _local5 = (_local5 + _local4.toString()); } private function ResetMultiplier(_arg1:TweenEvent=null){ MultiplierBar.alpha = 0; dispatchEvent(new Event("MultiplierReset")); TXTMultiplier.text = ("x" + GameMode(Snaketastic.CurrentGameHolder).Multiplier); } public function elFoodWasEaten(_arg1:Event){ TXTMultiplier.text = ("x" + GameMode(Snaketastic.CurrentGameHolder).Multiplier); MultiplierBar.alpha = 1; if (BarWTween){ BarWTween.stop(); }; BarWTween = new Tween(MultiplierBar, "width", None.easeNone, 100, 1, MultiplierDuration, true); BarWTween.addEventListener(TweenEvent.MOTION_FINISH, ResetMultiplier); } } }//package
Section 37
//Key (Key) package { import flash.events.*; import flash.display.*; public class Key { private static var initialized:Boolean = false; private static var keysDown:Object = new Object(); public static function initialize(_arg1:Stage){ if (!initialized){ _arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.addEventListener(Event.DEACTIVATE, clearKeys); initialized = true; }; } private static function clearKeys(_arg1:Event):void{ keysDown = new Object(); } public static function isDown(_arg1:uint):Boolean{ if (!initialized){ throw (new Error("Key class has yet been initialized.")); }; return (Boolean((_arg1 in keysDown))); } private static function keyPressed(_arg1:KeyboardEvent):void{ keysDown[_arg1.keyCode] = true; } private static function keyReleased(_arg1:KeyboardEvent):void{ if ((_arg1.keyCode in keysDown)){ delete keysDown[_arg1.keyCode]; }; } } }//package
Section 38
//LeaderboardHeader (LeaderboardHeader) package { import flash.display.*; public dynamic class LeaderboardHeader extends MovieClip { } }//package
Section 39
//LeaderboardViewer (LeaderboardViewer) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import mochi.*; import flash.utils.*; import flash.ui.*; public class LeaderboardViewer extends Sprite { var BoardIDs:Array; var Overlay:Sprite; var LeaderboardHolder:MovieClip; var MainMenu1:MainMenu; var BoardIndex:uint; var MainMenuItems:Array; var LeaderboardSwitchTimer:Timer; public function LeaderboardViewer(){ BoardIDs = new Array("35cf964bc9355425", "a97d79f3ae2b4d78", "5d6a8d89e412cc14", "bafd4129ffbdcc75"); addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function elAddedToStage(_arg1:Event){ stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); stage.focus = this; LeaderboardHolder = new MovieClip(); addChild(LeaderboardHolder); Overlay = new Sprite(); Overlay.graphics.beginFill(0xFFFFFF); Overlay.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); Overlay.graphics.endFill(); addChild(Overlay); TweenLite.to(Overlay, 2, {autoAlpha:0, ease:Strong.easeOut}); ShowBoard(); } private function Remove(){ MochiScores.closeLeaderboard(); stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); parent.removeChild(this); } private function elRemovedFromStage(_arg1:Event){ } private function ShowBoard(){ MochiScores.closeLeaderboard(); LeaderboardSwitchTimer = new Timer(100, 1); LeaderboardSwitchTimer.addEventListener(TimerEvent.TIMER, elTimer); LeaderboardSwitchTimer.start(); } private function elTimer(_arg1:TimerEvent){ MochiScores.showLeaderboard({boardID:BoardIDs[BoardIndex], clip:LeaderboardHolder, hideDoneButton:true, numScores:20}); } public function elKeyDown(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case Keyboard.LEFT: if (BoardIndex > 0){ BoardIndex--; } else { BoardIndex = (BoardIDs.length - 1); }; ShowBoard(); break; case Keyboard.RIGHT: if (BoardIndex < (BoardIDs.length - 1)){ BoardIndex++; } else { BoardIndex = 0; }; ShowBoard(); break; case Keyboard.ESCAPE: dispatchEvent(new Event("ScreenCancelled")); Remove(); break; }; } } }//package
Section 40
//Lemon (Lemon) package { import flash.display.*; public class Lemon extends Fruit { public var Gfx:MovieClip; public function Lemon(){ BasePoints = 40000; } } }//package
Section 41
//MainMenu (MainMenu) package { import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; import flash.ui.*; public class MainMenu extends MovieClip { private var ItemsMC:Sprite; public var Position:uint; private var ActivatedItem:MainMenuItem; private var YTween:Tween; public var Items:Array; private var FocusedItemIndex:uint; private static var ii:Boolean; public function MainMenu(_arg1:Array){ Items = _arg1; addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } public function elKeyDown(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case Keyboard.UP: FocusPrev(); break; case Keyboard.DOWN: FocusNext(); break; case Keyboard.ENTER: ActivateItem(); if (ActivatedItem.DeactivateOnClick == true){ stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); }; break; }; } public function FocusPrev(){ if (FocusedItemIndex > 0){ FocusItem((FocusedItemIndex - 1)); }; } private function FocusItem(_arg1:uint){ trace(MainMenuItem(ItemsMC.getChildByName(("Item_" + FocusedItemIndex)))); MainMenuItem(ItemsMC.getChildByName(("Item_" + FocusedItemIndex))).Blur(); FocusedItemIndex = _arg1; MainMenuItem(ItemsMC.getChildByName(("Item_" + FocusedItemIndex))).Focus(); } public function Activate(){ stage.focus = this; stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); } private function elAddedToStage(_arg1:Event){ var _local2:*; var _local3:*; var _local4:MainMenuItem; if (ii == false){ ItemsMC = new Sprite(); _local2 = 0; _local3 = 0; while (_local3 < Items.length) { _local4 = new MainMenuItem(Items[_local3].Title, Items[_local3].TextClass); _local4.OnActivated = Items[_local3].OnActivated; _local4.DeactivateOnClick = Items[_local3].DeactivateOnClick; _local4.OnFocus = Items[_local3].OnFocus; _local4.Position = _local3; _local4.name = ("Item_" + _local3); _local4.y = _local2; _local2 = (_local2 + 32); ItemsMC.addChild(_local4); _local3++; }; addChild(ItemsMC); FocusItem(0); Activate(); ii = true; }; } public function Deactivate(){ stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); } private function elRemovedFromStage(_arg1:Event){ Deactivate(); } public function ActivateItem(){ this.dispatchEvent(new Event("MainMenuItemActivated")); ActivatedItem = MainMenuItem(ItemsMC.getChildByName(("Item_" + FocusedItemIndex))); if (ActivatedItem.OnActivated != null){ ActivatedItem.OnActivated(); }; } public function FocusNext(){ if (FocusedItemIndex < (Items.length - 1)){ FocusItem((FocusedItemIndex + 1)); }; } } }//package
Section 42
//MainMenuItem (MainMenuItem) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.text.*; public class MainMenuItem extends MovieClip { public var Description:String; public var OnFocus:Function; public var Title:String; public var Position:uint; public var OnActivated:Function; public var Text:Sprite; public var DeactivateOnClick:Boolean; public function MainMenuItem(_arg1:String, _arg2:Class){ Text = new (_arg2); addChild(Text); Title = _arg1; _arg2(Text).TXTText.text = ("" + _arg1); _arg2(Text).TXTText.x = (-(_arg2(Text).TXTText.width) / 2); _arg2(Text).TXTText.y = (-(_arg2(Text).TXTText.height) / 2); x = (_arg2(Text).TXTText.width / 2); y = (_arg2(Text).TXTText.height / 2); alpha = 0.6; } public function Blur(){ TweenLite.to(this, 0.2, {scaleX:1, scaleY:1, alpha:0.6, ease:Strong.easeOut}); this.dispatchEvent(new Event("MainMenuItemBlur")); } public function Focus(){ if (OnFocus != null){ OnFocus(); }; TweenLite.to(this, 0.2, {scaleX:1.15, scaleY:1.15, alpha:1, ease:Strong.easeOut}); this.dispatchEvent(new Event("MainMenuItemFocus")); } } }//package
Section 43
//MainMenuItemText (MainMenuItemText) package { import flash.display.*; import flash.text.*; public dynamic class MainMenuItemText extends MovieClip { public var TXTText:TextField; } }//package
Section 44
//MochiAd (MochiAd) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiAd { public static function getVersion():String{ return ("2.2"); } public static function showTimedAd(_arg1:Object):void{ MochiAd.showInterLevelAd(_arg1); } public static function _allowDomains(_arg1:String):String{ var _local2:String; _local2 = _arg1.split("/")[2].split(":")[0]; Security.allowDomain("*"); Security.allowDomain(_local2); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(_local2); return (_local2); } public static function load(_arg1:Object):MovieClip{ var DEFAULTS:Object; var clip:Object; var depth:Number; var mc:MovieClip; var wh:Array; var lv:URLVariables; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var f:Function; var g:Function; var req:URLRequest; var v:Object; var options = _arg1; DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!MochiAd._isNetworkAvailable()){ return (null); }; try { if (clip._mochiad_loaded){ return (null); }; } catch(e:Error) { throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; depth = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, "_mochiad", depth); wh = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; }; lv = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; lv.lc = name; lv.st = getTimer(); loader = new Loader(); f = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); mc._mochiad_ctr_failed = true; }; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); g = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest((server + ".swf")); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.load(req); mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{ var _local4:MovieClip; _local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id}); if (!_local4){ return (false); }; _local4.doSend(["sendHighScore", _arg1], _arg2, _arg3); return (true); } public static function _parseOptions(_arg1:Object, _arg2:Object):Object{ var _local3:Object; var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; _local3 = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; if (_arg1){ for (_local4 in _arg1) { _local3[_local4] = _arg1[_local4]; }; }; if (_local3.clip == undefined){ throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite.")); }; _arg1 = _local3.clip.loaderInfo.parameters.mochiad_options; if (_arg1){ _local5 = _arg1.split("&"); _local6 = 0; while (_local6 < _local5.length) { _local7 = _local5[_local6].split("="); _local3[unescape(_local7[0])] = unescape(_local7[1]); _local6++; }; }; if (_local3.id == "test"){ trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); }; return (_local3); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function _cleanup(_arg1:Object):void{ var idx:Number; var k:String; var lc:LocalConnection; var f:Function; var mc = _arg1; if (("lc" in mc)){ lc = mc.lc; f = function ():void{ try { lc.client = null; lc.close(); } catch(e:Error) { }; }; setTimeout(f, 0); }; idx = DisplayObjectContainer(mc).numChildren; while (idx > 0) { idx = (idx - 1); DisplayObjectContainer(mc).removeChildAt(idx); }; for (k in mc) { delete mc[k]; }; } public static function unload(_arg1:Object):Boolean{ if (((_arg1.clip) && (_arg1.clip._mochiad))){ _arg1 = _arg1.clip; }; if (!_arg1._mochiad){ return (false); }; if (_arg1._mochiad.onUnload){ _arg1._mochiad.onUnload(); }; delete _arg1._mochiad_loaded; delete _arg1._mochiad; return (true); } public static function showInterLevelAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var options = _arg1; DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; _local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = (_arg1 - 250); }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Number; var _local3:Boolean; var _local4:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; _local1 = this.parent._mochiad_ctr; _local2 = (getTimer() - this.started); _local3 = false; if (!chk.showing){ _local4 = _local1.loaderInfo.bytesTotal; if ((((_local4 > 0)) || (("number" == "undefined")))){ chk.showing = true; chk.started = getTimer(); } else { if (_local2 > chk.ad_timeout){ _local3 = true; }; }; }; if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){ _local3 = true; }; if (_local3){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _getRes(_arg1:Object, _arg2:Object):Array{ var _local3:Object; var _local4:Number; var _local5:Number; var _local6:Array; _local3 = _arg2.getBounds(_arg2.root); _local4 = 0; _local5 = 0; if (typeof(_arg1.res) != "undefined"){ _local6 = _arg1.res.split("x"); _local4 = parseFloat(_local6[0]); _local5 = parseFloat(_local6[1]); } else { _local4 = (_local3.xMax - _local3.xMin); _local5 = (_local3.yMax - _local3.yMin); }; if ((((_local4 == 0)) || ((_local5 == 0)))){ _local4 = _arg2.stage.stageWidth; _local5 = _arg2.stage.stageHeight; }; return ([_local4, _local5]); } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{ var _local4:MovieClip; _local4 = new MovieClip(); if (((false) && (_arg3))){ _arg1.addChildAt(_local4, _arg3); } else { _arg1.addChild(_local4); }; _arg1[_arg2] = _local4; _local4["_name"] = _arg2; return (_local4); } public static function _loadCommunicator(_arg1:Object):MovieClip{ var DEFAULTS:Object; var clip:Object; var clipname:String; var server:String; var depth:Number; var mc:MovieClip; var lv:URLVariables; var k:String; var lc:LocalConnection; var name:String; var req:URLRequest; var loader:Loader; var options = _arg1; DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; clipname = ("_mochiad_com_" + options.id); if (!MochiAd._isNetworkAvailable()){ return (null); }; if (clip[clipname]){ return (clip[clipname]); }; server = (options.com_server + options.id); MochiAd._allowDomains(server); delete options.id; delete options.com_server; depth = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, clipname, depth); lv = new URLVariables(); for (k in options) { lv[k] = options[k]; }; lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.name = name; mc.lc = lc; lv.lc = name; mc._id = 0; mc._queue = []; mc.rpcResult = function (_arg1:Object):void{ var _local3:Array; var _local4:Array; var _local5:Number; var _local6:Object; var _local7:Object; _arg1 = parseInt(_arg1.toString()); _local3 = mc._callbacks[_arg1]; if (typeof(_local3) == "undefined"){ return; }; delete mc._callbacks[_arg1]; _local4 = []; _local5 = 2; while (_local5 < _local3.length) { _local4.push(_local3[_local5]); _local5++; }; _local5 = 1; while (_local5 < arguments.length) { _local4.push(arguments[_local5]); _local5++; }; _local6 = _local3[1]; _local7 = _local3[0]; if (((_local7) && ((typeof(_local6) == "string")))){ _local6 = _local7[_local6]; }; if (typeof(_local6) == "function"){ _local6.apply(_local7, _local4); }; }; mc._didConnect = function (_arg1:String):void{ var _local2:Array; var _local3:Function; var _local4:Number; var _local5:Array; mc._endpoint = _arg1; _local2 = mc._queue; delete mc._queue; _local3 = mc.doSend; _local4 = 0; while (_local4 < _local2.length) { _local5 = _local2[_local4]; _local3.apply(this, _local5); _local4++; }; }; mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{ var _local5:Number; var _local6:LocalConnection; var _local7:Array; var _local8:Number; if (mc._endpoint == null){ _local7 = []; _local8 = 0; while (_local8 < arguments.length) { _local7.push(arguments[_local8]); _local8++; }; mc._queue.push(_local7); return; }; mc._id = (mc._id + 1); _local5 = mc._id; mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))]; _local6 = new LocalConnection(); _local6.send(mc._endpoint, "rpc", _local5, _arg1); }; mc._callbacks = {}; mc._callbacks[0] = [mc, "_didConnect"]; lv.st = getTimer(); req = new URLRequest((server + ".swf")); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader = new Loader(); loader.load(req); mc.addChild(loader); mc._mochiad_com = loader; return (mc); } public static function showPreGameAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var bar:MovieClip; var bar_color:Number; var bar_background:Number; var bar_outline:Number; var backing_mc:MovieClip; var backing:Object; var inside_mc:MovieClip; var inside:Object; var outline_mc:MovieClip; var outline:Object; var complete:Boolean; var unloaded:Boolean; var f:Function; var r:MovieClip; var options = _arg1; DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ var fn:Function; MochiAd._cleanup(mc); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); bar = createEmptyMovieClip(chk, "_mochiad_bar", 4); bar.x = 10; bar.y = (h - 20); bar_color = options.color; delete options.color; bar_background = options.background; delete options.background; bar_outline = options.outline; delete options.outline; backing_mc = createEmptyMovieClip(bar, "_outline", 1); backing = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo((w - 20), 0); backing.lineTo((w - 20), 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); inside_mc = createEmptyMovieClip(bar, "_inside", 2); inside = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo((w - 20), 0); inside.lineTo((w - 20), 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; outline_mc = createEmptyMovieClip(bar, "_outline", 3); outline = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo((w - 20), 0); outline.lineTo((w - 20), 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number; _local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; f = function (_arg1:Event):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); complete = true; if (unloaded){ MochiAd.unload(clip); }; }; clip.loaderInfo.addEventListener(Event.COMPLETE, f); if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = _arg1; }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Object; var _local3:Number; var _local4:Boolean; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Object; var _local10:Number; var _local11:Number; if (!this.parent.parent){ delete this["onEnterFrame"]; return; }; _local1 = this.parent.parent.root; _local2 = this.parent._mochiad_ctr; _local3 = (getTimer() - this.started); _local4 = false; _local5 = _local1.loaderInfo.bytesTotal; _local6 = _local1.loaderInfo.bytesLoaded; if (complete){ _local6 = Math.max(1, _local6); _local5 = _local6; }; _local7 = ((100 * _local6) / _local5); _local8 = ((100 * _local3) / chk.ad_msec); _local9 = this._mochiad_bar._inside; _local10 = Math.min(100, Math.min(((_local7) || (0)), _local8)); _local10 = Math.max(this.last_pcnt, _local10); this.last_pcnt = _local10; _local9.scaleX = (_local10 * 0.01); if (!chk.showing){ _local11 = _local2.loaderInfo.bytesTotal; if ((((_local11 > 0)) || (("number" == "undefined")))){ chk.showing = true; chk.started = getTimer(); } else { if (_local3 > chk.ad_timeout){ _local4 = true; }; }; }; if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){ _local4 = true; }; if (((complete) && (_local4))){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(_arg1:Object):void{ MochiAd.showPreGameAd(_arg1); } public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{ var _local4:MovieClip; _local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id}); if (!_local4){ return (false); }; _local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3); return (true); } public static function doOnEnterFrame(_arg1:MovieClip):void{ var f:Function; var mc = _arg1; f = function (_arg1:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package
Section 45
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 46
//Pellet (Pellet) package { import gs.*; import flash.events.*; import flash.filters.*; import fl.transitions.*; import fl.transitions.easing.*; public class Pellet extends Food { var InitTime:uint; var XSTween:Tween; var YTween:Tween; var YSTween:Tween; var XTween:Tween; public function Pellet(){ var _local1:DropShadowFilter; super(); BasePoints = 100; _local1 = new DropShadowFilter(50, 45, 0, 0.2, 30, 30, 1); filters = [_local1]; addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function elAddedToStage(_arg1:Event){ var _local2:Number; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:uint; _local2 = Math.random(); _local9 = 100; if (_local2 < 0.5){ _local3 = Math.max((x - _local9), 0); _local4 = Math.min((x + _local9), stage.stageWidth); _local5 = ((Math.random() * (_local4 - _local3)) + _local3); _local8 = ((y)<(stage.stageHeight / 2)) ? 0 : stage.stageHeight; } else { _local6 = Math.max((y - _local9), 0); _local7 = Math.min((y + _local9), stage.stageHeight); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local5 = ((x)<(stage.stageWidth / 2)) ? 0 : stage.stageWidth; }; XTween = new Tween(this, "x", Regular.easeOut, _local5, x, 2, true); YTween = new Tween(this, "y", Regular.easeOut, _local8, y, 2, true); TweenFilterLite.to(this, 2, {dropShadowFilter:{distance:0, blurX:2, blurY:2}, ease:Bounce.easeOut}); XSTween = new Tween(this, "scaleX", Bounce.easeOut, 2, 1, 2, true); YSTween = new Tween(this, "scaleY", Bounce.easeOut, 2, 1, 2, true); addEventListener(Event.ENTER_FRAME, elEnterFrame); } override public function Mobilize(){ TweenFilterLite.to(this, 2, {dropShadowFilter:{distance:0, blurX:2, blurY:2}, ease:Bounce.easeOut}); if (XTween){ XTween.resume(); }; if (YTween){ YTween.resume(); }; if (XSTween){ XSTween.resume(); }; if (YSTween){ YSTween.resume(); }; addEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elEnterFrame(_arg1:Event){ } override public function Immobilize(){ TweenFilterLite.killTweensOf(this); XTween.stop(); YTween.stop(); XSTween.stop(); YSTween.stop(); removeEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elRemovedFromStage(_arg1:Event){ } } }//package
Section 47
//ScoreBox (ScoreBox) package { import flash.display.*; public dynamic class ScoreBox extends MovieClip { public var Text:MovieClip; public function ScoreBox(){ addFrameScript(24, frame25); } function frame25(){ if (this.stage){ this.parent.removeChild(this); }; } } }//package
Section 48
//ShatteringGlass (ShatteringGlass) package { import flash.events.*; import flash.display.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.utils.*; import flash.geom.*; public class ShatteringGlass extends Sprite { private var DropRandomizeOrder:Boolean; private var DropEasing:Function; private var DropInterval:Number; private var DropTweens:Array; private var DropTimer:Timer; private var DropFinalY:Number; public var ShardHolders:Array; private var DropDuration:Number; private var DropDelayTimer:Timer; private function SetUpDrop(_arg1:TimerEvent=null){ DropTimer = new Timer((DropInterval * 1000), ShardHolders.length); DropTimer.addEventListener(TimerEvent.TIMER, DropNextShard); DropTimer.start(); } private function ShardHasDropped(_arg1:TweenEvent){ _arg1.target.obj.dispatchEvent(new Event("ShardHasDropped")); } public function DropShards(_arg1:Object=null){ var _local2:*; var _local3:Number; _local2 = (_arg1) ? _arg1 : new Object(); DropInterval = ((_local2.Interval)>=0) ? _local2.Interval : 0.3; DropEasing = (_local2.Easing) ? _local2.Easing : Regular.easeIn; DropDuration = (_local2.Duration) ? _local2.Duration : 1; DropFinalY = (_local2.FinalY) ? _local2.FinalY : 1000; DropRandomizeOrder = (_local2.RandomizeOrder) ? _local2.RandomizeOrder : true; _local3 = ((_local2.InitialDelay)>=0) ? _local2.InitialDelay : 0; if (_local3 == 0){ SetUpDrop(); } else { DropDelayTimer = new Timer((_local3 * 1000), 1); DropDelayTimer.addEventListener(TimerEvent.TIMER, SetUpDrop); DropDelayTimer.start(); }; DropTweens = new Array(); } private function DropNextShard(_arg1:TimerEvent){ var _local2:*; var _local3:*; var _local4:*; if (DropRandomizeOrder){ _local2 = Math.floor((Math.random() * ShardHolders.length)); } else { _local2 = 0; }; _local3 = ShardHolders[_local2]; _local4 = new Tween(_local3, "y", DropEasing, _local3.y, DropFinalY, DropDuration, true); _local4.addEventListener(TweenEvent.MOTION_FINISH, ShardHasDropped); DropTweens.push(_local4); ShardHolders.splice(_local2, 1); if (ShardHolders.length == 0){ dispatchEvent(new Event("FinalShardIsDropping")); }; } public function Shatter(_arg1:DisplayObject, _arg2:Object=null){ var _local3:*; var _local4:*; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Array; var _local12:Number; var _local13:Array; var _local14:Array; var _local15:*; var _local16:*; var _local17:Array; var _local18:*; var _local19:Array; var _local20:Number; var _local21:*; var _local22:*; var _local23:int; var _local24:uint; var _local25:Point; var _local26:*; var _local27:*; var _local28:Array; var _local29:*; var _local30:Sprite; var _local31:Sprite; var _local32:*; var _local33:Rectangle; var _local34:BitmapData; var _local35:Bitmap; var _local36:Sprite; _local3 = _arg1; _local4 = _arg2; _local5 = (_local4.CenterX) ? _local4.CenterX : (_local3.width / 2); _local6 = (_local4.CenterY) ? _local4.CenterY : (_local3.height / 2); _local7 = (_local4.MinShardSize) ? _local4.MinShardSize : 20; _local8 = (_local4.MaxShardSize) ? _local4.MaxShardSize : 60; _local9 = (((_local4.RadiusFirst) && ((_local4.RadiusFirst > 0)))) ? _local4.RadiusFirst : 20; _local10 = (((_local4.RadiusMultiplier) && ((_local4.RadiusMultiplier > 1)))) ? _local4.RadiusMultiplier : 1.3; _local11 = new Array(); _local11.push({Coord:new Point(_local3.width, _local3.height), Angle:((Math.atan2((_local3.height - _local6), (_local3.width - _local5)) * 180) / Math.PI)}); _local11.push({Coord:new Point(0, _local3.height), Angle:((Math.atan2((_local3.height - _local6), -(_local5)) * 180) / Math.PI)}); _local11.push({Coord:new Point(0, 0), Angle:(((Math.atan2(-(_local6), -(_local5)) * 180) / Math.PI) + 360)}); _local11.push({Coord:new Point(_local3.width, 0), Angle:(((Math.atan2(-(_local6), (_local3.width - _local5)) * 180) / Math.PI) + 360)}); _local12 = 0; _local13 = new Array(); while (_local12 < 360) { _local19 = new Array(new Point(_local5, _local6)); _local20 = _local9; _local21 = _local5; _local22 = _local6; while ((((((((_local21 > 0)) && ((_local21 < _local3.width)))) && ((_local22 > 0)))) && ((_local22 < _local3.height)))) { _local23 = ((_local12 - (Math.random() * ((_local7 / 2) - 4))) - (((_local7 / 2) - 4) / 2)); _local21 = int((_local5 + (Math.cos(((_local23 / 180) * Math.PI)) * _local20))); _local22 = int((_local6 + (Math.sin(((_local23 / 180) * Math.PI)) * _local20))); _local21 = ((_local21)<0) ? 0 : _local21; _local21 = ((_local21)>_local3.width) ? _local3.width : _local21; _local22 = ((_local22)<0) ? 0 : _local22; _local22 = ((_local22)>_local3.height) ? _local3.height : _local22; _local25 = new Point(_local21, _local22); _local19.push(_local25); _local20 = (_local20 * _local10); }; _local23 = ((_local23)<0) ? (_local23 + 360) : _local23; _local24 = 0; _local16 = 0; while (_local16 < _local11.length) { if (_local23 > _local11[_local16].Angle){ _local24++; }; _local16++; }; _local24 = ((_local24)==4) ? 0 : _local24; _local13.push({FinalAngle:_local23, EndQuadrant:_local24, Points:_local19}); _local12 = (_local12 + ((Math.random() * (_local8 - _local7)) + _local7)); }; _local14 = new Array(); _local15 = 0; while (_local15 < _local13.length) { _local26 = _local13[_local15]; if (_local15 < (_local13.length - 1)){ _local27 = _local13[(_local15 + 1)]; } else { _local27 = _local13[0]; }; _local28 = new Array(); _local16 = 0; while (_local16 < _local26.Points.length) { _local28.push(_local26.Points[_local16]); _local16++; }; _local29 = _local26.EndQuadrant; while (_local29 != _local27.EndQuadrant) { _local28.push(_local11[_local29].Coord); ++_local29; if (_local29 == 4){ _local29 = 0; }; }; _local16 = (_local27.Points.length - 1); while (_local16 >= 0) { _local28.push(_local27.Points[_local16]); _local16--; }; _local14.push(_local28); _local15++; }; _local17 = new Array(); ShardHolders = new Array(); _local18 = new BitmapData(_local3.width, _local3.height); _local18.draw(_local3); _local16 = 0; while (_local16 < _local14.length) { _local30 = new Sprite(); _local31 = new Sprite(); _local31.graphics.moveTo(0, 0); _local31.graphics.beginFill(0xFFFFFF, 1); _local32 = 0; while (_local32 < _local14[_local16].length) { _local31.graphics.lineTo(_local14[_local16][_local32].x, _local14[_local16][_local32].y); _local32++; }; _local31.graphics.endFill(); _local33 = _local31.getBounds(_local30); _local17.push(_local33); _local34 = new BitmapData(_local17[_local16].width, _local17[_local16].height, false, 0); _local34.copyPixels(_local18, new Rectangle(_local17[_local16].x, _local17[_local16].y, (_local17[_local16].x + _local17[_local16].width), (_local17[_local16].y + _local17[_local16].height)), new Point()); _local35 = new Bitmap(_local34); _local36 = new Sprite(); _local36.addChild(_local35); _local36.x = _local17[_local16].x; _local36.y = _local17[_local16].y; _local30.addChild(_local36); _local30.addChild(_local31); _local36.mask = _local31; _local30.x = _local3.x; _local30.y = _local3.y; _local3.parent.addChild(_local30); ShardHolders.push(_local30); _local16++; }; _local3.parent.removeChild(_local3); } } }//package
Section 49
//Snake (Snake) package { import flash.events.*; import flash.display.*; import flash.ui.*; public class Snake extends MovieClip { private const BASE_PART_DELAY:Number = 5; private const BASE_SPEED:Number = 3; var Length:int; public var Tongue:MovieClip; private var Speed; var PartDelay:Number; var Direction:Number; var WrapOffset:uint;// = 10 var PartDelayCounter:Number; var SpeedState:String; public var CollisionArea:MovieClip; var Parts:Array; var Movement:Array; public function Snake(){ WrapOffset = 10; super(); Key.initialize(stage); Length = 1; Direction = 190; Movement = new Array(); Parts = new Array(); PartDelayCounter = 0; SpeedState = "Normal"; PartDelay = BASE_PART_DELAY; addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function elAddedToStage(_arg1:Event){ addEventListener(Event.ENTER_FRAME, elEnterFrame); } public function Mobilize(_arg1:Event=null){ addEventListener(Event.ENTER_FRAME, elEnterFrame); } public function elFoodWasEaten(_arg1:Event){ var _local2:*; Tongue.play(); _local2 = _arg1.target; if ((_local2 is Pellet)){ Length++; }; } private function elEnterFrame(_arg1:Event){ var _local2:SnakePart; if (Key.isDown(Keyboard.LEFT)){ Direction = (Direction - 10); } else { if (Key.isDown(Keyboard.RIGHT)){ Direction = (Direction + 10); }; }; if (Key.isDown(Keyboard.UP)){ if (SpeedState != "Faster"){ Speed = (BASE_SPEED * 1.8); PartDelay = (BASE_PART_DELAY * 0.5); PartDelayCounter = (PartDelayCounter * 0.5); SpeedState = "Faster"; }; } else { if (Key.isDown(Keyboard.DOWN)){ if (SpeedState != "Slower"){ Speed = (BASE_SPEED * 0.5); PartDelay = (BASE_PART_DELAY * 2); PartDelayCounter = (PartDelayCounter * 2); SpeedState = "Slower"; }; } else { Speed = BASE_SPEED; PartDelay = BASE_PART_DELAY; if (SpeedState == "Faster"){ PartDelayCounter = (PartDelayCounter * 2); } else { if (SpeedState == "Slower"){ PartDelayCounter = (PartDelayCounter * 0.5); }; }; SpeedState = "Normal"; }; }; if (x < -(WrapOffset)){ x = (stage.stageWidth + WrapOffset); } else { if (x > (stage.stageWidth + WrapOffset)){ x = -(WrapOffset); }; }; if (y < -(WrapOffset)){ y = (stage.stageHeight + WrapOffset); } else { if (y > (stage.stageHeight + WrapOffset)){ y = -(WrapOffset); }; }; rotation = Direction; PartDelayCounter++; if (PartDelayCounter >= PartDelay){ PartDelayCounter = 0; Movement.push({X:x, Y:y}); _local2 = new SnakePart(); _local2.x = x; _local2.y = y; _local2.rotation = Direction; Parts.push(_local2); GameMode(Snaketastic.CurrentGameHolder).SnakePartsHolder.addChild(_local2); if (Movement.length > Length){ Parts[0].Remove(); Parts.shift(); Movement.shift(); }; }; x = (x + (Math.cos(((Direction / 180) * Math.PI)) * Speed)); y = (y + (Math.sin(((Direction / 180) * Math.PI)) * Speed)); } public function Immobilize(_arg1:Event=null){ removeEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elRemovedFromStage(_arg1:Event){ removeEventListener(Event.ENTER_FRAME, elEnterFrame); } } }//package
Section 50
//SnakePart (SnakePart) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.*; public class SnakePart extends MovieClip { var XSTween:Tween; var YSTween:Tween; public function SnakePart(){ stop(); addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); } private function RemoveFromStage(){ parent.removeChild(this); } private function elAddedToStage(_arg1:Event){ addEventListener(Event.ENTER_FRAME, elEnterFrame); } private function elEnterFrame(_arg1:Event){ } public function Remove(){ TweenLite.to(this, 0.5, {scaleX:0.01, scaleY:0.01, onComplete:RemoveFromStage}); } private function elRemovedFromStage(_arg1:Event){ removeEventListener(Event.ADDED_TO_STAGE, elAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); removeEventListener(Event.ENTER_FRAME, elEnterFrame); } } }//package
Section 51
//Snaketastic (Snaketastic) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import mochi.*; import PsyStats.*; public dynamic class Snaketastic extends MovieClip { private var GameModeAdvanced1:GameModeAdvanced; private var PsyLoginDialogLoader:Loader; private var LeaderboardViewer1:LeaderboardViewer; private var TitleScreenStyle:String; private var GameModeClassic1:GameModeClassic; private var GameModeSelection1:GameModeSelection; private var TitleScreen1:TitleScreen; public static var CurrentGameHolder:Sprite; public function Snaketastic(){ var _local1:Array; super(); addFrameScript(0, frame1, 1, frame2, 2, frame3); stage.quality = StageQuality.BEST; _local1 = new Array("Advanced", "Classic"); TitleScreenStyle = _local1[Math.floor((Math.random() * _local1.length))]; Key.initialize(stage); } public function elScreenRemoved(_arg1:Event){ var _local2:*; _local2 = _arg1.target; if ((_local2 is GameModeSelection)){ _local2.removeEventListener("ModeSelected", StartGame); _local2.removeEventListener("ScreenRemoved", elScreenRemoved); }; } private function elKeyDown(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case 83: SoundManager.ToggleSounds(); SoundManager.ToggleMusic(); break; }; } public function Init(){ stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); stage.addEventListener(Event.RESIZE, elResize); stage.stageFocusRect = false; SoundManager.InitSounds(); ViewTitleScreen(); } public function elResize(_arg1:Event){ trace(stage.scaleY); trace(stage.stageWidth); } public function StartGame(_arg1:Event){ var _local2:*; var _local3:DialogBox; if (((TitleScreen1) && (contains(TitleScreen1)))){ TitleScreen1.alpha = 0; TitleScreen1.x = stage.stageWidth; }; _local2 = _arg1.target.ActivatedMode; if (((GameModeAdvanced1) && (contains(GameModeAdvanced1)))){ removeChild(GameModeAdvanced1); }; if (((GameModeClassic1) && (contains(GameModeClassic1)))){ removeChild(GameModeClassic1); }; if (_local2 == "Advanced"){ GameModeAdvanced1 = new GameModeAdvanced(); GameModeAdvanced1.addEventListener("ScreenCancelled", elScreenCancelled); addChildAt(GameModeAdvanced1, 0); CurrentGameHolder = GameModeAdvanced1; GameModeAdvanced1.Start(); } else { if (_local2 == "Classic"){ GameModeClassic1 = new GameModeClassic(); GameModeClassic1.addEventListener("ScreenCancelled", elScreenCancelled); addChildAt(GameModeClassic1, 0); CurrentGameHolder = GameModeClassic1; GameModeClassic1.PreparePlayingField(); _local3 = new DialogBox("SPEED", new Array({Text:"SLOW", OnSelect:GameModeClassic1.Start, OnSelectParams:{Speed:"Slow"}}, {Text:"MEDIUM", OnSelect:GameModeClassic1.Start, OnSelectParams:{Speed:"Medium"}}, {Text:"FAST", OnSelect:GameModeClassic1.Start, OnSelectParams:{Speed:"Fast"}})); _local3.x = (((stage.stageWidth / 2) - (_local3.width / 2)) + 10); _local3.y = ((stage.stageHeight / 2) - (_local3.height / 2)); addChild(_local3); stage.focus = _local3; }; }; } function frame3(){ Init(); stop(); } public function ViewModeSelection(_arg1:Event=null){ GameModeSelection1 = new GameModeSelection(); GameModeSelection1.addEventListener("ModeSelected", StartGame); GameModeSelection1.addEventListener("ScreenRemoved", elScreenRemoved); GameModeSelection1.addEventListener("ScreenCancelled", elScreenCancelled); SoundManager.PlayMusic("GameModeSelection", 0, 99999); addChild(GameModeSelection1); } function frame1(){ MochiBot.track(this, "6f001e2b"); MochiServices.connect("ab4d24068d9e507a", root); } public function ViewLeaderboards(_arg1:Event=null){ LeaderboardViewer1 = new LeaderboardViewer(); LeaderboardViewer1.addEventListener("ScreenCancelled", elScreenCancelled); addChild(LeaderboardViewer1); } function frame2(){ MochiAd.showPreGameAd({clip:root, id:"ab4d24068d9e507a", res:"450x450"}); } public function elScreenCancelled(_arg1:Event){ var _local2:*; _local2 = _arg1.target; if ((_local2 is GameModeAdvanced)){ ViewModeSelection(); } else { if ((_local2 is GameModeClassic)){ ViewModeSelection(); } else { if ((_local2 is GameModeSelection)){ ViewTitleScreen(); } else { if ((_local2 is LeaderboardViewer)){ ViewTitleScreen(); }; }; }; }; } public function CheckDomain(_arg1:Event=null){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; _local2 = (this.loaderInfo.url.indexOf("://") + 3); _local3 = this.loaderInfo.url.indexOf("/", _local2); _local4 = this.loaderInfo.url.substring(_local2, _local3); _local5 = (_local4.lastIndexOf(".") - 1); _local6 = (_local4.lastIndexOf(".", _local5) + 1); _local4 = _local4.substring(_local6, _local4.length); if (_local4 != "flashgamelicense.com"){ root.x = 50000; root.y = 40000; }; } public function ViewTitleScreen(){ if (((TitleScreen1) && (contains(TitleScreen1)))){ }; if (((GameModeAdvanced1) && (contains(GameModeAdvanced1)))){ removeChild(GameModeAdvanced1); }; if (((GameModeClassic1) && (contains(GameModeClassic1)))){ removeChild(GameModeClassic1); }; if (!TitleScreen1){ TitleScreen1 = new TitleScreen(TitleScreenStyle); TitleScreen1.addEventListener("StartGame", ViewModeSelection); TitleScreen1.addEventListener("ViewLeaderboards", ViewLeaderboards); addChildAt(TitleScreen1, 0); } else { if (!contains(TitleScreen1)){ addChildAt(TitleScreen1, 0); }; }; TitleScreen1.alpha = 1; TitleScreen1.x = 0; if ((TitleScreen1.Content is TitleScreenAdvanced)){ TitleScreenAdvanced(TitleScreen1.Content).MainMenu1.Activate(); } else { if ((TitleScreen1.Content is TitleScreenClassic)){ TitleScreenClassic(TitleScreen1.Content).MainMenu1.Activate(); }; }; } } }//package
Section 52
//sndCGulp (sndCGulp) package { import flash.media.*; public dynamic class sndCGulp extends Sound { } }//package
Section 53
//sndCGulp2 (sndCGulp2) package { import flash.media.*; public dynamic class sndCGulp2 extends Sound { } }//package
Section 54
//sndCGulp3 (sndCGulp3) package { import flash.media.*; public dynamic class sndCGulp3 extends Sound { } }//package
Section 55
//sndGameModeHighlight (sndGameModeHighlight) package { import flash.media.*; public dynamic class sndGameModeHighlight extends Sound { } }//package
Section 56
//sndGameModeHighlight2 (sndGameModeHighlight2) package { import flash.media.*; public dynamic class sndGameModeHighlight2 extends Sound { } }//package
Section 57
//sndGameModeHighlight3 (sndGameModeHighlight3) package { import flash.media.*; public dynamic class sndGameModeHighlight3 extends Sound { } }//package
Section 58
//sndGameModeSelection (sndGameModeSelection) package { import flash.media.*; public dynamic class sndGameModeSelection extends Sound { } }//package
Section 59
//sndGlass1 (sndGlass1) package { import flash.media.*; public dynamic class sndGlass1 extends Sound { } }//package
Section 60
//sndGlass2 (sndGlass2) package { import flash.media.*; public dynamic class sndGlass2 extends Sound { } }//package
Section 61
//sndGlass3 (sndGlass3) package { import flash.media.*; public dynamic class sndGlass3 extends Sound { } }//package
Section 62
//sndGlass4 (sndGlass4) package { import flash.media.*; public dynamic class sndGlass4 extends Sound { } }//package
Section 63
//sndGlass5 (sndGlass5) package { import flash.media.*; public dynamic class sndGlass5 extends Sound { } }//package
Section 64
//sndGlass6 (sndGlass6) package { import flash.media.*; public dynamic class sndGlass6 extends Sound { } }//package
Section 65
//sndGlass7 (sndGlass7) package { import flash.media.*; public dynamic class sndGlass7 extends Sound { } }//package
Section 66
//sndGulp (sndGulp) package { import flash.media.*; public dynamic class sndGulp extends Sound { } }//package
Section 67
//SoundManager (SoundManager) package { import flash.events.*; import flash.display.*; import flash.filters.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.media.*; public class SoundManager extends MovieClip { public static var Music:Object = new Object(); public static var MusicState:String; public static var SoundsState:String; public static var Sounds:Object = new Object(); private static var MusicTransform1:SoundTransform; private static var MusicIsMuted:Boolean; public static var MusicChannel1:SoundChannel; private static var VTween:Tween; private static var SoundsAreMuted:Boolean; public static function UnmuteSounds(){ SoundsAreMuted = false; } public static function ToggleMusic(){ if (MusicIsMuted){ if (VTween){ VTween.stop(); }; VTween = new Tween(MusicTransform1, "volume", Regular.easeOut, MusicTransform1.volume, 1, 0.5, true); VTween.addEventListener(TweenEvent.MOTION_CHANGE, elSetMusicTransform); MusicIsMuted = false; } else { if (VTween){ VTween.stop(); }; VTween = new Tween(MusicTransform1, "volume", Regular.easeOut, MusicTransform1.volume, 0, 0.5, true); VTween.addEventListener(TweenEvent.MOTION_CHANGE, elSetMusicTransform); MusicIsMuted = true; }; } public static function InitSounds(){ SoundsAreMuted = false; MusicIsMuted = false; SoundsState = "PlayAll"; MusicState = "PlayAll"; Sounds.Gulp = new sndGulp(); Music.GameModeSelection = new sndGameModeSelection(); Sounds.GameModeHighlight = new sndGameModeHighlight(); Sounds.GameModeHighlight2 = new sndGameModeHighlight2(); Sounds.GameModeHighlight3 = new sndGameModeHighlight3(); Sounds.CGulp = new sndCGulp(); Sounds.CGulp2 = new sndCGulp2(); Sounds.CGulp3 = new sndCGulp3(); Sounds.Glass1 = new sndGlass1(); Sounds.Glass2 = new sndGlass2(); Sounds.Glass3 = new sndGlass3(); Sounds.Glass4 = new sndGlass4(); Sounds.Glass5 = new sndGlass5(); Sounds.Glass6 = new sndGlass6(); Sounds.Glass7 = new sndGlass7(); MusicTransform1 = new SoundTransform(); } private static function elStopMusic(_arg1:TweenEvent){ MusicChannel1.stop(); MusicChannel1 = null; } public static function MuteSounds(){ SoundsAreMuted = true; } public static function ToggleSounds(){ if (SoundsAreMuted){ SoundsAreMuted = false; } else { SoundsAreMuted = true; }; } public static function StopMusic(){ if (VTween){ VTween.stop(); }; VTween = new Tween(MusicTransform1, "volume", Regular.easeOut, MusicTransform1.volume, 0, 0.5, true); VTween.addEventListener(TweenEvent.MOTION_CHANGE, elSetMusicTransform); VTween.addEventListener(TweenEvent.MOTION_FINISH, elStopMusic); } private static function elSetMusicTransform(_arg1:TweenEvent){ if (((MusicChannel1) && (MusicTransform1))){ MusicChannel1.soundTransform = MusicTransform1; }; } public static function MuteMusic(){ MusicIsMuted = true; } public static function PlayMusic(_arg1:String, _arg2:int=0, _arg3:int=0){ if (MusicState == "PlayAll"){ MusicChannel1 = new SoundChannel(); MusicChannel1 = Music[_arg1].play(_arg2, _arg3); if (VTween){ VTween.stop(); }; if (MusicIsMuted){ MusicTransform1.volume = 0; } else { MusicTransform1.volume = 1; }; MusicChannel1.soundTransform = MusicTransform1; }; } public static function UnmuteMusic(){ MusicIsMuted = false; } public static function PlaySound(_arg1:String, _arg2:int=0, _arg3:int=0){ if (((!(SoundsAreMuted)) && ((((SoundsState == "PlayAll")) || ((_arg1 == "BubblePop")))))){ Sounds[_arg1].play(_arg2, _arg3); }; } } }//package
Section 68
//Strawberry (Strawberry) package { import flash.display.*; public class Strawberry extends Fruit { public var Gfx:MovieClip; public function Strawberry(){ BasePoints = 50000; } } }//package
Section 69
//TitleScreen (TitleScreen) package { import flash.events.*; import flash.display.*; public class TitleScreen extends Sprite { var ActivatedMode:String; var Content:Sprite; public function TitleScreen(_arg1:String){ var _local2:*; super(); _local2 = _arg1; if (_local2 == "Advanced"){ Content = new TitleScreenAdvanced(); } else { if (_local2 == "Classic"){ Content = new TitleScreenClassic(); }; }; Content.addEventListener("StartGame", StartGame); Content.addEventListener("ViewLeaderboards", ViewLeaderboards); addChild(Content); } private function ViewLeaderboards(_arg1:Event){ this.dispatchEvent(new Event("ViewLeaderboards")); } private function StartGame(_arg1:Event){ this.dispatchEvent(new Event("StartGame")); } } }//package
Section 70
//TitleScreenAdvanced (TitleScreenAdvanced) package { import flash.events.*; import flash.display.*; import flash.external.*; public class TitleScreenAdvanced extends Sprite { public var MainMenu1:MainMenu; private var MainMenuItems:Array; public function TitleScreenAdvanced(){ addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); MainMenuItems = new Array({Title:"Start Game", TextClass:MainMenuItemText, OnActivated:StartGame, DeactivateOnClick:true}, {Title:"Leaderboards", TextClass:MainMenuItemText, OnActivated:ViewLeaderboards, DeactivateOnClick:true}, {Title:"More Games At JessHansen.com", TextClass:MainMenuItemText, OnActivated:PlayMoreGames, DeactivateOnClick:false}); } public function ViewLeaderboards(){ this.dispatchEvent(new Event("ViewLeaderboards")); } public function StartGame(){ this.dispatchEvent(new Event("StartGame")); } private function elAddedToStage(_arg1:Event){ MainMenu1 = new MainMenu(MainMenuItems); MainMenu1.y = 240; addChild(MainMenu1); stage.focus = this; } public function PlayMoreGames(){ ExternalInterface.call("window.open", "http://www.jesshansen.com/games", "_blank"); } private function elRemovedFromStage(_arg1:Event){ } } }//package
Section 71
//TitleScreenClassic (TitleScreenClassic) package { import flash.events.*; import flash.display.*; import flash.external.*; public class TitleScreenClassic extends Sprite { var MainMenu1:MainMenu; var MainMenuItems:Array; public function TitleScreenClassic(){ addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage); MainMenuItems = new Array({Title:"Start Game", TextClass:CMainMenuItemText, OnActivated:StartGame, DeactivateOnClick:true}, {Title:"Leaderboards", TextClass:CMainMenuItemText, OnActivated:ViewLeaderboards, DeactivateOnClick:true}, {Title:"More Games At JessHansen.com", TextClass:CMainMenuItemText, OnActivated:PlayMoreGames, DeactivateOnClick:false}); } public function ViewLeaderboards(){ this.dispatchEvent(new Event("ViewLeaderboards")); } public function StartGame(){ this.dispatchEvent(new Event("StartGame")); } private function elAddedToStage(_arg1:Event){ MainMenu1 = new MainMenu(MainMenuItems); MainMenu1.y = 240; addChild(MainMenu1); stage.focus = this; } public function PlayMoreGames(){ ExternalInterface.call("window.open", "http://www.jesshansen.com/games", "_blank"); } private function elRemovedFromStage(_arg1:Event){ } } }//package
Section 72
//Watermelon (Watermelon) package { import flash.display.*; public class Watermelon extends Fruit { public var Gfx:MovieClip; public function Watermelon(){ BasePoints = 60000; } } }//package

Library Items

Symbol 1 Sound {sndGulp}
Symbol 2 Sound {sndGlass7}
Symbol 3 Sound {sndGlass6}
Symbol 4 Sound {sndGlass5}
Symbol 5 Sound {sndGlass4}
Symbol 6 Sound {sndGlass3}
Symbol 7 Sound {sndGlass2}
Symbol 8 Sound {sndGlass1}
Symbol 9 Sound {sndGameModeSelection}
Symbol 10 Sound {sndGameModeHighlight3}
Symbol 11 Sound {sndGameModeHighlight2}
Symbol 12 Sound {sndGameModeHighlight}
Symbol 13 Sound {sndCGulp3}
Symbol 14 Sound {sndCGulp2}
Symbol 15 Sound {sndCGulp}
Symbol 16 GraphicUsed by:17 44 60 80 109 130
Symbol 17 MovieClipUses:16Used by:20
Symbol 18 FontUsed by:19 101 114
Symbol 19 EditableTextUses:18Used by:20
Symbol 20 MovieClip {Snaketastic_fla.ScoreBox_62}Uses:17 19Used by:21
Symbol 21 MovieClip {ScoreBox}Uses:20
Symbol 22 GraphicUsed by:23
Symbol 23 MovieClipUses:22Used by:24
Symbol 24 MovieClip {Strawberry}Uses:23
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClipUses:25Used by:27
Symbol 27 MovieClip {Watermelon}Uses:26
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClipUses:28Used by:30
Symbol 30 MovieClip {Lemon}Uses:29
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClipUses:31Used by:33
Symbol 33 MovieClip {Banana}Uses:32
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:36
Symbol 36 MovieClip {Grapes}Uses:35
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClipUses:37Used by:39
Symbol 39 MovieClip {Cherries}Uses:38
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClip {Snaketastic_fla.Snake_47}Uses:40Used by:45
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClipUses:42Used by:45
Symbol 44 MovieClipUses:16Used by:45 80 103
Symbol 45 MovieClip {Snake}Uses:41 43 44
Symbol 46 GraphicUsed by:47 49
Symbol 47 MovieClipUses:46Used by:48
Symbol 48 MovieClip {Pellet}Uses:47
Symbol 49 MovieClipUses:46Used by:50
Symbol 50 MovieClip {SnakePart}Uses:49
Symbol 51 MovieClip {CInfoBar}
Symbol 52 FontUsed by:53 54 55 56 79 91 93 95 97 101 112 113 114 115 123 125 129
Symbol 53 EditableTextUses:52Used by:59
Symbol 54 EditableTextUses:52Used by:59
Symbol 55 EditableTextUses:52Used by:59
Symbol 56 EditableTextUses:52Used by:59
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClipUses:57Used by:59
Symbol 59 MovieClip {InfoBar}Uses:53 54 55 56 58
Symbol 60 MovieClipUses:16Used by:78
Symbol 61 FontUsed by:62 63 64 65 77 105 106 107 108 117 119 121 127
Symbol 62 TextUses:61Used by:66
Symbol 63 TextUses:61Used by:66
Symbol 64 TextUses:61Used by:66
Symbol 65 TextUses:61Used by:66
Symbol 66 MovieClipUses:62 63 64 65Used by:78
Symbol 67 GraphicUsed by:68 81 103
Symbol 68 MovieClipUses:67Used by:71 72 73 74
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClipUses:69Used by:71 72 73 74
Symbol 71 MovieClipUses:68 70Used by:75
Symbol 72 MovieClipUses:68 70Used by:75
Symbol 73 MovieClipUses:68 70Used by:75
Symbol 74 MovieClipUses:68 70Used by:75
Symbol 75 MovieClipUses:71 72 73 74Used by:78
Symbol 76 GraphicUsed by:78
Symbol 77 EditableTextUses:61Used by:78
Symbol 78 MovieClip {Snaketastic_fla.GameModeSelection_10}Uses:60 66 75 76 77Used by:80
Symbol 79 EditableTextUses:52Used by:80
Symbol 80 MovieClip {GameModeSelectionClassic}Uses:16 44 78 79Used by:104
Symbol 81 MovieClipUses:67Used by:102
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClipUses:82Used by:86 87 88 89
Symbol 84 GraphicUsed by:85
Symbol 85 MovieClipUses:84Used by:86 87 88 89
Symbol 86 MovieClipUses:83 85Used by:90
Symbol 87 MovieClipUses:83 85Used by:90
Symbol 88 MovieClipUses:83 85Used by:90
Symbol 89 MovieClipUses:83 85Used by:90
Symbol 90 MovieClipUses:86 87 88 89Used by:102
Symbol 91 EditableTextUses:52Used by:92
Symbol 92 MovieClipUses:91Used by:99
Symbol 93 EditableTextUses:52Used by:94
Symbol 94 MovieClipUses:93Used by:99
Symbol 95 EditableTextUses:52Used by:96
Symbol 96 MovieClipUses:95Used by:99
Symbol 97 EditableTextUses:52Used by:98
Symbol 98 MovieClipUses:97Used by:99
Symbol 99 MovieClipUses:92 94 96 98Used by:102
Symbol 100 GraphicUsed by:102
Symbol 101 EditableTextUses:18 52Used by:102
Symbol 102 MovieClip {Snaketastic_fla.GameModeSelection_21}Uses:81 90 99 100 101Used by:103
Symbol 103 MovieClip {GameModeSelectionAdvanced}Uses:67 44 102Used by:104
Symbol 104 MovieClip {GameModeSelection}Uses:80 103
Symbol 105 EditableTextUses:61Used by:109
Symbol 106 EditableTextUses:61Used by:109
Symbol 107 EditableTextUses:61Used by:109
Symbol 108 EditableTextUses:61Used by:109
Symbol 109 MovieClip {TitleScreenClassic}Uses:16 105 106 107 108
Symbol 110 Bitmap {BGImage}Used by:111
Symbol 111 MovieClipUses:110Used by:116
Symbol 112 EditableTextUses:52Used by:116
Symbol 113 EditableTextUses:52Used by:116
Symbol 114 EditableTextUses:18 52Used by:116
Symbol 115 EditableTextUses:52Used by:116
Symbol 116 MovieClip {TitleScreenAdvanced}Uses:111 112 113 114 115
Symbol 117 EditableTextUses:61Used by:118
Symbol 118 MovieClip {DialogBoxButton}Uses:117
Symbol 119 EditableTextUses:61Used by:120
Symbol 120 MovieClip {DialogBoxTitle}Uses:119
Symbol 121 EditableTextUses:61Used by:122
Symbol 122 MovieClip {CMainMenuItemText}Uses:121
Symbol 123 EditableTextUses:52Used by:124
Symbol 124 MovieClip {MainMenuItemText}Uses:123
Symbol 125 TextUses:52Used by:126
Symbol 126 MovieClip {LeaderboardHeader}Uses:125
Symbol 127 TextUses:61Used by:128
Symbol 128 MovieClip {CLeaderboardHeader}Uses:127
Symbol 129 EditableTextUses:52Used by:130
Symbol 130 MovieClip {LeaderboardViewer}Uses:16 129

Instance Names

"BG"Symbol 20 MovieClip {Snaketastic_fla.ScoreBox_62} Frame 1Symbol 17 MovieClip
"TXTText"Symbol 20 MovieClip {Snaketastic_fla.ScoreBox_62} Frame 1Symbol 19 EditableText
"Text"Symbol 21 MovieClip {ScoreBox} Frame 1Symbol 20 MovieClip {Snaketastic_fla.ScoreBox_62}
"Gfx"Symbol 24 MovieClip {Strawberry} Frame 1Symbol 23 MovieClip
"Gfx"Symbol 27 MovieClip {Watermelon} Frame 1Symbol 26 MovieClip
"Gfx"Symbol 30 MovieClip {Lemon} Frame 1Symbol 29 MovieClip
"Gfx"Symbol 33 MovieClip {Banana} Frame 1Symbol 32 MovieClip
"Gfx"Symbol 36 MovieClip {Grapes} Frame 1Symbol 35 MovieClip
"Gfx"Symbol 39 MovieClip {Cherries} Frame 1Symbol 38 MovieClip
"Tongue"Symbol 45 MovieClip {Snake} Frame 1Symbol 41 MovieClip {Snaketastic_fla.Snake_47}
"CollisionArea"Symbol 45 MovieClip {Snake} Frame 1Symbol 44 MovieClip
"TXTMultiplier"Symbol 59 MovieClip {InfoBar} Frame 1Symbol 54 EditableText
"TXTScore"Symbol 59 MovieClip {InfoBar} Frame 1Symbol 56 EditableText
"MultiplierBar"Symbol 59 MovieClip {InfoBar} Frame 1Symbol 58 MovieClip
"BG"Symbol 78 MovieClip {Snaketastic_fla.GameModeSelection_10} Frame 1Symbol 60 MovieClip
"Texts"Symbol 78 MovieClip {Snaketastic_fla.GameModeSelection_10} Frame 1Symbol 66 MovieClip
"Keys"Symbol 78 MovieClip {Snaketastic_fla.GameModeSelection_10} Frame 1Symbol 75 MovieClip
"Content"Symbol 80 MovieClip {GameModeSelectionClassic} Frame 1Symbol 78 MovieClip {Snaketastic_fla.GameModeSelection_10}
"BG"Symbol 102 MovieClip {Snaketastic_fla.GameModeSelection_21} Frame 1Symbol 81 MovieClip
"Keys"Symbol 102 MovieClip {Snaketastic_fla.GameModeSelection_21} Frame 1Symbol 90 MovieClip
"Texts"Symbol 102 MovieClip {Snaketastic_fla.GameModeSelection_21} Frame 1Symbol 99 MovieClip
"ContentMask"Symbol 103 MovieClip {GameModeSelectionAdvanced} Frame 1Symbol 44 MovieClip
"Content"Symbol 103 MovieClip {GameModeSelectionAdvanced} Frame 1Symbol 102 MovieClip {Snaketastic_fla.GameModeSelection_21}
"Classic"Symbol 104 MovieClip {GameModeSelection} Frame 1Symbol 80 MovieClip {GameModeSelectionClassic}
"Advanced"Symbol 104 MovieClip {GameModeSelection} Frame 1Symbol 103 MovieClip {GameModeSelectionAdvanced}
"TXTText"Symbol 118 MovieClip {DialogBoxButton} Frame 1Symbol 117 EditableText
"TXTText"Symbol 120 MovieClip {DialogBoxTitle} Frame 1Symbol 119 EditableText
"TXTText"Symbol 122 MovieClip {CMainMenuItemText} Frame 1Symbol 121 EditableText
"TXTText"Symbol 124 MovieClip {MainMenuItemText} Frame 1Symbol 123 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 256, ScriptTimeout: 5 seconds




http://swfchan.com/7/30231/info.shtml
Created: 19/5 -2019 11:59:45 Last modified: 19/5 -2019 11:59:45 Server time: 19/05 -2024 18:49:32