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

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

shoot-the-snake.swf

This is the info page for
Flash #125805

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


Text
BR

add this to your site

add this to your site

000

play

more games

how to play

credits

Shoot

The Snake

how to play

Shoot all the snakes in a level to
advance to the next level

menu

time:

level:

score:

<p align="left"><font face="Dearest Open" size="16" color="#ffff00" letterSpacing="0.000000" kerning="1">9999</font></p>

<p align="left"><font face="Dearest Open" size="16" color="#ffff00" letterSpacing="0.000000" kerning="1">15</font></p>

<p align="left"><font face="Dearest Open" size="16" color="#ffff00" letterSpacing="0.000000" kerning="1">1234567</font></p>

pause

restart

bomb:

<p align="left"><font face="Dearest Open" size="16" color="#ffff00" letterSpacing="0.000000" kerning="1">1234</font></p>

<p align="left"><font face="Dearest Open" size="66" color="#ffffff" letterSpacing="0.000000" kerning="1">p a u s e d</font></p>

next level

time score:

bomb score:

level score:

total score:

<p align="center"><font face="Dearest Open" size="31" color="#ffff00" letterSpacing="0.000000" kerning="1">0123456</font></p>

<p align="center"><font face="Dearest Open" size="31" color="#ffff00" letterSpacing="0.000000" kerning="1">0123456</font></p>

<p align="center"><font face="Dearest Open" size="31" color="#ffff00" letterSpacing="0.000000" kerning="1">0123456</font></p>

<p align="center"><font face="Dearest Open" size="31" color="#ffff00" letterSpacing="0.000000" kerning="1">0123456</font></p>

replay

<p align="center"><font face="Dearest Open" size="31" color="#ffff00" letterSpacing="0.000000" kerning="1">0123456</font></p>

GAME OVER

submit score

back

www.Gamesonly.net

ActionScript [AS3]

Section 1
//ScoreService (com.spilgames.api.ScoreService) package com.spilgames.api { public class ScoreService { public static function submitScore(_arg1:int, _arg2:Function=null):int{ return (SpilGamesServices.getInstance().send("Score", "submitScore", _arg2, {score:_arg1, userName:User.getUserName(), userHash:User.getUserHash()})); } } }//package com.spilgames.api
Section 2
//SpilGamesServices (com.spilgames.api.SpilGamesServices) package com.spilgames.api { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class SpilGamesServices extends MovieClip { private const DEFAULT_CONNECTION_LOCATION:String = "http://www8.agame.com/games/flash/services/ServicesConnection.swf"; private var _alwaysInFront:Boolean;// = false private var _loader:Loader; private var _request:URLRequest; private var _connecting:Boolean;// = false private var _servicesConnection;// = null private var _connected:Boolean;// = false private var currentDelay:Number;// = 0 private var previousFrameTime:Number; private var _numConnectionLoadTries:uint;// = 0 public static const INVALID_ID:int = -1; public static const CONFIGURATION_FAILED:String = "configurationFailure"; private static const MAX_CONNECTION_LOAD_RETRIES:uint = 99; public static const INVALID_DOMAIN:String = "invalidDomain"; private static var _instance:SpilGamesServices = null; public function SpilGamesServices(_arg1:Private=null){ _servicesConnection = null; _connecting = false; _connected = false; _numConnectionLoadTries = 0; _alwaysInFront = false; currentDelay = 0; super(); if (!_arg1){ throw (new Error("Cannot instantiate this class, use SpilGamesServices.getInstance")); }; } public function get alwaysInFront():Boolean{ return (_alwaysInFront); } public function get version():String{ return ("1.1"); } private function handleRemovedFromStage(_arg1:Event):void{ trace("WARNING: please do not remove SpilGamesServices from the stage"); } private function handleIOError(_arg1:IOErrorEvent):void{ _numConnectionLoadTries++; if (_numConnectionLoadTries > MAX_CONNECTION_LOAD_RETRIES){ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _connecting = false; trace("ERROR: SpilGamesServices failed to load the connection object"); if (hasEventListener(_arg1.type)){ dispatchEvent(_arg1); }; } else { trace(("WARN: SpilGamesServices failed to load the connection object, retry #" + _numConnectionLoadTries)); previousFrameTime = getTimer(); addEventListener(Event.ENTER_FRAME, updateConnectionRetry); }; } public function allowDomain(_arg1:String):void{ Security.allowDomain("*"); Security.allowInsecureDomain("*"); } private function updateConnectionRetry(_arg1:Event):void{ var _local2:Number; var _local3:Number; _local2 = getTimer(); _local3 = ((_local2 - previousFrameTime) / 1000); currentDelay = (currentDelay + _local3); if (currentDelay >= 2){ trace(("WARN: SpilGamesServices trying to reconnect after: " + currentDelay)); _loader.load(_request); removeEventListener(Event.ENTER_FRAME, updateConnectionRetry); currentDelay = 0; }; previousFrameTime = _local2; } public function getItemID():int{ if (_servicesConnection != null){ return (_servicesConnection.getItemID()); }; return (INVALID_ID); } public function bringToFront(_arg1:Event=null):void{ var e = _arg1; if (parent){ try { parent.setChildIndex(this, (parent.numChildren - 1)); } catch(e:Error) { removeEventListener(Event.ENTER_FRAME, bringToFront); }; }; } private function handleLoadComplete(_arg1:Event):void{ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _servicesConnection = LoaderInfo(_arg1.target).content; _servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.addEventListener("serviceError", handleServiceError); addChild(_servicesConnection); } public function send(_arg1:String, _arg2:String, _arg3:Function, _arg4:Object=null):int{ if (isReady()){ return (_servicesConnection.send(_arg1, _arg2, _arg3, _arg4)); }; return (INVALID_ID); } public function getSiteID():int{ if (_servicesConnection != null){ return (_servicesConnection.getSiteID()); }; return (INVALID_ID); } public function isReady():Boolean{ return (((!((_servicesConnection == null))) && (_servicesConnection.isReady()))); } public function isDomainAllowed():Boolean{ return (((!((_servicesConnection == null))) && (_servicesConnection.isDomainValid()))); } public function getChannelID():int{ if (_servicesConnection != null){ return (_servicesConnection.getChannelID()); }; return (INVALID_ID); } private function handleServicesReady(_arg1:Event):void{ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _connected = true; _connecting = false; dispatchEvent(new Event("servicesReady")); } private function handleServiceError(_arg1:Event):void{ var _local2:String; if (hasEventListener("serviceError")){ _local2 = ""; if ((_arg1 is ErrorEvent)){ _local2 = ErrorEvent(_arg1).text; } else { _local2 = _arg1.toString(); }; dispatchEvent(new ErrorEvent("serviceError", false, false, _local2)); }; } public function disconnect():void{ if (_servicesConnection){ _servicesConnection.removeEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.removeEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.removeEventListener("serviceError", handleServiceError); if (_connected){ _servicesConnection.disconnect(); }; removeChild(_servicesConnection); }; _servicesConnection = null; if (_loader){ try { _loader.close(); } catch(e:Error) { } finally { _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); }; _loader = null; }; removeEventListener(Event.ENTER_FRAME, bringToFront); removeEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage); if (parent){ parent.removeChild(this); }; _connected = (_connecting = false); } public function get connecting():Boolean{ return (_connecting); } private function handleServicesFailed(_arg1:ErrorEvent):void{ _servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.addEventListener("serviceError", handleServiceError); _connecting = false; if (hasEventListener("servicesFailed")){ dispatchEvent(new ErrorEvent("servicesFailed", false, false, _arg1.text)); }; } public function get connection(){ return (_servicesConnection); } public function isServiceAvailable(_arg1:String):Boolean{ return (((isReady()) && (_servicesConnection.isServiceAvailable(_arg1)))); } public function set alwaysInFront(_arg1:Boolean):void{ if (_alwaysInFront != _arg1){ _alwaysInFront = _arg1; if (_alwaysInFront){ addEventListener(Event.ENTER_FRAME, bringToFront); } else { removeEventListener(Event.ENTER_FRAME, bringToFront); }; }; } public function connect(_arg1:DisplayObjectContainer, ... _args):void{ var _local3:String; var _local4:URLVariables; var _local5:Date; if (((!(_connecting)) && (!(_connected)))){ if (!_arg1.stage){ throw (new Error("The given clip must be present in the display list (added to stage)")); }; _connecting = true; _arg1.stage.addChild(this); addEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage); if (((root.loaderInfo.parameters["servicesLoc"]) && ((root.loaderInfo.parameters["servicesLoc"].length > 0)))){ _local3 = root.loaderInfo.parameters["servicesLoc"]; _request = new URLRequest(_local3); } else { _local3 = DEFAULT_CONNECTION_LOCATION; _local4 = new URLVariables(); _local5 = new Date(); _local4.nocache = ((((_local5.fullYear * 12) + (_local5.month + 1)) * 31) + _local5.day); _request = new URLRequest(_local3); _request.data = _local4; }; allowDomain(_local3); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError); _loader.load(_request); }; } public static function getInstance():SpilGamesServices{ if (!_instance){ _instance = new SpilGamesServices(new Private()); }; return (_instance); } } }//package com.spilgames.api class Private { private function Private(){ } }
Section 3
//User (com.spilgames.api.User) package com.spilgames.api { import flash.display.*; public class User { public static function getUserName():String{ var _local1:*; _local1 = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.getUserName()); }; return (""); } public static function isGuest():Boolean{ var _local1:*; var _local2:DisplayObject; var _local3:Object; _local1 = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.isGuest()); }; _local2 = SpilGamesServices.getInstance().root; if (_local2.loaderInfo != null){ _local3 = _local2.loaderInfo.parameters; return (((((((!(_local3.username)) || ((_local3.username == "")))) || (!(_local3.hash)))) || ((_local3.hash == "")))); }; return (false); } public static function getUserHash():String{ var _local1:*; _local1 = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.getUserHash()); }; return (""); } } }//package com.spilgames.api
Section 4
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin) package gs.plugins { import flash.display.*; import gs.*; public class AutoAlphaPlugin extends TweenPlugin { protected var _tweenVisible:Boolean; protected var _tween:TweenLite; protected var _visible:Boolean; protected var _target:Object; public static const VERSION:Number = 1; public static const API:Number = 1; public function AutoAlphaPlugin(){ this.propName = "autoAlpha"; this.overwriteProps = ["alpha", "visible"]; this.onComplete = onCompleteTween; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); if (((!((_target.visible == true))) && (_tweenVisible))){ _target.visible = true; }; } public function onCompleteTween():void{ if (((((_tweenVisible) && (!((_tween.vars.runBackwards == true))))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ _target = _arg1; _tween = _arg3; _visible = Boolean(!((_arg2 == 0))); _tweenVisible = true; addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha"); return (true); } override public function killProps(_arg1:Object):void{ super.killProps(_arg1); _tweenVisible = !(Boolean(("visible" in _arg1))); } } }//package gs.plugins
Section 5
//EndArrayPlugin (gs.plugins.EndArrayPlugin) package gs.plugins { import gs.*; import gs.utils.tween.*; public class EndArrayPlugin extends TweenPlugin { protected var _info:Array; protected var _a:Array; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function EndArrayPlugin(){ _info = []; super(); this.propName = "endArray"; this.overwriteProps = ["endArray"]; } override public function set changeFactor(_arg1:Number):void{ var _local2:int; var _local3:ArrayTweenInfo; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _a[_local3.index] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _a[_local3.index] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } public function init(_arg1:Array, _arg2:Array):void{ var _local3:int; _a = _arg1; _local3 = (_arg2.length - 1); while (_local3 > -1) { if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){ _info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3])); }; _local3--; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (false); }; init((_arg1 as Array), _arg2); return (true); } } }//package gs.plugins
Section 6
//FramePlugin (gs.plugins.FramePlugin) package gs.plugins { import flash.display.*; import gs.*; public class FramePlugin extends TweenPlugin { public var frame:int; protected var _target:MovieClip; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function FramePlugin(){ this.propName = "frame"; this.overwriteProps = ["frame"]; this.round = true; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.gotoAndStop(this.frame); } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){ return (false); }; _target = (_arg1 as MovieClip); this.frame = _target.currentFrame; addTween(this, "frame", this.frame, _arg2, "frame"); return (true); } } }//package gs.plugins
Section 7
//RemoveTintPlugin (gs.plugins.RemoveTintPlugin) package gs.plugins { public class RemoveTintPlugin extends TintPlugin { public static const VERSION:Number = 1.01; public static const API:Number = 1; public function RemoveTintPlugin(){ this.propName = "removeTint"; } } }//package gs.plugins
Section 8
//TintPlugin (gs.plugins.TintPlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.geom.*; import gs.utils.tween.*; public class TintPlugin extends TweenPlugin { protected var _ct:ColorTransform; protected var _ignoreAlpha:Boolean; protected var _target:DisplayObject; public static const VERSION:Number = 1.1; public static const API:Number = 1; protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"]; public function TintPlugin(){ this.propName = "tint"; this.overwriteProps = ["tint"]; } override public function set changeFactor(_arg1:Number):void{ var _local2:ColorTransform; updateTweens(_arg1); if (_ignoreAlpha){ _local2 = _target.transform.colorTransform; _ct.alphaMultiplier = _local2.alphaMultiplier; _ct.alphaOffset = _local2.alphaOffset; }; _target.transform.colorTransform = _ct; } public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{ var _local3:int; var _local4:String; _target = _arg1; _ct = _target.transform.colorTransform; _local3 = (_props.length - 1); while (_local3 > -1) { _local4 = _props[_local3]; if (_ct[_local4] != _arg2[_local4]){ _tweens[_tweens.length] = new TweenInfo(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false); }; _local3--; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ var _local4:ColorTransform; if (!(_arg1 is DisplayObject)){ return (false); }; _local4 = new ColorTransform(); if (((!((_arg2 == null))) && (!((_arg3.exposedVars.removeTint == true))))){ _local4.color = uint(_arg2); }; _ignoreAlpha = true; init((_arg1 as DisplayObject), _local4); return (true); } } }//package gs.plugins
Section 9
//TweenPlugin (gs.plugins.TweenPlugin) package gs.plugins { import gs.*; import gs.utils.tween.*; public class TweenPlugin { public var overwriteProps:Array; protected var _tweens:Array; public var round:Boolean; public var onComplete:Function; public var propName:String; protected var _changeFactor:Number;// = 0 public static const VERSION:Number = 1.03; public static const API:Number = 1; public function TweenPlugin(){ _tweens = []; _changeFactor = 0; super(); } protected function updateTweens(_arg1:Number):void{ var _local2:int; var _local3:TweenInfo; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _local3.target[_local3.property] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _changeFactor = _arg1; } protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{ var _local6:Number; if (_arg4 != null){ _local6 = ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4); if (_local6 != 0){ _tweens[_tweens.length] = new TweenInfo(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false); }; }; } public function killProps(_arg1:Object):void{ var _local2:int; _local2 = (this.overwriteProps.length - 1); while (_local2 > -1) { if ((this.overwriteProps[_local2] in _arg1)){ this.overwriteProps.splice(_local2, 1); }; _local2--; }; _local2 = (_tweens.length - 1); while (_local2 > -1) { if ((_tweens[_local2].name in _arg1)){ _tweens.splice(_local2, 1); }; _local2--; }; } public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName); return (true); } public function get changeFactor():Number{ return (_changeFactor); } public static function activate(_arg1:Array):Boolean{ var _local2:int; var _local3:Object; _local2 = (_arg1.length - 1); while (_local2 > -1) { _local3 = new (_arg1[_local2]); TweenLite.plugins[_local3.propName] = _arg1[_local2]; _local2--; }; return (true); } } }//package gs.plugins
Section 10
//VisiblePlugin (gs.plugins.VisiblePlugin) package gs.plugins { import flash.display.*; import gs.*; public class VisiblePlugin extends TweenPlugin { protected var _tween:TweenLite; protected var _visible:Boolean; protected var _target:Object; public static const VERSION:Number = 1; public static const API:Number = 1; public function VisiblePlugin(){ this.propName = "visible"; this.overwriteProps = ["visible"]; this.onComplete = onCompleteTween; } override public function set changeFactor(_arg1:Number):void{ if (_target.visible != true){ _target.visible = true; }; } public function onCompleteTween():void{ if (((!((_tween.vars.runBackwards == true))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ _target = _arg1; _tween = _arg3; _visible = Boolean(_arg2); return (true); } } }//package gs.plugins
Section 11
//VolumePlugin (gs.plugins.VolumePlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.media.*; public class VolumePlugin extends TweenPlugin { protected var _st:SoundTransform; protected var _target:Object; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function VolumePlugin(){ this.propName = "volume"; this.overwriteProps = ["volume"]; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.soundTransform = _st; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){ return (false); }; _target = _arg1; _st = _target.soundTransform; addTween(_st, "volume", _st.volume, _arg2, "volume"); return (true); } } }//package gs.plugins
Section 12
//ArrayTweenInfo (gs.utils.tween.ArrayTweenInfo) package gs.utils.tween { public class ArrayTweenInfo { public var change:Number; public var index:uint; public var start:Number; public function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){ this.index = _arg1; this.start = _arg2; this.change = _arg3; } } }//package gs.utils.tween
Section 13
//TweenInfo (gs.utils.tween.TweenInfo) package gs.utils.tween { public class TweenInfo { public var start:Number; public var name:String; public var change:Number; public var target:Object; public var property:String; public var isPlugin:Boolean; public function TweenInfo(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean){ this.target = _arg1; this.property = _arg2; this.start = _arg3; this.change = _arg4; this.name = _arg5; this.isPlugin = _arg6; } } }//package gs.utils.tween
Section 14
//TweenLite (gs.TweenLite) package gs { import flash.display.*; import flash.events.*; import gs.utils.tween.*; import gs.plugins.*; import flash.utils.*; public class TweenLite { public var delay:Number; protected var _hasUpdate:Boolean; protected var _hasPlugins:Boolean; public var started:Boolean; public var initted:Boolean; public var active:Boolean; public var startTime:Number; public var target:Object; public var duration:Number; public var gc:Boolean; public var vars:Object; public var ease:Function; public var tweens:Array; public var exposedVars:Object; public var combinedTimeScale:Number; public var initTime:Number; public static const version:Number = 10.092; private static var _timer:Timer = new Timer(2000); public static var defaultEase:Function = TweenLite.easeOut; public static var plugins:Object = {}; public static var currentTime:uint; public static var masterList:Dictionary = new Dictionary(false); protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, persist:1, renderOnStart:1, proxiedEase:1, easeParams:1, yoyo:1, loop:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, orientToBezier:1, timeScale:1}; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var timingSprite:Sprite = new Sprite(); public static var overwriteManager:Object; private static var _tlInitted:Boolean; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ var _local4:int; super(); if (_arg1 == null){ return; }; if (!_tlInitted){ TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin]); currentTime = getTimer(); timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; _timer.addEventListener("timer", killGarbage, false, 0, true); _timer.start(); _tlInitted = true; }; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); this.combinedTimeScale = ((_arg3.timeScale) || (1)); this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0)))); this.target = _arg1; if (typeof(this.vars.ease) != "function"){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; this.ease = this.vars.ease; this.exposedVars = ((this.vars.isTV)==true) ? this.vars.exposedVars : this.vars; this.tweens = []; this.initTime = currentTime; this.startTime = (this.initTime + (this.delay * 1000)); _local4 = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); if (((!((_arg1 in masterList))) || ((_local4 == 1)))){ masterList[_arg1] = [this]; } else { masterList[_arg1].push(this); }; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){ initTweenVals(); if (this.active){ render((this.startTime + 1)); } else { render(this.startTime); }; if (((((!((this.exposedVars.visible == null))) && ((this.vars.runBackwards == true)))) && ((this.target is DisplayObject)))){ this.target.visible = this.exposedVars.visible; }; }; } public function set enabled(_arg1:Boolean):void{ var _local2:Array; var _local3:Boolean; var _local4:int; if (_arg1){ if (!(this.target in masterList)){ masterList[this.target] = [this]; } else { _local2 = masterList[this.target]; _local4 = (_local2.length - 1); while (_local4 > -1) { if (_local2[_local4] == this){ _local3 = true; break; }; _local4--; }; if (!_local3){ _local2[_local2.length] = this; }; }; }; this.gc = (_arg1) ? false : true; if (this.gc){ this.active = false; } else { this.active = this.started; }; } public function clear():void{ this.tweens = []; this.vars = (this.exposedVars = {ease:this.vars.ease}); _hasUpdate = false; } public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:TweenInfo; var _local5:int; _local2 = ((_arg1 - this.startTime) * 0.001); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { _local3 = this.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.target[_local4.property] = (_local4.start + (_local3 * _local4.change)); _local5--; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } public function activate():void{ this.started = (this.active = true); if (!this.initted){ initTweenVals(); }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; } public function get enabled():Boolean{ return ((this.gc) ? false : true); } public function initTweenVals():void{ var _local1:String; var _local2:int; var _local3:*; var _local4:TweenInfo; if (((!((this.exposedVars.timeScale == undefined))) && (this.target.hasOwnProperty("timeScale")))){ this.tweens[this.tweens.length] = new TweenInfo(this.target, "timeScale", this.target.timeScale, (this.exposedVars.timeScale - this.target.timeScale), "timeScale", false); }; for (_local1 in this.exposedVars) { if ((_local1 in _reservedProps)){ } else { if ((_local1 in plugins)){ _local3 = new (plugins[_local1]); if (_local3.onInitTween(this.target, this.exposedVars[_local1], this) == false){ this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false); } else { this.tweens[this.tweens.length] = new TweenInfo(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true); _hasPlugins = true; }; } else { this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false); }; }; }; if (this.vars.runBackwards == true){ _local2 = (this.tweens.length - 1); while (_local2 > -1) { _local4 = this.tweens[_local2]; this.tweens[_local2].start = (_local4.start + _local4.change); _local4.change = -(_local4.change); _local2--; }; }; if (this.vars.onUpdate != null){ _hasUpdate = true; }; if (((TweenLite.overwriteManager.enabled) && ((this.target in masterList)))){ overwriteManager.manageOverwrites(this, masterList[this.target]); }; this.initted = 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 killVars(_arg1:Object):void{ if (overwriteManager.enabled){ overwriteManager.killVars(_arg1, this.exposedVars, this.tweens); }; } public function complete(_arg1:Boolean=false):void{ var _local2:int; if (!_arg1){ if (!this.initted){ initTweenVals(); }; this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale)); render(currentTime); return; }; if (_hasPlugins){ _local2 = (this.tweens.length - 1); while (_local2 > -1) { if (((this.tweens[_local2].isPlugin) && (!((this.tweens[_local2].target.onComplete == null))))){ this.tweens[_local2].target.onComplete(); }; _local2--; }; }; if (this.vars.persist != true){ this.enabled = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public static function updateAll(_arg1:Event=null):void{ var _local2:uint; var _local3:Dictionary; var _local4:Array; var _local5:int; var _local6:TweenLite; _local2 = (currentTime = getTimer()); _local3 = masterList; for each (_local4 in _local3) { _local5 = (_local4.length - 1); while (_local5 > -1) { _local6 = _local4[_local5]; if (_local6.active){ _local6.render(_local2); } else { if (_local6.gc){ _local4.splice(_local5, 1); } else { if (_local2 >= _local6.startTime){ _local6.activate(); _local6.render(_local2); }; }; }; _local5--; }; }; } public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{ if (_arg1 != null){ if (_arg2){ _arg1.clear(); }; _arg1.enabled = false; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Array; var _local4:int; var _local5:TweenLite; if (((!((_arg1 == null))) && ((_arg1 in masterList)))){ _local3 = masterList[_arg1]; _local4 = (_local3.length - 1); while (_local4 > -1) { _local5 = _local3[_local4]; if (((_arg2) && (!(_local5.gc)))){ _local5.complete(false); }; _local5.clear(); _local4--; }; delete masterList[_arg1]; }; } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } protected static function killGarbage(_arg1:TimerEvent):void{ var _local2:Dictionary; var _local3:Object; _local2 = masterList; for (_local3 in _local2) { if (_local2[_local3].length == 0){ delete _local2[_local3]; }; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0})); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 15
//AbstractCollection (org.cove.ape.AbstractCollection) package org.cove.ape { import flash.display.*; import flash.utils.*; public class AbstractCollection { private var _sprite:Sprite; private var _isParented:Boolean; private var _particles:Array; private var _constraints:Array; public function AbstractCollection(){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractCollection"){ throw (new ArgumentError("AbstractCollection can't be instantiated directly")); }; _isParented = false; _particles = new Array(); _constraints = new Array(); } public function getAll():Array{ return (particles.concat(constraints)); } function checkCollisionsVsCollection(_arg1:AbstractCollection):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:AbstractParticle; var _local6:int; var _local7:int; var _local8:int; var _local9:AbstractParticle; var _local10:SpringConstraint; var _local11:SpringConstraint; var _local12:int; _local2 = _particles.length; _local3 = 0; while (_local3 < _local2) { _local5 = _particles[_local3]; if ((((_local5 == null)) || (!(_local5.collidable)))){ } else { _local6 = _arg1.particles.length; _local7 = 0; while (_local7 < _local6) { _local9 = _arg1.particles[_local7]; if (((!((_local9 == null))) && (_local9.collidable))){ CollisionDetector.test(_local5, _local9); }; _local7++; }; _local8 = _arg1.constraints.length; _local7 = 0; while (_local7 < _local8) { _local10 = _arg1.constraints[_local7]; if (((((!((_local10 == null))) && (_local10.collidable))) && (!(_local10.isConnectedTo(_local5))))){ _local10.scp.updatePosition(); CollisionDetector.test(_local5, _local10.scp); }; _local7++; }; }; _local3++; }; _local4 = _constraints.length; _local3 = 0; while (_local3 < _local4) { _local11 = _constraints[_local3]; if ((((_local11 == null)) || (!(_local11.collidable)))){ } else { _local6 = _arg1.particles.length; _local12 = 0; while (_local12 < _local6) { _local9 = _arg1.particles[_local12]; if (((((!((_local9 == null))) && (_local9.collidable))) && (!(_local11.isConnectedTo(_local9))))){ _local11.scp.updatePosition(); CollisionDetector.test(_local9, _local11.scp); }; _local12++; }; }; _local3++; }; } public function get sprite():Sprite{ if (_sprite != null){ return (_sprite); }; if (APEngine.container == null){ throw (new Error("The container property of the APEngine class has not been set")); }; _sprite = new Sprite(); APEngine.container.addChild(_sprite); return (_sprite); } function checkInternalCollisions():void{ var _local1:int; var _local2:int; var _local3:AbstractParticle; var _local4:int; var _local5:int; var _local6:int; var _local7:AbstractParticle; var _local8:SpringConstraint; _local1 = _particles.length; _local2 = 0; while (_local2 < _local1) { _local3 = _particles[_local2]; if ((((_local3 == null)) || (!(_local3.collidable)))){ } else { _local4 = (_local2 + 1); while (_local4 < _local1) { _local7 = _particles[_local4]; if (((!((_local7 == null))) && (_local7.collidable))){ CollisionDetector.test(_local3, _local7); }; _local4++; }; _local5 = _constraints.length; _local6 = 0; while (_local6 < _local5) { _local8 = _constraints[_local6]; if (((((!((_local8 == null))) && (_local8.collidable))) && (!(_local8.isConnectedTo(_local3))))){ _local8.scp.updatePosition(); CollisionDetector.test(_local3, _local8.scp); }; _local6++; }; }; _local2++; }; } public function addParticle(_arg1:AbstractParticle):void{ particles.push(_arg1); if (isParented){ _arg1.init(); }; } public function removeConstraint(_arg1:AbstractConstraint):void{ var _local2:int; _local2 = constraints.indexOf(_arg1); if (_local2 == -1){ return; }; constraints.splice(_local2, 1); _arg1.cleanup(); } function get isParented():Boolean{ return (_isParented); } public function init():void{ var _local1:int; _local1 = 0; while (_local1 < particles.length) { particles[_local1].init(); _local1++; }; _local1 = 0; while (_local1 < constraints.length) { constraints[_local1].init(); _local1++; }; } function satisfyConstraints():void{ var _local1:int; var _local2:int; var _local3:AbstractConstraint; _local1 = _constraints.length; _local2 = 0; while (_local2 < _local1) { _local3 = _constraints[_local2]; _local3.resolve(); _local2++; }; } public function paint():void{ var _local1:AbstractParticle; var _local2:int; var _local3:int; var _local4:SpringConstraint; _local2 = _particles.length; _local3 = 0; while (_local3 < _local2) { _local1 = _particles[_local3]; if (((!(_local1.fixed)) || (_local1.alwaysRepaint))){ _local1.paint(); }; _local3++; }; _local2 = _constraints.length; _local3 = 0; while (_local3 < _local2) { _local4 = _constraints[_local3]; if (((!(_local4.fixed)) || (_local4.alwaysRepaint))){ _local4.paint(); }; _local3++; }; } public function addConstraint(_arg1:AbstractConstraint):void{ constraints.push(_arg1); if (isParented){ _arg1.init(); }; } function set isParented(_arg1:Boolean):void{ _isParented = _arg1; } public function removeParticle(_arg1:AbstractParticle):void{ var _local2:int; _local2 = particles.indexOf(_arg1); if (_local2 == -1){ return; }; particles.splice(_local2, 1); _arg1.cleanup(); } public function cleanup():void{ var _local1:int; _local1 = 0; while (_local1 < particles.length) { particles[_local1].cleanup(); _local1++; }; _local1 = 0; while (_local1 < constraints.length) { constraints[_local1].cleanup(); _local1++; }; } public function get particles():Array{ return (_particles); } function integrate(_arg1:Number):void{ var _local2:int; var _local3:int; var _local4:AbstractParticle; _local2 = _particles.length; _local3 = 0; while (_local3 < _local2) { _local4 = _particles[_local3]; _local4.update(_arg1); _local3++; }; } public function get constraints():Array{ return (_constraints); } } }//package org.cove.ape
Section 16
//AbstractConstraint (org.cove.ape.AbstractConstraint) package org.cove.ape { import flash.utils.*; public class AbstractConstraint extends AbstractItem { private var _stiffness:Number; public function AbstractConstraint(_arg1:Number){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractConstraint"){ throw (new ArgumentError("AbstractConstraint can't be instantiated directly")); }; this.stiffness = _arg1; setStyle(); } public function get stiffness():Number{ return (_stiffness); } public function resolve():void{ } public function set stiffness(_arg1:Number):void{ _stiffness = _arg1; } } }//package org.cove.ape
Section 17
//AbstractItem (org.cove.ape.AbstractItem) package org.cove.ape { import flash.display.*; import flash.events.*; public class AbstractItem extends EventDispatcher { var displayObjectOffset:Vector; var fillColor:uint; var displayObject:DisplayObject; var fillAlpha:Number; private var _solid:Boolean; private var _visible:Boolean; var displayObjectRotation:Number; var lineColor:uint; var lineAlpha:Number; var lineThickness:Number; private var _sprite:Sprite; private var _alwaysRepaint:Boolean; public function AbstractItem(){ _solid = true; _visible = true; _alwaysRepaint = false; } public function setFill(_arg1:uint=0xFFFFFF, _arg2:Number=1):void{ fillColor = _arg1; fillAlpha = _arg2; } public function init():void{ } public function cleanup():void{ var _local1:int; sprite.graphics.clear(); _local1 = 0; while (_local1 < sprite.numChildren) { sprite.removeChildAt(_local1); _local1++; }; } public function get solid():Boolean{ return (_solid); } public function get sprite():Sprite{ if (_sprite != null){ return (_sprite); }; if (APEngine.container == null){ throw (new Error("The container property of the APEngine class has not been set")); }; _sprite = new Sprite(); APEngine.container.addChild(_sprite); return (_sprite); } public function set solid(_arg1:Boolean):void{ _solid = _arg1; } public function paint():void{ } public function set visible(_arg1:Boolean):void{ _visible = _arg1; sprite.visible = _arg1; } public function setStyle(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1, _arg4:uint=0xFFFFFF, _arg5:Number=1):void{ setLine(_arg1, _arg2, _arg3); setFill(_arg4, _arg5); } public function get visible():Boolean{ return (_visible); } public function setLine(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1):void{ lineThickness = _arg1; lineColor = _arg2; lineAlpha = _arg3; } final public function set alwaysRepaint(_arg1:Boolean):void{ _alwaysRepaint = _arg1; } final public function get alwaysRepaint():Boolean{ return (_alwaysRepaint); } } }//package org.cove.ape
Section 18
//AbstractParticle (org.cove.ape.AbstractParticle) package org.cove.ape { import flash.display.*; import flash.utils.*; public class AbstractParticle extends AbstractItem { private var forceList:Array; var curr:Vector; var prev:Vector; private var collision:Collision; private var _invMass:Number; private var _friction:Number; private var firstCollision:Boolean; private var _multisample:int; var samp:Vector; private var _center:Vector; private var _fixed:Boolean; private var _collidable:Boolean; private var _kfr:Number; var interval:Interval; private var _mass:Number; private var temp:Vector; private var forces:Vector; public function AbstractParticle(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Number, _arg5:Number, _arg6:Number){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractParticle"){ throw (new ArgumentError("AbstractParticle can't be instantiated directly")); }; interval = new Interval(0, 0); curr = new Vector(_arg1, _arg2); prev = new Vector(_arg1, _arg2); samp = new Vector(); temp = new Vector(); fixed = _arg3; forces = new Vector(); forceList = new Array(); collision = new Collision(new Vector(), new Vector()); collidable = true; firstCollision = false; this.mass = _arg4; this.elasticity = _arg5; this.friction = _arg6; setStyle(); _center = new Vector(); _multisample = 0; } public function get px():Number{ return (curr.x); } public function get py():Number{ return (curr.y); } public function set py(_arg1:Number):void{ curr.y = _arg1; prev.y = _arg1; } function getComponents(_arg1:Vector):Collision{ var _local2:Vector; var _local3:Number; _local2 = velocity; _local3 = _arg1.dot(_local2); collision.vn = _arg1.mult(_local3); collision.vt = _local2.minus(collision.vn); return (collision); } public function set px(_arg1:Number):void{ curr.x = _arg1; prev.x = _arg1; } public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{ displayObject = _arg1; displayObjectRotation = _arg4; displayObjectOffset = new Vector(_arg2, _arg3); } public function get multisample():int{ return (_multisample); } public function get position():Vector{ return (new Vector(curr.x, curr.y)); } public function set multisample(_arg1:int):void{ _multisample = _arg1; } public function get center():Vector{ _center.setTo(px, py); return (_center); } public function set position(_arg1:Vector):void{ curr.copy(_arg1); prev.copy(_arg1); } function testParticleEvents(_arg1:AbstractParticle):void{ if (hasEventListener(CollisionEvent.COLLIDE)){ dispatchEvent(new CollisionEvent(CollisionEvent.COLLIDE, false, false, _arg1)); }; if (((hasEventListener(CollisionEvent.FIRST_COLLIDE)) && (!(firstCollision)))){ firstCollision = true; dispatchEvent(new CollisionEvent(CollisionEvent.FIRST_COLLIDE, false, false, _arg1)); }; } public function set elasticity(_arg1:Number):void{ _kfr = _arg1; } public function get fixed():Boolean{ return (_fixed); } function get invMass():Number{ return ((fixed) ? 0 : _invMass); } public function resetFirstCollision():void{ firstCollision = false; } function initDisplay():void{ displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; sprite.addChild(displayObject); } private function clearForces():void{ forceList.length = 0; forces.setTo(0, 0); } function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ testParticleEvents(_arg6); if (((((fixed) || (!(solid)))) || (!(_arg6.solid)))){ return; }; curr.copy(samp); curr.plusEquals(_arg1); velocity = _arg2; } public function get elasticity():Number{ return (_kfr); } public function set velocity(_arg1:Vector):void{ prev = curr.minus(_arg1); } public function set collidable(_arg1:Boolean):void{ _collidable = _arg1; } public function update(_arg1:Number):void{ var _local2:Vector; if (fixed){ return; }; accumulateForces(); temp.copy(curr); _local2 = velocity.plus(forces.multEquals(_arg1)); curr.plusEquals(_local2.multEquals(APEngine.damping)); prev.copy(temp); clearForces(); } public function addForce(_arg1:IForce):void{ forceList.push(_arg1); } public function get velocity():Vector{ return (curr.minus(prev)); } public function get collidable():Boolean{ return (_collidable); } public function set mass(_arg1:Number):void{ if (_arg1 <= 0){ throw (new ArgumentError("mass may not be set <= 0")); }; _mass = _arg1; _invMass = (1 / _mass); } public function set fixed(_arg1:Boolean):void{ _fixed = _arg1; } private function accumulateForces():void{ var _local1:IForce; var _local2:int; var _local3:int; var _local4:Array; _local2 = forceList.length; _local3 = 0; while (_local3 < _local2) { _local1 = forceList[_local3]; forces.plusEquals(_local1.getValue(_invMass)); _local3++; }; _local4 = APEngine.forces; _local2 = _local4.length; _local3 = 0; while (_local3 < _local2) { _local1 = _local4[_local3]; forces.plusEquals(_local1.getValue(_invMass)); _local3++; }; } public function get mass():Number{ return (_mass); } public function get friction():Number{ return (_friction); } public function set friction(_arg1:Number):void{ if ((((_arg1 < 0)) || ((_arg1 > 1)))){ throw (new ArgumentError("Legal friction must be >= 0 and <=1")); }; _friction = _arg1; } } }//package org.cove.ape
Section 19
//APEngine (org.cove.ape.APEngine) package org.cove.ape { import flash.display.*; public final class APEngine { private static var _damping:Number; private static var _container:DisplayObjectContainer; private static var _constraintCollisionCycles:int; private static var groups:Array; static var forces:Array; private static var _constraintCycles:int; private static var timeStep:Number; private static var numGroups:int; public static function get container():DisplayObjectContainer{ return (_container); } public static function get constraintCollisionCycles():int{ return (_constraintCollisionCycles); } public static function removeForce(_arg1:IForce):void{ var _local2:int; _local2 = forces.indexOf(_arg1); if (_local2 == -1){ return; }; forces.splice(_local2, 1); } public static function set damping(_arg1:Number):void{ _damping = _arg1; } public static function step():void{ var _local1:int; var _local2:int; integrate(); _local1 = 0; while (_local1 < _constraintCycles) { satisfyConstraints(); _local1++; }; _local2 = 0; while (_local2 < _constraintCollisionCycles) { satisfyConstraints(); checkCollisions(); _local2++; }; } public static function get constraintCycles():int{ return (_constraintCycles); } public static function set constraintCollisionCycles(_arg1:int):void{ _constraintCollisionCycles = _arg1; } public static function init(_arg1:Number=0.25):void{ timeStep = (_arg1 * _arg1); numGroups = 0; groups = new Array(); forces = new Array(); _damping = 1; _constraintCycles = 0; _constraintCollisionCycles = 1; } public static function addForce(_arg1:IForce):void{ forces.push(_arg1); } public static function get damping():Number{ return (_damping); } public static function set constraintCycles(_arg1:int):void{ _constraintCycles = _arg1; } public static function addGroup(_arg1:Group):void{ groups.push(_arg1); _arg1.isParented = true; numGroups++; _arg1.init(); } public static function set container(_arg1:DisplayObjectContainer):void{ _container = _arg1; } public static function paint():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.paint(); _local1++; }; } public static function removeGroup(_arg1:Group):void{ var _local2:int; _local2 = groups.indexOf(_arg1); if (_local2 == -1){ return; }; groups.splice(_local2, 1); _arg1.isParented = false; numGroups--; _arg1.cleanup(); } private static function satisfyConstraints():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.satisfyConstraints(); _local1++; }; } public static function removeAllForce():void{ forces = new Array(); } private static function checkCollisions():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.checkCollisions(); _local1++; }; } private static function integrate():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.integrate(timeStep); _local1++; }; } } }//package org.cove.ape
Section 20
//CircleParticle (org.cove.ape.CircleParticle) package org.cove.ape { public class CircleParticle extends AbstractParticle { private var _radius:Number; public function CircleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=0.3, _arg7:Number=0){ super(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7); _radius = _arg3; } function getProjection(_arg1:Vector):Interval{ var _local2:Number; _local2 = samp.dot(_arg1); interval.min = (_local2 - _radius); interval.max = (_local2 + _radius); return (interval); } override public function init():void{ cleanup(); if (displayObject != null){ initDisplay(); } else { sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.beginFill(fillColor, fillAlpha); sprite.graphics.drawCircle(0, 0, radius); sprite.graphics.endFill(); }; paint(); } public function get radius():Number{ return (_radius); } function getIntervalY():Interval{ interval.min = (samp.y - _radius); interval.max = (samp.y + _radius); return (interval); } public function set radius(_arg1:Number):void{ _radius = _arg1; } override public function paint():void{ sprite.x = curr.x; sprite.y = curr.y; } function getIntervalX():Interval{ interval.min = (samp.x - _radius); interval.max = (samp.x + _radius); return (interval); } } }//package org.cove.ape
Section 21
//Collision (org.cove.ape.Collision) package org.cove.ape { import org.cove.ape.*; final class Collision { var vn:Vector; var vt:Vector; function Collision(_arg1:Vector, _arg2:Vector){ this.vn = _arg1; this.vt = _arg2; } } }//package org.cove.ape
Section 22
//CollisionDetector (org.cove.ape.CollisionDetector) package org.cove.ape { import org.cove.ape.*; final class CollisionDetector { private static var collNormal:Vector; private static var cpa:AbstractParticle; private static var cpb:AbstractParticle; private static var collDepth:Number; private static function testIntervals(_arg1:Interval, _arg2:Interval):Number{ var _local3:Number; var _local4:Number; if (_arg1.max < _arg2.min){ return (0); }; if (_arg2.max < _arg1.min){ return (0); }; _local3 = (_arg2.max - _arg1.min); _local4 = (_arg2.min - _arg1.max); return (((Math.abs(_local3))<Math.abs(_local4)) ? _local3 : _local4); } private static function testOBBvsOBB(_arg1:RectangleParticle, _arg2:RectangleParticle):Boolean{ var _local3:int; var _local4:Vector; var _local5:Number; var _local6:Vector; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Boolean; collDepth = Number.POSITIVE_INFINITY; _local3 = 0; while (_local3 < 2) { _local4 = _arg1.axes[_local3]; _local5 = testIntervals(_arg1.getProjection(_local4), _arg2.getProjection(_local4)); if (_local5 == 0){ return (false); }; _local6 = _arg2.axes[_local3]; _local7 = testIntervals(_arg1.getProjection(_local6), _arg2.getProjection(_local6)); if (_local7 == 0){ return (false); }; _local8 = Math.abs(_local5); _local9 = Math.abs(_local7); if ((((_local8 < Math.abs(collDepth))) || ((_local9 < Math.abs(collDepth))))){ _local10 = (_local8 < _local9); collNormal = (_local10) ? _local4 : _local6; collDepth = (_local10) ? _local5 : _local7; }; _local3++; }; cpa = _arg1; cpb = _arg2; return (true); } private static function testTypes(_arg1:AbstractParticle, _arg2:AbstractParticle):Boolean{ if ((((_arg1 is RectangleParticle)) && ((_arg2 is RectangleParticle)))){ return (testOBBvsOBB((_arg1 as RectangleParticle), (_arg2 as RectangleParticle))); }; if ((((_arg1 is CircleParticle)) && ((_arg2 is CircleParticle)))){ return (testCirclevsCircle((_arg1 as CircleParticle), (_arg2 as CircleParticle))); }; if ((((_arg1 is RectangleParticle)) && ((_arg2 is CircleParticle)))){ return (testOBBvsCircle((_arg1 as RectangleParticle), (_arg2 as CircleParticle))); }; if ((((_arg1 is CircleParticle)) && ((_arg2 is RectangleParticle)))){ return (testOBBvsCircle((_arg2 as RectangleParticle), (_arg1 as CircleParticle))); }; return (false); } private static function sampVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ var _local3:Number; var _local4:Number; var _local5:int; if (normVsNorm(_arg1, _arg2)){ return; }; _local3 = (1 / (_arg1.multisample + 1)); _local4 = _local3; _local5 = 0; while (_local5 <= _arg1.multisample) { _arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y)))); if (testTypes(_arg1, _arg2)){ CollisionResolver.resolve(cpa, cpb, collNormal, collDepth); return; }; _local4 = (_local4 + _local3); _local5++; }; } private static function testCirclevsCircle(_arg1:CircleParticle, _arg2:CircleParticle):Boolean{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = testIntervals(_arg1.getIntervalX(), _arg2.getIntervalX()); if (_local3 == 0){ return (false); }; _local4 = testIntervals(_arg1.getIntervalY(), _arg2.getIntervalY()); if (_local4 == 0){ return (false); }; collNormal = _arg1.samp.minus(_arg2.samp); _local5 = collNormal.magnitude(); collDepth = ((_arg1.radius + _arg2.radius) - _local5); if (collDepth > 0){ collNormal.divEquals(_local5); cpa = _arg1; cpb = _arg2; return (true); }; return (false); } static function test(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ if (((_arg1.fixed) && (_arg2.fixed))){ return; }; if ((((_arg1.multisample == 0)) && ((_arg2.multisample == 0)))){ normVsNorm(_arg1, _arg2); } else { if ((((_arg1.multisample > 0)) && ((_arg2.multisample == 0)))){ sampVsNorm(_arg1, _arg2); } else { if ((((_arg2.multisample > 0)) && ((_arg1.multisample == 0)))){ sampVsNorm(_arg2, _arg1); } else { if (_arg1.multisample == _arg2.multisample){ sampVsSamp(_arg1, _arg2); } else { normVsNorm(_arg1, _arg2); }; }; }; }; } private static function testOBBvsCircle(_arg1:RectangleParticle, _arg2:CircleParticle):Boolean{ var _local3:Array; var _local4:int; var _local5:Number; var _local6:Vector; var _local7:Number; var _local8:Vector; var _local9:Number; collDepth = Number.POSITIVE_INFINITY; _local3 = new Array(2); _local4 = 0; while (_local4 < 2) { _local6 = _arg1.axes[_local4]; _local7 = testIntervals(_arg1.getProjection(_local6), _arg2.getProjection(_local6)); if (_local7 == 0){ return (false); }; if (Math.abs(_local7) < Math.abs(collDepth)){ collNormal = _local6; collDepth = _local7; }; _local3[_local4] = _local7; _local4++; }; _local5 = _arg2.radius; if ((((Math.abs(_local3[0]) < _local5)) && ((Math.abs(_local3[1]) < _local5)))){ _local8 = closestVertexOnOBB(_arg2.samp, _arg1); collNormal = _local8.minus(_arg2.samp); _local9 = collNormal.magnitude(); collDepth = (_local5 - _local9); if (collDepth > 0){ collNormal.divEquals(_local9); } else { return (false); }; }; cpa = _arg1; cpb = _arg2; return (true); } private static function closestVertexOnOBB(_arg1:Vector, _arg2:RectangleParticle):Vector{ var _local3:Vector; var _local4:Vector; var _local5:int; var _local6:Number; _local3 = _arg1.minus(_arg2.samp); _local4 = new Vector(_arg2.samp.x, _arg2.samp.y); _local5 = 0; while (_local5 < 2) { _local6 = _local3.dot(_arg2.axes[_local5]); if (_local6 >= 0){ _local6 = _arg2.extents[_local5]; } else { if (_local6 < 0){ _local6 = -(_arg2.extents[_local5]); }; }; _local4.plusEquals(_arg2.axes[_local5].mult(_local6)); _local5++; }; return (_local4); } private static function normVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):Boolean{ _arg1.samp.copy(_arg1.curr); _arg2.samp.copy(_arg2.curr); if (testTypes(_arg1, _arg2)){ CollisionResolver.resolve(cpa, cpb, collNormal, collDepth); return (true); }; return (false); } private static function sampVsSamp(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ var _local3:Number; var _local4:Number; var _local5:int; if (normVsNorm(_arg1, _arg2)){ return; }; _local3 = (1 / (_arg1.multisample + 1)); _local4 = _local3; _local5 = 0; while (_local5 <= _arg1.multisample) { _arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y)))); _arg2.samp.setTo((_arg2.prev.x + (_local4 * (_arg2.curr.x - _arg2.prev.x))), (_arg2.prev.y + (_local4 * (_arg2.curr.y - _arg2.prev.y)))); if (testTypes(_arg1, _arg2)){ CollisionResolver.resolve(cpa, cpb, collNormal, collDepth); return; }; _local4 = (_local4 + _local3); _local5++; }; } } }//package org.cove.ape
Section 23
//CollisionEvent (org.cove.ape.CollisionEvent) package org.cove.ape { import flash.events.*; public class CollisionEvent extends Event { private var _collidingItem:AbstractItem; public static const COLLIDE:String = "collide"; public static const FIRST_COLLIDE:String = "firstCollide"; public function CollisionEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:AbstractItem=null){ super(_arg1, _arg2, _arg3); _collidingItem = _arg4; } public function get collidingItem():AbstractItem{ var _local1:SpringConstraintParticle; if ((_collidingItem is SpringConstraintParticle)){ _local1 = (_collidingItem as SpringConstraintParticle); return (_local1.parent); }; return (_collidingItem); } } }//package org.cove.ape
Section 24
//CollisionResolver (org.cove.ape.CollisionResolver) package org.cove.ape { import org.cove.ape.*; final class CollisionResolver { static function resolve(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Vector, _arg4:Number):void{ var _local5:Vector; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Collision; var _local10:Collision; var _local11:Vector; var _local12:Vector; var _local13:Vector; var _local14:Vector; _local5 = _arg3.mult(_arg4); _local6 = (_arg1.elasticity + _arg2.elasticity); _local7 = (_arg1.invMass + _arg2.invMass); _local8 = MathUtil.clamp((1 - (_arg1.friction + _arg2.friction)), 0, 1); _local9 = _arg1.getComponents(_arg3); _local10 = _arg2.getComponents(_arg3); _local11 = _local10.vn.mult(((_local6 + 1) * _arg1.invMass)).plus(_local9.vn.mult((_arg2.invMass - (_local6 * _arg1.invMass)))).divEquals(_local7); _local12 = _local9.vn.mult(((_local6 + 1) * _arg2.invMass)).plus(_local10.vn.mult((_arg1.invMass - (_local6 * _arg2.invMass)))).divEquals(_local7); _local9.vt.multEquals(_local8); _local10.vt.multEquals(_local8); _local13 = _local5.mult((_arg1.invMass / _local7)); _local14 = _local5.mult((-(_arg2.invMass) / _local7)); _local11.plusEquals(_local9.vt); _local12.plusEquals(_local10.vt); _arg1.resolveCollision(_local13, _local11, _arg3, _arg4, -1, _arg2); _arg2.resolveCollision(_local14, _local12, _arg3, _arg4, 1, _arg1); } } }//package org.cove.ape
Section 25
//Composite (org.cove.ape.Composite) package org.cove.ape { public class Composite extends AbstractCollection { private var delta:Vector; public function Composite(){ delta = new Vector(); } private function getRelativeAngle(_arg1:Vector, _arg2:Vector):Number{ delta.setTo((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); return (Math.atan2(delta.y, delta.x)); } public function rotateByRadian(_arg1:Number, _arg2:Vector):void{ var _local3:AbstractParticle; var _local4:Array; var _local5:int; var _local6:int; var _local7:Number; var _local8:Number; _local4 = particles; _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local3 = _local4[_local6]; _local7 = _local3.center.distance(_arg2); _local8 = (getRelativeAngle(_arg2, _local3.center) + _arg1); _local3.px = ((Math.cos(_local8) * _local7) + _arg2.x); _local3.py = ((Math.sin(_local8) * _local7) + _arg2.y); _local6++; }; } public function rotateByAngle(_arg1:Number, _arg2:Vector):void{ var _local3:Number; _local3 = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY); rotateByRadian(_local3, _arg2); } public function set fixed(_arg1:Boolean):void{ var _local2:int; _local2 = 0; while (_local2 < particles.length) { particles[_local2].fixed = _arg1; _local2++; }; } public function get fixed():Boolean{ var _local1:int; _local1 = 0; while (_local1 < particles.length) { if (!particles[_local1].fixed){ return (false); }; _local1++; }; return (true); } } }//package org.cove.ape
Section 26
//Group (org.cove.ape.Group) package org.cove.ape { public class Group extends AbstractCollection { private var _collideInternal:Boolean; private var _composites:Array; private var _collisionList:Array; public function Group(_arg1:Boolean=false){ _composites = new Array(); _collisionList = new Array(); this.collideInternal = _arg1; } function checkCollisions():void{ var _local1:int; var _local2:int; var _local3:Group; if (collideInternal){ checkCollisionGroupInternal(); }; _local1 = collisionList.length; _local2 = 0; while (_local2 < _local1) { _local3 = collisionList[_local2]; if (_local3 == null){ } else { checkCollisionVsGroup(_local3); }; _local2++; }; } public function get composites():Array{ return (_composites); } override public function init():void{ var _local1:int; super.init(); _local1 = 0; while (_local1 < composites.length) { composites[_local1].init(); _local1++; }; } public function removeCollidable(_arg1:Group):void{ var _local2:int; _local2 = collisionList.indexOf(_arg1); if (_local2 == -1){ return; }; collisionList.splice(_local2, 1); } private function checkCollisionVsGroup(_arg1:Group):void{ var _local2:Composite; var _local3:int; var _local4:int; var _local5:int; var _local6:Composite; var _local7:int; checkCollisionsVsCollection(_arg1); _local3 = _composites.length; _local4 = _arg1.composites.length; _local5 = 0; while (_local5 < _local3) { _local6 = _composites[_local5]; if (_local6 == null){ } else { _local6.checkCollisionsVsCollection(_arg1); _local7 = 0; while (_local7 < _local4) { _local2 = _arg1.composites[_local7]; if (_local2 == null){ } else { _local6.checkCollisionsVsCollection(_local2); }; _local7++; }; }; _local5++; }; _local7 = 0; while (_local7 < _local4) { _local2 = _arg1.composites[_local7]; if (_local2 == null){ } else { checkCollisionsVsCollection(_local2); }; _local7++; }; } override function satisfyConstraints():void{ var _local1:int; var _local2:int; var _local3:Composite; super.satisfyConstraints(); _local1 = _composites.length; _local2 = 0; while (_local2 < _local1) { _local3 = _composites[_local2]; _local3.satisfyConstraints(); _local2++; }; } public function get collideInternal():Boolean{ return (_collideInternal); } public function addCollidableList(_arg1:Array):void{ var _local2:int; var _local3:Group; _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; collisionList.push(_local3); _local2++; }; } public function removeComposite(_arg1:Composite):void{ var _local2:int; _local2 = composites.indexOf(_arg1); if (_local2 == -1){ return; }; composites.splice(_local2, 1); _arg1.isParented = false; _arg1.cleanup(); } override public function cleanup():void{ var _local1:int; super.cleanup(); _local1 = 0; while (_local1 < composites.length) { composites[_local1].cleanup(); _local1++; }; } override public function paint():void{ var _local1:int; var _local2:int; var _local3:Composite; super.paint(); _local1 = _composites.length; _local2 = 0; while (_local2 < _local1) { _local3 = _composites[_local2]; _local3.paint(); _local2++; }; } public function addCollidable(_arg1:Group):void{ collisionList.push(_arg1); } override public function getAll():Array{ return (particles.concat(constraints).concat(composites)); } public function get collisionList():Array{ return (_collisionList); } override function integrate(_arg1:Number):void{ var _local2:int; var _local3:int; var _local4:Composite; super.integrate(_arg1); _local2 = _composites.length; _local3 = 0; while (_local3 < _local2) { _local4 = _composites[_local3]; _local4.integrate(_arg1); _local3++; }; } public function addComposite(_arg1:Composite):void{ composites.push(_arg1); _arg1.isParented = true; if (isParented){ _arg1.init(); }; } private function checkCollisionGroupInternal():void{ var _local1:int; var _local2:int; var _local3:Composite; var _local4:int; var _local5:Composite; checkInternalCollisions(); _local1 = _composites.length; _local2 = 0; while (_local2 < _local1) { _local3 = _composites[_local2]; if (_local3 == null){ } else { _local3.checkCollisionsVsCollection(this); _local4 = (_local2 + 1); while (_local4 < _local1) { _local5 = _composites[_local4]; if (_local5 != null){ _local3.checkCollisionsVsCollection(_local5); }; _local4++; }; }; _local2++; }; } public function set collideInternal(_arg1:Boolean):void{ _collideInternal = _arg1; } } }//package org.cove.ape
Section 27
//IForce (org.cove.ape.IForce) package org.cove.ape { public interface IForce { function getValue(_arg1:Number):Vector; } }//package org.cove.ape
Section 28
//Interval (org.cove.ape.Interval) package org.cove.ape { final class Interval { var min:Number; var max:Number; function Interval(_arg1:Number, _arg2:Number){ this.min = _arg1; this.max = _arg2; } function toString():String{ return (((min + " : ") + max)); } } }//package org.cove.ape
Section 29
//MathUtil (org.cove.ape.MathUtil) package org.cove.ape { final class MathUtil { static var ONE_EIGHTY_OVER_PI:Number = 57.2957795130823; static var PI_OVER_ONE_EIGHTY:Number = 0.0174532925199433; static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 < _arg2){ return (_arg2); }; if (_arg1 > _arg3){ return (_arg3); }; return (_arg1); } static function sign(_arg1:Number):int{ if (_arg1 < 0){ return (-1); }; return (1); } } }//package org.cove.ape
Section 30
//RectangleParticle (org.cove.ape.RectangleParticle) package org.cove.ape { public class RectangleParticle extends AbstractParticle { private var _axes:Array; private var _extents:Array; private var _radian:Number; public function RectangleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0.3, _arg9:Number=0){ super(_arg1, _arg2, _arg6, _arg7, _arg8, _arg9); _extents = new Array((_arg3 / 2), (_arg4 / 2)); _axes = new Array(new Vector(0, 0), new Vector(0, 0)); radian = _arg5; } function getProjection(_arg1:Vector):Interval{ var _local2:Number; var _local3:Number; _local2 = ((extents[0] * Math.abs(_arg1.dot(axes[0]))) + (extents[1] * Math.abs(_arg1.dot(axes[1])))); _local3 = samp.dot(_arg1); interval.min = (_local3 - _local2); interval.max = (_local3 + _local2); return (interval); } override public function init():void{ var _local1:Number; var _local2:Number; cleanup(); if (displayObject != null){ initDisplay(); } else { _local1 = (extents[0] * 2); _local2 = (extents[1] * 2); sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.beginFill(fillColor, fillAlpha); sprite.graphics.drawRect((-(_local1) / 2), (-(_local2) / 2), _local1, _local2); sprite.graphics.endFill(); }; paint(); } public function set width(_arg1:Number):void{ _extents[0] = (_arg1 / 2); } function get extents():Array{ return (_extents); } function get axes():Array{ return (_axes); } public function get height():Number{ return ((_extents[1] * 2)); } private function setAxes(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.sin(_arg1); _local3 = Math.cos(_arg1); axes[0].x = _local3; axes[0].y = _local2; axes[1].x = -(_local2); axes[1].y = _local3; } public function get radian():Number{ return (_radian); } public function set angle(_arg1:Number):void{ radian = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY); } public function set height(_arg1:Number):void{ _extents[1] = (_arg1 / 2); } public function get angle():Number{ return ((radian * MathUtil.ONE_EIGHTY_OVER_PI)); } public function set radian(_arg1:Number):void{ _radian = _arg1; setAxes(_arg1); } override public function paint():void{ sprite.x = curr.x; sprite.y = curr.y; sprite.rotation = angle; } public function get width():Number{ return ((_extents[0] * 2)); } } }//package org.cove.ape
Section 31
//RigidParticle (org.cove.ape.RigidParticle) package org.cove.ape { public class RigidParticle extends RectangleParticle { private var _av:Number; private var _vertices:Array; public function RigidParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0.3, _arg9:Number=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); _av = 0; _vertices = new Array(new Vector(extents[0], -(extents[1])), new Vector(extents[0], extents[1]), new Vector(-(extents[0]), extents[1]), new Vector(-(extents[0]), -(extents[1]))); } private function findHitPointCircle(_arg1:CircleParticle){ return (new Vector(0, 0)); } private function findHitPointOBB(_arg1:RectangleParticle):Vector{ var _local2:Array; var _local3:Array; var _local4:Array; var _local5:Vector; var _local6:Array; var _local7:Array; var _local8:Array; var _local9:*; var _local10:*; var _local11:Array; var _local12:*; var _local13:Vector; _local2 = new Array(axes[0], axes[1], axes[0].mult(-1), axes[1].mult(-1)); _local3 = new Array(_local2[0].mult(extents[0]), _local2[1].mult(extents[1]), _local2[2].mult(extents[0]), _local2[3].mult(extents[1])); _local4 = new Array(_local3[0].plus(_local3[1]), _local3[1].plus(_local3[2]), _local3[2].plus(_local3[3]), _local3[3].plus(_local3[0])); _local5 = _arg1.curr.minus(curr); _local6 = new Array(_arg1.axes[0], _arg1.axes[1], _arg1.axes[0].mult(-1), _arg1.axes[1].mult(-1)); _local7 = new Array(_local6[0].mult(_arg1.extents[0]), _local6[1].mult(_arg1.extents[1]), _local6[2].mult(_arg1.extents[0]), _local6[3].mult(_arg1.extents[1])); _local8 = new Array(_local7[0].plus(_local7[1]), _local7[1].plus(_local7[2]), _local7[2].plus(_local7[3]), _local7[3].plus(_local7[0])); _local9 = 0; while (_local9 < 4) { _local7[_local9].plusEquals(_local5); _local8[_local9].plusEquals(_local5); _local9++; }; _local11 = new Array(); _local9 = 0; while (_local9 < 4) { _local12 = true; _local10 = 0; while (_local10 < 4) { if (_local4[_local9].minus(_local7[_local10]).dot(_local6[_local10]) > 0.01){ _local12 = false; break; }; _local10++; }; if (_local12){ _local11.push(_local4[_local9]); }; _local9++; }; _local9 = 0; while (_local9 < 4) { _local12 = true; _local10 = 0; while (_local10 < 4) { if (_local8[_local9].minus(_local3[_local10]).dot(_local2[_local10]) > 0.01){ _local12 = false; break; }; _local10++; }; if (_local12){ _local11.push(_local8[_local9]); }; _local9++; }; _local13 = new Vector(0, 0); _local9 = 0; while (_local9 < _local11.length) { _local13.plusEquals(_local11[_local9]); _local9++; }; if (_local11.length > 0){ _local13.multEquals((1 / _local11.length)); }; return (_local13); } override function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ var _local7:*; var _local8:*; super.resolveCollision(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); _local7 = findHitPoint(_arg6); if (_local7 == undefined){ return; }; _local8 = _local7.cross(_arg1); _av = (_av + _local8); } private function findHitPoint(_arg1:AbstractParticle):Vector{ if ((_arg1 is RectangleParticle)){ return (findHitPointOBB((_arg1 as RectangleParticle))); }; if ((_arg1 is CircleParticle)){ return (findHitPointCircle((_arg1 as CircleParticle))); }; return (new Vector(0, 0)); } override public function update(_arg1:Number):void{ angle = (angle + (_av * _arg1)); super.update(_arg1); } } }//package org.cove.ape
Section 32
//RimParticle (org.cove.ape.RimParticle) package org.cove.ape { import org.cove.ape.*; class RimParticle { private var maxTorque:Number; var curr:Vector; var prev:Vector; private var av:Number; private var wr:Number; private var sp:Number; function RimParticle(_arg1:Number, _arg2:Number){ curr = new Vector(_arg1, 0); prev = new Vector(0, 0); sp = 0; av = 0; maxTorque = _arg2; wr = _arg1; } function update(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; sp = Math.max(-(maxTorque), Math.min(maxTorque, (sp + av))); _local2 = -(curr.y); _local3 = curr.x; _local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local2 = (_local2 / _local4); _local3 = (_local3 / _local4); curr.x = (curr.x + (sp * _local2)); curr.y = (curr.y + (sp * _local3)); _local5 = prev.x; _local6 = prev.y; _local7 = (prev.x = curr.x); _local8 = (prev.y = curr.y); curr.x = (curr.x + (APEngine.damping * (_local7 - _local5))); curr.y = (curr.y + (APEngine.damping * (_local8 - _local6))); _local9 = Math.sqrt(((curr.x * curr.x) + (curr.y * curr.y))); _local10 = ((_local9 - wr) / _local9); curr.x = (curr.x - (curr.x * _local10)); curr.y = (curr.y - (curr.y * _local10)); } function set speed(_arg1:Number):void{ sp = _arg1; } function get angularVelocity():Number{ return (av); } function set angularVelocity(_arg1:Number):void{ av = _arg1; } function get speed():Number{ return (sp); } } }//package org.cove.ape
Section 33
//SpringConstraint (org.cove.ape.SpringConstraint) package org.cove.ape { import flash.display.*; public class SpringConstraint extends AbstractConstraint { private var _collidable:Boolean; public var p1:AbstractParticle; public var p2:AbstractParticle; private var _scp:SpringConstraintParticle; private var _restLength:Number; public function SpringConstraint(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Number=0.5, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=1, _arg7:Boolean=false){ super(_arg3); this.p1 = _arg1; this.p2 = _arg2; checkParticlesLocation(); _restLength = currLength; setCollidable(_arg4, _arg5, _arg6, _arg7); } public function get fixed():Boolean{ return (((p1.fixed) && (p2.fixed))); } public function set rectScale(_arg1:Number):void{ if (scp == null){ return; }; scp.rectScale = _arg1; } override public function init():void{ cleanup(); if (collidable){ scp.init(); } else { if (displayObject != null){ initDisplay(); }; }; paint(); } function initDisplay():void{ if (collidable){ scp.initDisplay(); } else { displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; sprite.addChild(displayObject); }; } public function isConnectedTo(_arg1:AbstractParticle):Boolean{ return ((((_arg1 == p1)) || ((_arg1 == p2)))); } public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{ if (collidable){ scp.setDisplay(_arg1, _arg2, _arg3, _arg4); } else { displayObject = _arg1; displayObjectRotation = _arg4; displayObjectOffset = new Vector(_arg2, _arg3); }; } public function get part1():AbstractParticle{ return (p1); } function get scp():SpringConstraintParticle{ return (_scp); } private function checkParticlesLocation():void{ if ((((p1.curr.x == p2.curr.x)) && ((p1.curr.y == p2.curr.y)))){ p2.curr.x = (p2.curr.x + 0.0001); }; } public function get radian():Number{ var _local1:Vector; _local1 = delta; return (Math.atan2(_local1.y, _local1.x)); } public function get rectHeight():Number{ return (scp.rectHeight); } public function set restLength(_arg1:Number):void{ if (_arg1 <= 0){ throw (new ArgumentError("restLength must be greater than 0")); }; _restLength = _arg1; } public function get currLength():Number{ return (p1.curr.distance(p2.curr)); } public function get fixedEndLimit():Number{ return (scp.fixedEndLimit); } function get delta():Vector{ return (p1.curr.minus(p2.curr)); } public function get angle():Number{ return ((radian * MathUtil.ONE_EIGHTY_OVER_PI)); } public function get center():Vector{ return (p1.curr.plus(p2.curr).divEquals(2)); } public function set rectHeight(_arg1:Number):void{ if (scp == null){ return; }; scp.rectHeight = _arg1; } public function setCollidable(_arg1:Boolean, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{ _collidable = _arg1; _scp = null; if (_collidable){ _scp = new SpringConstraintParticle(p1, p2, this, _arg2, _arg3, _arg4); }; } override public function paint():void{ var _local1:Vector; if (collidable){ scp.paint(); } else { if (displayObject != null){ _local1 = center; sprite.x = _local1.x; sprite.y = _local1.y; sprite.rotation = angle; } else { sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.moveTo(p1.px, p1.py); sprite.graphics.lineTo(p2.px, p2.py); }; }; } public function get rectScale():Number{ return (scp.rectScale); } public function get restLength():Number{ return (_restLength); } override public function resolve():void{ var _local1:Number; var _local2:Number; var _local3:Vector; if (((p1.fixed) && (p2.fixed))){ return; }; _local1 = currLength; _local2 = ((_local1 - restLength) / (_local1 * (p1.invMass + p2.invMass))); _local3 = delta.mult((_local2 * stiffness)); p1.curr.minusEquals(_local3.mult(p1.invMass)); p2.curr.plusEquals(_local3.mult(p2.invMass)); } public function get collidable():Boolean{ return (_collidable); } public function set fixedEndLimit(_arg1:Number):void{ if (scp == null){ return; }; scp.fixedEndLimit = _arg1; } } }//package org.cove.ape
Section 34
//SpringConstraintParticle (org.cove.ape.SpringConstraintParticle) package org.cove.ape { import flash.display.*; import org.cove.ape.*; class SpringConstraintParticle extends RectangleParticle { private var _fixedEndLimit:Number; private var rca:Vector; private var rcb:Vector; private var _rectScale:Number; private var s:Number; var parent:SpringConstraint; private var scaleToLength:Boolean; private var p1:AbstractParticle; private var p2:AbstractParticle; private var lambda:Vector; private var avgVelocity:Vector; private var _rectHeight:Number; function SpringConstraintParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:SpringConstraint, _arg4:Number, _arg5:Number, _arg6:Boolean){ super(0, 0, 0, 0, 0, false); this.p1 = _arg1; this.p2 = _arg2; lambda = new Vector(0, 0); avgVelocity = new Vector(0, 0); parent = _arg3; this.rectScale = _arg5; this.rectHeight = _arg4; this.scaleToLength = _arg6; fixedEndLimit = 0; rca = new Vector(); rcb = new Vector(); } private function setCorners(_arg1:RectangleParticle, _arg2:int):void{ var _local3:Number; var _local4:Number; var _local5:Array; var _local6:Array; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local3 = _arg1.curr.x; _local4 = _arg1.curr.y; _local5 = _arg1.axes; _local6 = _arg1.extents; _local7 = (_local5[0].x * _local6[0]); _local8 = (_local5[0].y * _local6[0]); _local9 = (_local5[1].x * _local6[1]); _local10 = (_local5[1].y * _local6[1]); _local11 = (_local7 - _local9); _local12 = (_local8 - _local10); _local13 = (_local7 + _local9); _local14 = (_local8 + _local10); if (_arg2 == 0){ rca.x = (_local3 - _local13); rca.y = (_local4 - _local14); rcb.x = (_local3 + _local11); rcb.y = (_local4 + _local12); } else { if (_arg2 == 1){ rca.x = (_local3 + _local11); rca.y = (_local4 + _local12); rcb.x = (_local3 + _local13); rcb.y = (_local4 + _local14); } else { if (_arg2 == 2){ rca.x = (_local3 + _local13); rca.y = (_local4 + _local14); rcb.x = (_local3 - _local11); rcb.y = (_local4 - _local12); } else { if (_arg2 == 3){ rca.x = (_local3 - _local11); rca.y = (_local4 - _local12); rcb.x = (_local3 - _local13); rcb.y = (_local4 - _local14); }; }; }; }; } override public function init():void{ var _local1:Sprite; var _local2:Number; var _local3:Number; if (displayObject != null){ initDisplay(); } else { _local1 = new Sprite(); parent.sprite.addChild(_local1); _local1.name = "inner"; _local2 = (parent.currLength * rectScale); _local3 = rectHeight; _local1.graphics.clear(); _local1.graphics.lineStyle(parent.lineThickness, parent.lineColor, parent.lineAlpha); _local1.graphics.beginFill(parent.fillColor, parent.fillAlpha); _local1.graphics.drawRect((-(_local2) / 2), (-(_local3) / 2), _local2, _local3); _local1.graphics.endFill(); }; paint(); } function updatePosition():void{ var _local1:Vector; _local1 = parent.center; curr.setTo(_local1.x, _local1.y); width = (scaleToLength) ? (parent.currLength * rectScale) : (parent.restLength * rectScale); height = rectHeight; radian = parent.radian; } private function closestPtSegmentSegment():Number{ var _local1:Vector; var _local2:Vector; var _local3:Vector; var _local4:Vector; var _local5:Vector; var _local6:Vector; var _local7:Vector; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Vector; var _local16:Vector; var _local17:Vector; _local1 = p1.curr; _local2 = p2.curr; _local3 = rca; _local4 = rcb; _local5 = _local2.minus(_local1); _local6 = _local4.minus(_local3); _local7 = _local1.minus(_local3); _local9 = _local5.dot(_local5); _local10 = _local6.dot(_local6); _local11 = _local6.dot(_local7); _local12 = _local5.dot(_local7); _local13 = _local5.dot(_local6); _local14 = ((_local9 * _local10) - (_local13 * _local13)); if (_local14 != 0){ s = MathUtil.clamp((((_local13 * _local11) - (_local12 * _local10)) / _local14), 0, 1); } else { s = 0.5; }; _local8 = (((_local13 * s) + _local11) / _local10); if (_local8 < 0){ _local8 = 0; s = MathUtil.clamp((-(_local12) / _local9), 0, 1); } else { if (_local8 > 0){ _local8 = 1; s = MathUtil.clamp(((_local13 - _local12) / _local9), 0, 1); }; }; _local15 = _local1.plus(_local5.mult(s)); _local16 = _local3.plus(_local6.mult(_local8)); _local17 = _local15.minus(_local16); return (_local15.minus(_local16).dot(_local17)); } function get rectHeight():Number{ return (_rectHeight); } function get fixedEndLimit():Number{ return (_fixedEndLimit); } private function closestParamPoint(_arg1:Vector):Number{ var _local2:Vector; var _local3:Number; _local2 = p2.curr.minus(p1.curr); _local3 = (_local2.dot(_arg1.minus(p1.curr)) / _local2.dot(_local2)); return (MathUtil.clamp(_local3, 0, 1)); } override public function paint():void{ var _local1:Vector; var _local2:Sprite; _local1 = parent.center; _local2 = parent.sprite; if (scaleToLength){ _local2.getChildByName("inner").width = (parent.currLength * rectScale); } else { if (displayObject != null){ _local2.getChildByName("inner").width = (parent.restLength * rectScale); }; }; _local2.x = _local1.x; _local2.y = _local1.y; _local2.rotation = parent.angle; } function set rectHeight(_arg1:Number):void{ _rectHeight = _arg1; } private function getContactPointParam(_arg1:AbstractParticle):Number{ var _local2:Number; var _local3:Number; var _local4:Array; var _local5:Number; var _local6:int; var _local7:Number; if ((_arg1 is CircleParticle)){ _local2 = closestParamPoint(_arg1.curr); } else { if ((_arg1 is RectangleParticle)){ _local4 = new Array(4); _local5 = Number.POSITIVE_INFINITY; _local6 = 0; while (_local6 < 4) { setCorners((_arg1 as RectangleParticle), _local6); _local7 = closestPtSegmentSegment(); if (_local7 < _local5){ _local5 = _local7; _local3 = _local6; _local4[_local6] = s; }; _local6++; }; _local2 = _local4[_local3]; }; }; return (_local2); } function set fixedEndLimit(_arg1:Number):void{ _fixedEndLimit = _arg1; } override public function get fixed():Boolean{ return (parent.fixed); } override function get invMass():Number{ if (((p1.fixed) && (p2.fixed))){ return (0); }; return ((1 / ((p1.mass + p2.mass) / 2))); } override function initDisplay():void{ var _local1:Sprite; displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; _local1 = new Sprite(); _local1.name = "inner"; _local1.addChild(displayObject); parent.sprite.addChild(_local1); } function set rectScale(_arg1:Number):void{ _rectScale = _arg1; } override function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:AbstractParticle; testParticleEvents(_arg6); if (((fixed) || (!(_arg6.solid)))){ return; }; _local7 = getContactPointParam(_arg6); _local8 = (1 - _local7); _local9 = _local7; if (p1.fixed){ if (_local9 <= fixedEndLimit){ return; }; lambda.setTo((_arg1.x / _local9), (_arg1.y / _local9)); p2.curr.plusEquals(lambda); p2.velocity = _arg2; } else { if (p2.fixed){ if (_local8 <= fixedEndLimit){ return; }; lambda.setTo((_arg1.x / _local8), (_arg1.y / _local8)); p1.curr.plusEquals(lambda); p1.velocity = _arg2; } else { _local10 = ((_local8 * _local8) + (_local9 * _local9)); if (_local10 == 0){ return; }; lambda.setTo((_arg1.x / _local10), (_arg1.y / _local10)); p1.curr.plusEquals(lambda.mult(_local8)); p2.curr.plusEquals(lambda.mult(_local9)); if (_local7 == 0.5){ p1.velocity = _arg2; p2.velocity = _arg2; } else { _local11 = ((_local7)<0.5) ? p1 : p2; _local11.velocity = _arg2; }; }; }; } override public function get elasticity():Number{ return (((p1.elasticity + p2.elasticity) / 2)); } function get rectScale():Number{ return (_rectScale); } override public function get velocity():Vector{ var _local1:Vector; var _local2:Vector; _local1 = p1.velocity; _local2 = p2.velocity; avgVelocity.setTo(((_local1.x + _local2.x) / 2), ((_local1.y + _local2.y) / 2)); return (avgVelocity); } override public function get mass():Number{ return (((p1.mass + p2.mass) / 2)); } override public function get friction():Number{ return (((p1.friction + p2.friction) / 2)); } } }//package org.cove.ape
Section 35
//Vector (org.cove.ape.Vector) package org.cove.ape { public class Vector { public var x:Number; public var y:Number; public function Vector(_arg1:Number=0, _arg2:Number=0){ x = _arg1; y = _arg2; } public function cross(_arg1:Vector):Number{ return (((x * _arg1.y) - (y * _arg1.x))); } public function magnitude():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function divEquals(_arg1:Number):Vector{ if (_arg1 == 0){ _arg1 = 0.0001; }; x = (x / _arg1); y = (y / _arg1); return (this); } public function times(_arg1:Vector):Vector{ return (new Vector((x * _arg1.x), (y * _arg1.y))); } public function plusEquals(_arg1:Vector):Vector{ x = (x + _arg1.x); y = (y + _arg1.y); return (this); } public function dot(_arg1:Vector):Number{ return (((x * _arg1.x) + (y * _arg1.y))); } public function normalizeEquals():Vector{ var _local1:Number; _local1 = magnitude(); if (_local1 == 0){ _local1 = 0.0001; }; return (multEquals((1 / _local1))); } public function normalize():Vector{ var _local1:Number; _local1 = magnitude(); if (_local1 == 0){ _local1 = 0.0001; }; return (mult((1 / _local1))); } public function copy(_arg1:Vector):void{ x = _arg1.x; y = _arg1.y; } public function minusEquals(_arg1:Vector):Vector{ x = (x - _arg1.x); y = (y - _arg1.y); return (this); } public function minus(_arg1:Vector):Vector{ return (new Vector((x - _arg1.x), (y - _arg1.y))); } public function plus(_arg1:Vector):Vector{ return (new Vector((x + _arg1.x), (y + _arg1.y))); } public function toString():String{ return (((x + " : ") + y)); } public function distance(_arg1:Vector):Number{ var _local2:Vector; _local2 = this.minus(_arg1); return (_local2.magnitude()); } public function setTo(_arg1:Number, _arg2:Number):void{ x = _arg1; y = _arg2; } public function multEquals(_arg1:Number):Vector{ x = (x * _arg1); y = (y * _arg1); return (this); } public function mult(_arg1:Number):Vector{ return (new Vector((x * _arg1), (y * _arg1))); } } }//package org.cove.ape
Section 36
//VectorForce (org.cove.ape.VectorForce) package org.cove.ape { public class VectorForce implements IForce { private var fvx:Number; private var fvy:Number; private var value:Vector; private var scaleMass:Boolean; public function VectorForce(_arg1:Boolean, _arg2:Number, _arg3:Number){ fvx = _arg2; fvy = _arg3; scaleMass = _arg1; value = new Vector(_arg2, _arg3); } public function set vx(_arg1:Number):void{ fvx = _arg1; value.x = _arg1; } public function set vy(_arg1:Number):void{ fvy = _arg1; value.y = _arg1; } public function set useMass(_arg1:Boolean):void{ scaleMass = _arg1; } public function getValue(_arg1:Number):Vector{ if (scaleMass){ value.setTo((fvx * _arg1), (fvy * _arg1)); }; return (value); } } }//package org.cove.ape
Section 37
//WheelParticle (org.cove.ape.WheelParticle) package org.cove.ape { public class WheelParticle extends CircleParticle { private var normSlip:Vector; private var rp:RimParticle; private var _traction:Number; private var tan:Vector; private var orientation:Vector; public function WheelParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=0.3, _arg7:Number=0, _arg8:Number=1){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7); tan = new Vector(0, 0); normSlip = new Vector(0, 0); rp = new RimParticle(_arg3, 2); this.traction = _arg8; orientation = new Vector(); } override public function init():void{ cleanup(); if (displayObject != null){ initDisplay(); } else { sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.beginFill(fillColor, fillAlpha); sprite.graphics.drawCircle(0, 0, radius); sprite.graphics.endFill(); sprite.graphics.moveTo(-(radius), 0); sprite.graphics.lineTo(radius, 0); sprite.graphics.moveTo(0, -(radius)); sprite.graphics.lineTo(0, radius); }; paint(); } public function get radian():Number{ orientation.setTo(rp.curr.x, rp.curr.y); return ((Math.atan2(orientation.y, orientation.x) + Math.PI)); } public function get traction():Number{ return ((1 - _traction)); } public function get speed():Number{ return (rp.speed); } override public function paint():void{ sprite.x = curr.x; sprite.y = curr.y; sprite.rotation = angle; } public function set traction(_arg1:Number):void{ _traction = (1 - _arg1); } public function set speed(_arg1:Number):void{ rp.speed = _arg1; } override function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ super.resolveCollision(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); resolve(_arg3.mult(MathUtil.sign((_arg4 * _arg5)))); } public function set angularVelocity(_arg1:Number):void{ rp.angularVelocity = _arg1; } override public function update(_arg1:Number):void{ super.update(_arg1); rp.update(_arg1); } public function get angle():Number{ return ((radian * MathUtil.ONE_EIGHTY_OVER_PI)); } public function get angularVelocity():Number{ return (rp.angularVelocity); } private function resolve(_arg1:Vector):void{ var _local2:Vector; var _local3:Vector; var _local4:Number; var _local5:Number; tan.setTo(-(rp.curr.y), rp.curr.x); tan = tan.normalize(); _local2 = tan.mult(rp.speed); _local3 = velocity.plusEquals(_local2); _local4 = _local3.cross(_arg1); tan.multEquals(_local4); rp.prev.copy(rp.curr.minus(tan)); _local5 = ((1 - _traction) * rp.speed); normSlip.setTo((_local5 * _arg1.y), (_local5 * _arg1.x)); curr.plusEquals(normSlip); rp.speed = (rp.speed * _traction); } } }//package org.cove.ape
Section 38
//bt_mc_fscreen_93 (ShootTheSnake_gamesonly_fla.bt_mc_fscreen_93) package ShootTheSnake_gamesonly_fla { import flash.display.*; public dynamic class bt_mc_fscreen_93 extends MovieClip { public function bt_mc_fscreen_93(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package ShootTheSnake_gamesonly_fla
Section 39
//flag_icon_162 (ShootTheSnake_gamesonly_fla.flag_icon_162) package ShootTheSnake_gamesonly_fla { import flash.display.*; public dynamic class flag_icon_162 extends MovieClip { public function flag_icon_162(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package ShootTheSnake_gamesonly_fla
Section 40
//help_100 (ShootTheSnake_gamesonly_fla.help_100) package ShootTheSnake_gamesonly_fla { import flash.display.*; public dynamic class help_100 extends MovieClip { public var d_Ball:Ball; } }//package ShootTheSnake_gamesonly_fla
Section 41
//l_br_164 (ShootTheSnake_gamesonly_fla.l_br_164) package ShootTheSnake_gamesonly_fla { import flash.display.*; import flash.text.*; public dynamic class l_br_164 extends MovieClip { public var text:TextField; public var flag:MovieClip; } }//package ShootTheSnake_gamesonly_fla
Section 42
//MainTimeline (ShootTheSnake_gamesonly_fla.MainTimeline) package ShootTheSnake_gamesonly_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.geom.*; import com.spilgames.api.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.ui.*; import flash.external.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.printing.*; public dynamic class MainTimeline extends MovieClip { public var d_NextLevel:SimpleButton; public var lbar:MovieClip; public var d_LevelScore:TextField; public var d_OverLogo:SimpleButton; public var d_Help:SimpleButton; public var ss; public var d_Play:SimpleButton; public var d_Replay:SimpleButton; public var d_More:SimpleButton; public var d_Submit:SimpleButton; public var d_TotalScore:TextField; public var d_FoodScore:TextField; public var d_MainLogo:SimpleButton; public var isfull:String; public var d_Score:TextField; public var foodscore; public var StartLogo:SimpleButton; public var d_CreditsBack:SimpleButton; public var d_Fscreen:MovieClip; public var lpc:TextField; public var _spilGamesServices:SpilGamesServices; public var d_TimeScore:TextField; public var d_Credits:SimpleButton; public var d_HelpPlay:SimpleButton; public var d_More2:SimpleButton; public var d_More3:SimpleButton; public var LoadLogo:BrandingLogo; public var timescore; public function MainTimeline(){ addFrameScript(0, frame1, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8); } public function onMainLogo(_arg1){ var _local2:*; _local2 = SpilGame.getMoreGamesLink("button_mainscreen_moregames"); navigateToURL(new URLRequest(_local2), "_blank"); } public function enterFrameHandler(_arg1:Event):void{ lpc.text = (Math.floor((lbar.currentFrame / 2)) + "%"); if (lbar.currentFrame >= 200){ lbar.removeEventListener(Event.ENTER_FRAME, enterFrameHandler); stage.removeEventListener(MouseEvent.CLICK, fnLogoUrl); gotoAndStop(3); }; } public function onServicesReady(_arg1:Event):void{ trace("ok", _spilGamesServices.isDomainAllowed()); } function frame3(){ try { isfull = String(EmbedObject.getParamViaExternal("allowFullScreen")); isfull = isfull.toLowerCase(); if (isfull != "true"){ d_Fscreen.visible = false; }; } catch(e) { }; d_Fscreen.addEventListener(MouseEvent.CLICK, onFscreen); d_Fscreen.buttonMode = true; stop(); SoundMixer.stopAll(); Config.soundChannel = null; if (Config.SSound){ ss = new SStart(); ss.play(0, 10000000); }; Game.CLevel = 1; Game.CScore = 0; d_Play.addEventListener(MouseEvent.CLICK, onClick); d_Help.addEventListener(MouseEvent.CLICK, onClick); d_More.addEventListener(MouseEvent.CLICK, onMore); d_Credits.addEventListener(MouseEvent.CLICK, onClick); StartLogo.addEventListener(MouseEvent.CLICK, StartLogoUrl); } function frame5(){ d_MainLogo.addEventListener(MouseEvent.CLICK, onMainLogo); } function frame6(){ d_More2.addEventListener(MouseEvent.CLICK, onMore); d_NextLevel.addEventListener(MouseEvent.CLICK, onNext); foodscore = ((Game.CFood - 3) * 10); foodscore = (500 - foodscore); if (foodscore < 0){ foodscore = 0; }; d_FoodScore.text = String(foodscore); timescore = (Game.CTime * 2); d_TimeScore.text = String(timescore); d_LevelScore.text = String((timescore + foodscore)); d_TotalScore.text = ((Game.CScore + timescore) + foodscore); } function frame7(){ d_Score.text = String(Game.CScore); Game.CScore = 0; Config.soundChannel = null; d_Replay.addEventListener(MouseEvent.CLICK, onReplay); d_Submit.addEventListener(MouseEvent.CLICK, onSubmit); d_More3.addEventListener(MouseEvent.CLICK, onMore); d_OverLogo.addEventListener(MouseEvent.CLICK, onOverLogo); } function frame1(){ stop(); Languages.initialize(); SpilGame.initialize("ShootTheSnake_gamesonly", PortalGroup.FAMILY, "ShootTheSnake_gamesonly.html", this, true); _spilGamesServices = SpilGamesServices.getInstance(); _spilGamesServices.addEventListener("servicesReady", onServicesReady); _spilGamesServices.addEventListener("servicesFailed", onServicesFailed); _spilGamesServices.connect(this); stage.addEventListener(MouseEvent.CLICK, fnLogoUrl); LoadLogo.addEventListener(MouseEvent.CLICK, fnLogoUrl); lbar.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } function frame4(){ d_HelpPlay.addEventListener(MouseEvent.CLICK, function (){ gotoAndStop("game"); }); } function frame8(){ stop(); d_CreditsBack.addEventListener(MouseEvent.CLICK, function (){ gotoAndStop("start"); }); } public function onReplay(_arg1){ gotoAndStop("start"); } public function onSubmit(_arg1){ ScoreService.submitScore(int(d_Score.text)); } public function onClick(_arg1){ switch (_arg1.currentTarget.name){ case "d_Play": gotoAndStop("game"); break; case "d_Help": gotoAndStop("help"); break; case "d_Credits": gotoAndStop("credits"); break; }; } public function StartLogoUrl(_arg1:MouseEvent){ var _local2:*; _local2 = SpilGame.getMoreGamesLink("logo_intro"); navigateToURL(new URLRequest(_local2), "_blank"); } public function onNext(_arg1){ Game.CLevel++; Game.CScore = (Game.CScore + timescore); Game.CScore = (Game.CScore + foodscore); if (Game.CLevel > Game.CMaxLevel){ gotoAndStop("over"); } else { gotoAndStop("game"); }; } public function onFscreen(_arg1:MouseEvent):void{ var event = _arg1; try { switch (stage.displayState){ case "normal": stage.displayState = "fullScreen"; d_Fscreen.gotoAndStop(2); break; case "fullScreen": default: stage.displayState = "normal"; d_Fscreen.gotoAndStop(1); break; }; } catch(e:SecurityError) { trace("<param name=\"allowFullScreen\" value=\"true\" />"); }; } public function onOverLogo(_arg1){ var _local2:*; _local2 = SpilGame.getMoreGamesLink("button_gameover_moregames"); navigateToURL(new URLRequest(_local2), "_blank"); } public function onMore(_arg1){ var _local2:*; _local2 = SpilGame.getMoreGamesLink("logo_intro"); navigateToURL(new URLRequest(_local2), "_blank"); } public function fnLogoUrl(_arg1:MouseEvent){ var _local2:*; _local2 = SpilGame.getMoreGamesLink("logo_intro"); navigateToURL(new URLRequest(_local2), "_blank"); } public function onServicesFailed(_arg1:Event):void{ trace("Submitter failed to load"); trace(_spilGamesServices.isDomainAllowed()); } } }//package ShootTheSnake_gamesonly_fla
Section 43
//Timeline_108 (ShootTheSnake_gamesonly_fla.Timeline_108) package ShootTheSnake_gamesonly_fla { import flash.display.*; public dynamic class Timeline_108 extends MovieClip { public function Timeline_108(){ addFrameScript(21, frame22); } function frame22(){ stop(); } } }//package ShootTheSnake_gamesonly_fla
Section 44
//Timeline_119 (ShootTheSnake_gamesonly_fla.Timeline_119) package ShootTheSnake_gamesonly_fla { import flash.display.*; public dynamic class Timeline_119 extends MovieClip { public function Timeline_119(){ addFrameScript(0, frame1); } function frame1(){ stop(); if (!Config.SMusic){ gotoAndStop(2); }; } } }//package ShootTheSnake_gamesonly_fla
Section 45
//Timeline_120 (ShootTheSnake_gamesonly_fla.Timeline_120) package ShootTheSnake_gamesonly_fla { import flash.display.*; public dynamic class Timeline_120 extends MovieClip { public function Timeline_120(){ addFrameScript(0, frame1); } function frame1(){ stop(); if (!Config.SSound){ gotoAndStop(2); }; } } }//package ShootTheSnake_gamesonly_fla
Section 46
//Timeline_121 (ShootTheSnake_gamesonly_fla.Timeline_121) package ShootTheSnake_gamesonly_fla { import flash.display.*; public dynamic class Timeline_121 extends MovieClip { public var d_Play:SimpleButton; } }//package ShootTheSnake_gamesonly_fla
Section 47
//Timeline_70 (ShootTheSnake_gamesonly_fla.Timeline_70) package ShootTheSnake_gamesonly_fla { import flash.display.*; public dynamic class Timeline_70 extends MovieClip { public function Timeline_70(){ addFrameScript(199, frame200); } function frame200(){ stop(); } } }//package ShootTheSnake_gamesonly_fla
Section 48
//Timeline_72 (ShootTheSnake_gamesonly_fla.Timeline_72) package ShootTheSnake_gamesonly_fla { import flash.display.*; public dynamic class Timeline_72 extends MovieClip { public function Timeline_72(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package ShootTheSnake_gamesonly_fla
Section 49
//Brand (spill.localisation.Brand) package spill.localisation { import flash.xml.*; public class Brand { public var domain:String; public var useGoogleAnalitics:Boolean;// = true public var emailPage:String; public var name:String; public var site_id:uint; public var isExternal:Boolean;// = false public var id:Number; public var hostingDomain:String;// = "" public var preferedLanguage:String;// = "" public var moreLink:String;// = "" public var hasSendToFriendLink:Boolean;// = true public var portalGroup:uint; public var emailLink:String;// = "game" private static const topLevelDoubles:String = ((((((((((((((("ac.cn,ac.jp,ac.uk,ad.jp,adm.br,adv.br,agr.br," + "ah.cn,am.br,arq.br,art.br,asn.au,ato.br,av.tr,bel.tr,bio.br,biz.tr,bj.cn,bmd.br,") + "cim.br,cng.br,cnt.br,co.at,co.jp,co.uk,com.au,com.br,com.cn,com.eg,com.hk,com.mx,") + "com.ru,com.tr,com.tw,conf.au,cq.cn,csiro.au,dr.tr,ecn.br,edu.au,edu.br,edu.tr,") + "emu.id.au,eng.br,esp.br,etc.br,eti.br,eun.eg,far.br,fj.cn,fm.br,fnd.br,fot.br,") + "fst.br,g12.br,gb.com,gb.net,gd.cn,gen.tr,ggf.br,gob.mx,gov.au,gov.br,gov.cn,") + "gov.hk,gov.tr,gr.jp,gs.cn,gx.cn,gz.cn,ha.cn,hb.cn,he.cn,hi.cn,hk.cn,hl.cn,hn.cn,") + "id.au,idv.tw,imb.br,ind.br,inf.br,info.au,info.tr,jl.cn,jor.br,js.cn,jx.cn,k12.tr,") + "lel.br,ln.cn,ltd.uk,mat.br,me.uk,med.br,mil.br,mil.tr,mo.cn,mus.br,name.tr,ne.jp,") + "net.au,net.br,net.cn,net.eg,net.hk,net.lu,net.mx,net.ru,net.tr,net.tw,net.uk,") + "nm.cn,no.com,nom.br,not.br,ntr.br,nx.cn,odo.br,oop.br,or.at,or.jp,org.au,org.br,") + "org.cn,org.hk,org.lu,org.ru,org.tr,org.tw,org.uk,plc.uk,pol.tr,pp.ru,ppg.br,pro.br,") + "psc.br,psi.br,qh.cn,qsl.br,rec.br,sc.cn,sd.cn,se.com,se.net,sh.cn,slg.br,sn.cn,") + "srv.br,sx.cn,tel.tr,tj.cn,tmp.br,trd.br,tur.br,tv.br,tw.cn,uk.com,uk.net,vet.br,") + "wattle.id.au,web.tr,xj.cn,xz.cn,yn.cn,zj.cn,zlg.br,co.nr,co.nz,com.fr,com.ph,com.ar,") + "com.id,com.in"); public function Brand(){ moreLink = ""; emailLink = "game"; useGoogleAnalitics = true; hasSendToFriendLink = true; preferedLanguage = ""; isExternal = false; hostingDomain = ""; super(); } public function exportXML():XML{ var _local1:XML; var _local2:XML; var _local3:XML; _local1 = <portal/> ; _local1.@id = site_id; _local1.@language = preferedLanguage; _local1.@channel = portalGroup; _local2 = <domain/> ; _local2.appendChild(new XMLNode(3, domain)); _local1.appendChild(_local2); if (moreLink){ _local3 = <more_games_path/> ; _local3.appendChild(new XMLNode(3, moreLink)); _local1.appendChild(_local3); }; _local2 = <game_path/> ; _local2.appendChild(new XMLNode(3, emailLink)); _local1.appendChild(_local2); if (!useGoogleAnalitics){ _local1.attributes.noGoogleAnalitics = true; }; if (!hasSendToFriendLink){ _local1.attributes.noSendToFriendLink = true; }; return (_local1); } private function get utm_source():String{ return (("utm_source=brandedgames_" + (isExternal) ? "external" : "internal")); } public function getMoreGamesLink(_arg1:String, _arg2:Boolean, _arg3:String="", _arg4:String=""):String{ var _local5:String; _local5 = ("http://" + domain); _local5 = (_local5 + ("/" + moreLink)); if (useGoogleAnalitics){ _local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg2) ? "external" : "internal")); _local5 = (_local5 + ("&utm_campaign=" + _arg1)); _arg3 = stripSubDomain(_arg3); if (_arg3 == "localhost"){ _arg3 = "offline_play"; }; _local5 = (_local5 + ("&utm_source=" + _arg3)); if (((!((_arg4 == ""))) && (!((_arg4 == null))))){ _local5 = (_local5 + ("&utm_content=" + _arg4)); }; }; return (_local5); } private function get utm_campaign():String{ if (isExternal){ return (("utm_campaign=" + hostingDomain)); }; return (""); } public function get backgroundColor():uint{ return (PortalGroup.backgroundColors[portalGroup]); } public function getPromotionLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String="", _arg5:String=""):String{ var _local6:String; _local6 = ("http://" + domain); _local6 = (_local6 + ((("/" + emailLink) + "/") + _arg2)); if (useGoogleAnalitics){ _local6 = (_local6 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal")); _local6 = (_local6 + ("&utm_campaign=" + _arg1)); _arg4 = stripSubDomain(_arg4); trace(_arg4); if (_arg4 == "localhost"){ _arg4 = "offline_play"; }; _local6 = (_local6 + ("&utm_source=" + _arg4)); if (((!((_arg5 == ""))) && (!((_arg5 == null))))){ _local6 = (_local6 + ("&utm_content=" + _arg5)); }; }; return (_local6); } private function get utm_term():String{ return ("utm_term="); } public function importXML(_arg1:XMLNode):void{ } public function getSendToFriendLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String=""):String{ var _local5:String; if (!hasSendToFriendLink){ return (getMoreGamesLink(_arg1, _arg3)); }; _local5 = ("http://" + domain); _local5 = (_local5 + ((("/" + emailLink) + "/") + _arg2)); if (useGoogleAnalitics){ _local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal")); _local5 = (_local5 + ("&utm_campaign=" + _arg1)); _arg4 = stripSubDomain(_arg4); if (_arg4 == "localhost"){ _arg4 = "offline_play"; }; _local5 = (_local5 + ("&utm_source=" + _arg4)); _local5 = (_local5 + "&utm_content=send_to_friend"); }; return (_local5); } public static function stripSubDomain(_arg1:String):String{ var _local2:Array; if (!_arg1){ return (""); }; _local2 = _arg1.split("."); if (_local2.length <= 2){ return (_arg1); }; _local2 = _local2.reverse(); if (topLevelDoubles.indexOf((((_local2[1] + ".") + _local2[0]) + ",")) > 0){ return (((((_local2[2] + ".") + _local2[1]) + ".") + _local2[0])); }; return (((_local2[1] + ".") + _local2[0])); } } }//package spill.localisation
Section 50
//BrandingLogo (spill.localisation.BrandingLogo) package spill.localisation { import flash.display.*; import flash.events.*; public class BrandingLogo extends MovieClip { public function BrandingLogo(){ addFrameScript(0, frame1); super(); stop(); mouseEnabled = false; mouseChildren = false; addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); if (stage){ added(); }; brandingChanged(); } private function added(_arg1:Event=null):void{ SpilGame.addEventListener("brandingChanged", brandingChanged, false, 0, true); brandingChanged(); } private function brandingChanged(_arg1:Event=null):void{ if (SpilGame.currentBranding){ gotoAndStop(SpilGame.currentBranding.domain); }; } function frame1(){ stop(); } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("brandingChanged", brandingChanged); } } }//package spill.localisation
Section 51
//Brandings (spill.localisation.Brandings) package spill.localisation { public class Brandings { private static var brands_by_id:Object = new Object(); private static var brands_by_domain:Object = new Object(); public static function getBrandByID(_arg1:Number):Brand{ return (brands_by_id[_arg1]); } public static function getBrandsArray():Array{ var _local1:Array; var _local2:Brand; _local1 = new Array(); for each (_local2 in brands_by_domain) { _local1.push(_local2); }; return (_local1); } private static function addBrand(_arg1:Brand):Brand{ if (brands_by_domain[_arg1.domain]){ trace(("ERROR: Attempting to add duplicate brand by domain: " + _arg1.domain)); } else { brands_by_domain[_arg1.domain] = _arg1; }; if (brands_by_id[_arg1.site_id]){ trace(("ERROR: Attempting to add duplicate brand by id: " + _arg1.site_id)); } else { brands_by_id[_arg1.site_id] = _arg1; }; return (_arg1); } public static function initialize():void{ var _local1:Brand; _local1 = new Brand(); _local1.site_id = 79; _local1.domain = "www.agame.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.TEENS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 88; _local1.domain = "www.gamesgames.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 90; _local1.domain = "www.girlsgogames.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.GIRL; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 45; _local1.domain = "www.a10.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.YOUNG_ADULTS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 92; _local1.domain = "www.games.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 107; _local1.domain = "www.agame.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.TEENS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 102; _local1.domain = "www.girlsgogames.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.GIRL; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 2; _local1.domain = "www.game.com.cn"; _local1.moreLink = "moregames/"; _local1.preferedLanguage = "cn"; _local1.portalGroup = PortalGroup.NONE; _local1.useGoogleAnalitics = false; _local1.hasSendToFriendLink = false; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 25; _local1.domain = "www.spel.nl"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 1; _local1.domain = "www.spelletjes.nl"; _local1.emailLink = "spel"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 93; _local1.domain = "www.girlsgogames.nl"; _local1.emailLink = "spel"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 12; _local1.domain = "www.jeu.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 95; _local1.domain = "www.girlsgogames.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 11; _local1.domain = "www.jeux.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 26; _local1.domain = "www.spielen.com"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 94; _local1.domain = "www.girlsgogames.de"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 5; _local1.domain = "www.jetztspielen.de"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 109; _local1.domain = "www.minigry.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 16; _local1.domain = "www.gry.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 98; _local1.domain = "www.girlsgogames.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 108; _local1.domain = "www.spel.se"; _local1.emailLink = "spel_"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "se"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 100; _local1.domain = "www.girlsgogames.se"; _local1.emailLink = "spel_"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "se"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 44; _local1.domain = "www.spela.se"; _local1.emailLink = "spel_"; _local1.preferedLanguage = "se"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 106; _local1.domain = "www.giocaregratis.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 15; _local1.domain = "www.gioco.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 99; _local1.domain = "www.girlsgogames.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 97; _local1.domain = "www.zapjuegos.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 86; _local1.domain = "www.juegos.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 96; _local1.domain = "www.juegosdechicas.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 122; _local1.domain = "www.girlsgogames.es"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 125; _local1.domain = "www.juegos.mx"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 126; _local1.domain = "www.juegosdechicas.mx"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 127; _local1.domain = "www.juegos.com.ar"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 128; _local1.domain = "www.juegosdechicas.com.ar"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 91; _local1.domain = "www.clickjogos.com"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 101; _local1.domain = "www.girlsgogames.com.br"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 50; _local1.domain = "www.ojogos.com.br"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 55; _local1.domain = "www.games.co.id"; _local1.emailLink = "permainanme"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "id"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 105; _local1.domain = "www.flashgames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 104; _local1.domain = "www.girlsgogames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 103; _local1.domain = "www.ourgames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 24; _local1.domain = "www.game.co.in"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "in"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 87; _local1.domain = "www.ojogos.pt"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "pt"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 120; _local1.domain = "www.egames.jp"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "jp"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 121; _local1.domain = "www.dailygame.com"; _local1.emailLink = "/game/"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "en_us"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 123; _local1.domain = "www.zapapa.com"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.ZAPAPA; _local1.preferedLanguage = "en_us"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 124; _local1.domain = "www.zapapa.nl"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.HYVES; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 0; _local1.domain = "gamedev.dev.spilgames.com"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "en_us"; addBrand(_local1); } public static function exportXML():XML{ var _local1:XML; var _local2:Brand; _local1 = <portals/> ; for each (_local2 in brands_by_domain) { _local1.appendChild(_local2.exportXML()); }; return (_local1); } public static function getBrandByDomain(_arg1:String):Brand{ return (brands_by_domain[_arg1]); } public static function hasDomain(_arg1:String):Boolean{ return (!((brands_by_domain[_arg1] == null))); } } }//package spill.localisation
Section 52
//Language (spill.localisation.Language) package spill.localisation { import flash.xml.*; public class Language { public var references:Array; public var name:String; public var embedInputFonts:Boolean;// = true public var forceFont:String;// = null public var id:uint; public var portal_groups:Array; public var textLanguage:String; public var bwcId:int; public var embedFonts:Boolean;// = true public var displayName:String;// = "" public var dname:String; public function Language(_arg1:String, _arg2:String=null){ embedFonts = true; embedInputFonts = true; forceFont = null; references = []; displayName = ""; super(); name = _arg1; dname = _arg2; portal_groups = new Array(); } public function exportXML():XMLNode{ var _local1:XMLNode; var _local2:XMLNode; var _local3:Array; var _local4:Array; var _local5:int; _local1 = new XMLNode(1, "language"); _local1.attributes.name = name; if (textLanguage != null){ _local1.attributes.textLanguage = textLanguage; }; if (references.length){ _local1.attributes.references = references.toString(); }; _local1.attributes.id = bwcId; _local2 = new XMLNode(1, "display_name"); _local2.firstChild = new XMLNode(3, displayName); _local1.appendChild(_local2); _local3 = []; _local4 = PortalGroup.channelNames; _local5 = 0; while (_local5 < _local4.length) { _local3.push(Brandings.getBrandByDomain(portal_groups[_local5]).site_id); _local5++; }; _local1.attributes.channels = _local3.join(","); return (_local1); } public function get p_teen():String{ return (portal_groups[PortalGroup.YOUNG_ADULTS]); } public function set p_hyves(_arg1:String):void{ portal_groups[PortalGroup.HYVES] = _arg1; } public function set p_teen(_arg1:String):void{ portal_groups[PortalGroup.YOUNG_ADULTS] = _arg1; } public function get p_tween():String{ return (portal_groups[PortalGroup.TEENS]); } public function get p_family():String{ return (portal_groups[PortalGroup.FAMILY]); } public function get p_girl():String{ trace("Language", portal_groups[PortalGroup.GIRL]); return (portal_groups[PortalGroup.GIRL]); } public function get p_hyves():String{ return (portal_groups[PortalGroup.HYVES]); } public function set p_girl(_arg1:String):void{ portal_groups[PortalGroup.GIRL] = _arg1; } public function set p_zapapa(_arg1:String):void{ portal_groups[PortalGroup.ZAPAPA] = _arg1; } public function get displayAcronim():String{ return ((dname) ? dname : name); } public function set p_family(_arg1:String):void{ portal_groups[PortalGroup.FAMILY] = _arg1; } public function set p_tween(_arg1:String):void{ portal_groups[PortalGroup.TEENS] = _arg1; } public function get p_zapapa():String{ return (portal_groups[PortalGroup.ZAPAPA]); } } }//package spill.localisation
Section 53
//Languages (spill.localisation.Languages) package spill.localisation { import flash.xml.*; public class Languages { public static var languages:Object = new Object(); private static var _init:Boolean = false; public static function initialize():void{ var _local1:Language; if (_init){ return; }; _init = true; _local1 = new Language("nl"); _local1.displayName = "Nederlands"; _local1.p_family = "www.spelletjes.nl"; _local1.p_tween = "www.spel.nl"; _local1.p_girl = "www.girlsgogames.nl"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.p_hyves = "www.zapapa.nl"; _local1.bwcId = 3; addLanguage(_local1); _local1 = new Language("es"); _local1.displayName = "Español"; _local1.p_family = "www.juegos.com"; _local1.p_tween = "www.zapjuegos.com"; _local1.p_girl = "www.girlsgogames.es"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 9; addLanguage(_local1); _local1 = new Language("pl"); _local1.displayName = "Polski"; _local1.p_family = "www.gry.pl"; _local1.p_tween = "www.gry.pl"; _local1.p_girl = "www.girlsgogames.pl"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 6; addLanguage(_local1); _local1 = new Language("fr"); _local1.displayName = "Français"; _local1.p_family = "www.jeux.fr"; _local1.p_tween = "www.jeu.fr"; _local1.p_girl = "www.girlsgogames.fr"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 4; addLanguage(_local1); _local1 = new Language("en_us", "us"); _local1.displayName = "English"; _local1.p_family = "www.gamesgames.com"; _local1.p_tween = "www.agame.com"; _local1.p_girl = "www.girlsgogames.com"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 1; addLanguage(_local1); addReference(_local1, "en"); _local1 = new Language("id"); _local1.displayName = "Bahasa Ind."; _local1.p_family = "www.games.co.id"; _local1.p_tween = "www.games.co.id"; _local1.p_girl = "www.games.co.id"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 11; addLanguage(_local1); _local1 = new Language("ru"); _local1.displayName = "Русский"; _local1.p_family = "www.ourgames.ru"; _local1.p_tween = "www.flashgames.ru"; _local1.p_girl = "www.girlsgogames.ru"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 12; addLanguage(_local1); _local1 = new Language("se"); _local1.displayName = "Svenska"; _local1.p_family = "www.spela.se"; _local1.p_tween = "www.spel.se"; _local1.p_girl = "www.girlsgogames.se"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 7; addLanguage(_local1); addReference(_local1, "sv"); _local1 = new Language("it"); _local1.displayName = "Italiano"; _local1.p_family = "www.gioco.it"; _local1.p_tween = "www.gioco.it"; _local1.p_girl = "www.girlsgogames.it"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 8; addLanguage(_local1); _local1 = new Language("en_uk", "uk"); _local1.displayName = "English"; _local1.p_family = "www.games.co.uk"; _local1.p_tween = "www.agame.com"; _local1.p_girl = "www.girlsgogames.co.uk"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 13; addLanguage(_local1); _local1 = new Language("cn"); _local1.displayName = "中文"; _local1.p_family = "www.game.com.cn"; _local1.p_tween = "www.game.com.cn"; _local1.p_girl = "www.game.com.cn"; _local1.p_teen = "www.game.com.cn"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 2; _local1.embedInputFonts = false; addLanguage(_local1); addReference(_local1, "zh-CN"); addReference(_local1, "zh-TW"); _local1 = new Language("pt"); _local1.displayName = "Português"; _local1.p_family = "www.ojogos.pt"; _local1.p_tween = "www.ojogos.pt"; _local1.p_girl = "www.ojogos.pt"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 17; addLanguage(_local1); _local1 = new Language("in"); _local1.displayName = "English"; _local1.p_family = "www.game.co.in"; _local1.p_tween = "www.game.co.in"; _local1.p_girl = "www.game.co.in"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.textLanguage = "en_uk"; _local1.bwcId = 14; addLanguage(_local1); _local1 = new Language("de"); _local1.displayName = "Deutsch"; _local1.p_family = "www.jetztspielen.de"; _local1.p_tween = "www.spielen.com"; _local1.p_girl = "www.girlsgogames.de"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 5; addLanguage(_local1); _local1 = new Language("br"); _local1.displayName = "Português (BR)"; _local1.p_family = "www.ojogos.com.br"; _local1.p_tween = "www.clickjogos.com"; _local1.p_girl = "www.girlsgogames.com.br"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 10; addLanguage(_local1); _local1 = new Language("jp"); _local1.displayName = "日本語"; _local1.p_family = "www.egames.jp"; _local1.p_tween = "www.egames.jp"; _local1.p_girl = "www.egames.jp"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.embedInputFonts = false; _local1.bwcId = 19; addLanguage(_local1); addReference(_local1, "ja"); _local1 = new Language("ar"); _local1.displayName = "English"; _local1.p_family = "www.dailygame.com"; _local1.p_tween = "www.dailygame.com"; _local1.p_girl = "www.dailygame.com"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 20; addLanguage(_local1); addReference(_local1, "ar"); _local1 = new Language("es_mx", "mx"); _local1.displayName = "Español (mx)"; _local1.p_family = "www.juegos.mx"; _local1.p_tween = "www.juegos.mx"; _local1.p_girl = "www.juegosdechicas.mx"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; addLanguage(_local1); addReference(_local1, "mx"); _local1 = new Language("es_ar", "arg"); _local1.displayName = "Español (ar)"; _local1.p_family = "www.juegos.com.ar"; _local1.p_tween = "www.juegos.com.ar"; _local1.p_girl = "www.juegosdechicas.com.ar"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; addLanguage(_local1); addReference(_local1, "arg"); } public static function exportXML():XMLNode{ var _local1:Array; var _local2:XMLNode; var _local3:Language; _local1 = getLanguagesArray(); _local2 = new XMLNode(1, "languages"); for each (_local3 in _local1) { _local2.appendChild(_local3.exportXML()); }; return (_local2); } public static function getLanguagesArray():Array{ var _local1:Array; var _local2:Object; var _local3:Language; _local1 = new Array(); _local2 = new Object(); for each (_local3 in languages) { if (!_local2[_local3.name]){ _local1.push(_local3); _local2[_local3.name] = true; }; }; return (_local1); } public static function getLanguage(_arg1:String):Language{ return (languages[_arg1]); } private static function addLanguage(_arg1:Language):void{ languages[_arg1.name] = _arg1; } private static function addReference(_arg1:Language, _arg2:String):void{ languages[_arg2] = _arg1; _arg1.references.push(_arg2); } public static function getLanguageByOldID(_arg1:int):Language{ var _local2:Language; for each (_local2 in languages) { if (_local2.bwcId == _arg1){ return (_local2); }; }; return (null); } } }//package spill.localisation
Section 54
//LanguageSelectBox (spill.localisation.LanguageSelectBox) package spill.localisation { import flash.display.*; import flash.text.*; import flash.events.*; public class LanguageSelectBox extends MovieClip { private var flag:MovieClip; private var mc:MovieClip; private var popup:MovieClip; private var languageName_text:TextField; public function LanguageSelectBox(){ trace("new langselecbox"); super(); if (numChildren > 0){ removeChildAt(0); }; addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true); Languages.initialize(); popup = new LanguageSelectPopup_mc(); x = Math.round(x); y = Math.round(y); popup.y = (-(Math.floor(popup.height)) + 1); popup.visible = false; addChild(popup); mc = new LanguageSelectBox_mc(); addChild(mc); flag = mc.flag; languageName_text = mc.languageName_text; if (stage){ added(); }; init(); languageChanged(); } private function added(_arg1:Event=null):void{ trace("addedselebnox"); SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true); } public function set popupLocation(_arg1:String):void{ trace(("popupLocation = " + _arg1)); if (_arg1 == "bottom"){ popup.y = Math.floor(mc.height); } else { popup.y = (-(Math.floor(mc.height)) + 1); }; } public function init():void{ var _local1:Array; var _local2:int; var _local3:MovieClip; var _local4:Language; trace("initselectbox"); _local1 = new Array(popup.l_br, popup.l_de, popup.l_en_us, popup.l_fr, popup.l_in, popup.l_jp, popup.l_pt, popup.l_ru, popup.l_ar, popup.l_cn, popup.l_en_uk, popup.l_es, popup.l_id, popup.l_it, popup.l_nl, popup.l_pl, popup.l_se, popup.l_es_mx, popup.l_es_ar); _local2 = 0; while (_local2 < _local1.length) { _local3 = MovieClip(_local1[_local2]); if (_local3){ _local3.addEventListener(MouseEvent.CLICK, itemClicked, true, 0, true); _local3.flag.gotoAndStop(_local3.name.substr(2)); _local3.flag.mouseEnabled = false; _local3.text.mouseEnabled = false; _local4 = Languages.getLanguage(_local3.name.substr(2)); if (_local4){ _local3.text.text = _local4.displayAcronim; } else { trace((("Error, '" + _local3.name.substr(2)) + "' language not found")); }; } else { trace((((("Error, btn number '" + _local2) + "' is not a MovieClip or there is no button '") + _local1[_local2]) + "'")); }; _local2++; }; } private function mouseOver(_arg1:MouseEvent):void{ popup.visible = true; } private function languageChanged(_arg1:Event=null):void{ if (SpilGame.currentLanguage){ if ((((SpilGame.portalGroup == PortalGroup.HYVES)) && ((SpilGame.currentLanguage.name == "nl")))){ this.visible = false; return; }; this.visible = true; flag.gotoAndStop(SpilGame.currentLanguage.name); languageName_text.text = SpilGame.currentLanguage.displayName; languageName_text.embedFonts = SpilGame.currentLanguage.embedInputFonts; }; } private function mouseOut(_arg1:MouseEvent):void{ popup.visible = false; } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("languageChanged", languageChanged); } private function itemClicked(_arg1:MouseEvent):void{ SpilGame.changeLanguage(_arg1.currentTarget.name.substr(2)); popup.visible = false; } } }//package spill.localisation
Section 55
//LanguageSelectBox_mc (spill.localisation.LanguageSelectBox_mc) package spill.localisation { import flash.display.*; import flash.text.*; public dynamic class LanguageSelectBox_mc extends MovieClip { public var flag:MovieClip; public var languageName_text:TextField; } }//package spill.localisation
Section 56
//LanguageSelectPopup_mc (spill.localisation.LanguageSelectPopup_mc) package spill.localisation { import flash.display.*; public dynamic class LanguageSelectPopup_mc extends MovieClip { public var l_se:MovieClip; public var l_ar:MovieClip; public var l_br:MovieClip; public var l_in:MovieClip; public var l_cn:MovieClip; public var l_de:MovieClip; public var l_es_mx:MovieClip; public var l_es:MovieClip; public var l_en_uk:MovieClip; public var l_fr:MovieClip; public var l_en_us:MovieClip; public var l_pl:MovieClip; public var l_pt:MovieClip; public var l_nl:MovieClip; public var l_id:MovieClip; public var l_es_ar:MovieClip; public var l_it:MovieClip; public var l_jp:MovieClip; public var l_ru:MovieClip; } }//package spill.localisation
Section 57
//LocalizedTextField (spill.localisation.LocalizedTextField) package spill.localisation { import flash.events.*; public class LocalizedTextField extends TextFieldFit { private var regex:RegExp; private var originalText:String; public function LocalizedTextField(){ regex = /{([^{}]*)}/g; super(); addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); added(); } private function languageChanged(_arg1:Event):void{ text = originalText; updateProperties(); } override public function set text(_arg1:String):void{ originalText = _arg1; if ((_arg1 is String)){ super.text = _arg1.replace(regex, replaceFn); } else { super.text = ""; }; trace(super.text); } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("languageChanged", languageChanged); } private function replaceFn():String{ var _local2:String; _local2 = SpilGame.getString(arguments[1]); if (((!(_local2)) || ((_local2 == "")))){ return ((("{" + arguments[1]) + "}")); }; return (_local2); } private function added(_arg1:Event=null):void{ SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true); text = originalText; } } }//package spill.localisation
Section 58
//PortalGroup (spill.localisation.PortalGroup) package spill.localisation { import flash.xml.*; public class PortalGroup { public static const YOUNG_ADULTS:uint = 3; public static const FAMILY:uint = 0; public static const channelNames:Array = ["family", "tween", "girl", "teen", "zapapa", "hyves"]; public static const ZAPAPA:uint = 4; public static const HYVES:uint = 5; public static const TEENS:uint = 1; public static const GIRL:uint = 2; public static const backgroundColors:Array = [0xFFFFFF, 0xFFFFFF, 16742331, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF]; public static const NONE:uint = 6; public static function getName(_arg1:int):String{ return (channelNames[_arg1]); } public static function exportXML():XMLNode{ var _local1:XMLNode; var _local2:int; var _local3:XMLNode; _local1 = new XMLNode(1, "channels"); _local2 = 0; while (_local2 < 5) { _local3 = new XMLNode(1, "channel"); _local3.attributes.name = channelNames[_local2]; _local3.attributes.id = _local2; _local1.appendChild(_local3); _local2++; }; return (_local1); } } }//package spill.localisation
Section 59
//spil_internal (spill.localisation.spil_internal) package spill.localisation { public namespace spil_internal = "spill.localisation"; }//package spill.localisation
Section 60
//SpilGame (spill.localisation.SpilGame) package spill.localisation { import flash.display.*; import flash.text.*; import flash.events.*; import flash.net.*; import flash.ui.*; import flash.external.*; import flash.system.*; public class SpilGame { private static const cookieName:String = "spilgames_language_v100"; private static const cookiePath:String = "/"; private static const cookieLanguageVar:String = "savedLang"; public static const LANGUAGE_CHANGED:String = "languageChanged"; public static const BRANDING_CHANGED:String = "brandingChanged"; private static var strings:Object = new Object(); public static var currentBranding:Brand; private static var contexMenuItem:ContextMenuItem; spil_internal static var gameName:String; spil_internal static var debugHostDomain:String = ""; private static var localDomains:Object = new Object(); spil_internal static var emailPage:String; private static var channelLock:Boolean = false; spil_internal static var debugEmbedDomain:String = ""; private static var eventDispatcher:EventDispatcher; private static var _init:Boolean = false; public static var currentLanguage:Language; spil_internal static var portalGroup:uint; private static var stage:Sprite; public static function getSpilCompanyLink():String{ var _local1:String; _local1 = "http://www.gameportal.net/"; _local1 = (_local1 + ("?utm_medium=brandedgames_" + (isExternal) ? "external" : "internal")); _local1 = (_local1 + ("&utm_campaign=" + gameName)); _local1 = (_local1 + ("&utm_source=" + Brand.stripSubDomain((embedDomain) ? embedDomain : hostingDomain))); _local1 = (_local1 + "&utm_content=Branding_Link"); return (_local1); } public static function getPromotionLink(_arg1:String="feature_promotion"):String{ var _local2:String; _local2 = (embedDomain) ? embedDomain : hostingDomain; return (currentBranding.getPromotionLink(gameName, emailPage, isExternal, _local2, _arg1)); } public static function traceAllBrands():void{ trace(outputAllBrands()); } public static function getString(_arg1:String):String{ var _local2:Object; _local2 = strings[_arg1]; if (_local2){ if (currentLanguage.textLanguage){ return (_local2[currentLanguage.textLanguage]); }; if (_local2[currentLanguage.name]){ return (_local2[currentLanguage.name]); }; return (_local2["en_us"]); //unresolved jump }; return (""); } public static function initialize(_arg1:String, _arg2:int, _arg3:String, _arg4:Sprite, _arg5:Boolean=false):void{ stage = _arg4; if (_init){ trace("ERROR: LocalisationManager already initialised"); return; }; _init = true; localDomains["localhost"] = true; localDomains["www8.agame.com"] = true; localDomains["gamedev.dev.spilgames.com"] = true; localDomains["stg.spel.nl"] = true; localDomains["stg.girlsgogames.nl"] = true; localDomains["stg.pl.spel.nl"] = true; localDomains["stg.pl.girlsgogames.nl"] = true; trace(localDomains["stg.girlsgogames.nl"]); Brandings.initialize(); Languages.initialize(); initContexMenu(_arg4); channelLock = _arg5; gameName = _arg1.replace(" ", "_"); portalGroup = _arg2; emailPage = _arg3; chooseLanguage(); chooseBranding(); if (portalGroup == PortalGroup.HYVES){ changeLanguage("nl"); }; } public static function get isExternal():Boolean{ return (((((!(Brandings.hasDomain(embedDomain))) && (!(localDomains[embedDomain])))) && (!(isStagingDomain)))); } private static function initContexMenu(_arg1:Sprite):void{ contexMenuItem = new ContextMenuItem(""); _arg1.contextMenu = new ContextMenu(); _arg1.contextMenu.customItems.push(contexMenuItem); contexMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contexMenuClicked); } private static function replaceFn():String{ var _local2:String; _local2 = SpilGame.getString(arguments[1]); if (((!(_local2)) || ((_local2 == "")))){ return ((("{" + arguments[1]) + "}")); }; return (_local2); } spil_internal static function get hostingDomain():String{ var _local1:LocalConnection; if (debugHostDomain != ""){ return (debugHostDomain); }; _local1 = new LocalConnection(); return (_local1.domain); } spil_internal static function chooseLanguage():void{ if (cookieLanguage != null){ currentLanguage = cookieLanguage; } else { if (isExternal){ currentLanguage = systemLanguage; } else { currentLanguage = portalLanguage; if (!currentLanguage){ currentLanguage = systemLanguage; }; }; }; if (!currentLanguage){ trace("Unable to determine language, using 'English US'"); currentLanguage = Languages.getLanguage("en_us"); }; TextFieldFit.embedFonts = currentLanguage.embedFonts; TextFieldFit.forceFont = currentLanguage.forceFont; dispatchEvent(new Event(LANGUAGE_CHANGED)); } private static function contexMenuClicked(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest(getMoreGamesLink("Contex_Menu"))); } public static function initTextField(_arg1:TextField):void{ var _local2:TextFormat; trace(_arg1.text); _arg1.text = _arg1.text.replace(/{([^{}]*)}/g, replaceFn); trace(_arg1.text); _arg1.embedFonts = currentLanguage.embedFonts; if (currentLanguage.forceFont != ""){ _local2 = new TextFormat(); _local2.font = currentLanguage.forceFont; _arg1.setTextFormat(_local2); }; } public static function importXMLv2(_arg1:XML):void{ var _local2:XML; var _local3:Object; var _local4:XML; for each (_local2 in _arg1.children()) { _local3 = (strings[_local2.attribute("identifier")] = new Object()); for each (_local4 in _local2.children()) { if (_local4.children().length() > 0){ _local3[_local4.name()] = _local4.children()[0].toString(); } else { _local3[_local4.name()] = ""; }; }; }; } spil_internal static function changeLanguage(_arg1:String):void{ var _local2:Language; _local2 = Languages.getLanguage(_arg1); if (!_local2){ trace("ERROR: Supplied language string does not have a matching language"); } else { cookieLanguage = _local2; currentLanguage = _local2; }; TextFieldFit.embedFonts = currentLanguage.embedFonts; TextFieldFit.forceFont = currentLanguage.forceFont; chooseBranding(); dispatchEvent(new Event(LANGUAGE_CHANGED)); } public static function getSendToFriendLink():String{ return (currentBranding.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain)); } spil_internal static function chooseBranding():void{ currentBranding = Brandings.getBrandByDomain(currentLanguage.portal_groups[portalGroup]); if (!(currentBranding is Brand)){ currentBranding = Brandings.getBrandByDomain("www.agame.com"); }; contexMenuItem.caption = ("More Games: " + currentBranding.domain); dispatchEvent(new Event(BRANDING_CHANGED)); } spil_internal static function get systemLanguage():Language{ return (Languages.getLanguage(Capabilities.language)); } spil_internal static function set cookieLanguage(_arg1:Language):void{ var _local2:SharedObject; _local2 = SharedObject.getLocal(cookieName, cookiePath); if (_arg1 == null){ _local2.data[cookieLanguageVar] = null; } else { _local2.data[cookieLanguageVar] = _arg1.name; }; _local2.flush(); } public static function importXML(_arg1:XML):void{ var _local2:XML; var _local3:Object; var _local4:XML; for each (_local2 in _arg1.children()) { _local3 = (strings[_local2.identifier] = new Object()); for each (_local4 in _local2.children()) { _local3[_local4.name()] = _local4.children()[0].toString(); }; }; } spil_internal static function dispatchEvent(_arg1:Event):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.dispatchEvent(_arg1); } private static function getDomain(_arg1:String):String{ var _local2:String; var _local3:uint; if (_arg1.indexOf("file") == 0){ return ("offline_play"); }; _local2 = new String(); _local3 = 7; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) == "/"){ break; }; _local2 = (_local2 + _arg1.charAt(_local3)); _local3++; }; if (_local2 == "localhost"){ _local2 = "offline_play"; }; return (_local2); } public static function exportXML():XML{ var _local1:XML; _local1 = <spil_games/> ; _local1.appendChild(Brandings.exportXML()); _local1.appendChild(Languages.exportXML()); _local1.appendChild(PortalGroup.exportXML()); return (_local1); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } public static function outputAllBrands():String{ var _local1:Array; var _local2:String; var _local3:Brand; _local1 = Brandings.getBrandsArray(); _local2 = ""; for each (_local3 in _local1) { _local2 = (_local2 + (_local3.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain) + "\n")); }; return (_local2); } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public static function getMoreGamesLink(_arg1:String=""):String{ var _local2:String; _local2 = (embedDomain) ? embedDomain : hostingDomain; return (currentBranding.getMoreGamesLink(gameName, isExternal, _local2, _arg1)); } public static function get isStagingDomain():Boolean{ var _local1:String; _local1 = ("http://" + embedDomain); return ((_local1.indexOf("http://stg.") >= 0)); } spil_internal static function get cookieLanguage():Language{ var _local1:SharedObject; var _local2:String; _local1 = SharedObject.getLocal(cookieName, cookiePath); _local2 = String(_local1.data[cookieLanguageVar]); return (Languages.getLanguage(_local2)); } private static function get portalLanguage():Language{ var _local1:Brand; var _local2:String; var _local3:Language; if (isExternal){ return (null); }; if (!embedDomain){ return (null); }; _local1 = Brandings.getBrandByDomain(embedDomain); if (!_local1){ return (null); }; _local2 = _local1.preferedLanguage; if (!_local2){ return (null); }; _local3 = Languages.getLanguage(_local2); if (!_local3){ return (null); }; return (_local3); } spil_internal static function get embedDomain():String{ var loc:String; if (debugEmbedDomain != ""){ return (debugEmbedDomain); }; if (ExternalInterface.available){ try { loc = ExternalInterface.call("window.location.href.toString"); if (((!((loc == ""))) && (!((loc == null))))){ trace(("embed domain = " + getDomain(loc))); return (getDomain(loc)); }; } catch(e:SecurityError) { trace(("Security Error connecting to external interface, error = " + e)); } catch(e:Error) { trace(("Error connecting to external interface, error = " + e)); }; }; return (null); } } }//package spill.localisation
Section 61
//SpilGamesLink (spill.localisation.SpilGamesLink) package spill.localisation { import flash.display.*; import flash.events.*; import flash.net.*; public class SpilGamesLink extends SimpleButton { public function SpilGamesLink(){ addEventListener(MouseEvent.CLICK, buttonClicked); } private function buttonClicked(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(SpilGame.getSpilCompanyLink()), "_blank"); } } }//package spill.localisation
Section 62
//TextFieldFit (spill.localisation.TextFieldFit) package spill.localisation { import flash.display.*; import flash.text.*; import flash.events.*; import flash.utils.*; import flash.filters.*; public class TextFieldFit extends MovieClip { protected var _text:String;// = "default" protected var _textSize:Number;// = 12 protected var _embedFonts:Boolean;// = true protected var _glowColor:uint;// = 0 private var h:Number; protected var _antiAliasType:String;// = "advanced" private var w:Number; protected var _numLines:uint;// = 1 protected var _useGlowFilter:Boolean;// = false protected var _hAlign:String;// = "left" protected var _textColor:uint;// = 0 protected var _glowStrength:Number;// = 5 protected var _glowBlur:Number;// = 3 private var field:TextField; protected var _gridFitType:String;// = "pixel" protected var _glowQuality:Number;// = 1 private var debugBounding:Sprite; protected var _disableWordwrap:Boolean;// = false protected var _multiline:Boolean;// = false protected var _font:String;// = "" protected var _underline:Boolean;// = false protected var _vAlign:String;// = "top" protected var _italic:Boolean;// = false protected var _bold:Boolean;// = false private var sizeChanged:Boolean;// = true private var embeddedFonts:Array; protected var _selectable:Boolean;// = false private var format:TextFormat; private var valid:Boolean;// = true private static const gutter:Number = 2; spil_internal static var embedFonts:Boolean = true; spil_internal static var forceAAType:String = null; spil_internal static var forceFont:String = null; public static var alwaysCheckWidth:Boolean = false; public function TextFieldFit(){ var _local1:Boolean; var _local2:Number; var _local3:Number; sizeChanged = true; valid = true; _text = "default"; _textColor = 0; _textSize = 12; _multiline = false; _numLines = 1; _disableWordwrap = false; _hAlign = "left"; _vAlign = "top"; _bold = false; _underline = false; _italic = false; _selectable = false; _font = ""; _embedFonts = true; _antiAliasType = "advanced"; _gridFitType = "pixel"; _useGlowFilter = false; _glowBlur = 3; _glowColor = 0; _glowStrength = 5; _glowQuality = 1; super(); _local1 = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))); _local2 = width; _local3 = height; if (numChildren > 0){ removeChildAt(0); }; if (!field){ field = new TextField(); addChild(field); }; field.border = false; field.background = false; field.type = TextFieldType.DYNAMIC; mouseEnabled = false; mouseChildren = false; format = new TextFormat(); embeddedFonts = Font.enumerateFonts(false); setSize(_local2, _local3); validate(); if (stage){ addEventListener(Event.RENDER, init); stage.invalidate(); }; init(); } private function resizeText(_arg1:Boolean=false):void{ if (!doesTextFit()){ format.size = Object((Number(format.size) - 1)); if (format.size <= 3){ trace("WARNING: Text resised to 3px, either an error occured or the text just wont fit"); return; }; field.setTextFormat(format); resizeText(true); } else { if (_arg1 == false){ while (doesTextFit()) { if (format.size <= textSize){ format.size = Object((Number(format.size) + 1)); field.setTextFormat(format); if (!doesTextFit()){ format.size = Object((Number(format.size) - 1)); field.setTextFormat(format); break; }; } else { break; }; }; }; }; } public function get italic():Boolean{ return (_italic); } public function set numLines(_arg1:uint):void{ _numLines = _arg1; invalidate(); } public function get textColor():uint{ return (_textColor); } public function get vAlign():String{ return (_vAlign); } public function get useGlowFilter():Boolean{ return (_useGlowFilter); } public function get selectable():Boolean{ return (_selectable); } public function set italic(_arg1:Boolean):void{ _italic = _arg1; invalidate(); } public function set text(_arg1:String):void{ _text = _arg1; invalidate(); } public function set vAlign(_arg1:String):void{ _vAlign = _arg1; invalidate(); } public function get font():String{ return (_font); } public function set textColor(_arg1:uint):void{ _textColor = _arg1; invalidate(); } public function get antiAliasType():String{ return (_antiAliasType); } public function get bold():Boolean{ return (_bold); } public function set useGlowFilter(_arg1:Boolean):void{ _useGlowFilter = _arg1; invalidate(); } public function set selectable(_arg1:Boolean):void{ _selectable = _arg1; invalidate(); } public function get multiline():Boolean{ return (_multiline); } public function set disableWordwrap(_arg1:Boolean):void{ _disableWordwrap = _arg1; invalidate(); } public function get glowQuality():Number{ return (_glowQuality); } public function get embedFonts():Boolean{ return (_embedFonts); } public function get gridFitType():String{ return (_gridFitType); } public function set font(_arg1:String):void{ _font = _arg1; invalidate(); } public function get underline():Boolean{ return (_underline); } public function get textSize():Number{ return (_textSize); } public function set antiAliasType(_arg1:String):void{ _antiAliasType = _arg1; invalidate(); } protected function updateProperties():void{ var _local1:Boolean; var _local2:Font; field.text = _text; field.multiline = ((((_text.indexOf(" ") < 0)) && ((_text.length < 14)))) ? false : _multiline; field.wordWrap = ((field.multiline) && (!(_disableWordwrap))); field.selectable = _selectable; field.antiAliasType = (forceAAType) ? forceAAType : _antiAliasType; field.gridFitType = _gridFitType; embeddedFonts = Font.enumerateFonts(false); if (((((_embedFonts) && (!((_font == ""))))) && (TextFieldFit.embedFonts))){ _local1 = false; for each (_local2 in embeddedFonts) { if (_font == _local2.fontName){ _local1 = true; break; }; }; field.embedFonts = _local1; if (!_local1){ trace(((("WARNING: Embedded font '" + _font) + "' not found, disabling embedding of fonts, text = ") + _text)); } else { trace((("Found Embedded font '" + _font) + "' using font")); }; } else { field.embedFonts = false; }; if (TextFieldFit.forceFont){ format.font = TextFieldFit.forceFont; } else { format.font = _font; }; if (sizeChanged){ format.size = _textSize; }; format.color = _textColor; format.align = _hAlign; format.bold = _bold; format.italic = _italic; format.underline = _underline; format.leftMargin = 0; format.rightMargin = 0; field.setTextFormat(format); if (_useGlowFilter){ filters = [new GlowFilter(_glowColor, 1, _glowBlur, _glowBlur, _glowStrength, _glowQuality)]; } else { filters = []; }; } private function doesTextFit():Boolean{ if (((!(field.multiline)) || (alwaysCheckWidth))){ if (((((field.textHeight + (gutter * 2)) > h)) || (((field.textWidth + (gutter * 2)) > w)))){ return (false); }; } else { if (field.multiline){ if (field.numLines > _numLines){ return (false); }; }; }; return (true); } public function get glowStrength():Number{ return (_glowStrength); } public function set hAlign(_arg1:String):void{ _hAlign = _arg1; invalidate(); } private function init(_arg1:Event=null):void{ removeEventListener(Event.RENDER, init); updateProperties(); layoutText(); } public function set bold(_arg1:Boolean):void{ _bold = _arg1; invalidate(); } public function get numLines():uint{ return (_numLines); } private function validate(_arg1:Event=null):void{ updateProperties(); layoutText(); removeEventListener(Event.ENTER_FRAME, validate); valid = true; } public function get text():String{ return (_text); } public function set glowBlur(_arg1:Number):void{ _glowBlur = _arg1; invalidate(); } private function invalidate():void{ if (valid){ addEventListener(Event.ENTER_FRAME, validate); if (stage){ stage.invalidate(); }; valid = false; }; } public function set embedFonts(_arg1:Boolean):void{ _embedFonts = _arg1; invalidate(); } public function set multiline(_arg1:Boolean):void{ _multiline = _arg1; invalidate(); } public function get disableWordwrap():Boolean{ return (_disableWordwrap); } public function set glowQuality(_arg1:Number):void{ _glowQuality = _arg1; invalidate(); } private function layoutText():void{ resizeText(); field.height = (field.textHeight + (gutter * 2)); if (vAlign == "top"){ field.y = 0; } else { if (vAlign == "middle"){ field.y = ((h - field.height) / 2); } else { if (vAlign == "bottom"){ field.y = (h - field.height); }; }; }; } public function get hAlign():String{ return (_hAlign); } public function setSize(_arg1:Number, _arg2:Number):void{ w = _arg1; h = _arg2; scaleX = (scaleY = 1); field.width = w; field.height = h; invalidate(); } public function set gridFitType(_arg1:String):void{ _gridFitType = _arg1; invalidate(); } public function set underline(_arg1:Boolean):void{ _underline = _arg1; invalidate(); } public function get glowBlur():Number{ return (_glowBlur); } public function set textSize(_arg1:Number):void{ _textSize = _arg1; sizeChanged = true; invalidate(); } public function set glowColor(_arg1:uint):void{ _glowColor = _arg1; invalidate(); } public function get textField():TextField{ return (field); } public function get glowColor():uint{ return (_glowColor); } public function set glowStrength(_arg1:Number):void{ _glowStrength = _arg1; invalidate(); } } }//package spill.localisation
Section 63
//Submitter (Spill.Components.Submitter) package Spill.Components { import flash.display.*; public dynamic class Submitter extends MovieClip { public var OO00OO1l1l:OOO000lll; } }//package Spill.Components
Section 64
//O1OOO0O00 (Util.O1OOO0O00) package Util { import flash.net.*; import flash.external.*; public class O1OOO0O00 { private static const _O1lO0Oll1:Array = ["www.a10.com.gp.dev.spilgames.eu", "stg.pl.a10.com", "gamedev.dev.spilgames.com", "www.agame.com", "www.girlsgogames.com", "www.games.co.uk", "www.mygames.co.uk", "www.girlsgogames.co.uk", "www.spel.nl", "www.spelletjes.nl", "www.girlsgogames.nl", "www.jetztspielen.de", "www.spielen.com", "www.girlsgogames.de", "www.jeux.fr", "www.jeu.fr", "www.girlsgogames.fr", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.gioco.it", "www.giocaregratis.it", "www.girlsgogames.it", "www.gry.pl", "www.minigry.pl", "www.girlsgogames.pl", "www.spela.se", "www.spel.eu", "www.girlsgogames.se", "www.ojogos.pt", "www.ourgames.ru", "www.flashgames.ru", "www.girlsgogames.ru", "www.oyunlar123.com", "www.asoyun.com", "www.girlsgogamestr.com", "www.gamesgames.com", "www.agame.com", "www.girlsgogames.com", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.ojogos.com.br", "www.clickjogos.com", "www.girlsgogames.com.br", "www.game.com.cn", "www.xiaoyouxi.com", "www.egames.jp", "www.game.co.in", "www.game.co.in", "www.girlsgogames.in", "www.games.co.id", "www.laro.com.ph", "www.game.com.my", "www.onrpg.com", "www.zlonggames.com", "www.a10.com", "localhost"]; private static var _OOl10ll1l:URLRequest; private static var _O0Oll0l00; public function O1OOO0O00():void{ super(); try { _O0Oll0l00 = ExternalInterface.call("window.location.href.toString"); } catch(e) { _O0Oll0l00 = "error"; }; if ((((_O0Oll0l00 == null)) || ((_O0Oll0l00 == "")))){ _O0Oll0l00 = "error"; }; if (String(_O0Oll0l00).indexOf(".swf") != -1){ _O0Oll0l00 = "error"; }; } public function O0111l110():Boolean{ if (((!((_O001llOll(_O11ll1l00(_O0Oll0l00)) == -1))) && (!((_O0Oll0l00 == "error"))))){ return (true); }; return (false); } private static function _O11ll1l00(_arg1:String):String{ var _local2:String = new String(); var _local3:uint = 7; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) == "/"){ break; }; _local2 = (_local2 + _arg1.charAt(_local3)); _local3++; }; return (_local2); } private static function _O001llOll(_arg1:String):Number{ var _local2:uint; if (((_O1lO0Oll1) && (_arg1))){ _local2 = 0; while (_local2 < _O1lO0Oll1.length) { if (_arg1 == _O1lO0Oll1[_local2]){ return (_local2); }; _local2++; }; return (-1); } else { trace("cannot find site name"); }; return (-1); } } }//package Util
Section 65
//Ball (Ball) package { import flash.display.*; public dynamic class Ball extends MovieClip { } }//package
Section 66
//Bobm (Bobm) package { import flash.display.*; import flash.events.*; public dynamic class Bobm extends MovieClip { public function Bobm(){ addFrameScript(16, frame17); } function frame17(){ this.dispatchEvent(new Event("delbobm", true)); } } }//package
Section 67
//Box (Box) package { import flash.display.*; public dynamic class Box extends MovieClip { } }//package
Section 68
//Buttom (Buttom) package { import flash.display.*; public dynamic class Buttom extends MovieClip { } }//package
Section 69
//Config (Config) package { public class Config { public static var SMusic:Boolean = true; public static var soundChannel; public static var SSound:Boolean = true; } }//package
Section 70
//EmbedObject (EmbedObject) package { import flash.external.*; import flash.system.*; public class EmbedObject { private var attemptedPropsRetrieval:Boolean;// = false private var embedObjectProps:Object; private static var _singleton:EmbedObject; private static var SET_CALLBACK_NAME:String = "asorg_setEmbedObjectProps"; public function EmbedObject(){ attemptedPropsRetrieval = false; super(); initialize(); } public function external_SetEmbedObjectProps(_arg1:Object){ this.embedObjectProps = _arg1; } private function initialize(){ ExternalInterface.addCallback(SET_CALLBACK_NAME, external_SetEmbedObjectProps); } public function _getEmbedObjectProps():Object{ if (!attemptedPropsRetrieval){ retrieveEmbedObjectProps(); attemptedPropsRetrieval = true; }; return (embedObjectProps); } public function retrieveEmbedObjectProps(){ retrieveEmbedObjectPropsForTagname("embed"); if (!embedObjectProps){ retrieveEmbedObjectPropsForTagname("object"); }; } public function executeJS(_arg1:String):Object{ return (ExternalInterface.call((("function() {" + _arg1) + "}"))); } public function retrieveEmbedObjectPropsForTagname(_arg1:String){ var _local2:String; if ((((Capabilities.playerType == "PlugIn")) || ((Capabilities.playerType == "ActiveX")))){ _local2 = (((((("var elts = document.getElementsByTagName('" + _arg1) + "'); for (var i=0;i<elts.length;i++) {if(typeof elts[i].") + SET_CALLBACK_NAME) + " != 'undefined') { if (!elts[i].getAttribute('id')) {elts[i].setAttribute('id','asorgid_'+Math.floor(Math.random()*100000));} var props = {}; props.id = elts[i].getAttribute('id'); for (var x=0; x < elts[i].attributes.length; x++) { props[elts[i].attributes[x].nodeName] = elts[i].attributes[x].nodeValue;} elts[i].") + SET_CALLBACK_NAME) + "(props); }}"); singleton.executeJS(_local2); } else { singleton.external_SetEmbedObjectProps({}); }; } public static function getId():String{ return (getEnumerableParam("id")); } public static function getEnumerableParams():Object{ if (!singleton.embedObjectProps){ singleton._getEmbedObjectProps(); }; return (singleton.embedObjectProps); } public static function getSingleton():EmbedObject{ if (_singleton == null){ _singleton = new (EmbedObject); }; return (_singleton); } private static function testFunc(){ } public static function getParamViaExternal(_arg1:String):Object{ return (Object(singleton.executeJS((((("return document.getElementById('" + getEnumerableParam("id")) + "').getAttribute('") + _arg1) + "');")))); } public static function get singleton():EmbedObject{ return (getSingleton()); } public static function getEnumerableParam(_arg1:String):String{ return (String(getEnumerableParams()[_arg1])); } } }//package
Section 71
//Emit (Emit) package { import flash.display.*; public dynamic class Emit extends MovieClip { public var d_Ball:Ball; public function Emit(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 72
//Game (Game) package { import flash.display.*; import flash.text.*; import flash.events.*; import org.cove.ape.*; import flash.media.*; import flash.utils.*; public class Game extends MovieClip { public var d_PauseWindow:MovieClip; private var _LevelClass:Array; public var d_Restart:SimpleButton; public var d_Pause:SimpleButton; public var d_Sound:MovieClip; public var d_Music:MovieClip; private var _timer:Timer; public var d_Food:TextField; public var d_Menu:SimpleButton; private var _LevelMC:Level; public var d_Level:TextField; public var d_Score:TextField; public var d_Time:TextField; public static var CTime:int; public static var CFood:uint; public static var CMaxLevel:uint; public static var CLevel:uint = 1; public static var CScore:uint; public function Game(){ _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, onTimer); _LevelClass = [Level1, Level2, Level3, Level4, Level5, Level6, Level7, Level8, Level9, Level10, Level11, Level12, Level13, Level14, Level15]; Game.CMaxLevel = _LevelClass.length; d_Restart.addEventListener(MouseEvent.CLICK, onStart); d_PauseWindow.visible = false; d_Pause.addEventListener(MouseEvent.CLICK, onPause); d_PauseWindow.d_Play.addEventListener(MouseEvent.CLICK, onPause); d_Menu.addEventListener(MouseEvent.CLICK, onMenu); d_Sound.addEventListener(MouseEvent.CLICK, onSound); d_Sound.buttonMode = true; d_Music.addEventListener(MouseEvent.CLICK, onMusic); d_Music.buttonMode = true; onStart(); } public function set Food(_arg1){ Game.CFood = _arg1; d_Food.text = String(_arg1); } private function onPause(_arg1){ if (_timer.running){ _timer.stop(); d_PauseWindow.visible = true; _LevelMC.pause = true; } else { _timer.start(); d_PauseWindow.visible = false; _LevelMC.pause = false; }; } function onSound(_arg1){ var _local2:*; if (d_Sound.currentFrame == 1){ if (Config.soundChannel == null){ return; }; d_Sound.gotoAndStop(2); Config.soundChannel.soundTransform = new SoundTransform(0); Config.SSound = false; } else { if (Config.soundChannel == null){ _local2 = new SBack(); Config.soundChannel = _local2.play(0, 100000); }; d_Sound.gotoAndStop(1); Config.soundChannel.soundTransform = new SoundTransform(1); Config.SSound = true; }; } private function onEmitBall(_arg1){ var _local2:*; if (Config.SMusic){ _local2 = new SEmit(); _local2.play(); }; this.Food++; } function onMusic(_arg1){ if (d_Music.currentFrame == 1){ d_Music.gotoAndStop(2); Config.SMusic = false; } else { d_Music.gotoAndStop(1); Config.SMusic = true; }; } private function clear():void{ _timer.stop(); _timer.removeEventListener(TimerEvent.TIMER, onTimer); if (_LevelMC != null){ _LevelMC.clear(); _LevelMC.removeEventListener("EmitBall", onEmitBall); _LevelMC.removeEventListener("LevelUp", onLevelUp); this.removeChild(_LevelMC); }; } private function onTimer(_arg1){ Time--; if (Time <= 0){ clear(); MovieClip(parent).gotoAndStop("over"); }; } public function get Food(){ return (Game.CFood); } private function onStart(_arg1=null){ var _local2:*; if (((Config.SSound) && ((Config.soundChannel == null)))){ SoundMixer.stopAll(); _local2 = new SBack(); Config.soundChannel = _local2.play(0, 100000); }; Time = (4 * 60); Food = 0; d_Score.text = String(Game.CScore); d_Level.text = String(Game.CLevel); if (_LevelMC != null){ _LevelMC.clear(); _LevelMC.removeEventListener("EmitBall", onEmitBall); _LevelMC.removeEventListener("LevelUp", onLevelUp); this.removeChild(_LevelMC); }; _LevelMC = new (_LevelClass[(Game.CLevel - 1)]); this.addChild(_LevelMC); this.setChildIndex(_LevelMC, 0); _LevelMC.addEventListener("EmitBall", onEmitBall); _LevelMC.addEventListener("LevelUp", onLevelUp); _LevelMC.init(); _timer.start(); } private function onLevelUp(_arg1){ this.clear(); MovieClip(parent).gotoAndStop("score"); } public function set Time(_arg1){ var _local2:String; var _local3:String; Game.CTime = _arg1; _local2 = String(Math.floor((_arg1 / 60))); if (_local2.length == 1){ _local2 = ("0" + _local2); }; _local3 = String(Math.floor((_arg1 % 60))); if (_local3.length == 1){ _local3 = ("0" + _local3); }; d_Time.text = ((_local2 + ":") + _local3); } private function onMenu(_arg1){ this.clear(); MovieClip(parent).gotoAndStop("start"); } public function get Time(){ return (Game.CTime); } } }//package
Section 73
//Level (Level) package { import flash.display.*; import flash.events.*; import org.cove.ape.*; import gs.*; import flash.utils.*; public class Level extends MovieClip { private var _RotationList:Array; private var _Def_BallRadiu:Number;// = 11.5 private var _Def_EmitSpeed:Number;// = 250 private var _SnakeList:Array; private var _Def_EmitY:Number;// = 510 private var bl:uint;// = 80 private var _Def_EmitX:Number;// = 80 private var _Group:Group; private var _BallList:Array; private var _EmitTime:int;// = 0 private var _Emit; private var musicTime:uint;// = 0 public var pause:Boolean;// = false public function Level(){ bl = 80; _EmitTime = 0; _Def_EmitX = 80; _Def_EmitY = 510; _Def_EmitSpeed = 250; _Def_BallRadiu = 11.5; pause = false; musicTime = 0; super(); _Group = new Group(true); _BallList = new Array(); _SnakeList = new Array(); _RotationList = new Array(); } public function init(){ var _local1:RectangleParticle; var _local2:RectangleParticle; var _local3:RectangleParticle; var _local4:RectangleParticle; var _local5:CircleParticle; APEngine.init((1 / 4)); APEngine.container = this; APEngine.addForce(new VectorForce(true, 0, 3)); APEngine.addGroup(_Group); this.stage.addEventListener(MouseEvent.CLICK, onClick, true); this.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove); this.addEventListener(Event.ENTER_FRAME, onRun); initModel(); _local1 = new RectangleParticle(350, 20, 700, 50, 0, true); _local1.setDisplay(new Top()); _Group.addParticle(_local1); _local2 = new RectangleParticle(350, 560, 700, 80, 0, true, 1, 0, 0.1); _local2.setDisplay(new Buttom()); _Group.addParticle(_local2); _local3 = new RectangleParticle(710, 300, 20, 600, 0, true, 1, 0, 1); _local3.setStyle(0, 0, 0, 0xFF0000); _Group.addParticle(_local3); _local3.addEventListener(CollisionEvent.COLLIDE, onDelBall); _local3.visible = false; _local4 = new RectangleParticle(-10, 300, 20, 600, 0, true, 1, 0, 1); _local4.setStyle(0, 0, 0, 0xFF0000); _Group.addParticle(_local4); _local4.addEventListener(CollisionEvent.COLLIDE, onDelBall); _local4.visible = false; _local5 = new CircleParticle(_Def_EmitX, _Def_EmitY, 40, true); _Emit = new Emit(); _Emit.d_Ball.visible = false; _local5.setDisplay(_Emit); _local5.setStyle(1, 0xFFFF00); _Group.addParticle(_local5); } private function onRun(_arg1:Event):void{ var _local2:*; var _local3:RectangleParticle; if (pause){ return; }; APEngine.step(); APEngine.paint(); checkSnakeEat(); if (_RotationList.length > 0){ _local2 = 0; while (_local2 < _RotationList.length) { _local3 = _RotationList[_local2]; if (_local3.sprite.name == "Stone3"){ _local3.radian = (_local3.radian + 0.03); } else { _local3.radian = (_local3.radian - 0.03); }; _local2++; }; }; if (_EmitTime > 0){ _EmitTime--; }; } private function onBallHit(_arg1:CollisionEvent){ var _local2:AbstractParticle; var _local3:*; _local2 = (_arg1.collidingItem as AbstractParticle); if (_local2.sprite.name != "ball"){ return; }; if ((getTimer() - musicTime) < 1000){ return; }; musicTime = getTimer(); if (Config.SMusic){ _local3 = new SHit(); _local3.play(); }; } private function checkSnakeEat(){ var _local1:uint; var _local2:uint; var _local3:uint; var _local4:AbstractParticle; var _local5:*; var _local6:*; var _local7:uint; var _local8:*; var _local9:AbstractParticle; var _local10:*; var _local11:*; if (_BallList.length == 0){ return; }; _local1 = _BallList.length; _local2 = _SnakeList.length; _local3 = 0; while (_local3 < _local1) { _local4 = _BallList[_local3]; if (_local4 == null){ } else { if ((((Math.abs(_local4.velocity.x) > 0.01)) || ((Math.abs(_local4.velocity.y) > 0.07)))){ } else { _local5 = new Bobm(); _local5.x = _local4.position.x; _local5.y = _local4.position.y; _local5.gotoAndPlay(1); this.addChild(_local5); _BallList.splice(_local3, 1); _Group.removeParticle(_local4); _local5.addEventListener("delbobm", onDelBobm); if (Config.SMusic){ _local8 = new SBobm(); _local8.play(); }; _local6 = _BallList.indexOf(_local4); if (_local6 != -1){ _BallList.splice(_local6, 1); }; _local7 = 0; while (_local7 < _local2) { _local9 = _SnakeList[_local7]; if (_local9 == null){ } else { _local10 = (_local9.position.x - _local4.position.x); _local11 = (_local9.position.y - _local4.position.y); if ((((Math.abs(_local10) < bl)) && ((Math.abs(_local11) < bl)))){ _SnakeList.splice(_local7, 1); _local7--; _local4.collidable = false; onEatBall(_local9, _local4); }; }; _local7++; }; }; }; _local3++; }; } private function onDelBobm(_arg1){ var _local2:*; _local2 = _arg1.currentTarget; _local2.removeEventListener("delbobm", onDelBobm); this.removeChild(_local2); } private function onMove(_arg1:MouseEvent):void{ var _local2:*; if (pause){ return; }; _local2 = ((Math.atan2((_Def_EmitY - mouseY), (_Def_EmitX - mouseX)) * 180) / Math.PI); if ((((_local2 > 0)) && ((_local2 < 90)))){ _local2 = 91; } else { if (_local2 < 0){ _local2 = 179; }; }; _local2 = (_local2 - 90); _Emit.gotoAndStop(uint(_local2)); } private function onEatBall(_arg1:AbstractParticle, _arg2:AbstractParticle){ var _local3:MovieClip; var _local4:*; _local3 = MovieClip(_arg1.sprite.getChildAt(0)); _local3.gotoAndPlay(2); this.setChildIndex(_arg1.sprite, (this.numChildren - 1)); _local4 = (_local3.totalFrames / 30); TweenLite.delayedCall(_local4, onEatBallComplete, [_arg1]); } public function clear(){ this.stage.removeEventListener(MouseEvent.CLICK, onClick, true); this.removeEventListener(Event.ENTER_FRAME, onRun); } private function onClick(_arg1:MouseEvent):void{ var _local2:*; var _local3:Number; var _local4:Number; var _local5:WheelParticle; if (pause){ return; }; if (_EmitTime > 0){ return; }; if ((((((mouseY < 40)) || ((mouseY > 520)))) || ((mouseX < 90)))){ return; }; _local2 = ((Math.atan2((_Def_EmitY - mouseY), (_Def_EmitX - mouseX)) * 180) / Math.PI); if ((((_local2 > 0)) && ((_local2 < 90)))){ _local2 = 91; } else { if (_local2 < 0){ _local2 = 179; }; }; _local3 = (_Emit.d_Ball.x + _Def_EmitX); _local4 = (_Emit.d_Ball.y + _Def_EmitY); _local5 = new WheelParticle(_local3, _local4, _Def_BallRadiu, false, 1, 0.3); _local5.addForce(new VectorForce(true, (-(_Def_EmitSpeed) * Math.cos(((_local2 * Math.PI) / 180))), (-(_Def_EmitSpeed) * Math.sin(((_local2 * Math.PI) / 180))))); _local5.setDisplay(new Ball()); _local5.sprite.name = "ball"; _Group.addParticle(_local5); _BallList.push(_local5); dispatchEvent(new Event("EmitBall", true)); _EmitTime = 30; if (_BallList.length > 10){ _Group.removeParticle(_BallList.shift()); }; } private function onDelBall(_arg1:CollisionEvent){ var _local2:AbstractParticle; var _local3:*; _local2 = (_arg1.collidingItem as AbstractParticle); if (_local2.sprite.name != "ball"){ return; }; _local3 = _BallList.indexOf(_local2); if (_local3 != -1){ _BallList.splice(_local3, 1); }; _Group.removeParticle(_local2); } private function onEatBallComplete(_arg1:AbstractParticle){ _Group.removeParticle(_arg1); if (_SnakeList.length == 0){ trace("过关"); dispatchEvent(new Event("LevelUp", true)); }; } private function initModel(){ var _local1:Array; var _local2:MovieClip; var _local3:*; var _local4:AbstractParticle; var _local5:Number; _local1 = new Array(); while (this.numChildren) { _local1.push(this.removeChildAt((this.numChildren - 1))); }; while (_local1.length) { _local2 = _local1.pop(); _local3 = getQualifiedClassName(_local2); switch (_local3){ case "Snake": _local4 = new RectangleParticle(_local2.x, _local2.y, 30, 58, 0); _local4.addEventListener(CollisionEvent.COLLIDE, onBallHit); _SnakeList.push(_local4); _local2.gotoAndStop(1); break; case "Box": _local4 = new RigidParticle(_local2.x, _local2.y, _local2.width, _local2.height, 0, false, 15, 0.2, 0.05); break; default: _local5 = ((_local2.rotation / 180) * Math.PI); _local2.rotation = 0; _local4 = new RectangleParticle(_local2.x, _local2.y, _local2.width, _local2.height, _local5, true, 1, 0.15, 0.05); if ((((_local3 == "Stone3")) || ((_local3 == "Stone4")))){ _local4.alwaysRepaint = true; _local4.sprite.name = _local3; _RotationList.push(_local4); }; break; }; _local4.setDisplay(_local2); _Group.addParticle(_local4); }; } } }//package
Section 74
//Level1 (Level1) package { public dynamic class Level1 extends Level { } }//package
Section 75
//Level10 (Level10) package { public dynamic class Level10 extends Level { } }//package
Section 76
//Level11 (Level11) package { public dynamic class Level11 extends Level { } }//package
Section 77
//Level12 (Level12) package { public dynamic class Level12 extends Level { } }//package
Section 78
//Level13 (Level13) package { public dynamic class Level13 extends Level { } }//package
Section 79
//Level14 (Level14) package { public dynamic class Level14 extends Level { } }//package
Section 80
//Level15 (Level15) package { public dynamic class Level15 extends Level { } }//package
Section 81
//Level2 (Level2) package { public dynamic class Level2 extends Level { } }//package
Section 82
//Level3 (Level3) package { public dynamic class Level3 extends Level { } }//package
Section 83
//Level4 (Level4) package { public dynamic class Level4 extends Level { } }//package
Section 84
//Level5 (Level5) package { public dynamic class Level5 extends Level { } }//package
Section 85
//Level6 (Level6) package { public dynamic class Level6 extends Level { } }//package
Section 86
//Level7 (Level7) package { public dynamic class Level7 extends Level { } }//package
Section 87
//Level8 (Level8) package { public dynamic class Level8 extends Level { } }//package
Section 88
//Level9 (Level9) package { public dynamic class Level9 extends Level { } }//package
Section 89
//OOO000lll (OOO000lll) package { import flash.display.*; import flash.events.*; import Util.*; import flash.net.*; import flash.system.*; public class OOO000lll extends MovieClip { public var O1OlOO00O:XML; private var _O10OOO1O0:Loader; private var _O1l10l101:Object; private var _OO0l101l1:Object; public var OOO10O100:String; public var O0l00l0O0:XML; private var _OOl10010l:String; private var _O001OO010:Object; private var _O01OO1O00; private var _O01O0lOl0:int; private var _O1Ol011l1:String; private var _O11OO0110:String; private var _OOO00l00l:int; private var _O0lO0100O:String; private var _OOOOll01l:Array; private var _O111O01OO:Object; private var _OO10001Ol:Boolean; private var _OO1l1OO10:String; public var O1lll0ll0:XML; private var _O1OO1OllO:Object; private var _O0l0OO01O; private var _OO0l1lOO1:int; public var OOOll0OO0:int; public function OOO000lll():void{ var _O1OlO10O0:*; super(); Security.allowDomain("*"); _OO10001Ol = false; _O01OO1O00 = this.parent; _O01OO1O00.stop(); var _OOll00l11:int; while (true) { try { _O1OlO10O0 = _O01OO1O00.getChildAt(_OOll00l11); if ((_O1OlO10O0 is MovieClip)){ _O1OlO10O0.visible = false; } else { _O01OO1O00.removeChild(_O1OlO10O0); }; _OOll00l11 = (_OOll00l11 + 1); } catch(e:Error) { break; }; }; try { _O01OO1O00["_O0000Ol01"] = _O0000Ol01; _O01OO1O00["_O0Olll0lO"] = _O0Olll0lO; } catch(e:Error) { }; } private function _O11lll1OO0(_arg1:String):void{ if (_O0l0OO01O){ _O0l0OO01O.OO0011ll1O(_arg1); }; } private function _OO0OO1OO0(_arg1:Event):void{ if ((((((_arg1.type == "ScoreLoadSubmitComplete")) || ((_arg1.type == "ScoreLoadListComplete")))) || ((_arg1.type == "ScoreLoadUserListComplete")))){ O0l00l0O0 = _O0l0OO01O.O011Oll0O(); } else { if (_arg1.type == "ScoreLoadTimeComplete"){ O1lll0ll0 = _O0l0OO01O.OO011OOl1(); } else { O0l00l0O0 = _O0l0OO01O.O0001O0Ol(); }; }; _O01OO1O00.dispatchEvent(_arg1); } private function _O10Ol0l10(_arg1:IOErrorEvent):void{ removeEventListener(Event.ENTER_FRAME, _O0OlOOO1O); _O01OO1O00.dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR)); } private function _O01Ol1O1O():void{ if (_O0l0OO01O){ _O0l0OO01O.OO011OOl1(); }; } private function _O110l10ll():void{ if (_O0l0OO01O){ _O0l0OO01O.O01l01OlO(); }; } private function _O01O1101l():void{ stop(); _O10OOO1O0 = new Loader(); _O10OOO1O0.load(new URLRequest(_O1Ol011l1)); _O01OO1O00.addChildAt(_O10OOO1O0, 0); this.addEventListener(Event.ENTER_FRAME, _O0OlOOO1O); _O10OOO1O0.contentLoaderInfo.addEventListener(Event.COMPLETE, _O100O0Oll); _O10OOO1O0.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, _O10Ol0l10); } private function _O0000Ol01(_arg1=null, _arg2:String="default", _arg3="", _arg4:int=0, _arg5:String="normal", _arg6:String="", _arg7:int=0, _arg8:int=0, _arg9:int=1, _arg10:Boolean=false):void{ OOO10O100 = _arg5; OOOll0OO0 = _arg4; _O11OO0110 = _arg2; if (_arg3 == ""){ _OO1l1OO10 = _O11OO0110; } else { _OO1l1OO10 = _arg3; }; if (((!((_arg1 == null))) && (!((_arg1.loaderInfo == null))))){ _O1l10l101 = _arg1.loaderInfo.parameters["username"]; _O001OO010 = _arg1.loaderInfo.parameters["hash"]; _OO0l101l1 = _arg1.loaderInfo.parameters["id"]; _O1OO1OllO = _arg1.loaderInfo.parameters["s"]; _O111O01OO = _arg1.loaderInfo.parameters["c"]; _O1Ol011l1 = "http://www8.agame.com/games/flash/highscore/SubmitterV2.swf"; if (_O00O00010(_arg10)){ _O01O1101l(); } else { _O01OO1O00.dispatchEvent(new Event("LoadingFailed")); }; }; _OOl10010l = _arg6; _OO0l1lOO1 = _arg7; _O01O0lOl0 = _arg8; _OOO00l00l = _arg9; } private function _O0O1l0OO0():Boolean{ return (!((_O0l0OO01O == null))); } private function _O100O0Oll(_arg1:Event):void{ _O0l0OO01O = _arg1.currentTarget.content; _O0l0OO01O.O0011ll110O0(_O1OO1OllO, 1, _OO0l101l1, _O111O01OO, OOOll0OO0, _OOl10010l, _OO0l1lOO1, _O01O0lOl0, _OOO00l00l, _O1l10l101, _O001OO010); _O0l0OO01O.addEventListener("HyScorSubmitterLoaded", _OOl11lOOl); _O0l0OO01O.addEventListener("ScoreLoadError", _OO0OO1OO0); _O0l0OO01O.addEventListener("ScoreLoadTimeComplete", _OO0OO1OO0); _O0l0OO01O.addEventListener("ScoreLoadSubmitComplete", _OO0OO1OO0); _O0l0OO01O.addEventListener("ScoreLoadListComplete", _OO0OO1OO0); _O0l0OO01O.addEventListener("ScoreLoadUserListComplete", _OO0OO1OO0); _O0l0OO01O.addEventListener("AchievLoadError", _O0l0O1Oll); _O0l0OO01O.addEventListener("AchievLoadTimeComplete", _O0l0O1Oll); _O0l0OO01O.addEventListener("AchievLoadListComplete", _O0l0O1Oll); _O0l0OO01O.addEventListener("AchievLoadInfoComplete", _O0l0O1Oll); _O0l0OO01O.addEventListener("AchievLoadGrantComplete", _O0l0O1Oll); _O01OO1O00["_O0Olll0lO"] = _O0Olll0lO; _O01OO1O00["_O0O1l0OO0"] = _O0O1l0OO0; _O01OO1O00["_O01Ol1O1O"] = _O01Ol1O1O; _O01OO1O00["_O01lOO10O"] = _O01lOO10O; _O01OO1O00["_O110l10ll"] = _O110l10ll; _O01OO1O00["_O11lll1OO0"] = _O11lll1OO0; _O01OO1O00["_O00OOl1Ol"] = _O00OOl1Ol; _O01OO1O00["_O1OlO10OO"] = _O1OlO10OO; _O01OO1O00["_OOlOOOll1"] = _OOlOOOll1; _O01OO1O00["_O010ll111"] = _O010ll111; } private function _O00O00010(_arg1:Boolean=false):Boolean{ var _local4:String; var _local5:O1OOO0O00; var _local2:Boolean = _arg1; if (!_local2){ _OOOOll01l = ["www8.agame.com"]; } else { _OOOOll01l = ["localhost", "www8.agame.com", "www.zlonggames.com", "gamedev.dev.spilgames.com", "stg.pl.a10.com", "www.a10.com.gp.dev.spilgames.eu"]; }; var _local3:LocalConnection = new LocalConnection(); if (((isNaN((_OO0l101l1 as int))) || (isNaN((_O1OO1OllO as int))))){ return (false); }; for each (_local4 in _OOOOll01l) { if (_local3.domain == _local4){ _local5 = new O1OOO0O00(); if (_local5.O0111l110()){ _OO10001Ol = true; return (true); }; }; }; return (false); } private function _O00OOl1Ol(_arg1:String):void{ if (_O0l0OO01O){ _O0l0OO01O.OO00lO1l0(_arg1, _O1l10l101, _O001OO010); }; } private function _O0OlOOO1O(_arg1:Event):void{ var _local2 = (((_O10OOO1O0.contentLoaderInfo.bytesLoaded / _O10OOO1O0.contentLoaderInfo.bytesTotal) * 100) >> 0); if (_local2 >= 100){ removeEventListener(Event.ENTER_FRAME, _O0OlOOO1O); }; } private function _OOl11lOOl(_arg1:Event):void{ if (_O0l0OO01O){ _O0l0OO01O.removeEventListener("HyScorSubmitterLoaded", _OOl11lOOl); }; _O01OO1O00.dispatchEvent(new Event(Event.COMPLETE)); } private function _O01lOO10O(_arg1:int):void{ if (_O0l0OO01O){ _O0l0OO01O.O0l01llOl(_arg1, _O1l10l101, _O001OO010); }; } private function _O0Olll0lO():Boolean{ return (_O00O00010(false)); } private function _O1OlO10OO():void{ if (_O0l0OO01O){ _O0l0OO01O.O1l0OOl1l(_O1l10l101, _O001OO010); }; } private function _O10O00lO0():String{ if (_O0l0OO01O){ return (_O0l0OO01O.OOOO00ll0()); }; return (("FAILED " + _O0l0OO01O)); } private function _O0l0O1Oll(_arg1:Event):void{ if ((((((_arg1.type == "AchievLoadListComplete")) || ((_arg1.type == "AchievLoadInfoComplete")))) || ((_arg1.type == "AchievLoadGrantComplete")))){ O1OlOO00O = _O0l0OO01O.O11OO0l0l(); } else { O1OlOO00O = _O0l0OO01O.O0O100l0l(); }; _O01OO1O00.dispatchEvent(_arg1); } private function _O010ll111():void{ _O0l0OO01O.removeEventListener("ScoreLoadError", _OO0OO1OO0); _O0l0OO01O.removeEventListener("ScoreLoadTimeComplete", _OO0OO1OO0); _O0l0OO01O.removeEventListener("ScoreLoadSubmitComplete", _OO0OO1OO0); _O0l0OO01O.removeEventListener("ScoreLoadListComplete", _OO0OO1OO0); _O0l0OO01O.removeEventListener("ScoreLoadUserListComplete", _OO0OO1OO0); _O0l0OO01O.removeEventListener("AchievLoadError", _O0l0O1Oll); _O0l0OO01O.removeEventListener("AchievLoadTimeComplete", _O0l0O1Oll); _O0l0OO01O.removeEventListener("AchievLoadListComplete", _O0l0O1Oll); _O0l0OO01O.removeEventListener("AchievLoadInfoComplete", _O0l0O1Oll); _O0l0OO01O.removeEventListener("AchievLoadGrantComplete", _O0l0O1Oll); _O01OO1O00 = null; _OOOOll01l = null; _O0l0OO01O = null; _O1l10l101 = null; _O001OO010 = null; _O10OOO1O0 = null; O1lll0ll0 = null; O0l00l0O0 = null; O1OlOO00O = null; } private function _OOlOOOll1(_arg1:int):void{ if (_O0l0OO01O){ _O0l0OO01O.O1OlOO111(_arg1); }; } } }//package
Section 90
//SBack (SBack) package { import flash.media.*; public dynamic class SBack extends Sound { } }//package
Section 91
//SBobm (SBobm) package { import flash.media.*; public dynamic class SBobm extends Sound { } }//package
Section 92
//SEmit (SEmit) package { import flash.media.*; public dynamic class SEmit extends Sound { } }//package
Section 93
//SHit (SHit) package { import flash.media.*; public dynamic class SHit extends Sound { } }//package
Section 94
//Snake (Snake) package { import flash.display.*; public dynamic class Snake extends MovieClip { public function Snake(){ addFrameScript(0, frame1, 16, frame17); } function frame1(){ stop(); } function frame17(){ stop(); } } }//package
Section 95
//SStart (SStart) package { import flash.media.*; public dynamic class SStart extends Sound { } }//package
Section 96
//Stone1 (Stone1) package { import flash.display.*; public dynamic class Stone1 extends MovieClip { } }//package
Section 97
//Stone2 (Stone2) package { import flash.display.*; public dynamic class Stone2 extends MovieClip { } }//package
Section 98
//Stone3 (Stone3) package { import flash.display.*; public dynamic class Stone3 extends MovieClip { } }//package
Section 99
//Stone4 (Stone4) package { import flash.display.*; public dynamic class Stone4 extends MovieClip { } }//package
Section 100
//Top (Top) package { import flash.display.*; public dynamic class Top extends MovieClip { } }//package

Library Items

Symbol 1 GraphicUsed by:4
Symbol 2 GraphicUsed by:4
Symbol 3 GraphicUsed by:4
Symbol 4 ButtonUses:1 2 3Used by:33
Symbol 5 GraphicUsed by:33 40
Symbol 6 GraphicUsed by:30
Symbol 7 GraphicUsed by:30
Symbol 8 GraphicUsed by:30
Symbol 9 GraphicUsed by:30
Symbol 10 GraphicUsed by:30
Symbol 11 GraphicUsed by:30
Symbol 12 GraphicUsed by:30
Symbol 13 GraphicUsed by:30
Symbol 14 GraphicUsed by:30
Symbol 15 GraphicUsed by:30
Symbol 16 GraphicUsed by:30
Symbol 17 GraphicUsed by:30
Symbol 18 GraphicUsed by:30
Symbol 19 GraphicUsed by:30
Symbol 20 GraphicUsed by:30
Symbol 21 GraphicUsed by:30
Symbol 22 GraphicUsed by:30
Symbol 23 GraphicUsed by:30
Symbol 24 GraphicUsed by:30
Symbol 25 GraphicUsed by:30
Symbol 26 BitmapUsed by:27
Symbol 27 GraphicUses:26Used by:30
Symbol 28 BitmapUsed by:29
Symbol 29 GraphicUses:28Used by:30
Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162}Uses:6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 29Used by:33 40
Symbol 31 FontUsed by:32
Symbol 32 EditableTextUses:31Used by:33
Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}Uses:4 5 30 32Used by:36
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:36
Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc}Uses:33 35
Symbol 37 GraphicUsed by:40
Symbol 38 FontUsed by:39
Symbol 39 EditableTextUses:38Used by:40
Symbol 40 MovieClip {spill.localisation.LanguageSelectBox_mc}Uses:37 39 5 30
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:43 123
Symbol 43 MovieClip {spill.localisation.LocalizedTextField}Uses:42
Symbol 44 FontUsed by:45 47
Symbol 45 TextUses:44Used by:48
Symbol 46 GraphicUsed by:48
Symbol 47 TextUses:44Used by:48
Symbol 48 Button {spill.localisation.SpilGamesLink}Uses:45 46 47
Symbol 49 GraphicUsed by:75
Symbol 50 GraphicUsed by:75 95 350
Symbol 51 GraphicUsed by:75
Symbol 52 GraphicUsed by:75
Symbol 53 GraphicUsed by:75
Symbol 54 GraphicUsed by:75 95 350
Symbol 55 GraphicUsed by:75
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClipUses:56Used by:75
Symbol 58 GraphicUsed by:75
Symbol 59 GraphicUsed by:75 350
Symbol 60 GraphicUsed by:75
Symbol 61 GraphicUsed by:75
Symbol 62 GraphicUsed by:75 350
Symbol 63 GraphicUsed by:75
Symbol 64 GraphicUsed by:75 95 350
Symbol 65 GraphicUsed by:75
Symbol 66 GraphicUsed by:75 95 350
Symbol 67 GraphicUsed by:75
Symbol 68 GraphicUsed by:75
Symbol 69 GraphicUsed by:75 95 350
Symbol 70 GraphicUsed by:75
Symbol 71 GraphicUsed by:75
Symbol 72 GraphicUsed by:75 95 350
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:73Used by:75 95 350
Symbol 75 MovieClip {Snake}Uses:49 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74Used by:87 89 90 91 92 96 97 98 99 100 101 102 103 104 105
Symbol 76 GraphicUsed by:77
Symbol 77 MovieClipUses:76Used by:78 85
Symbol 78 MovieClip {Stone1}Uses:77Used by:87 89 90 91 92 96 97 98 99 100 101 102 103 104 105 351
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClipUses:79Used by:81
Symbol 81 MovieClip {Stone2}Uses:80Used by:87 89 90 91 92 96 97 98 100 101 103 104 105 351
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClipUses:82Used by:84
Symbol 84 MovieClip {Box}Uses:83Used by:87 89 90 96 98 99 100 101 102 104
Symbol 85 MovieClipUses:77Used by:86 88
Symbol 86 MovieClip {Stone3}Uses:85Used by:87 89 96 97 99 102 103 104
Symbol 87 MovieClip {Level8}Uses:75 78 81 84 86
Symbol 88 MovieClip {Stone4}Uses:85Used by:89 100 103 104
Symbol 89 MovieClip {Level6}Uses:75 78 81 88 86 84
Symbol 90 MovieClip {Level5}Uses:75 78 81 84
Symbol 91 MovieClip {Level2}Uses:75 81 78
Symbol 92 MovieClip {Level9}Uses:75 81 78
Symbol 93 GraphicUsed by:95
Symbol 94 GraphicUsed by:95
Symbol 95 MovieClip {Bobm}Uses:50 54 93 94 64 66 69 72 74
Symbol 96 MovieClip {Level10}Uses:75 78 81 84 86
Symbol 97 MovieClip {Level3}Uses:75 81 78 86
Symbol 98 MovieClip {Level14}Uses:84 78 75 81
Symbol 99 MovieClip {Level13}Uses:75 78 84 86
Symbol 100 MovieClip {Level12}Uses:78 75 84 81 88
Symbol 101 MovieClip {Level15}Uses:75 78 84 81
Symbol 102 MovieClip {Level11}Uses:75 78 84 86
Symbol 103 MovieClip {Level7}Uses:78 75 81 86 88
Symbol 104 MovieClip {Level4}Uses:81 78 75 88 84 86
Symbol 105 MovieClip {Level1}Uses:75 81 78
Symbol 106 GraphicUsed by:109
Symbol 107 GraphicUsed by:108
Symbol 108 MovieClipUses:107Used by:109  Timeline
Symbol 109 MovieClip {Top}Uses:106 108
Symbol 110 GraphicUsed by:111
Symbol 111 MovieClip {Buttom}Uses:110
Symbol 112 GraphicUsed by:122
Symbol 113 GraphicUsed by:114
Symbol 114 MovieClipUses:113Used by:122 351
Symbol 115 GraphicUsed by:118
Symbol 116 GraphicUsed by:118
Symbol 117 GraphicUsed by:118
Symbol 118 MovieClip {Ball}Uses:115 116 117Used by:122 351
Symbol 119 GraphicUsed by:122
Symbol 120 GraphicUsed by:122 351
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClip {Emit}Uses:112 114 118 119 120 121
Symbol 123 MovieClip {spill.localisation.LanguageSelectBox}Uses:42Used by:Timeline
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClipUses:124Used by:126
Symbol 126 MovieClipUses:125Used by:254
Symbol 127 GraphicUsed by:138
Symbol 128 GraphicUsed by:138
Symbol 129 GraphicUsed by:138
Symbol 130 GraphicUsed by:138
Symbol 131 GraphicUsed by:138
Symbol 132 GraphicUsed by:138
Symbol 133 GraphicUsed by:138
Symbol 134 GraphicUsed by:138
Symbol 135 GraphicUsed by:138
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:136Used by:138
Symbol 138 MovieClipUses:127 128 129 130 131 132 133 134 135 137Used by:254
Symbol 139 GraphicUsed by:140
Symbol 140 MovieClipUses:139Used by:254
Symbol 141 GraphicUsed by:142
Symbol 142 MovieClipUses:141Used by:254
Symbol 143 GraphicUsed by:144
Symbol 144 MovieClipUses:143Used by:254
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClipUses:145Used by:254
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClipUses:147Used by:254
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClipUses:149Used by:254
Symbol 151 GraphicUsed by:152
Symbol 152 MovieClipUses:151Used by:254
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClipUses:153Used by:254
Symbol 155 GraphicUsed by:156
Symbol 156 MovieClipUses:155Used by:254
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClipUses:157Used by:254
Symbol 159 GraphicUsed by:160
Symbol 160 MovieClipUses:159Used by:254
Symbol 161 GraphicUsed by:162
Symbol 162 MovieClipUses:161Used by:254
Symbol 163 GraphicUsed by:164
Symbol 164 MovieClipUses:163Used by:254
Symbol 165 GraphicUsed by:166
Symbol 166 MovieClipUses:165Used by:254
Symbol 167 GraphicUsed by:168
Symbol 168 MovieClipUses:167Used by:169
Symbol 169 MovieClipUses:168Used by:254
Symbol 170 GraphicUsed by:171
Symbol 171 MovieClipUses:170Used by:172
Symbol 172 MovieClipUses:171Used by:254
Symbol 173 GraphicUsed by:174
Symbol 174 MovieClipUses:173Used by:175
Symbol 175 MovieClipUses:174Used by:254
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClipUses:176Used by:178
Symbol 178 MovieClipUses:177Used by:254
Symbol 179 GraphicUsed by:180
Symbol 180 MovieClipUses:179Used by:181
Symbol 181 MovieClipUses:180Used by:254
Symbol 182 GraphicUsed by:183
Symbol 183 MovieClipUses:182Used by:184
Symbol 184 MovieClipUses:183Used by:254
Symbol 185 GraphicUsed by:186
Symbol 186 MovieClipUses:185Used by:187
Symbol 187 MovieClipUses:186Used by:254
Symbol 188 GraphicUsed by:189
Symbol 189 MovieClipUses:188Used by:190
Symbol 190 MovieClipUses:189Used by:254
Symbol 191 GraphicUsed by:192
Symbol 192 MovieClipUses:191Used by:193
Symbol 193 MovieClipUses:192Used by:254
Symbol 194 GraphicUsed by:195
Symbol 195 MovieClipUses:194Used by:196
Symbol 196 MovieClipUses:195Used by:254
Symbol 197 GraphicUsed by:198
Symbol 198 MovieClipUses:197Used by:199
Symbol 199 MovieClipUses:198Used by:254
Symbol 200 GraphicUsed by:201
Symbol 201 MovieClipUses:200Used by:202
Symbol 202 MovieClipUses:201Used by:254
Symbol 203 GraphicUsed by:204
Symbol 204 MovieClipUses:203Used by:205
Symbol 205 MovieClipUses:204Used by:254
Symbol 206 GraphicUsed by:207
Symbol 207 MovieClipUses:206Used by:254
Symbol 208 GraphicUsed by:209
Symbol 209 MovieClipUses:208Used by:254
Symbol 210 GraphicUsed by:211
Symbol 211 MovieClipUses:210Used by:254
Symbol 212 GraphicUsed by:213
Symbol 213 MovieClipUses:212Used by:254
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClipUses:214Used by:254
Symbol 216 GraphicUsed by:217
Symbol 217 MovieClipUses:216Used by:254
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClipUses:218Used by:254
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClipUses:220Used by:254
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClipUses:222Used by:254
Symbol 224 BitmapUsed by:225
Symbol 225 GraphicUses:224Used by:226
Symbol 226 MovieClipUses:225Used by:254
Symbol 227 BitmapUsed by:228
Symbol 228 GraphicUses:227Used by:229
Symbol 229 MovieClipUses:228Used by:254
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:254
Symbol 232 GraphicUsed by:233
Symbol 233 MovieClipUses:232Used by:254
Symbol 234 GraphicUsed by:235
Symbol 235 MovieClipUses:234Used by:254
Symbol 236 GraphicUsed by:237
Symbol 237 MovieClipUses:236Used by:254
Symbol 238 GraphicUsed by:239
Symbol 239 MovieClipUses:238Used by:240
Symbol 240 MovieClipUses:239Used by:254
Symbol 241 GraphicUsed by:242
Symbol 242 MovieClipUses:241Used by:254
Symbol 243 GraphicUsed by:244
Symbol 244 MovieClipUses:243Used by:254
Symbol 245 GraphicUsed by:246
Symbol 246 MovieClipUses:245Used by:254
Symbol 247 GraphicUsed by:248
Symbol 248 MovieClipUses:247Used by:249
Symbol 249 MovieClipUses:248Used by:254
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClipUses:250Used by:254
Symbol 252 GraphicUsed by:253
Symbol 253 MovieClipUses:252Used by:254
Symbol 254 MovieClip {spill.localisation.BrandingLogo}Uses:126 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 169 172 175 178 181 184 187 190 193 196 199 202 205 207 209 211 213 215 217 219 221 223 226 229 231 233 235 237 240 242 244 246 249 251 253Used by:Timeline
Symbol 255 GraphicUsed by:257
Symbol 256 MovieClip {OOO000lll}Used by:257
Symbol 257 MovieClip {Spill.Components.Submitter}Uses:255 256Used by:Timeline
Symbol 258 FontUsed by:259
Symbol 259 EditableTextUses:258Used by:Timeline
Symbol 260 GraphicUsed by:263
Symbol 261 GraphicUsed by:262
Symbol 262 MovieClipUses:261Used by:263
Symbol 263 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_70}Uses:260 262Used by:Timeline
Symbol 264 GraphicUsed by:271
Symbol 265 Sound {SStart}Used by:271
Symbol 266 Sound {SBobm}Used by:271
Symbol 267 Sound {SHit}Used by:271
Symbol 268 Sound {SEmit}Used by:271
Symbol 269 GraphicUsed by:271
Symbol 270 Sound {SBack}Used by:271
Symbol 271 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_72}Uses:264 265 266 267 268 269 270Used by:Timeline
Symbol 272 GraphicUsed by:Timeline
Symbol 273 GraphicUsed by:274
Symbol 274 MovieClipUses:273Used by:Timeline
Symbol 275 GraphicUsed by:276
Symbol 276 MovieClipUses:275Used by:Timeline
Symbol 277 GraphicUsed by:278
Symbol 278 MovieClipUses:277Used by:Timeline
Symbol 279 GraphicUsed by:283
Symbol 280 GraphicUsed by:281
Symbol 281 MovieClipUses:280Used by:283
Symbol 282 GraphicUsed by:283
Symbol 283 MovieClipUses:279 281 282Used by:Timeline
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClipUses:284Used by:Timeline
Symbol 286 GraphicUsed by:Timeline
Symbol 287 GraphicUsed by:290
Symbol 288 GraphicUsed by:289
Symbol 289 MovieClipUses:288Used by:290
Symbol 290 MovieClipUses:287 289Used by:Timeline
Symbol 291 GraphicUsed by:Timeline
Symbol 292 GraphicUsed by:Timeline
Symbol 293 GraphicUsed by:298
Symbol 294 FontUsed by:295 300 305 310 361 363 364 365 366 367 368 369 371 379 380 384 394 402 403 404 405 408 409 410 411 413 417 420 424
Symbol 295 TextUses:294Used by:296 298
Symbol 296 MovieClipUses:295Used by:298
Symbol 297 GraphicUsed by:298
Symbol 298 ButtonUses:293 296 297 295Used by:385  Timeline
Symbol 299 GraphicUsed by:303
Symbol 300 TextUses:294Used by:301 303
Symbol 301 MovieClipUses:300Used by:303
Symbol 302 GraphicUsed by:303
Symbol 303 ButtonUses:299 301 302 300Used by:Timeline
Symbol 304 GraphicUsed by:308
Symbol 305 TextUses:294Used by:306 308
Symbol 306 MovieClipUses:305Used by:308
Symbol 307 GraphicUsed by:308
Symbol 308 ButtonUses:304 306 307 305Used by:Timeline
Symbol 309 GraphicUsed by:313
Symbol 310 TextUses:294Used by:311 313
Symbol 311 MovieClipUses:310Used by:313
Symbol 312 GraphicUsed by:313
Symbol 313 ButtonUses:309 311 312 310Used by:Timeline
Symbol 314 FontUsed by:315 316 418
Symbol 315 TextUses:314Used by:317
Symbol 316 TextUses:314Used by:317
Symbol 317 MovieClipUses:315 316Used by:Timeline
Symbol 318 GraphicUsed by:319
Symbol 319 ButtonUses:318Used by:Timeline
Symbol 320 GraphicUsed by:328
Symbol 321 GraphicUsed by:322 328
Symbol 322 MovieClipUses:321Used by:328
Symbol 323 GraphicUsed by:328
Symbol 324 GraphicUsed by:325 328 332
Symbol 325 MovieClipUses:324Used by:328 332
Symbol 326 GraphicUsed by:328
Symbol 327 GraphicUsed by:328
Symbol 328 ButtonUses:320 322 323 325 326 324 321 327Used by:333
Symbol 329 GraphicUsed by:332
Symbol 330 GraphicUsed by:332
Symbol 331 GraphicUsed by:332
Symbol 332 ButtonUses:329 325 330 324 331Used by:333
Symbol 333 MovieClip {ShootTheSnake_gamesonly_fla.bt_mc_fscreen_93}Uses:328 332Used by:Timeline
Symbol 334 GraphicUsed by:Timeline
Symbol 335 GraphicUsed by:336
Symbol 336 MovieClipUses:335Used by:Timeline
Symbol 337 GraphicUsed by:338
Symbol 338 MovieClipUses:337Used by:Timeline
Symbol 339 FontUsed by:340
Symbol 340 TextUses:339Used by:Timeline
Symbol 341 FontUsed by:342
Symbol 342 TextUses:341Used by:Timeline
Symbol 343 GraphicUsed by:344
Symbol 344 MovieClipUses:343Used by:351
Symbol 345 GraphicUsed by:351
Symbol 346 GraphicUsed by:351
Symbol 347 GraphicUsed by:351
Symbol 348 GraphicUsed by:349
Symbol 349 MovieClipUses:348Used by:350
Symbol 350 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_108}Uses:349 50 54 59 62 64 66 69 72 74Used by:351
Symbol 351 MovieClip {ShootTheSnake_gamesonly_fla.help_100}Uses:81 78 344 345 114 346 120 347 118 350Used by:Timeline
Symbol 352 GraphicUsed by:355
Symbol 353 GraphicUsed by:354
Symbol 354 MovieClipUses:353Used by:355
Symbol 355 MovieClipUses:352 354Used by:Timeline
Symbol 356 GraphicUsed by:357
Symbol 357 MovieClipUses:356Used by:Timeline
Symbol 358 GraphicUsed by:359
Symbol 359 MovieClipUses:358Used by:Timeline
Symbol 360 GraphicUsed by:362 370 372
Symbol 361 TextUses:294Used by:362
Symbol 362 ButtonUses:360 361Used by:386
Symbol 363 TextUses:294Used by:386
Symbol 364 TextUses:294Used by:386
Symbol 365 TextUses:294Used by:386
Symbol 366 EditableTextUses:294Used by:386
Symbol 367 EditableTextUses:294Used by:386
Symbol 368 EditableTextUses:294Used by:386
Symbol 369 TextUses:294Used by:370
Symbol 370 ButtonUses:360 369Used by:386
Symbol 371 TextUses:294Used by:372
Symbol 372 ButtonUses:360 371Used by:386
Symbol 373 GraphicUsed by:375
Symbol 374 GraphicUsed by:375
Symbol 375 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_119}Uses:373 374Used by:386
Symbol 376 GraphicUsed by:378
Symbol 377 GraphicUsed by:378
Symbol 378 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_120}Uses:376 377Used by:386
Symbol 379 TextUses:294Used by:386
Symbol 380 EditableTextUses:294Used by:386
Symbol 381 GraphicUsed by:385
Symbol 382 GraphicUsed by:383
Symbol 383 MovieClipUses:382Used by:385
Symbol 384 EditableTextUses:294Used by:385
Symbol 385 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_121}Uses:381 383 384 298Used by:386
Symbol 386 MovieClip {Game}Uses:362 363 364 365 366 367 368 370 372 375 378 379 380 385Used by:Timeline
Symbol 387 GraphicUsed by:Timeline
Symbol 388 GraphicUsed by:389
Symbol 389 MovieClipUses:388Used by:Timeline
Symbol 390 GraphicUsed by:391
Symbol 391 MovieClipUses:390Used by:Timeline
Symbol 392 GraphicUsed by:Timeline
Symbol 393 GraphicUsed by:397
Symbol 394 TextUses:294Used by:395 397
Symbol 395 MovieClipUses:394Used by:397
Symbol 396 GraphicUsed by:397
Symbol 397 ButtonUses:393 395 396 394Used by:Timeline
Symbol 398 GraphicUsed by:Timeline
Symbol 399 GraphicUsed by:400
Symbol 400 MovieClipUses:399Used by:Timeline
Symbol 401 GraphicUsed by:Timeline
Symbol 402 TextUses:294Used by:406
Symbol 403 TextUses:294Used by:406
Symbol 404 TextUses:294Used by:406
Symbol 405 TextUses:294Used by:406  Timeline
Symbol 406 MovieClipUses:402 403 404 405Used by:Timeline
Symbol 407 GraphicUsed by:Timeline
Symbol 408 EditableTextUses:294Used by:Timeline
Symbol 409 EditableTextUses:294Used by:Timeline
Symbol 410 EditableTextUses:294Used by:Timeline
Symbol 411 EditableTextUses:294Used by:Timeline
Symbol 412 GraphicUsed by:415
Symbol 413 TextUses:294Used by:415
Symbol 414 GraphicUsed by:415
Symbol 415 ButtonUses:412 413 414Used by:Timeline
Symbol 416 GraphicUsed by:Timeline
Symbol 417 EditableTextUses:294Used by:Timeline
Symbol 418 TextUses:314Used by:Timeline
Symbol 419 GraphicUsed by:422
Symbol 420 TextUses:294Used by:422
Symbol 421 GraphicUsed by:422
Symbol 422 ButtonUses:419 420 421Used by:Timeline
Symbol 423 GraphicUsed by:426
Symbol 424 TextUses:294Used by:426
Symbol 425 GraphicUsed by:426
Symbol 426 ButtonUses:423 424 425Used by:Timeline
Symbol 427 FontUsed by:428
Symbol 428 TextUses:427Used by:Timeline

Instance Names

"LoadLogo"Frame 1Symbol 254 MovieClip {spill.localisation.BrandingLogo}
"lpc"Frame 1Symbol 259 EditableText
"lbar"Frame 1Symbol 263 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_70}
"d_Play"Frame 3Symbol 298 Button
"d_More"Frame 3Symbol 303 Button
"d_Help"Frame 3Symbol 308 Button
"d_Credits"Frame 3Symbol 313 Button
"StartLogo"Frame 3Symbol 319 Button
"d_Fscreen"Frame 3Symbol 333 MovieClip {ShootTheSnake_gamesonly_fla.bt_mc_fscreen_93}
"d_HelpPlay"Frame 4Symbol 298 Button
"d_MainLogo"Frame 5Symbol 319 Button
"d_More2"Frame 6Symbol 303 Button
"d_NextLevel"Frame 6Symbol 397 Button
"d_TimeScore"Frame 6Symbol 408 EditableText
"d_FoodScore"Frame 6Symbol 409 EditableText
"d_LevelScore"Frame 6Symbol 410 EditableText
"d_TotalScore"Frame 6Symbol 411 EditableText
"d_More3"Frame 7Symbol 303 Button
"d_Replay"Frame 7Symbol 415 Button
"d_Score"Frame 7Symbol 417 EditableText
"d_Submit"Frame 7Symbol 422 Button
"d_OverLogo"Frame 7Symbol 319 Button
"d_CreditsBack"Frame 8Symbol 426 Button
"flag"Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164} Frame 1Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162}
"text"Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164} Frame 1Symbol 32 EditableText
"l_de"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_en_us"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_fr"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_it"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_nl"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_pl"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_es_mx"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_br"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_cn"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_en_uk"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_es"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_id"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_jp"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_pt"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_ar"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_in"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_es_ar"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_se"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"l_ru"Symbol 36 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 33 MovieClip {ShootTheSnake_gamesonly_fla.l_br_164}
"languageName_text"Symbol 40 MovieClip {spill.localisation.LanguageSelectBox_mc} Frame 1Symbol 39 EditableText
"flag"Symbol 40 MovieClip {spill.localisation.LanguageSelectBox_mc} Frame 1Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162}
"d_Ball"Symbol 122 MovieClip {Emit} Frame 1Symbol 118 MovieClip {Ball}
"OO00OO1l1l"Symbol 257 MovieClip {Spill.Components.Submitter} Frame 1Symbol 256 MovieClip {OOO000lll}
"d_Ball"Symbol 351 MovieClip {ShootTheSnake_gamesonly_fla.help_100} Frame 14Symbol 118 MovieClip {Ball}
"d_Ball"Symbol 351 MovieClip {ShootTheSnake_gamesonly_fla.help_100} Frame 101Symbol 118 MovieClip {Ball}
"d_Play"Symbol 385 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_121} Frame 1Symbol 298 Button
"d_Menu"Symbol 386 MovieClip {Game} Frame 1Symbol 362 Button
"d_Time"Symbol 386 MovieClip {Game} Frame 1Symbol 366 EditableText
"d_Level"Symbol 386 MovieClip {Game} Frame 1Symbol 367 EditableText
"d_Score"Symbol 386 MovieClip {Game} Frame 1Symbol 368 EditableText
"d_Pause"Symbol 386 MovieClip {Game} Frame 1Symbol 370 Button
"d_Restart"Symbol 386 MovieClip {Game} Frame 1Symbol 372 Button
"d_Music"Symbol 386 MovieClip {Game} Frame 1Symbol 375 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_119}
"d_Sound"Symbol 386 MovieClip {Game} Frame 1Symbol 378 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_120}
"d_Food"Symbol 386 MovieClip {Game} Frame 1Symbol 380 EditableText
"d_PauseWindow"Symbol 386 MovieClip {Game} Frame 1Symbol 385 MovieClip {ShootTheSnake_gamesonly_fla.Timeline_121}

Special Tags

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

Labels

"start"Frame 3
"help"Frame 4
"game"Frame 5
"score"Frame 6
"over"Frame 7
"credits"Frame 8
"br"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 1
"nl"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 2
"cn"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 3
"de"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 4
"es"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 5
"fr"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 6
"in"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 7
"it"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 8
"jp"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 9
"my"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 10
"ph"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 11
"pl"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 12
"pt"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 13
"ru"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 14
"se"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 15
"tr"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 16
"en_uk"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 17
"en_us"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 18
"id"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 19
"ar"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 20
"es_mx"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 21
"es_ar"Symbol 30 MovieClip {ShootTheSnake_gamesonly_fla.flag_icon_162} Frame 22
"eat"Symbol 75 MovieClip {Snake} Frame 2
"www.agame.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 1
"www.game.com.cn"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 2
"www.zapjuegos.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 3
"www.spel.nl"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 4
"www.jeu.fr"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 5
"www.spielen.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 6
"www.clickjogos.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 7
"www.giocaregratis.it"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 8
"www.spel.se"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 9
"www.mygames.co.uk"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 10
"www.flashgames.ru"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 11
"www.game.co.in"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 12
"www.games.co.id"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 13
"www.minigry.pl"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 14
"www.asoyun.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 15
"www.game.com.my"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 16
"www.gamesgames.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 17
"www.spelletjes.nl"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 18
"www.jeux.fr"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 19
"www.jetztspielen.de"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 20
"www.gry.pl"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 21
"www.spela.se"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 22
"www.gioco.it"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 23
"www.juegos.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 24
"www.juegos.mx"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 25
"www.juegos.com.ar"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 26
"www.ojogos.com.br"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 27
"www.ourgames.ru"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 28
"www.games.co.uk"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 29
"www.oyunlar123.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 30
"www.girlsgogames.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 31
"www.girlsgogames.in"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 32
"www.girlsgogamestr.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 33
"www.girlsgogames.com.br"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 34
"www.girlsgogames.fr"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 35
"www.girlsgogames.co.uk"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 36
"www.girlsgogames.de"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 37
"www.girlsgogames.pl"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 38
"www.girlsgogames.ru"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 39
"www.juegosdechicas.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 40
"www.juegosdechicas.com.ar"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 41
"www.juegosdechicas.mx"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 42
"www.girlsgogames.it"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 43
"www.girlsgogames.es"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 44
"www.girlsgogames.nl"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 45
"www.girlsgogames.se"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 46
"www.ojogos.pt"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 47
"www.laro.com.ph"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 48
"www.egames.jp"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 49
"www.a10.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 50
"www.dailygame.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 51
"www.zapapa.com"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 52
"www.zapapa.nl"Symbol 254 MovieClip {spill.localisation.BrandingLogo} Frame 53




http://swfchan.com/26/125805/info.shtml
Created: 27/2 -2019 06:42:53 Last modified: 27/2 -2019 06:42:53 Server time: 09/05 -2024 13:18:15