Section 1
//TweenLite (gs.TweenLite)
package gs {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
public class TweenLite {
public var delay:Number;
protected var _endTarget:Object;
private var _sound:SoundTransform;
public var target:Object;
public var duration:Number;
public var startTime:uint;
public var extraTweens:Object;
protected var _color:ColorTransform;
protected var _active:Boolean;
protected var _endColor:ColorTransform;
public var vars:Object;
public var tweens:Object;
public var initTime:uint;
private static var _sprite:Sprite = new Sprite();
private static var _timer:Timer = new Timer(2000);
private static var _all:Dictionary = new Dictionary();
public static var killDelayedCallsTo:Function = killTweensOf;
public static var version:Number = 5.83;
private static var _listening:Boolean;
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
if (_arg1 == null){
return;
};
if (((((!((_arg3.overwrite == false))) && (!((_arg1 == null))))) || ((_all[_arg1] == undefined)))){
delete _all[_arg1];
_all[_arg1] = new Dictionary();
};
_all[_arg1][this] = this;
this.vars = _arg3;
this.duration = _arg2;
this.delay = ((_arg3.delay) || (0));
if (_arg2 == 0){
this.duration = 0.001;
if (this.delay == 0){
this.vars.runBackwards = true;
};
};
this.target = (_endTarget = _arg1);
if (!(this.vars.ease is Function)){
this.vars.ease = easeOut;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
if (this.vars.mcColor != null){
this.vars.tint = this.vars.mcColor;
};
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
};
this.tweens = {};
this.extraTweens = {};
this.initTime = getTimer();
if (this.vars.runBackwards == true){
initTweenVals();
};
_active = false;
if ((((_arg2 == 0)) && ((this.delay == 0)))){
complete(true);
} else {
if (!_listening){
_sprite.addEventListener(Event.ENTER_FRAME, executeAll);
_timer.addEventListener("timer", killGarbage);
_timer.start();
_listening = true;
};
};
}
public function set endTarget(_arg1:Object):void{
delete _all[_endTarget][this];
_endTarget = _arg1;
if (_all[_arg1] == undefined){
_all[_arg1] = new Dictionary();
};
_all[_arg1][this] = this;
}
public function get colorProxy():Number{
return (0);
}
public function get endTarget():Object{
return (_endTarget);
}
public function get active():Boolean{
if (_active){
return (true);
};
if (((getTimer() - this.initTime) / 1000) > this.delay){
_active = true;
this.startTime = (this.initTime + (this.delay * 1000));
if (this.vars.runBackwards != true){
initTweenVals();
} else {
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function initTweenVals():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
var _local7:TweenLite;
var _local8:Object;
_local1 = (this.delay - ((getTimer() - this.initTime) / 1000));
if ((this.target is Array)){
_local4 = ((this.vars.endArray) || ([]));
_local5 = 0;
while (_local5 < _local4.length) {
if (((!((this.target[_local5] == _local4[_local5]))) && (!((this.target[_local5] == undefined))))){
this.tweens[_local5.toString()] = {o:this.target, s:this.target[_local5], c:(_local4[_local5] - this.target[_local5])};
};
_local5++;
};
} else {
for (_local2 in this.vars) {
if ((((((((((((((((((((((((((((_local2 == "delay")) || ((_local2 == "ease")))) || ((_local2 == "overwrite")))) || ((_local2 == "onComplete")))) || ((_local2 == "onCompleteParams")))) || ((_local2 == "runBackwards")))) || ((_local2 == "onUpdate")))) || ((_local2 == "onUpdateParams")))) || ((_local2 == "autoAlpha")))) || ((_local2 == "_autoAlpha")))) || ((_local2 == "onStart")))) || ((_local2 == "onStartParams")))) || ((_local2 == "easeParams")))) || ((_local2 == "mcColor")))){
} else {
if ((((_local2 == "tint")) && ((this.target is DisplayObject)))){
_color = this.target.transform.colorTransform;
_endColor = new ColorTransform();
if (this.vars.alpha != undefined){
_endColor.alphaMultiplier = this.vars.alpha;
delete this.vars.alpha;
delete this.tweens.alpha;
} else {
_endColor.alphaMultiplier = this.target.alpha;
};
if (((!((this.vars[_local2] == null))) && (!((this.vars[_local2] == ""))))){
_endColor.color = this.vars[_local2];
};
_local6 = new TweenLite(this, this.duration, {colorProxy:1, delay:_local1, overwrite:false, ease:this.vars.ease, runBackwards:this.vars.runBackwards});
_local6.endTarget = this.target;
} else {
if ((((_local2 == "volume")) && ((this.target is MovieClip)))){
_sound = this.target.soundTransform;
_local7 = new TweenLite(this, this.duration, {volumeProxy:this.vars[_local2], ease:easeOut, delay:_local1, overwrite:false, runBackwards:this.vars.runBackwards});
_local7.endTarget = this.target;
} else {
if (this.target.hasOwnProperty(_local2)){
if (typeof(this.vars[_local2]) == "number"){
_local3 = (this.vars[_local2] - this.target[_local2]);
} else {
_local3 = Number(this.vars[_local2]);
};
this.tweens[_local2] = {o:this.target, s:this.target[_local2], c:_local3};
} else {
this.extraTweens[_local2] = {o:this.target, s:0, c:0, v:this.vars[_local2]};
};
};
};
};
};
};
if (this.vars.runBackwards == true){
for (_local2 in this.tweens) {
_local8 = this.tweens[_local2];
this.tweens[_local2].s = (_local8.s + _local8.c);
_local8.c = (_local8.c * -1);
if (_local8.c != 0){
_local8.o[_local2] = _local8.s;
};
};
if (this.vars.onUpdate != null){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
};
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = !((((this.vars.runBackwards == true)) && ((this.target.alpha == 0))));
};
}
public function render(_arg1:int):void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:String;
_local2 = ((_arg1 - this.startTime) / 1000);
if (_local2 > this.duration){
_local2 = this.duration;
};
_local3 = this.vars.ease(_local2, 0, 1, this.duration);
for (_local5 in this.tweens) {
_local4 = this.tweens[_local5];
_local4.o[_local5] = (_local4.s + (_local3 * _local4.c));
};
if (this.vars.onUpdate != null){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
public function set colorProxy(_arg1:Number):void{
var _local2:Number;
_local2 = (1 - _arg1);
this.target.transform.colorTransform = new ColorTransform(((_color.redMultiplier * _local2) + (_endColor.redMultiplier * _arg1)), ((_color.greenMultiplier * _local2) + (_endColor.greenMultiplier * _arg1)), ((_color.blueMultiplier * _local2) + (_endColor.blueMultiplier * _arg1)), ((_color.alphaMultiplier * _local2) + (_endColor.alphaMultiplier * _arg1)), ((_color.redOffset * _local2) + (_endColor.redOffset * _arg1)), ((_color.greenOffset * _local2) + (_endColor.greenOffset * _arg1)), ((_color.blueOffset * _local2) + (_endColor.blueOffset * _arg1)), ((_color.alphaOffset * _local2) + (_endColor.alphaOffset * _arg1)));
}
public function get volumeProxy():Number{
return (_sound.volume);
}
public function set volumeProxy(_arg1:Number):void{
_sound.volume = _arg1;
this.target.soundTransform = _sound;
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
this.startTime = 0;
render((this.duration * 1000));
return;
};
if ((((typeof(this.vars.autoAlpha) == "number")) && ((this.target.alpha == 0)))){
this.target.visible = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
removeTween(this);
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:false}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function removeTween(_arg1:TweenLite=null):void{
if (((!((_arg1 == null))) && (!((_all[_arg1.endTarget] == undefined))))){
delete _all[_arg1.endTarget][_arg1];
};
}
protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function killGarbage(_arg1:TimerEvent):void{
var _local2:Object;
var _local3:int;
var _local4:Boolean;
var _local5:Object;
var _local6:Object;
var _local7:Object;
_local2 = _all;
_local3 = 0;
for (_local5 in _local2) {
_local4 = false;
for (_local6 in _local2[_local5]) {
_local4 = true;
break;
};
if (!_local4){
delete _local2[_local5];
} else {
_local3++;
};
};
if (_local3 == 0){
_sprite.removeEventListener(Event.ENTER_FRAME, executeAll);
_timer.removeEventListener("timer", killGarbage);
_timer.stop();
_listening = false;
};
}
public static function executeAll(_arg1:Event):void{
var _local2:Object;
var _local3:int;
var _local4:Object;
var _local5:Object;
var _local6:Object;
_local2 = _all;
_local3 = getTimer();
for (_local4 in _local2) {
for (_local5 in _local2[_local4]) {
_local6 = _local2[_local4][_local5];
if (((!((_local6 == null))) && (_local6.active))){
_local6.render(_local3);
};
};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Object;
var _local4:*;
if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){
if (_arg2){
_local3 = _all[_arg1];
for (_local4 in _local3) {
_local3[_local4].complete(false);
};
};
delete _all[_arg1];
};
}
}
}//package gs
Section 2
//MochiScores (mochi.MochiScores)
package mochi {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local2:Object;
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
_local2 = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi
Section 3
//MochiServices (mochi.MochiServices)
package mochi {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _sendChannel:LocalConnection;
private static var _rcvChannelName:String;
private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _startTime:Number;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__mochiservices";
private static var _rcvChannel:LocalConnection;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
public static function get id():String{
return (_id);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function getVersion():String{
return ("1.31");
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
_rcvChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
Security.allowDomain("*");
Security.allowInsecureDomain("*");
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
return (_local2);
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion()});
_rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var cb:String;
var cblst:Object;
var method:*;
var methodName:String;
var obj:Object;
var pkg = _arg1;
cb = pkg.callbackID;
cblst = this.client._callbacks[cb];
if (!cblst){
return;
};
method = cblst.callbackMethod;
methodName = "";
obj = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
_rcvChannelName = _arg1;
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var clipname:String;
var f:Function;
var req:URLRequest;
var id = _arg1;
var clip = _arg2;
clipname = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
MochiServices.allowDomains(_gatewayURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
_timer = new Timer(1000, 0);
_startTime = getTimer();
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
f = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
req = new URLRequest(_gatewayURL);
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain("*", "localhost");
_rcvChannel.allowInsecureDomain("*", "localhost");
_rcvChannel.client = _clip;
_clip._nextcallbackID = 0;
_clip._callbacks = {};
listen();
return (_clip);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (MochiServices.clip != null){
if (MochiServices.childClip != null){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var mc:MovieClip;
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
mc = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if ((getTimer() - _startTime) > 10000){
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_timer.stop();
};
}
}
}//package mochi
Section 4
//play4allintro_13 (sketchcraft_fla.play4allintro_13)
package sketchcraft_fla {
import flash.display.*;
public dynamic class play4allintro_13 extends MovieClip {
public function play4allintro_13(){
addFrameScript(0x0100, frame257, 279, frame280);
}
function frame280(){
trace("noooooo");
}
function frame257(){
MovieClip(parent).gotoAndStop("startscreen");
stop();
}
}
}//package sketchcraft_fla
Section 5
//subline_14 (sketchcraft_fla.subline_14)
package sketchcraft_fla {
import flash.display.*;
public dynamic class subline_14 extends MovieClip {
public function subline_14(){
addFrameScript(45, frame46);
}
function frame46(){
stop();
}
}
}//package sketchcraft_fla
Section 6
//asfa32 (asfa32)
package {
import flash.display.*;
public dynamic class asfa32 extends MovieClip {
}
}//package
Section 7
//Comic (Comic)
package {
import flash.text.*;
public dynamic class Comic extends Font {
}
}//package
Section 8
//Floor (Floor)
package {
import flash.display.*;
public dynamic class Floor extends MovieClip {
}
}//package
Section 9
//game (game)
package {
import flash.display.*;
import flash.events.*;
import mochi.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
public dynamic class game extends MovieClip {
public var refTime:int;
public var preTime:int;// = 0
public var theship:verticalShip;
public var totalTime:int;
public var levelscore_txt:TextField;
public var livesboard:MovieClip;
public var timeleft:int;// = 0
public var sndbtn:soundLogo;
public var _isFirst:Boolean;// = true
public var _musicURL:URLRequest;
public var levelTime:int;
public var totalscore_txt:TextField;
public var boardid:String;
public var gamemode:String;// = "easy"
public var score:int;
public var scoreboardformat:TextFormat;
public var play4allbtn:SimpleButton;
public var gameObjects:Array;
public var invbtn:SimpleButton;
public var gamelevel:MovieClip;
public var _isMusicOn:Boolean;// = true
public var goodies:Array;
public var _musicChannel:SoundChannel;
public var lives:int;// = 5
public var gameLevelClasses:Array;
public var _music:Sound;
public var level_txt:TextField;
public var score_txt:TextField;
public var gameLevelStarScores:Array;
public var playmoremenu:SimpleButton;
public var leveltime_txt:TextField;
public var level:int;// = 1
public var gameLevelTimeScores:Array;
public var gamemode_btn:SimpleButton;
public var gamemode_txt:TextField;
public var levelTimeConstants:Array;
public var walls:Array;
public var status:String;
public var time_txt:TextField;
public function game(){
level = 1;
lives = 5;
preTime = 0;
timeleft = 0;
gamemode = "easy";
_isMusicOn = true;
_isFirst = true;
super();
addFrameScript(0, frame1, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 11, frame12, 12, frame13);
levelTimeConstants = new Array();
gameLevelClasses = new Array();
levelTimeConstants["hard"] = [16000, 15000, 7000, 15000, 11000, 11000, 12000, 6000, 25000, 30000, 20000, 40000, 60000, 22000, 15000, 35000, 45000, 30000];
gameLevelClasses["hard"] = ["gameLevel2", "gameLevel3", "gameLevel4_4", "gameLevel22", "gameLevel222", "gameLevel32", "gameLevel4", "gameLevel6", "gameLevelTriangles", "gameLevel888", "gameLevel3232", "gameLevel7", "gameLevel8", "gameLevel5", "gameLevel9", "gameLevel10", "gameLevel88", "gameLevel11"];
levelTimeConstants["easy"] = [35000, 30000, 35000, 30000, 25000, 30000, 20000, 30000, 20000, 10000, 45000, 40000, 35000, 60000, 60000, 40000, 40000, 45000, 60000, 45000];
gameLevelClasses["easy"] = ["gameLevel1", "gameLevel1_1", "gameLevel2", "gameLevel3", "gameLevel4_4", "gameLevel22", "gameLevel222", "gameLevel32", "gameLevel4", "gameLevel6", "gameLevelTriangles", "gameLevel888", "gameLevel3232", "gameLevel7", "gameLevel8", "gameLevel5", "gameLevel9", "gameLevel10", "gameLevel88", "gameLevel11"];
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
}
public function moveObjects(_arg1:Event){
updateScoreBoard();
theship.move();
checkCollision();
}
public function switchGameMode(_arg1:Event){
if (gamemode == "easy"){
gamemode = "hard";
gamemode_txt.text = "Game mode : Hard";
} else {
gamemode = "easy";
gamemode_txt.text = "Game mode : Easy";
};
}
public function resetscoreboard(){
var _local1:int;
livesboard.gotoAndStop((6 - lives));
_local1 = levelTimeConstants[gamemode][(level - 1)];
time_txt.text = ("Time : " + timetostr(_local1));
level_txt.text = ("Level : " + zerofill(level, 2));
score_txt.text = ("Score : " + zerofill(score, 7));
}
public function zerofill(_arg1:int, _arg2:int):String{
var _local3:String;
_local3 = _arg1.toString();
while (_local3.length < _arg2) {
_local3 = ("0" + _local3);
};
return (_local3);
}
public function lostLive(){
if (lives > 1){
lives--;
theship.explode();
preTime = 0;
this.removeEventListener(Event.ENTER_FRAME, moveObjects);
gotoAndStop("gamestart");
startGame();
} else {
this.removeEventListener(Event.ENTER_FRAME, moveObjects);
gotoAndStop(1);
theship.levelUp();
removeChild(gamelevel);
gamelevel = null;
gotoAndStop("gameover");
};
}
public function showLevelScore(){
var _local1:int;
var _local2:int;
_local1 = Math.floor((levelTime / 100));
leveltime_txt.text = ("Level Time : " + timetostr(levelTime));
_local2 = (_local1 * 10);
score = (score + _local2);
levelscore_txt.text = ("Time Score : " + zerofill(_local2, 7));
totalscore_txt.text = ("Total Score : " + zerofill(score, 7));
}
function frame12(){
gotoAndStop("startscreen");
}
public function initLevel(){
var _local1:Class;
_local1 = (getDefinitionByName(gameLevelClasses[gamemode][(level - 1)]) as Class);
if (gamelevel){
removeChild(gamelevel);
};
gamelevel = new (_local1);
addChild(gamelevel);
}
function frame5(){
status = "waitingforlevel";
stop();
initMusic();
if (gamemode == "easy"){
gamemode_txt.text = "Game mode : Easy";
} else {
gamemode_txt.text = "Game mode : Hard";
};
invbtn.addEventListener(MouseEvent.CLICK, navigateToHome);
gamemode_btn.addEventListener(MouseEvent.CLICK, switchGameMode);
playmoremenu.addEventListener(MouseEvent.CLICK, gotoPlay4All);
play4allbtn.addEventListener(MouseEvent.CLICK, gotoPlay4All);
sndbtn.addEventListener(MouseEvent.CLICK, _switchSound);
}
function frame1(){
MochiServices.connect("04c308a22518dfcf", root);
MochiAd.showPreGameAd({clip:root, id:"04c308a22518dfcf", res:"720x480", background:0x9E9E9E, color:0xFFFFFF, outline:0x303030, no_bg:true});
MochiBot.track(this, "c5beef95");
MochiBot.track(this, "c899668c");
}
function frame4(){
gotoAndStop("play4allintro");
}
function frame9(){
gotoAndStop("startscreen");
}
public function _switchSound(_arg1:Event){
switchMusic(sndbtn);
}
function frame8(){
if (gamemode == "easy"){
boardid = "608e8ce863bdaca7";
} else {
boardid = "b711e34cdc170db5";
};
MochiScores.showLeaderboard({showTableRank:true, previewScores:true, boardID:boardid, score:score});
play4allbtn.addEventListener(MouseEvent.CLICK, gotoPlay4All);
level = 1;
lives = 5;
score = 0;
}
public function gotoPlay4All(_arg1:Event){
navigateToURL(new URLRequest("http://www.play4all.net/"), "_blank");
}
function frame7(){
showLevelScore();
stop();
}
public function examineLevel(){
var _local1:int;
var _local2:*;
var _local3:Object;
var _local4:Object;
walls = new Array();
gameObjects = new Array();
goodies = new Array();
_local1 = 0;
while (_local1 < this.gamelevel.numChildren) {
_local2 = this.gamelevel.getChildAt(_local1);
if ((_local2 is startline)){
theship = new verticalShip();
addChild(theship);
theship.x = _local2.x;
theship.y = _local2.y;
theship.gotoAndStop(1);
} else {
if ((((((((((_local2 is vortex)) || ((_local2 is star)))) || ((_local2 is keyGreen)))) || ((_local2 is keyRed)))) || ((_local2 is keyBlue)))){
_local3 = new Object();
_local3.mc = _local2;
gameObjects.push(_local3);
} else {
if ((_local2 is MovieClip)){
_local4 = new Object();
_local4.mc = _local2;
walls.push(_local4);
};
};
};
_local1++;
};
}
function frame6(){
stop();
play4allbtn.addEventListener(MouseEvent.CLICK, gotoPlay4All);
startGame();
}
function frame10(){
if (gamemode == "easy"){
boardid = "608e8ce863bdaca7";
} else {
boardid = "e41fff305ed6723e";
};
MochiScores.showLeaderboard({showTableRank:true, previewScores:true, boardID:boardid, score:score});
level = 1;
lives = 5;
score = 0;
}
public function navigateToHome(_arg1:Event){
navigateToURL(new URLRequest("http://www.esqiz.com"), "_blank");
}
function frame13(){
stop();
}
public function initMusic(){
if (_isFirst){
_music = new sMusic();
_musicChannel = _music.play();
_isFirst = false;
};
}
public function siteLock():Boolean{
return (true);
}
public function pauseGame(){
preTime = (preTime + (getTimer() - refTime));
theship.removeListeners();
this.removeEventListener(Event.ENTER_FRAME, moveObjects);
}
public function checkCollision(){
var _local1:int;
var _local2:int;
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:PointBurst;
_local1 = 0;
while (_local1 < theship.points.length) {
_local3 = (theship.x + theship.points[_local1].x);
_local4 = (theship.y + theship.points[_local1].y);
_local5 = 0;
while (_local5 < walls.length) {
if (walls[_local5].mc.hitTestPoint(_local3, _local4, true)){
lostLive();
return;
};
_local5++;
};
_local5 = 0;
while (_local5 < gameObjects.length) {
if (gameObjects[_local5].mc.hitTestPoint(_local3, _local4, true)){
if ((gameObjects[_local5].mc is vortex)){
levelUp();
} else {
if ((gameObjects[_local5].mc is star)){
gamelevel.removeChild(gameObjects[_local5].mc);
_local6 = new PointBurst(gamelevel, 100, gameObjects[_local5].mc.x, gameObjects[_local5].mc.y);
score = (score + 100);
} else {
if ((gameObjects[_local5].mc is keyGreen)){
gamelevel.removeChild(gameObjects[_local5].mc);
_local2 = 0;
while (_local2 < walls.length) {
if ((walls[_local2].mc is wallGreen)){
gamelevel.removeChild(walls[_local2].mc);
};
_local2++;
};
} else {
if ((gameObjects[_local5].mc is keyRed)){
gamelevel.removeChild(gameObjects[_local5].mc);
_local2 = 0;
while (_local2 < walls.length) {
if ((walls[_local2].mc is wallRed)){
gamelevel.removeChild(walls[_local2].mc);
};
_local2++;
};
} else {
if ((gameObjects[_local5].mc is keyBlue)){
gamelevel.removeChild(gameObjects[_local5].mc);
_local2 = 0;
while (_local2 < walls.length) {
if ((walls[_local2].mc is wallBlue)){
gamelevel.removeChild(walls[_local2].mc);
};
_local2++;
};
};
};
};
};
};
};
_local5++;
};
_local1++;
};
}
public function timetostr(_arg1:int):String{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:String;
var _local6:String;
_local2 = Math.floor((_arg1 / 1000));
_local3 = Math.floor((_local2 / 60));
_local4 = zerofill(_local3, 2);
_local5 = zerofill((_local2 - (_local3 * 60)), 2);
_local6 = zerofill((Math.round((_arg1 - (_local2 * 1000))) / 10), 2);
return (((((_local4 + ".") + _local5) + ".") + _local6));
}
public function updateScoreBoard(){
var _local1:PointBurst;
livesboard.gotoAndStop((6 - lives));
levelTime = (levelTimeConstants[gamemode][(level - 1)] - (preTime + (getTimer() - refTime)));
if (levelTime < 0){
levelTime = 0;
time_txt.text = ("Time : " + timetostr(levelTime));
_local1 = new PointBurst(this, "Time is up !!", 360, 210, 20, 2);
lostLive();
return;
};
time_txt.text = ("Time : " + timetostr(levelTime));
level_txt.text = ("Level : " + zerofill(level, 2));
score_txt.text = ("Score : " + zerofill(score, 7));
}
public function levelUp(){
this.removeEventListener(Event.ENTER_FRAME, moveObjects);
if (++level <= gameLevelClasses[gamemode].length){
theship.levelUp();
removeChild(gamelevel);
gamelevel = null;
status = "waitingforlevel";
gotoAndStop("levelup");
} else {
status = "waitingforlevel";
theship.levelUp();
removeChild(gamelevel);
gamelevel = null;
gotoAndStop("gamecompleted");
};
}
public function showGameScore(){
}
public function switchMusic(_arg1:MovieClip){
if (_isMusicOn){
_isMusicOn = false;
_musicChannel.stop();
_arg1.gotoAndStop(2);
} else {
_isMusicOn = true;
_musicChannel = _music.play();
_arg1.gotoAndStop(1);
};
}
public function keyUp(_arg1:KeyboardEvent){
if (_arg1.keyCode == 37){
} else {
if (_arg1.keyCode == 39){
} else {
if (_arg1.keyCode == 38){
};
};
};
}
public function startGame(){
gotoAndStop("gamestart");
preTime = (refTime = 0);
initLevel();
examineLevel();
resetscoreboard();
formatTextFields();
status = "waitingtostart";
}
public function keyDown(_arg1:KeyboardEvent){
if (_arg1.keyCode == 37){
} else {
if (_arg1.keyCode == 39){
} else {
if (_arg1.keyCode == 38){
if (status == "waitingtostart"){
resumeGame();
theship.keyDown(_arg1);
status = "playing";
};
} else {
if (_arg1.keyCode == 32){
if (status == "playing"){
pauseGame();
status = "paused";
} else {
if (status == "paused"){
resumeGame();
status = "playing";
} else {
if (status == "waitingforlevel"){
(status == "waitingtostart");
gotoAndStop("gamestart");
};
};
};
};
};
};
};
}
public function formatTextFields(){
var _local1:TextFormat;
_local1 = new TextFormat();
level_txt.setTextFormat(_local1);
time_txt.setTextFormat(_local1);
level_txt.antiAliasType = AntiAliasType.NORMAL;
time_txt.antiAliasType = AntiAliasType.NORMAL;
}
public function resumeGame(){
refTime = getTimer();
theship.addListeners();
this.addEventListener(Event.ENTER_FRAME, moveObjects);
}
}
}//package
Section 10
//gameLevel1 (gameLevel1)
package {
import flash.display.*;
public dynamic class gameLevel1 extends MovieClip {
public var level1startline:startline;
}
}//package
Section 11
//gameLevel1_1 (gameLevel1_1)
package {
import flash.display.*;
public dynamic class gameLevel1_1 extends MovieClip {
public var level1startline:startline;
}
}//package
Section 12
//gameLevel10 (gameLevel10)
package {
import flash.display.*;
public dynamic class gameLevel10 extends MovieClip {
}
}//package
Section 13
//gameLevel11 (gameLevel11)
package {
import flash.display.*;
public dynamic class gameLevel11 extends MovieClip {
}
}//package
Section 14
//gameLevel2 (gameLevel2)
package {
import flash.display.*;
public dynamic class gameLevel2 extends MovieClip {
public var level1wall1:Wall;
public var level1wall2:Wall;
public var level1wall3:Wall;
public var level1startline:startline;
}
}//package
Section 15
//gameLevel22 (gameLevel22)
package {
import flash.display.*;
public dynamic class gameLevel22 extends MovieClip {
public var level1wall1:Wall;
public var level1wall2:Wall;
public var level1wall3:Wall;
public var level1startline:startline;
}
}//package
Section 16
//gameLevel222 (gameLevel222)
package {
import flash.display.*;
public dynamic class gameLevel222 extends MovieClip {
public var level1wall1:Wall;
public var level1startline:startline;
}
}//package
Section 17
//gameLevel3 (gameLevel3)
package {
import flash.display.*;
public dynamic class gameLevel3 extends MovieClip {
public var level1startline:startline;
}
}//package
Section 18
//gameLevel32 (gameLevel32)
package {
import flash.display.*;
public dynamic class gameLevel32 extends MovieClip {
}
}//package
Section 19
//gameLevel3232 (gameLevel3232)
package {
import flash.display.*;
public dynamic class gameLevel3232 extends MovieClip {
}
}//package
Section 20
//gameLevel4 (gameLevel4)
package {
import flash.display.*;
public dynamic class gameLevel4 extends MovieClip {
public var level2wall1:Wall;
public var level2slider2:MovieClip;
public var level2slider3:MovieClip;
public var level2slider1:MovieClip;
public var level2wall2:Wall;
public function gameLevel4(){
addFrameScript(0, frame1);
}
function frame1(){
level2slider2.gotoAndPlay(150);
}
}
}//package
Section 21
//gameLevel4_4 (gameLevel4_4)
package {
import flash.display.*;
public dynamic class gameLevel4_4 extends MovieClip {
public var level2slider2:MovieClip;
public function gameLevel4_4(){
addFrameScript(0, frame1);
}
function frame1(){
level2slider2.gotoAndPlay(150);
}
}
}//package
Section 22
//gameLevel5 (gameLevel5)
package {
import flash.display.*;
public dynamic class gameLevel5 extends MovieClip {
public var a:asfa32;
}
}//package
Section 23
//gameLevel6 (gameLevel6)
package {
import flash.display.*;
public dynamic class gameLevel6 extends MovieClip {
public var level1startline:startline;
}
}//package
Section 24
//gameLevel7 (gameLevel7)
package {
import flash.display.*;
public dynamic class gameLevel7 extends MovieClip {
}
}//package
Section 25
//gameLevel8 (gameLevel8)
package {
import flash.display.*;
public dynamic class gameLevel8 extends MovieClip {
}
}//package
Section 26
//gameLevel88 (gameLevel88)
package {
import flash.display.*;
public dynamic class gameLevel88 extends MovieClip {
}
}//package
Section 27
//gameLevel888 (gameLevel888)
package {
import flash.display.*;
public dynamic class gameLevel888 extends MovieClip {
}
}//package
Section 28
//gameLevel9 (gameLevel9)
package {
import flash.display.*;
public dynamic class gameLevel9 extends MovieClip {
}
}//package
Section 29
//gameLevelTriangles (gameLevelTriangles)
package {
import flash.display.*;
public dynamic class gameLevelTriangles extends MovieClip {
}
}//package
Section 30
//keyBlue (keyBlue)
package {
import flash.display.*;
public dynamic class keyBlue extends MovieClip {
}
}//package
Section 31
//keyGreen (keyGreen)
package {
import flash.display.*;
public dynamic class keyGreen extends MovieClip {
}
}//package
Section 32
//keyRed (keyRed)
package {
import flash.display.*;
public dynamic class keyRed extends MovieClip {
}
}//package
Section 33
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.3");
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var f:Function;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
f = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["sendHighScore", _arg1], _arg2, _arg3);
return (true);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = _local1.loaderInfo.bytesTotal;
if ((((_local4 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.parent._mochiad_ctr_failed){
options.ad_failed();
_local3 = true;
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _loadCommunicator(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var clipname:String;
var server:String;
var depth:Number;
var mc:MovieClip;
var lv:URLVariables;
var k:String;
var lc:LocalConnection;
var name:String;
var req:URLRequest;
var loader:Loader;
var options = _arg1;
DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
clipname = ("_mochiad_com_" + options.id);
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip[clipname]){
return (clip[clipname]);
};
server = (options.com_server + options.id);
MochiAd._allowDomains(server);
delete options.id;
delete options.com_server;
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, clipname, depth);
lv = new URLVariables();
for (k in options) {
lv[k] = options[k];
};
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.name = name;
mc.lc = lc;
lv.lc = name;
mc._id = 0;
mc._queue = [];
mc.rpcResult = function (_arg1:Object):void{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:Object;
_arg1 = parseInt(_arg1.toString());
_local3 = mc._callbacks[_arg1];
if (typeof(_local3) == "undefined"){
return;
};
delete mc._callbacks[_arg1];
_local4 = [];
_local5 = 2;
while (_local5 < _local3.length) {
_local4.push(_local3[_local5]);
_local5++;
};
_local5 = 1;
while (_local5 < arguments.length) {
_local4.push(arguments[_local5]);
_local5++;
};
_local6 = _local3[1];
_local7 = _local3[0];
if (((_local7) && ((typeof(_local6) == "string")))){
_local6 = _local7[_local6];
};
if (typeof(_local6) == "function"){
_local6.apply(_local7, _local4);
};
};
mc._didConnect = function (_arg1:String):void{
var _local2:Array;
var _local3:Function;
var _local4:Number;
var _local5:Array;
mc._endpoint = _arg1;
_local2 = mc._queue;
delete mc._queue;
_local3 = mc.doSend;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local3.apply(this, _local5);
_local4++;
};
};
mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{
var _local5:Number;
var _local6:LocalConnection;
var _local7:Array;
var _local8:Number;
if (mc._endpoint == null){
_local7 = [];
_local8 = 0;
while (_local8 < arguments.length) {
_local7.push(arguments[_local8]);
_local8++;
};
mc._queue.push(_local7);
return;
};
mc._id = (mc._id + 1);
_local5 = mc._id;
mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))];
_local6 = new LocalConnection();
_local6.send(mc._endpoint, "rpc", _local5, _arg1);
};
mc._callbacks = {};
mc._callbacks[0] = [mc, "_didConnect"];
lv.st = getTimer();
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
loader.load(req);
mc.addChild(loader);
mc._mochiad_com = loader;
return (mc);
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("5cc6f7dfb67f2f08341c831480f7c2a7".length == 0){
options.ad_started();
options.ad_finished();
return;
};
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
bar.x = 10;
bar.y = (h - 20);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
if (!chk.showing){
_local11 = _local2.loaderInfo.bytesTotal;
if ((((_local11 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local3 > chk.ad_timeout){
options.ad_failed();
_local4 = true;
};
};
};
if (this.parent._mochiad_ctr_failed){
options.ad_failed();
_local4 = true;
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3);
return (true);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 34
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 35
//PointBurst (PointBurst)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import flash.text.*;
public class PointBurst extends Sprite {
private var burstSprite:Sprite;
private var parentMC:MovieClip;
private var tField:TextField;
static const startScale:Number = 0;
static const fontBold:Boolean = true;
static const endScale:Number = 2;
static const fontColor:Number = 0;
static const fontFace:String = "Comic Sans MS";
public function PointBurst(_arg1:MovieClip, _arg2:Object, _arg3, _arg4:Number, _arg5:int=16, _arg6:int=1){
var _local7:TextFormat;
super();
_local7 = new TextFormat();
_local7.font = fontFace;
_local7.size = _arg5;
_local7.bold = fontBold;
_local7.color = fontColor;
_local7.align = "center";
tField = new TextField();
tField.embedFonts = true;
tField.selectable = false;
tField.defaultTextFormat = _local7;
tField.autoSize = TextFieldAutoSize.CENTER;
tField.text = String(_arg2);
tField.x = -((tField.width / 2));
tField.y = -((tField.height / 2));
burstSprite = new Sprite();
burstSprite.x = _arg3;
burstSprite.y = _arg4;
burstSprite.scaleX = startScale;
burstSprite.scaleY = startScale;
burstSprite.alpha = 1;
burstSprite.addChild(tField);
parentMC = _arg1;
parentMC.addChild(burstSprite);
TweenLite.to(burstSprite, _arg6, {alpha:0, scaleX:2, scaleY:2, onComplete:removeBurst});
}
public function removeBurst(_arg1:TimerEvent=null){
burstSprite.removeChild(tField);
parentMC.removeChild(burstSprite);
tField = null;
burstSprite = null;
delete ??getglobalscope
[this];
}
}
}//package
Section 36
//Ship (Ship)
package {
import flash.display.*;
public dynamic class Ship extends MovieClip {
public function Ship(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 37
//sMusic (sMusic)
package {
import flash.media.*;
public dynamic class sMusic extends Sound {
}
}//package
Section 38
//soundLogo (soundLogo)
package {
import flash.display.*;
public dynamic class soundLogo extends MovieClip {
public function soundLogo(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 39
//star (star)
package {
import flash.display.*;
public dynamic class star extends MovieClip {
}
}//package
Section 40
//startline (startline)
package {
import flash.display.*;
public dynamic class startline extends MovieClip {
}
}//package
Section 41
//Wall (Wall)
package {
import flash.display.*;
public dynamic class Wall extends MovieClip {
}
}//package
Section 42
//wallBlue (wallBlue)
package {
import flash.display.*;
public dynamic class wallBlue extends MovieClip {
}
}//package
Section 43
//wallGreen (wallGreen)
package {
import flash.display.*;
public dynamic class wallGreen extends MovieClip {
}
}//package
Section 44
//wallRed (wallRed)
package {
import flash.display.*;
public dynamic class wallRed extends MovieClip {
}
}//package
Section 45
//verticalShip (verticalShip)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class verticalShip extends MovieClip {
public var points:Array;
public var flamebottom:MovieClip;
private var upArrow:Boolean;// = false
public var gravity:Number;// = 0.1
public var thrust:Number;// = 0.2
private var downArrow:Boolean;// = false
private var rightArrow:Boolean;// = false
private var leftArrow:Boolean;// = false
public var flameleft:MovieClip;
public var flameright:MovieClip;
public var speedX:Number;// = 0
public var speedY:Number;// = 0
public function verticalShip(){
upArrow = false;
rightArrow = false;
leftArrow = false;
downArrow = false;
gravity = 0.1;
speedY = 0;
speedX = 0;
thrust = 0.2;
super();
addFrameScript(0, frame1, 34, frame35, 59, frame60);
flameleft.visible = false;
flameright.visible = false;
flamebottom.visible = false;
this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
points = new Array();
points = [new Point(7, 0), new Point(-7, 0), new Point(0, -19), new Point(-13, 18), new Point(13, 18), new Point(0, -19), new Point(3, -12), new Point(-3, -12), new Point(0, -6), new Point(0, 6), new Point(6, 14), new Point(-6, 14)];
}
private function init(_arg1:Event=null){
gotoAndStop(1);
}
public function removeListeners(){
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDown);
}
public function levelUp(){
removeListeners();
speedX = (speedY = 0);
gotoAndPlay("levelup");
}
public function keyUp(_arg1:KeyboardEvent){
if (_arg1.keyCode == 37){
flameright.visible = false;
leftArrow = false;
} else {
if (_arg1.keyCode == 39){
flameleft.visible = false;
rightArrow = false;
} else {
if (_arg1.keyCode == 38){
flamebottom.visible = false;
upArrow = false;
};
};
};
}
function frame1(){
stop();
}
function frame35(){
parent.removeChild(this);
stop();
}
public function keyDown(_arg1:KeyboardEvent){
if (_arg1.keyCode == 37){
flameright.visible = true;
leftArrow = true;
} else {
if (_arg1.keyCode == 39){
flameleft.visible = true;
rightArrow = true;
} else {
if (_arg1.keyCode == 38){
flamebottom.visible = true;
upArrow = true;
} else {
if (_arg1.keyCode == 32){
};
};
};
};
}
public function addListeners(){
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
}
public function move(_arg1:Event=null){
if (leftArrow){
speedX = (speedX - thrust);
};
if (rightArrow){
speedX = (speedX + thrust);
};
if (upArrow){
speedY = (speedY - thrust);
} else {
speedY = (speedY + gravity);
};
this.y = (this.y + speedY);
this.x = (this.x + speedX);
this.rotation = (speedX * 3);
}
public function explode(){
removeListeners();
speedX = (speedY = 0);
gotoAndPlay("destruct");
}
function frame60(){
parent.removeChild(this);
stop();
}
}
}//package
Section 46
//vortex (vortex)
package {
import flash.display.*;
public dynamic class vortex extends MovieClip {
}
}//package