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

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

Pile of Balls.swf

This is the info page for
Flash #47677

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


Text
Level

88

+8888

88

Combo

X

Combo

Play Again

Home

Destroy balls by connecting 4 or more
balls of the same colour.

Use the left and right arrow keys to
move, up and down arrow keys to
rotate, press the spacebar to drop.

Instructions

START

Level up!

Game Over

Score:

Level:

Next Level:

222223

222223

222223

High Scores

more games

This Game On Your Site

ActionScript [AS1/AS2]

Frame 1
function __com_mochibot__(swfid, mc, lv, trk) { var x; var g; var s; var fv; var sb; var u; var res; var mb; var mbc; var pv; mb = "__mochibot__"; mbc = "mochibot.com"; g = (_global ? (_global) : (_level0._root)); if (g[mb + swfid]) { return(g[mb + swfid]); } s = System.security; x = mc._root.getSWFVersion; fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5))); if (!s) { s = {}; } sb = s.sandboxType; if (sb == "localWithFile") { return(null); } x = s.allowDomain; if (x) { s.allowDomain(mbc); } x = s.allowInsecureDomain; if (x) { s.allowInsecureDomain(mbc); } pv = ((fv == 5) ? (getVersion()) : (System.capabilities.version)); u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=8&fv=") + fv) + "&v=") + escape(pv)) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : ""); lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv)))); g[mb + "level"] = lv; if (fv == 5) { res = "_level" + lv; if (!eval (res)) { loadMovieNum (u, lv); } } else { res = mc.createEmptyMovieClip(mb + swfid, lv); res.loadMovie(u); } return(res); } __com_mochibot__("acb91ab0", this, 10301, true); mochi.MochiServices.connect("4753f1a0633c2f57");
Frame 5
stop();
Frame 15
MochiAd.showPreGameAd({id:"4753f1a0633c2f57", res:"600x400"});
Frame 23
stop(); com.novelgames.flashgames.commonAS2.MainDevelopment.initialize(this);
Symbol 14 MovieClip [Highlight] Frame 1
#initclip 49 Object.registerClass("Highlight", com.novelgames.flashgames.pileofballsAS2.Highlight); #endinitclip
Symbol 24 MovieClip [Ball] Frame 1
#initclip 35 Object.registerClass("Ball", com.novelgames.flashgames.pileofballsAS2.Ball); #endinitclip
Symbol 29 MovieClip [MessageLevel] Frame 1
#initclip 36 Object.registerClass("MessageLevel", com.novelgames.flashgames.pileofballsAS2.MessageLevel); #endinitclip
Symbol 31 MovieClip [scorePopupText] Frame 1
#initclip 37 Object.registerClass("scorePopupText", com.novelgames.flashgames.commonAS2.NewMovieClip); #endinitclip
Symbol 36 MovieClip [ScorePopup] Frame 1
#initclip 38 Object.registerClass("ScorePopup", com.novelgames.flashgames.pileofballsAS2.ScorePopup); #endinitclip
Symbol 44 MovieClip [MessagePlayAgain] Frame 1
#initclip 39 Object.registerClass("MessagePlayAgain", com.novelgames.flashgames.pileofballsAS2.MessagePlayAgain); #endinitclip
Symbol 55 MovieClip [Instructions] Frame 1
#initclip 40 Object.registerClass("Instructions", com.novelgames.flashgames.commonAS2.Instructions); #endinitclip
Symbol 57 MovieClip [InstructionsButton] Frame 1
#initclip 41 Object.registerClass("InstructionsButton", com.novelgames.flashgames.commonAS2.InstructionsButton); #endinitclip
Symbol 61 MovieClip [MuteButton] Frame 1
#initclip 42 Object.registerClass("MuteButton", com.novelgames.flashgames.commonAS2.MuteButton); #endinitclip
Symbol 68 MovieClip [empty] Frame 1
#initclip 43 Object.registerClass("empty", com.novelgames.flashgames.commonAS2.NewMovieClip); #endinitclip
Symbol 73 MovieClip [Message] Frame 1
#initclip 44 Object.registerClass("Message", com.novelgames.flashgames.pileofballsAS2.Message); #endinitclip
Symbol 83 MovieClip [Game] Frame 1
#initclip 45 Object.registerClass("Game", com.novelgames.flashgames.pileofballsAS2.Game); #endinitclip
Symbol 84 MovieClip [FallingBalls] Frame 1
#initclip 46 Object.registerClass("FallingBalls", com.novelgames.flashgames.pileofballsAS2.FallingBalls); #endinitclip
Symbol 86 MovieClip [Explosion] Frame 1
#initclip 47 Object.registerClass("Explosion", com.novelgames.flashgames.pileofballsAS2.Explosion); #endinitclip
Symbol 93 Button
on (release) { mochi.MochiScores.showLeaderboard({boardID:"c7bc20779e892cfe", onClose:function () { }}); }
Symbol 96 Button
on (release) { getURL ("http://www.yougame.com", "_top"); }
Symbol 99 Button
on (release) { getURL ("http://www.yougame.com", "_top"); }
Symbol 100 MovieClip [Title] Frame 1
#initclip 48 Object.registerClass("Title", com.novelgames.flashgames.commonAS2.Title); #endinitclip
Symbol 126 MovieClip [__Packages.mochi.MochiScores] Frame 0
class mochi.MochiScores { static var boardID, onClose, onError; function MochiScores () { } static function setBoardID(boardID) { mochi.MochiScores.boardID = boardID; mochi.MochiServices.send("scores_setBoardID", {boardID:boardID}); } static function showLeaderboard(options) { if (options.clip != null) { if ((options.clip != mochi.MochiServices.__get__clip()) || (mochi.MochiServices.__get__childClip()._target == undefined)) { mochi.MochiServices.disconnect(); mochi.MochiServices.connect(mochi.MochiServices.__get__id(), options.clip); } delete options.clip; } if (options.name != null) { if (typeof(options.name) == "object") { if (options.name.text != undefined) { options.name = options.name.text; } } } if (options.score != null) { if (typeof(options.score) == "object") { if (options.score.text != undefined) { options.score = options.score.text; } } } if (options.onDisplay != null) { options.onDisplay(); } else { mochi.MochiServices.__get__clip().stop(); } if (options.onClose != null) { onClose = options.onClose; } else { onClose = function () { mochi.MochiServices.__get__clip().play(); }; } if (options.onError != null) { onError = options.onError; } else { onError = onClose; } if (options.boardID == null) { if (boardID != null) { options.boardID = boardID; } } mochi.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose); } static function closeLeaderboard() { mochi.MochiServices.send("scores_closeLeaderboard"); } static function getPlayerInfo(callbackObj, callbackMethod) { mochi.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod); } static function submit(score, name, callbackObj, callbackMethod) { mochi.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod); } static function requestList(callbackObj, callbackMethod) { mochi.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod); } static function scoresArrayToObjects(scores) { var _local5 = {}; var _local1; var _local4; var _local2; var _local6; for (var _local8 in scores) { if (typeof(scores[_local8]) == "object") { if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) { _local5[_local8] = []; _local2 = scores[_local8]; _local4 = 0; while (_local4 < _local2.rows.length) { _local6 = {}; _local1 = 0; while (_local1 < _local2.cols.length) { _local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1]; _local1++; } _local5[_local8].push(_local6); _local4++; } } else { _local5[_local8] = {}; for (var _local7 in scores[_local8]) { _local5[_local8][_local7] = scores[_local8][_local7]; } } } else { _local5[_local8] = scores[_local8]; } } return(_local5); } static function doClose(args) { if (args.error == true) { if (args.errorCode == undefined) { args.errorCode = "IOError"; } onError.apply(null, [args.errorCode]); } else { onClose.apply(); } } }
Symbol 127 MovieClip [__Packages.mochi.MochiServices] Frame 0
class mochi.MochiServices { static var _id, _container, _clip, _sendChannelName, _rcvChannelName, __get__comChannelName, onError, _listenChannel, _rcvChannel, _loader, _loaderListener, _sendChannel; function MochiServices () { } static function get id() { return(_id); } static function get clip() { return(_container); } static function get childClip() { return(_clip); } static function getVersion() { return("1.31"); } static function allowDomains(server) { var _local1 = server.split("/")[2].split(":")[0]; if (System.security) { if (System.security.allowDomain) { System.security.allowDomain("*"); System.security.allowDomain(_local1); } if (System.security.allowInsecureDomain) { System.security.allowInsecureDomain("*"); System.security.allowInsecureDomain(_local1); } } return(_local1); } static function get isNetworkAvailable() { if (System.security) { var _local1 = System.security; if (_local1.sandboxType == "localWithFile") { return(false); } } return(true); } static function set comChannelName(val) { if (val != undefined) { if (val.length > 3) { _sendChannelName = val + "_fromgame"; _rcvChannelName = val; initComChannels(); } } //return(__get__comChannelName()); } static function get connected() { return(_connected); } static function connect(id, clip, onError) { if ((!_connected) && (_clip == undefined)) { trace("MochiServices Connecting..."); _connecting = true; init(id, clip); } if (onError != undefined) { mochi.MochiServices.onError = onError; } else if (mochi.MochiServices.onError == undefined) { mochi.MochiServices.onError = function (errorCode) { trace(errorCode); }; } } static function disconnect() { if (_connected || (_connecting)) { _connecting = (_connected = false); flush(true); if (_clip != undefined) { _clip.removeMovieClip(); delete _clip; } _listenChannel.close(); _rcvChannel.close(); } } static function init(id, clip) { _id = id; if (clip != undefined) { _container = clip; } else { _container = _root; } loadCommunicator(id, _container); } static function loadCommunicator(id, clip) { var _local2 = "_mochiservices_com_" + id; if (_clip != null) { return(_clip); } if (!isNetworkAvailable) { return(null); } allowDomains(_gatewayURL); _clip = clip.createEmptyMovieClip(_local2, 10336, false); _loader = new MovieClipLoader(); if (_loaderListener.waitInterval != null) { clearInterval(_loaderListener.waitInterval); } _loaderListener = {}; _loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) { trace("MochiServices could not load."); mochi.MochiServices.disconnect(); mochi.MochiServices.onError.apply(null, [errorCode]); }; _loaderListener.onLoadStart = function (target_mc) { this.isLoading = true; }; _loaderListener.startTime = getTimer(); _loaderListener.wait = function () { if ((getTimer() - this.startTime) > 10000) { if (!this.isLoading) { mochi.MochiServices.disconnect(); mochi.MochiServices.onError.apply(null, ["IOError"]); } clearInterval(this.waitInterval); } }; _loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000); _loader.addListener(_loaderListener); _loader.loadClip(_gatewayURL, _clip); _sendChannel = new LocalConnection(); _sendChannel._queue = []; _rcvChannel = new LocalConnection(); _rcvChannel.allowDomain = function (d) { return(true); }; _rcvChannel.allowInsecureDomain = _rcvChannel.allowDomain; _rcvChannel._nextcallbackID = 0; _rcvChannel._callbacks = {}; listen(); return(_clip); } static function onStatus(infoObject) { if (!(infoObject.level === "error")) { } else { _connected = false; _listenChannel.connect(_listenChannelName); } } static function listen() { _listenChannel = new LocalConnection(); _listenChannel.handshake = function (args) { mochi.MochiServices.__set__comChannelName(args.newChannel); }; _listenChannel.allowDomain = function (d) { return(true); }; _listenChannel.allowInsecureDomain = _listenChannel.allowDomain; _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } static function initComChannels() { if (!_connected) { _sendChannel.onStatus = function (infoObject) { mochi.MochiServices.onStatus(infoObject); }; _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()}); _rcvChannel.onStatus = function (infoObject) { mochi.MochiServices.onStatus(infoObject); }; _rcvChannel.onReceive = function (pkg) { var _local5 = pkg.callbackID; var _local4 = this._callbacks[_local5]; if (!_local4) { return(undefined); } var _local2 = _local4.callbackMethod; var _local3 = _local4.callbackObject; if (_local3 && (typeof(_local2) == "string")) { _local2 = _local3[_local2]; } if (_local2 != undefined) { _local2.apply(_local3, pkg.args); } delete this._callbacks[_local5]; }; _rcvChannel.onError = function () { mochi.MochiServices.onError.apply(null, ["IOError"]); }; _rcvChannel.connect(_rcvChannelName); trace("connected!"); _connecting = false; _connected = true; _listenChannel.close(); while (_sendChannel._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift()); } } } static function flush(error) { var _local1; var _local2; while (_sendChannel._queue.length > 0) { _local1 = _sendChannel._queue.shift(); if (_local1.callbackID != null) { _local2 = _rcvChannel._callbacks[_local1.callbackID]; } delete _rcvChannel._callbacks[_local1.callbackID]; if (error) { handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod); } } } static function handleError(args, callbackObject, callbackMethod) { 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) && (typeof(callbackMethod) == "string")) { callbackObject[callbackMethod](args); } else if (callbackMethod != null) { callbackMethod.apply(args); } } } static function send(methodName, args, callbackObject, callbackMethod) { if (_connected) { _sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID}); } else { if ((_clip == undefined) || (!_connecting)) { onError.apply(null, ["NotConnected"]); handleError(args, callbackObject, callbackMethod); flush(true); return(undefined); } _sendChannel._queue.push({methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID}); } _rcvChannel._callbacks[_rcvChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod}; _rcvChannel._nextcallbackID++; } static var _gatewayURL = "http://www.mochiads.com/static/lib/services/services.swf"; static var _listenChannelName = "__mochiservices"; static var _connecting = false; static var _connected = false; }
Symbol 128 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewMovieClip] Frame 0
class com.novelgames.flashgames.commonAS2.NewMovieClip extends MovieClip { var _parent, _x, _y, _rotation, _visible, _alpha, _width, _height, _xscale, _yscale, _xmouse, _ymouse, _totalframes, _currentframe, _name, __mask, useHandCursor, __mouseEnabled, __mouseChildren, __numChildren, getInstanceAtDepth, getNextHighestDepth, onRelease, onRollOver, onRollOut, onPress, onReleaseOutside, onMouseMove, onEnterFrame, getURL, createMovieCount, attachMovie, createEmptyMovieClip; function NewMovieClip () { super(); } function get parent() { return(_parent); } function set x(x) { _x = x; //return(this.x); } function get x() { return(_x); } function set y(y) { _y = y; //return(this.y); } function get y() { return(_y); } function set rotation(rotation) { _rotation = rotation; //return(this.rotation); } function get rotation() { return(_rotation); } function set visible(visible) { _visible = visible; //return(this.visible); } function get visible() { return(_visible); } function set alpha(alpha) { _alpha = alpha * 100; //return(this.alpha); } function get alpha() { return(_alpha / 100); } function get width() { return(_width); } function set width(width) { _width = width; //return(this.width); } function get height() { return(_height); } function set height(height) { _height = height; //return(this.height); } function set scaleX(scaleX) { _xscale = scaleX * 100; //return(this.scaleX); } function get scaleX() { return(_xscale / 100); } function set scaleY(scaleY) { _yscale = scaleY * 100; //return(this.scaleY); } function get scaleY() { return(_yscale / 100); } function set mouseX(mouseX) { _xmouse = mouseX; //return(this.mouseX); } function get mouseX() { return(_xmouse); } function set mouseY(mouseY) { _ymouse = mouseY; //return(this.mouseY); } function get mouseY() { return(_ymouse); } function get totalFrames() { return(_totalframes); } function get currentFrame() { return(_currentframe); } function get name() { return(_name); } function set mask(mask) { __mask = mask; super.setMask(mask); //return(this.mask); } function get mask() { return(__mask); } function set buttonMode(buttonMode) { useHandCursor = buttonMode; //return(this.buttonMode); } function get buttonMode() { return(useHandCursor); } function set mouseEnabled(mouseEnabled) { __mouseEnabled = mouseEnabled; //return(this.mouseEnabled); } function get mouseEnabled() { return(__mouseEnabled); } function set mouseChildren(mouseChildren) { __mouseChildren = mouseChildren; //return(this.mouseChildren); } function get mouseChildren() { return(__mouseChildren); } function get stage() { return(com.novelgames.flashgames.commonAS2.NewStage.getNewStage()); } function set numChildren(numChildren) { __numChildren = numChildren; //return(this.numChildren); } function get numChildren() { if (__numChildren == undefined) { __numChildren = 0; } return(__numChildren); } function get graphics() { return(this); } function startDrag(lockCenter, bounds) { if (lockCenter == undefined) { super.startDrag(); } else if (bounds == undefined) { super.startDrag(lockCenter); } else { super.startDrag(lockCenter, bounds.__get__left(), bounds.__get__top(), bounds.__get__right(), bounds.__get__bottom()); } } function lineStyle(thickness, colour, alpha) { if (alpha == undefined) { alpha = 1; } super.lineStyle(thickness, colour, alpha * 100); } function beginFill(colour, alpha) { if (alpha == undefined) { alpha = 1; } super.beginFill(colour, alpha * 100); } function getBounds(target) { var _local2 = super.getBounds(target); return(new com.novelgames.flashgames.commonAS2.Rectangle(_local2.xMin, _local2.yMin, _local2.xMax - _local2.xMin, _local2.yMax - _local2.yMin)); } function localToGlobal(point) { var _local2 = {x:point.x, y:point.y}; super.localToGlobal(_local2); return(_local2); } function globalToLocal(point) { var _local2 = {x:point.x, y:point.y}; super.globalToLocal(_local2); return(_local2); } function hitTestPoint(x, y, shapeFlag) { if (shapeFlag == undefined) { return(super.hitTest(x, y)); } return(super.hitTest(x, y, shapeFlag)); } function hitTestObject(obj) { return(super.hitTest(obj)); } function addChild(movieClip) { if (movieClip.addedToParent) { return(undefined); } if (movieClip._parent != this) { trace("wrong addChild: " + [this, movieClip]); } if (movieClip == null) { return(undefined); } addChildAt(movieClip, numChildren); } function addChildAt(movieClip, index) { if (movieClip.addedToParent) { return(undefined); } if (movieClip._parent != this) { trace("wrong addChildAt: " + [this, movieClip]); } if (movieClip == null) { return(undefined); } movieClip.addedToParent = true; numChildren = ((numChildren+1)); setChildIndex(movieClip, index); } function removeChild(movieClip) { if (!movieClip.addedToParent) { return(undefined); } removeChildAt(movieClip.getDepth()); } function removeChildAt(index) { var _local5 = getInstanceAtDepth(index); var _local3; var _local2; if (!_local5.addedToParent) { return(undefined); } _local5.removeMovieClip(); _local3 = getNextHighestDepth(); _local2 = index + 1; while (_local2 < _local3) { getInstanceAtDepth(_local2).swapDepths(_local2 - 1); _local2++; } numChildren = ((numChildren-1)); } function setChildIndex(child, index) { var _local3 = child.getDepth(); var _local2; var _local1; if (_local3 == index) { return(undefined); } _local2 = ((_local3 < index) ? 1 : -1); _local1 = _local3; while (_local1 != index) { child.swapDepths(_local1 + _local2); _local1 = _local1 + _local2; } } function getChildIndex(child) { return(child.getDepth()); } function getChildAt(index) { return(com.novelgames.flashgames.commonAS2.NewMovieClip(getInstanceAtDepth(index))); } function addEventListener(type, listenerObject, listenerFunctionName) { switch (type) { case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK : onRelease = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER : onRollOver = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT : onRollOut = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN : onPress = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP : onRelease = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; onReleaseOutside = onRelease; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_MOVE : onMouseMove = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.Event.ENTER_FRAME : onEnterFrame = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; } } function removeEventListener(type) { switch (type) { case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK : onRelease = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER : onRollOver = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT : onRollOut = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN : onPress = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP : onRelease = null; onReleaseOutside = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_MOVE : onMouseMove = null; break; case com.novelgames.flashgames.commonAS2.Event.ENTER_FRAME : onEnterFrame = null; } } function navigateToURL(urlRequest, window) { getURL(urlRequest.url, window); } function createMovie(name) { var _local4 = getNextHighestDepth(); var _local2; if (createMovieCount == undefined) { createMovieCount = 0; } if (name) { _local2 = attachMovie(name, (name + "_") + createMovieCount, _local4); } else { _local2 = createEmptyMovieClip((name + "_") + createMovieCount, _local4); _local2.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; } _local2.addedToParent = false; createMovieCount++; return(_local2); } function createSound(name) { return(new com.novelgames.flashgames.commonAS2.NewSound(this, name)); } }
Symbol 129 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewStage] Frame 0
class com.novelgames.flashgames.commonAS2.NewStage { var addedListener, onKeyDown, onKeyUp; function NewStage () { addedListener = false; onKeyDown = null; onKeyUp = null; } static function getNewStage() { if (newStage == null) { newStage = new com.novelgames.flashgames.commonAS2.NewStage(); } return(newStage); } function get stageWidth() { return(Stage.width); } function get stageHeight() { return(Stage.height); } function set focus(object) { Selection.setFocus(object); //return(focus); } function get focus() { return(Selection.getFocus()); } function addEventListener(type, listenerObject, listenerFunctionName) { if (!addedListener) { Key.addListener(this); addedListener = true; } switch (type) { case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN : onKeyDown = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.KeyboardEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_UP : onKeyUp = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.KeyboardEvent(this)); }; } } function removeEventListener(type) { switch (type) { case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN : onKeyDown = null; break; case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_UP : onKeyUp = null; } } static var newStage = null; }
Symbol 130 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.KeyboardEvent] Frame 0
class com.novelgames.flashgames.commonAS2.KeyboardEvent { function KeyboardEvent () { } function get charCode() { return(Key.getAscii()); } function get keyCode() { return(Key.getCode()); } function updateAfterEvent() { _global.updateAfterEvent(); } static var KEY_DOWN = "keyDown"; static var KEY_UP = "keyUp"; }
Symbol 131 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Rectangle] Frame 0
class com.novelgames.flashgames.commonAS2.Rectangle { var x, y, width, height; function Rectangle (x, y, width, height) { this.x = x; this.y = y; this.width = width; this.height = height; } function get left() { return(x); } function set left(left) { x = left; //return(this.left); } function get top() { return(y); } function set top(top) { y = top; //return(this.top); } function get right() { return(x + width); } function set right(right) { width = right - x; //return(this.right); } function get bottom() { return(y + height); } function set bottom(bottom) { height = bottom - y; //return(this.bottom); } function get size() { return({x:width, y:height}); } function set size(size) { width = size.x; height = size.y; //return(this.size); } function get topLeft() { return({x:x, y:y}); } function set topLeft(topLeft) { x = topLeft.x; y = topLeft.y; //return(this.topLeft); } function get bottomRight() { return({x:x + width, y:y + height}); } function set bottomRight(bottomRight) { width = x - bottomRight.x; height = y - bottomRight.y; //return(this.bottomRight); } }
Symbol 132 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MouseEvent] Frame 0
class com.novelgames.flashgames.commonAS2.MouseEvent { var target, currentTarget; function MouseEvent (target) { this.target = target; currentTarget = target; } function updateAfterEvent() { _global.updateAfterEvent(); } static var CLICK = "click"; static var DOUBLE_CLICK = "doubleClick"; static var MOUSE_DOWN = "mouseDown"; static var MOUSE_MOVE = "mouseMove"; static var MOUSE_OUT = "mouseOut"; static var MOUSE_OVER = "mouseOver"; static var MOUSE_UP = "mouseUp"; static var MOUSE_WHEEL = "mouseWheel"; static var ROLL_OUT = "rollOut"; static var ROLL_OVER = "rollOver"; }
Symbol 133 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Event] Frame 0
class com.novelgames.flashgames.commonAS2.Event { function Event () { } static var ENTER_FRAME = "enterFrame"; }
Symbol 134 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.URLRequest] Frame 0
class com.novelgames.flashgames.commonAS2.URLRequest { var url; function URLRequest (url) { this.url = url; } }
Symbol 135 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewSound] Frame 0
class com.novelgames.flashgames.commonAS2.NewSound extends Sound { var attachSound, start; function NewSound (target, symbolName) { super(target); attachSound(symbolName); } function play() { start(); } }
Symbol 136 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Ball] Frame 0
class com.novelgames.flashgames.pileofballsAS2.Ball extends com.novelgames.flashgames.commonAS2.NewMovieClip { var type, isMoving, gotoAndStop, cacheAsBitmap, moveToX, moveToY, moveAroundX, moveAroundY, movingAround, startMoveX, x, startMoveY, y, endMoveX, endMoveY, __get__parent, centreX, centreY, startAngle, endAngle, moveAngle, __set__x, __set__y; function Ball () { super(); } function initialize(type) { this.type = type; isMoving = false; (gotoAndStop(type + 1));// not popped cacheAsBitmap = true; } function startMove(moveToX, moveToY, moveAroundX, moveAroundY, movingAround) { if (moveAroundX == undefined) { moveAroundX = -1; } if (moveAroundY == undefined) { moveAroundY = -1; } if (movingAround == undefined) { movingAround = false; } var _local2; isMoving = true; this.moveToX = moveToX; this.moveToY = moveToY; this.moveAroundX = moveAroundX; this.moveAroundY = moveAroundY; this.movingAround = movingAround; startMoveX = x; startMoveY = y; endMoveX = (moveToX * com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / 2; endMoveY = moveToY * Object(__get__parent().parent).rowSpacing; if (movingAround) { centreX = (moveAroundX * com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / 2; centreY = moveAroundY * Object(__get__parent().parent).rowSpacing; startAngle = Math.atan2(startMoveY - centreY, startMoveX - centreX); endAngle = Math.atan2(endMoveY - centreY, endMoveX - centreX); _local2 = endAngle - startAngle; if (_local2 < -3.14159265358979) { _local2 = _local2 + (Math.PI*2); } if (_local2 > Math.PI) { _local2 = _local2 - (Math.PI*2); } moveAngle = _local2; } } function move(ratio) { if (movingAround) { __set__x(centreX + (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE * Math.cos(startAngle + (moveAngle * ratio)))); __set__y(centreY + (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE * Math.sin(startAngle + (moveAngle * ratio)))); } else { __set__x((startMoveX * (1 - ratio)) + (endMoveX * ratio)); __set__y((startMoveY * (1 - ratio)) + (endMoveY * ratio)); } } }
Symbol 137 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Config] Frame 0
class com.novelgames.flashgames.pileofballsAS2.Config { function Config () { } static var BALL_SIZE = 30; static var BALL_COLOURS = 8; static var BALL_ROTATETIME = 100; static var BALL_MOVETIME = 50; static var BALL_DROPSPEED = 1000; static var BALL_COLLAPSETIME = 200; static var DIMENSION_X = 10; static var FIELD_LEFT = 243.6; static var FIELD_TOP = 13.3; static var FIELD_RIGHT = 543.6; static var FIELD_BOTTOM = 389.3; static var GROUPSIZE = 4; static var SCORE_GROUP = 100; static var SCORE_EXTRABALL = 50; static var SCORE_EXTRAGROUP = 100; static var SCORE_COMBO = 50; static var SCORE_LEVEL = 2000; static var HIGHLIGHT_SHOWTIME = 300; static var EXPLOSION_SHOWTIME = 200; static var EXPLOSION_ROTATE = 180; static var SCOREPOPUP_PREFIX = "+"; static var SCOREPOPUP_MOVETIME = 200; static var SCOREPOPUP_MOVEHEIGHT = 50; static var SCOREPOPUP_STAYTIME = 500; static var GAMEOVER_DROPINTERVAL = 100; static var GAMEOVER_DROPACCELERATION = 500; static var LEVEL_INITIALCOLOURS = 4; static var LEVEL_COLOURSINCREASE = 0.5; static var LEVEL_INITIALBALLS = 40; static var LEVEL_BALLSINCREASE = 10; static var LEVEL_INITIALROWS = 0; static var LEVEL_ROWSINCREASE = 1; static var LEVEL_MAXROWS = 5; static var LEVEL_INITIALSPEED = 30; static var LEVEL_SPEEDINCREASE = 5; static var MESSAGE_LEVELTIME = 1500; static var MESSAGE_LEVELCLEARTIME = 1500; static var MESSAGE_GAMEOVERTIME = 1000; }
Symbol 138 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.MessageLevel] Frame 0
class com.novelgames.flashgames.pileofballsAS2.MessageLevel extends com.novelgames.flashgames.commonAS2.NewMovieClip { var levelText; function MessageLevel () { super(); levelText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; } }
Symbol 139 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTextField] Frame 0
class com.novelgames.flashgames.commonAS2.NewTextField extends TextField { var _x, _y, _rotation, _visible, _alpha, _width, _height, scroll, maxscroll; function NewTextField () { super(); } function set x(x) { _x = x; //return(this.x); } function get x() { return(_x); } function set y(y) { _y = y; //return(this.y); } function get y() { return(_y); } function set rotation(rotation) { _rotation = rotation; //return(this.rotation); } function get rotation() { return(_rotation); } function set visible(visible) { _visible = visible; //return(this.visible); } function get visible() { return(_visible); } function set alpha(alpha) { _alpha = alpha * 100; //return(this.alpha); } function get alpha() { return(_alpha / 100); } function get width() { return(_width); } function set width(width) { _width = width; //return(this.width); } function get height() { return(_height); } function set height(height) { _height = height; //return(this.height); } function set scrollV(scrollV) { scroll = scrollV; //return(this.scrollV); } function get scrollV() { return(scroll); } function set maxScrollV(maxScrollV) { maxscroll = maxScrollV; //return(this.maxScrollV); } function get maxScrollV() { return(maxscroll); } function setTextFormat(textFormat, beginIndex, endIndex) { if ((beginIndex == undefined) || (endIndex == undefined)) { super.setTextFormat(textFormat); } else { super.setTextFormat(beginIndex, endIndex, textFormat); } } }
Symbol 140 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.ScorePopup] Frame 0
class com.novelgames.flashgames.pileofballsAS2.ScorePopup extends com.novelgames.flashgames.commonAS2.NewMovieClip { var comboText, scoreText, __set__x, __set__y, gotoAndStop, originalY, startTime, timer, __get__parent; function ScorePopup () { super(); comboText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; scoreText.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; } function initialize(x, y, score, combo) { __set__x(x); __set__y(y); scoreText.scoreText.text = com.novelgames.flashgames.pileofballsAS2.Config.SCOREPOPUP_PREFIX + score; if (combo == 1) { (gotoAndStop("normal"));// not popped comboText.__set__visible(false); } else if (combo == 2) { (gotoAndStop("single"));// not popped comboText.__set__visible(false); } else { (gotoAndStop("multiple"));// not popped comboText.text = (combo - 1).toString(); comboText.__set__visible(true); } originalY = y; startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onMoveTime"); timer.start(); } function onMoveTime(timerEvent) { var _local3 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local2 = (_local3 - startTime) / com.novelgames.flashgames.pileofballsAS2.Config.SCOREPOPUP_MOVETIME; if (_local2 > 1) { _local2 = 1; } timerEvent.updateAfterEvent(); __set__y(originalY - (Math.sin(_local2 * Math.PI) * com.novelgames.flashgames.pileofballsAS2.Config.SCOREPOPUP_MOVEHEIGHT)); if (_local2 >= 1) { timer.stop(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.pileofballsAS2.Config.SCOREPOPUP_STAYTIME, 1); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "stayFinished"); timer.start(); } } function stayFinished(timerEvent) { __get__parent().removeChild(this); } }
Symbol 141 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Timer] Frame 0
interface com.novelgames.flashgames.commonAS2.Timer { }
Symbol 142 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTimer] Frame 0
class com.novelgames.flashgames.commonAS2.NewTimer implements com.novelgames.flashgames.commonAS2.Timer { static var pauseTime; var delay, repeatCount, currentCount, listenerObject, listenerFunctionName, adjustedStartTime, usingDelay, intervalID; function NewTimer (delay, repeatCount) { if (repeatCount == undefined) { repeatCount = 0; } this.delay = delay; this.repeatCount = repeatCount; currentCount = 0; } static function getTimer() { if (paused) { return(pauseTime - totalPausedTime); } return(getTimer() - totalPausedTime); } static function pause() { if (paused) { return(undefined); } paused = true; pauseTime = getTimer(); } static function unpause() { if (!paused) { return(undefined); } paused = false; totalPausedTime = totalPausedTime + (getTimer() - pauseTime); } function addEventListener(type, listenerObject, listenerFunctionName) { if (type != com.novelgames.flashgames.commonAS2.TimerEvent.TIMER) { return(undefined); } this.listenerObject = listenerObject; this.listenerFunctionName = listenerFunctionName; } function removeEventListener(type) { if (type != com.novelgames.flashgames.commonAS2.TimerEvent.TIMER) { return(undefined); } listenerObject = null; listenerFunctionName = null; } function start() { adjustedStartTime = getTimer(); usingDelay = delay; clearInterval(intervalID); intervalID = setInterval(this, "timerEventListener", delay); } function stop() { clearInterval(intervalID); } function timerEventListener() { currentCount++; if (paused) { clearInterval(intervalID); usingDelay = Math.max(delay - (getTimer() - adjustedStartTime), 1); currentCount--; intervalID = setInterval(this, "timerEventListener", usingDelay); return(undefined); } if ((getTimer() - adjustedStartTime) >= delay) { adjustedStartTime = getTimer(); if (usingDelay != delay) { clearInterval(intervalID); usingDelay = delay; intervalID = setInterval(this, "timerEventListener", usingDelay); } listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.TimerEvent()); if ((repeatCount != 0) && (currentCount >= repeatCount)) { clearInterval(intervalID); } } else { clearInterval(intervalID); usingDelay = Math.max(delay - (getTimer() - adjustedStartTime), 1); currentCount--; intervalID = setInterval(this, "timerEventListener", usingDelay); } } static var paused = false; static var totalPausedTime = 0; }
Symbol 143 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.TimerEvent] Frame 0
class com.novelgames.flashgames.commonAS2.TimerEvent { function TimerEvent () { } function updateAfterEvent() { _global.updateAfterEvent(); } static var TIMER = "timer"; }
Symbol 144 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.MessagePlayAgain] Frame 0
class com.novelgames.flashgames.pileofballsAS2.MessagePlayAgain extends com.novelgames.flashgames.commonAS2.NewMovieClip { var playAgainButton, homeButton; function MessagePlayAgain () { super(); playAgainButton.__proto__ = com.novelgames.flashgames.commonAS2.NewButton.prototype; homeButton.__proto__ = com.novelgames.flashgames.commonAS2.NewButton.prototype; } }
Symbol 145 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewButton] Frame 0
class com.novelgames.flashgames.commonAS2.NewButton extends Button { var _x, _y, _xmouse, _ymouse, _visible, _alpha, _name, onRelease, onRollOver, onRollOut, onPress, onReleaseOutside; function NewButton () { super(); } function set x(x) { _x = x; //return(this.x); } function get x() { return(_x); } function set y(y) { _y = y; //return(this.y); } function get y() { return(_y); } function set mouseX(mouseX) { _xmouse = mouseX; //return(this.mouseX); } function get mouseX() { return(_xmouse); } function set mouseY(mouseY) { _ymouse = mouseY; //return(this.mouseY); } function get mouseY() { return(_ymouse); } function set visible(visible) { _visible = visible; //return(this.visible); } function get visible() { return(_visible); } function set alpha(alpha) { _alpha = alpha * 100; //return(this.alpha); } function get alpha() { return(_alpha / 100); } function get name() { return(_name); } function addEventListener(type, listenerObject, listenerFunctionName) { switch (type) { case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK : onRelease = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER : onRollOver = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT : onRollOut = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN : onPress = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP : onRelease = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; onReleaseOutside = onRelease; } } function removeEventListener(type) { switch (type) { case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK : onRelease = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER : onRollOver = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT : onRollOut = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN : onPress = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP : onRelease = null; onReleaseOutside = null; } } }
Symbol 146 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Instructions] Frame 0
class com.novelgames.flashgames.commonAS2.Instructions extends MovieClip { var startButton, shownFromGame, _parent; function Instructions () { super(); startButton.onRelease = function () { this._parent.startButtonClicked(); }; } function initialize(shownFromGame) { if (shownFromGame == undefined) { shownFromGame = false; } this.shownFromGame = shownFromGame; } function startButtonClicked() { if (!shownFromGame) { _parent.gotoGamePage(); } else { _parent.hideInstructionsFromGame(); } } }
Symbol 147 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.InstructionsButton] Frame 0
class com.novelgames.flashgames.commonAS2.InstructionsButton extends com.novelgames.flashgames.commonAS2.NewMovieClip { var onRelease; function InstructionsButton () { super(); onRelease = function () { this._parent._parent.showInstructionsFromGame(); }; } }
Symbol 148 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MuteButton] Frame 0
class com.novelgames.flashgames.commonAS2.MuteButton extends com.novelgames.flashgames.commonAS2.NewMovieClip { var gotoAndStop; function MuteButton () { super(); if (new Sound().getVolume() == 0) { showOff(); } else { showOn(); } } function onPress() { if (new Sound().getVolume() == 0) { new Sound().setVolume(100); showOn(); } else { new Sound().setVolume(0); showOff(); } } function showOff() { (gotoAndStop("off"));// not popped } function showOn() { (gotoAndStop("on"));// not popped } }
Symbol 149 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Message] Frame 0
class com.novelgames.flashgames.pileofballsAS2.Message extends com.novelgames.flashgames.commonAS2.NewMovieClip { var stop, createMovie, messageLevel, addChild, gotoAndStop, removeChild, __get__parent; function Message () { super(); (stop());// not popped } function showLevel(level) { var _local2; hide(); _local2 = createMovie("MessageLevel"); messageLevel = _local2; messageLevel.levelText.text = level.toString(); addChild(messageLevel); } function showLevelUp() { hide(); (gotoAndStop("levelUp"));// not popped } function showGameOver() { hide(); (gotoAndStop("gameOver"));// not popped } function showPlayAgain() { var _local2; var _local3; _local3 = createMovie("MessagePlayAgain"); _local2 = _local3; _local2.playAgainButton.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.CLICK, this, "playAgainButtonClicked"); _local2.homeButton.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.CLICK, this, "homeButtonClicked"); addChild(_local2); } function hide() { if (messageLevel) { removeChild(messageLevel); messageLevel = null; } (gotoAndStop("hide"));// not popped } function playAgainButtonClicked(mouseEvent) { Object(__get__parent().parent).gotoGamePage(); } function homeButtonClicked(mouseEvent) { Object(__get__parent().parent).gotoTitlePage(); } }
Symbol 150 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.CommonGame] Frame 0
class com.novelgames.flashgames.commonAS2.CommonGame extends com.novelgames.flashgames.commonAS2.NewMovieClip { function CommonGame () { super(); } static function get gameStage() { return(com.novelgames.flashgames.commonAS2.NewStage.getNewStage()); } function pause() { com.novelgames.flashgames.commonAS2.NewTimer.pause(); } function unpause() { com.novelgames.flashgames.commonAS2.NewTimer.unpause(); } }
Symbol 151 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Game] Frame 0
class com.novelgames.flashgames.pileofballsAS2.Game extends com.novelgames.flashgames.commonAS2.CommonGame { var scoreText, levelText, nextLevelText, message, nextBallsHolder, scoresHolder, explosionsHolder, ballsHolder, soundFall, createSound, soundCollapse, soundGroup, soundLevelClear, soundGameOver, __score, __level, __nextLevel, rowSpacing, noOfRows, levelColours, levelBalls, levelRows, levelSpeed, timer, balls, nextBalls, combo, __get__stage, stage, lastTime, fallingBalls, startTime, collapsingBalls, explodingBalls, explodingGroups, explosions, __get__parent; function Game () { super(); scoreText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; levelText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; nextLevelText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; message.__proto__ = com.novelgames.flashgames.pileofballsAS2.Message.prototype; nextBallsHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; scoresHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; explosionsHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; ballsHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; score = (0); level = (1); nextLevel = (0); initialize(); soundFall = createSound("SoundFall"); soundCollapse = createSound("SoundCollapse"); soundGroup = createSound("SoundGroup"); soundLevelClear = createSound("SoundLevelClear"); soundGameOver = createSound("SoundGameOver"); startLevel(1); } function set score(score) { __score = score; scoreText.text = score.toString(); //return(this.score); } function get score() { return(__score); } function set level(level) { __level = level; levelText.text = level.toString(); //return(this.level); } function get level() { return(__level); } function set nextLevel(nextLevel) { __nextLevel = nextLevel; nextLevelText.text = nextLevel.toString(); //return(this.nextLevel); } function get nextLevel() { return(__nextLevel); } function initialize() { rowSpacing = com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE * 0.866025403784439; noOfRows = Math.ceil((((com.novelgames.flashgames.pileofballsAS2.Config.FIELD_BOTTOM - com.novelgames.flashgames.pileofballsAS2.Config.FIELD_TOP) - com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / rowSpacing) + 1); ballsHolder.__set__x(com.novelgames.flashgames.pileofballsAS2.Config.FIELD_LEFT + (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE / 2)); ballsHolder.__set__y(((com.novelgames.flashgames.pileofballsAS2.Config.FIELD_TOP + com.novelgames.flashgames.pileofballsAS2.Config.FIELD_BOTTOM) - com.novelgames.flashgames.pileofballsAS2.Config.FIELD_TOP) - ((com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE / 2) + (rowSpacing * (noOfRows - 1)))); explosionsHolder.__set__x(ballsHolder.x); explosionsHolder.__set__y(ballsHolder.y); scoresHolder.__set__x(ballsHolder.x); scoresHolder.__set__y(ballsHolder.y); } function startLevel(level) { this.level = (level); levelColours = Math.floor(com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_INITIALCOLOURS + ((level - 1) * com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_COLOURSINCREASE)); if (levelColours > com.novelgames.flashgames.pileofballsAS2.Config.BALL_COLOURS) { levelColours = com.novelgames.flashgames.pileofballsAS2.Config.BALL_COLOURS; } levelBalls = com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_INITIALBALLS + ((level - 1) * com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_BALLSINCREASE); levelRows = Math.floor(com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_INITIALROWS + ((level - 1) * com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_ROWSINCREASE)); if (levelRows > com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_MAXROWS) { levelRows = com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_MAXROWS; } levelSpeed = com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_INITIALSPEED + ((level - 1) * com.novelgames.flashgames.pileofballsAS2.Config.LEVEL_SPEEDINCREASE); initializeBalls(); createNextBalls(); nextLevel = (levelBalls); message.showLevel(level); timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.pileofballsAS2.Config.MESSAGE_LEVELTIME, 1); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "startPlay"); timer.start(); } function initializeBalls() { var _local4; var _local3; var _local2; var _local5; balls = new Array(); _local3 = 0; while (_local3 < noOfRows) { balls[_local3] = new Array(); if (_local3 < (noOfRows - levelRows)) { _local2 = 0; while (_local2 < ((com.novelgames.flashgames.pileofballsAS2.Config.DIMENSION_X * 2) - 1)) { balls[_local3][_local2] = null; _local2++; } } else { _local2 = ((((_local3 + noOfRows) % 2) == 1) ? 0 : 1); while (_local2 < ((com.novelgames.flashgames.pileofballsAS2.Config.DIMENSION_X * 2) - 1)) { _local5 = ballsHolder.createMovie("Ball"); _local4 = _local5; _local4.initialize(getBestType(_local2, _local3)); _local4.indexX = _local2; _local4.indexY = _local3; _local4.__set__x((_local2 * com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / 2); _local4.__set__y(_local3 * rowSpacing); ballsHolder.addChild(_local4); balls[_local3][_local2] = _local4; _local2 = _local2 + 2; } } _local3++; } } function getBestType(indexX, indexY) { var _local3 = new Array(); var _local2; _local2 = 0; while (_local2 < levelColours) { _local3.push(_local2); _local2++; } removeType(indexX - 1, indexY - 1, _local3); removeType(indexX + 1, indexY - 1, _local3); removeType(indexX - 2, indexY, _local3); removeType(indexX + 2, indexY, _local3); removeType(indexX - 1, indexY + 1, _local3); removeType(indexX + 1, indexY + 1, _local3); if (_local3.length == 0) { return(Math.floor(Math.random() * levelColours)); } return(_local3[Math.floor(Math.random() * _local3.length)]); } function removeType(indexX, indexY, types) { var _local2; if ((indexY < 0) || (indexY >= balls.length)) { return(undefined); } if ((indexX < 0) || (indexX >= balls[indexY].length)) { return(undefined); } if (balls[indexY][indexX] == null) { return(undefined); } _local2 = 0; while (_local2 < types.length) { if (balls[indexY][indexX].type != types[_local2]) { } else { types.splice(_local2, 1); break; } _local2++; } } function createNextBalls() { var _local2; var _local4; var _local3; var _local5; _local4 = (rowSpacing * 2) / 3; nextBalls = new Array(); _local3 = 0; while (_local3 < 3) { _local5 = nextBallsHolder.createMovie("Ball"); _local2 = _local5; _local2.initialize(0); _local2.__set__x(_local4 * Math.cos((((_local3 * Math.PI) * 2) / 3) - (Math.PI/2))); _local2.__set__y(_local4 * Math.sin((((_local3 * Math.PI) * 2) / 3) - (Math.PI/2))); nextBalls.push(_local2); nextBallsHolder.addChild(_local2); _local3++; } generateNextBalls(); } function generateNextBalls() { var _local2; _local2 = 0; while (_local2 < nextBalls.length) { nextBalls[_local2].initialize(Math.floor(Math.random() * levelColours)); _local2++; } } function startPlay(timerEvent) { message.hide(); combo = 0; startFallBalls(); } function startFallBalls() { createFallingBalls(); generateNextBalls(); __get__stage().addEventListener(com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN, this, "onPlayKeyDown"); __get__stage().__set__focus(stage); lastTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onPlayTime"); timer.start(); } function createFallingBalls() { var _local2; _local2 = ballsHolder.createMovie("FallingBalls"); fallingBalls = _local2; fallingBalls.initialize(nextBalls); fallingBalls.__set__x(((com.novelgames.flashgames.pileofballsAS2.Config.DIMENSION_X - 1) * com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / 2); fallingBalls.__set__y(((com.novelgames.flashgames.pileofballsAS2.Config.FIELD_TOP - ballsHolder.__get__y()) + ((rowSpacing * 2) / 3)) + (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE / 2)); ballsHolder.addChild(fallingBalls); } function onPlayKeyDown(keyboardEvent) { switch (keyboardEvent.__get__keyCode()) { case com.novelgames.flashgames.commonAS2.Keyboard.LEFT : fallingBalls.startMove(-1); break; case com.novelgames.flashgames.commonAS2.Keyboard.RIGHT : fallingBalls.startMove(1); break; case com.novelgames.flashgames.commonAS2.Keyboard.UP : fallingBalls.startRotate(-1); break; case com.novelgames.flashgames.commonAS2.Keyboard.DOWN : fallingBalls.startRotate(1); break; case com.novelgames.flashgames.commonAS2.Keyboard.SPACE : startDrop(); } } function startDrop() { timer.stop(); __get__stage().removeEventListener(com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onDropTime"); timer.start(); } function onDropTime(timerEvent) { var _local2 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timerEvent.updateAfterEvent(); moveFallingBalls((com.novelgames.flashgames.pileofballsAS2.Config.BALL_DROPSPEED * (_local2 - lastTime)) / 1000); lastTime = _local2; } function onPlayTime(timerEvent) { var _local2 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timerEvent.updateAfterEvent(); moveFallingBalls((levelSpeed * (_local2 - lastTime)) / 1000); lastTime = _local2; } function moveFallingBalls(distance) { var _local9; var _local5; var _local4; var _local10; var _local11; var _local6; var _local8; var _local7; var _local12; var _local3; var _local2; if ((fallingBalls.rotateIndex % 2) == 0) { _local9 = (fallingBalls.__get__y() + (rowSpacing / 3)) + (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE / 2); _local5 = fallingBalls.indexX - 1; _local4 = _local5 + 2; _local3 = 0; while (_local3 < noOfRows) { _local2 = _local5 - 1; while (_local2 <= (_local4 + 1)) { if (balls[_local3][_local2] != null) { break; } _local2++; } if (_local2 <= (_local4 + 1)) { break; } _local3++; } _local6 = _local3; _local8 = (((fallingBalls.indexX + _local6) + noOfRows) % 2) == 1; } else { _local9 = (fallingBalls.__get__y() + ((rowSpacing * 2) / 3)) + (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE / 2); _local5 = fallingBalls.indexX; _local4 = _local5; _local3 = 0; while (_local3 < noOfRows) { _local2 = _local5 - 1; while (_local2 <= (_local4 + 1)) { if (balls[_local3][_local2] != null) { break; } _local2++; } if (_local2 <= (_local4 + 1)) { break; } _local3++; } _local10 = _local3; _local5 = _local5 - 2; _local4 = _local4 + 2; _local3 = 0; while (_local3 < noOfRows) { if ((_local5 >= 0) && (balls[_local3][_local5] != null)) { break; } if ((_local4 < balls[_local3].length) && (balls[_local3][_local4] != null)) { break; } _local3++; } _local11 = _local3; _local6 = Math.min(_local11 + 1, _local10); _local8 = (((fallingBalls.indexX + _local6) + noOfRows) % 2) == 0; } if (_local6 == noOfRows) { _local7 = ((noOfRows - 1) * rowSpacing) + (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE / 2); } else { _local7 = (_local6 * rowSpacing) - (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE / 2); if (!_local8) { _local7 = _local7 - (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE - rowSpacing); } } if ((_local9 + distance) >= _local7) { _local12 = !createFallenBalls(_local6 - 1); fallingBalls.stopMoveRotate(); ballsHolder.removeChild(fallingBalls); if (!_local12) { startCollapse(); } } else { fallingBalls.y = fallingBalls.y + distance; } } function createFallenBalls(row) { var _local4; var _local3 = new Array(); var _local7 = false; var _local2; var _local5; _local2 = 0; while (_local2 < fallingBalls.balls.length) { _local5 = ballsHolder.createMovie("Ball"); _local4 = _local5; _local4.initialize(fallingBalls.balls[_local2].type); _local3.push(_local4); ballsHolder.addChild(_local4); _local2++; } if ((fallingBalls.rotateIndex % 2) == 0) { _local3[(fallingBalls.balls.length - (fallingBalls.rotateIndex / 2)) % fallingBalls.balls.length].indexX = fallingBalls.indexX; _local3[(fallingBalls.balls.length - (fallingBalls.rotateIndex / 2)) % fallingBalls.balls.length].indexY = row - 1; _local3[((fallingBalls.balls.length - (fallingBalls.rotateIndex / 2)) + 1) % fallingBalls.balls.length].indexX = fallingBalls.indexX + 1; _local3[((fallingBalls.balls.length - (fallingBalls.rotateIndex / 2)) + 1) % fallingBalls.balls.length].indexY = row; _local3[((fallingBalls.balls.length - (fallingBalls.rotateIndex / 2)) + 2) % fallingBalls.balls.length].indexX = fallingBalls.indexX - 1; _local3[((fallingBalls.balls.length - (fallingBalls.rotateIndex / 2)) + 2) % fallingBalls.balls.length].indexY = row; } else { _local3[(fallingBalls.balls.length - ((fallingBalls.rotateIndex - 1) / 2)) % fallingBalls.balls.length].indexX = fallingBalls.indexX + 1; _local3[(fallingBalls.balls.length - ((fallingBalls.rotateIndex - 1) / 2)) % fallingBalls.balls.length].indexY = row - 1; _local3[((fallingBalls.balls.length - ((fallingBalls.rotateIndex - 1) / 2)) + 1) % fallingBalls.balls.length].indexX = fallingBalls.indexX; _local3[((fallingBalls.balls.length - ((fallingBalls.rotateIndex - 1) / 2)) + 1) % fallingBalls.balls.length].indexY = row; _local3[((fallingBalls.balls.length - ((fallingBalls.rotateIndex - 1) / 2)) + 2) % fallingBalls.balls.length].indexX = fallingBalls.indexX - 1; _local3[((fallingBalls.balls.length - ((fallingBalls.rotateIndex - 1) / 2)) + 2) % fallingBalls.balls.length].indexY = row - 1; } _local2 = 0; while (_local2 < _local3.length) { _local3[_local2].x = (_local3[_local2].indexX * com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / 2; _local3[_local2].y = _local3[_local2].indexY * rowSpacing; if ((row != (noOfRows - 1)) && ((((_local3[_local2].indexX + _local3[_local2].indexY) + noOfRows) % 2) == 0)) { _local3[_local2].y = _local3[_local2].y - (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE - rowSpacing); } if (_local3[_local2].indexY < 0) { _local7 = true; } else { balls[_local3[_local2].indexY][_local3[_local2].indexX] = _local3[_local2]; } _local2++; } soundFall.play(); if (_local7) { showGameOver(); return(false); } return(true); } function startCollapse() { var _local2; timer.stop(); __get__stage().removeEventListener(com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN); _local2 = moveOddPositionedBalls(); if (!_local2) { _local2 = moveUnstableBalls(); } if (_local2) { startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onCollapseTime"); timer.start(); } else if ((!checkDestroy()) && (!checkLevelClear())) { startFallBalls(); } } function moveOddPositionedBalls() { var _local2 = new Array(); var _local3; var _local4; _local3 = balls.length - 1; while (_local3 >= 0) { _local4 = 0; while (_local4 < balls[_local3].length) { if (!balls[_local3][_local4]) { } else if (!getIsOdd(_local4, _local3)) { } else { _local2.push(balls[_local3][_local4]); } _local4++; } _local3--; } if (_local2.length == 0) { return(false); } if (_local2[0].indexY == _local2[1].indexY) { if (_local2[0].indexX == 0) { _local2[0].startMove(_local2[0].indexX + 1, _local2[0].indexY, _local2[0].indexX, _local2[0].indexY + 1, true); _local2[1].startMove(_local2[1].indexX + 1, _local2[1].indexY, _local2[1].indexX, _local2[1].indexY + 1, true); _local2[2].startMove(_local2[2].indexX + 1, _local2[2].indexY, _local2[2].indexX, _local2[2].indexY + 1, true); } else if (_local2[1].indexX == (balls[_local2[1].indexY].length - 1)) { _local2[0].startMove(_local2[0].indexX - 1, _local2[0].indexY, _local2[0].indexX, _local2[0].indexY + 1, true); _local2[1].startMove(_local2[1].indexX - 1, _local2[1].indexY, _local2[1].indexX, _local2[1].indexY + 1, true); _local2[2].startMove(_local2[2].indexX - 1, _local2[2].indexY, _local2[2].indexX, _local2[2].indexY + 1, true); } else { if (_local2[0].indexY < (noOfRows - 1)) { if (balls[_local2[0].indexY + 1][_local2[0].indexX] == null) { _local2[0].startMove(_local2[0].indexX, _local2[0].indexY + 1, -1, -1, false); } else { _local2[0].startMove(_local2[0].indexX - 1, _local2[0].indexY, _local2[0].indexX, _local2[0].indexY + 1, true); } } else { _local2[0].startMove(_local2[0].indexX - 1, _local2[0].indexY, -1, -1, false); } if (_local2[1].indexY < (noOfRows - 1)) { if (balls[_local2[1].indexY + 1][_local2[1].indexX] == null) { _local2[1].startMove(_local2[1].indexX, _local2[1].indexY + 1, -1, -1, false); } else { _local2[1].startMove(_local2[1].indexX + 1, _local2[1].indexY, _local2[1].indexX, _local2[1].indexY + 1, true); } } else { _local2[1].startMove(_local2[1].indexX + 1, _local2[1].indexY, -1, -1, false); } _local2[2].startMove(_local2[2].indexX, _local2[2].indexY + 1, -1, -1, false); } } else if (_local2[0].indexX < com.novelgames.flashgames.pileofballsAS2.Config.DIMENSION_X) { _local2[0].startMove(_local2[0].indexX + 1, _local2[0].indexY, _local2[0].indexX, _local2[0].indexY + 1, true); _local2[1].startMove(_local2[1].indexX, _local2[1].indexY + 1, -1, -1, false); _local2[2].startMove(_local2[2].indexX + 1, _local2[2].indexY, _local2[2].indexX, _local2[2].indexY + 1, true); } else { _local2[0].startMove(_local2[0].indexX - 1, _local2[0].indexY, _local2[0].indexX, _local2[0].indexY + 1, true); _local2[1].startMove(_local2[1].indexX - 1, _local2[1].indexY, _local2[1].indexX, _local2[1].indexY + 1, true); _local2[2].startMove(_local2[2].indexX, _local2[2].indexY + 1, -1, -1, false); } _local3 = 0; while (_local3 < _local2.length) { balls[_local2[_local3].indexY][_local2[_local3].indexX] = null; balls[_local2[_local3].moveToY][_local2[_local3].moveToX] = _local2[_local3]; _local2[_local3].indexX = _local2[_local3].moveToX; _local2[_local3].indexY = _local2[_local3].moveToY; _local3++; } collapsingBalls = _local2; return(true); } function getIsOdd(indexX, indexY) { return((((indexY + noOfRows) + indexX) % 2) == 0); } function moveUnstableBalls() { var _local6 = new Array(); var _local3 = new Array(); var _local8; var _local7; var _local5; var _local2; var _local4; _local5 = balls.length - 2; while (_local5 >= 0) { _local3 = getBallRows(_local5); if (_local3.length == 0) { } else { _local2 = 0; while (_local2 < _local3.length) { moveBallRows(_local3[_local2]); _local4 = 0; while (_local4 < _local3[_local2].balls.length) { if (_local3[_local2].balls[_local4].isMoving) { balls[_local3[_local2].balls[_local4].indexY][_local3[_local2].balls[_local4].indexX] = null; balls[_local3[_local2].balls[_local4].moveToY][_local3[_local2].balls[_local4].moveToX] = _local3[_local2].balls[_local4]; _local3[_local2].balls[_local4].indexX = _local3[_local2].balls[_local4].moveToX; _local3[_local2].balls[_local4].indexY = _local3[_local2].balls[_local4].moveToY; _local6.push(_local3[_local2].balls[_local4]); } _local4++; } _local2++; } } _local5--; } if (_local6.length == 0) { return(false); } collapsingBalls = _local6; return(true); } function getBallRows(row) { var _local4 = new Array(); var _local5 = null; var _local6; var _local2; _local6 = ((((row + noOfRows) % 2) == 1) ? 0 : 1); _local2 = _local6; while (_local2 < balls[row].length) { if (balls[row][_local2] == null) { if (_local5) { _local5 = null; } } else { if ((_local2 > 0) && (balls[row + 1][_local2 - 1] == null)) { if (!_local5) { _local5 = new com.novelgames.flashgames.pileofballsAS2.BallRow(); _local4.push(_local5); } _local5.balls.push(balls[row][_local2]); } else if ((_local2 < (balls[row + 1].length - 1)) && (balls[row + 1][_local2 + 1] == null)) { if (!_local5) { _local5 = new com.novelgames.flashgames.pileofballsAS2.BallRow(); _local4.push(_local5); } _local5.balls.push(balls[row][_local2]); } if ((_local2 == (balls[row + 1].length - 1)) || (balls[row + 1][_local2 + 1] != null)) { _local5 = null; } } _local2 = _local2 + 2; } _local2 = 0; while (_local2 < _local4.length) { if ((_local4[_local2].balls[0].indexX > 0) && (balls[row + 1][_local4[_local2].balls[0].indexX - 1] == null)) { _local4[_local2].leftOpen = true; } if ((_local4[_local2].balls[_local4[_local2].balls.length - 1].indexX < (balls[row + 1].length - 1)) && (balls[row + 1][_local4[_local2].balls[_local4[_local2].balls.length - 1].indexX + 1] == null)) { _local4[_local2].rightOpen = true; } _local2++; } return(_local4); } function moveBallRows(ballRow) { var _local1; if (ballRow.leftOpen && (!ballRow.rightOpen)) { _local1 = 0; while (_local1 < ballRow.balls.length) { ballRow.balls[_local1].startMove(ballRow.balls[_local1].indexX - 1, ballRow.balls[_local1].indexY + 1, ballRow.balls[_local1].indexX + 1, ballRow.balls[_local1].indexY + 1, true); _local1++; } } else if ((!ballRow.leftOpen) && (ballRow.rightOpen)) { _local1 = 0; while (_local1 < ballRow.balls.length) { ballRow.balls[_local1].startMove(ballRow.balls[_local1].indexX + 1, ballRow.balls[_local1].indexY + 1, ballRow.balls[_local1].indexX - 1, ballRow.balls[_local1].indexY + 1, true); _local1++; } } else if (ballRow.leftOpen && (ballRow.rightOpen)) { _local1 = 0; while (_local1 < (ballRow.balls.length / 2)) { ballRow.balls[_local1].startMove(ballRow.balls[_local1].indexX - 1, ballRow.balls[_local1].indexY + 1, ballRow.balls[_local1].indexX + 1, ballRow.balls[_local1].indexY + 1, true); _local1++; } while (_local1 < ballRow.balls.length) { ballRow.balls[_local1].startMove(ballRow.balls[_local1].indexX + 1, ballRow.balls[_local1].indexY + 1, ballRow.balls[_local1].indexX - 1, ballRow.balls[_local1].indexY + 1, true); _local1++; } } else { _local1 = 0; while (_local1 < Math.floor(ballRow.balls.length / 2)) { ballRow.balls[_local1].startMove(ballRow.balls[_local1].indexX + 1, ballRow.balls[_local1].indexY + 1, ballRow.balls[_local1].indexX - 1, ballRow.balls[_local1].indexY + 1, true); _local1++; } _local1++; while (_local1 < ballRow.balls.length) { ballRow.balls[_local1].startMove(ballRow.balls[_local1].indexX - 1, ballRow.balls[_local1].indexY + 1, ballRow.balls[_local1].indexX + 1, ballRow.balls[_local1].indexY + 1, true); _local1++; } } } function onCollapseTime(timerEvent) { var _local5 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local3; var _local4; var _local2; timerEvent.updateAfterEvent(); if (getIsOdd(collapsingBalls[0].indexX, collapsingBalls[0].indexY)) { _local4 = com.novelgames.flashgames.pileofballsAS2.Config.BALL_COLLAPSETIME / 2; } else { _local4 = com.novelgames.flashgames.pileofballsAS2.Config.BALL_COLLAPSETIME; } _local3 = (_local5 - startTime) / _local4; if (_local3 > 1) { _local3 = 1; } _local2 = 0; while (_local2 < collapsingBalls.length) { collapsingBalls[_local2].move(_local3); _local2++; } if (_local3 >= 1) { timer.stop(); soundCollapse.play(); _local2 = 0; while (_local2 < collapsingBalls.length) { collapsingBalls[_local2].isMoving = false; _local2++; } startCollapse(); } } function checkDestroy() { var _local4 = getGroups(); var _local2; var _local3; if (_local4.length == 0) { combo = 0; return(false); } combo++; explodingBalls = new Array(); _local2 = 0; while (_local2 < _local4.length) { _local3 = 0; while (_local3 < _local4[_local2].length) { explodingBalls.push(_local4[_local2][_local3]); _local3++; } _local2++; } explodingGroups = _local4; explosions = new Array(); _local2 = 0; while (_local2 < explodingBalls.length) { createHighlight(explodingBalls[_local2].indexX, explodingBalls[_local2].indexY); _local2++; } soundGroup.play(); startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onHighlightTime"); timer.start(); return(true); } function getGroups() { var _local5 = new Array(); var _local4; var _local3; var _local2; _local3 = 0; while (_local3 < balls.length) { _local2 = 0; while (_local2 < balls[_local3].length) { if (!balls[_local3][_local2]) { } else if (getBallIsInGroups(balls[_local3][_local2], _local5)) { } else { _local4 = getGroup(_local2, _local3); if (_local4.length < com.novelgames.flashgames.pileofballsAS2.Config.GROUPSIZE) { } else { _local5.push(_local4); } } _local2++; } _local3++; } return(_local5); } function getBallIsInGroups(ball, groups) { var _local2; _local2 = 0; while (_local2 < groups.length) { if (getBallIsInGroup(ball, groups[_local2])) { return(true); } _local2++; } return(false); } function getBallIsInGroup(ball, group) { var _local1; _local1 = 0; while (_local1 < group.length) { if (ball == group[_local1]) { return(true); } _local1++; } return(false); } function getGroup(x, y) { var _local2 = [balls[y][x]]; var _local5 = balls[y][x].type; var _local6; _local6 = 0; while (_local6 < _local2.length) { x = _local2[_local6].indexX; y = _local2[_local6].indexY; addBallToGroup(x - 1, y - 1, _local5, _local2); addBallToGroup(x + 1, y - 1, _local5, _local2); addBallToGroup(x - 2, y, _local5, _local2); addBallToGroup(x + 2, y, _local5, _local2); addBallToGroup(x - 1, y + 1, _local5, _local2); addBallToGroup(x + 1, y + 1, _local5, _local2); _local6++; } return(_local2); } function addBallToGroup(x, y, type, group) { if ((y < 0) || (y >= balls.length)) { return(undefined); } if ((x < 0) || (x >= balls[y].length)) { return(undefined); } if (!balls[y][x]) { return(undefined); } if (balls[y][x].type != type) { return(undefined); } if (getBallIsInGroup(balls[y][x], group)) { return(undefined); } group.push(balls[y][x]); } function createHighlight(indexX, indexY) { var _local3 = explosionsHolder.createMovie("Highlight"); var _local2 = _local3; _local2.initialize((indexX * com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / 2, indexY * rowSpacing); explosions.push(_local2); explosionsHolder.addChild(_local2); } function onHighlightTime(timerEvent) { var _local4 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local3 = (_local4 - startTime) / com.novelgames.flashgames.pileofballsAS2.Config.HIGHLIGHT_SHOWTIME; var _local2; if (_local3 > 1) { _local3 = 1; } timerEvent.updateAfterEvent(); _local2 = 0; while (_local2 < explosions.length) { explosions[_local2].show(_local3); _local2++; } if (_local3 >= 1) { timer.stop(); _local2 = 0; while (_local2 < explosions.length) { explosionsHolder.removeChild(explosions[_local2]); _local2++; } startExplode(); } } function startExplode() { var _local5 = 0; var _local9 = Number.MAX_VALUE; var _local8 = Number.MAX_VALUE; var _local7 = Number.MIN_VALUE; var _local6 = Number.MIN_VALUE; var _local4; var _local3; var _local2; _local2 = 0; while (_local2 < explodingGroups.length) { _local5 = _local5 + com.novelgames.flashgames.pileofballsAS2.Config.SCORE_GROUP; if (explodingGroups[_local2].length > com.novelgames.flashgames.pileofballsAS2.Config.GROUPSIZE) { _local5 = _local5 + ((explodingGroups[_local2].length - com.novelgames.flashgames.pileofballsAS2.Config.GROUPSIZE) * com.novelgames.flashgames.pileofballsAS2.Config.SCORE_EXTRABALL); } _local2++; } if (explodingGroups.length > 1) { _local5 = _local5 + ((explodingGroups.length - 1) * com.novelgames.flashgames.pileofballsAS2.Config.SCORE_EXTRAGROUP); } if (combo > 1) { _local5 = _local5 + ((combo - 1) * com.novelgames.flashgames.pileofballsAS2.Config.SCORE_COMBO); } explosions = new Array(); _local2 = 0; while (_local2 < explodingBalls.length) { createExplosion(explodingBalls[_local2].indexX, explodingBalls[_local2].indexY); _local4 = balls[explodingBalls[_local2].indexY][explodingBalls[_local2].indexX].x; _local3 = balls[explodingBalls[_local2].indexY][explodingBalls[_local2].indexX].y; if (_local4 < _local9) { _local9 = _local4; } if (_local4 > _local7) { _local7 = _local4; } if (_local3 < _local8) { _local8 = _local3; } if (_local3 > _local6) { _local6 = _local3; } balls[explodingBalls[_local2].indexY][explodingBalls[_local2].indexX] = null; ballsHolder.removeChild(explodingBalls[_local2]); _local2++; } createScorePopup((_local9 + _local7) / 2, (_local8 + _local6) / 2, _local5, combo); score = score + _local5; nextLevel = nextLevel - explodingBalls.length; if (nextLevel < 0) { nextLevel = (0); } startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onExplodeTime"); timer.start(); } function createExplosion(indexX, indexY) { var _local3 = explosionsHolder.createMovie("Explosion"); var _local2 = _local3; _local2.initialize((indexX * com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / 2, indexY * rowSpacing); explosions.push(_local2); explosionsHolder.addChild(_local2); } function createScorePopup(x, y, score, combo) { var _local3 = scoresHolder.createMovie("ScorePopup"); var _local2 = _local3; _local2.initialize(x, y, score, combo); scoresHolder.addChild(_local2); } function onExplodeTime(timerEvent) { var _local4 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local3 = (_local4 - startTime) / com.novelgames.flashgames.pileofballsAS2.Config.EXPLOSION_SHOWTIME; var _local2; if (_local3 > 1) { _local3 = 1; } timerEvent.updateAfterEvent(); _local2 = 0; while (_local2 < explosions.length) { explosions[_local2].move(_local3); _local2++; } if (_local3 >= 1) { timer.stop(); _local2 = 0; while (_local2 < explosions.length) { explosionsHolder.removeChild(explosions[_local2]); _local2++; } startCollapse(); } } function checkLevelClear() { var _local3; var _local2; if (nextLevel > 0) { return(false); } explosions = new Array(); _local3 = 0; while (_local3 < balls.length) { _local2 = 0; while (_local2 < balls[_local3].length) { if (!balls[_local3][_local2]) { } else { createHighlight(_local2, _local3); } _local2++; } _local3++; } soundGroup.play(); startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onLevelClearHighlightTime"); timer.start(); return(true); } function onLevelClearHighlightTime(timerEvent) { var _local4 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local3 = (_local4 - startTime) / com.novelgames.flashgames.pileofballsAS2.Config.HIGHLIGHT_SHOWTIME; var _local2; if (_local3 > 1) { _local3 = 1; } timerEvent.updateAfterEvent(); _local2 = 0; while (_local2 < explosions.length) { explosions[_local2].show(_local3); _local2++; } if (_local3 >= 1) { timer.stop(); _local2 = 0; while (_local2 < explosions.length) { explosionsHolder.removeChild(explosions[_local2]); _local2++; } startLevelClearExplode(); } } function startLevelClearExplode() { var _local2; var _local3; score = score + com.novelgames.flashgames.pileofballsAS2.Config.SCORE_LEVEL; explosions = new Array(); _local2 = 0; while (_local2 < balls.length) { _local3 = 0; while (_local3 < balls[_local2].length) { if (!balls[_local2][_local3]) { } else { createExplosion(_local3, _local2); ballsHolder.removeChild(balls[_local2][_local3]); balls[_local2][_local3] = null; } _local3++; } _local2++; } _local2 = 0; while (_local2 < nextBalls.length) { nextBallsHolder.removeChild(nextBalls[_local2]); _local2++; } message.showLevelUp(); soundLevelClear.play(); startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onLevelClearExplodeTime"); timer.start(); } function onLevelClearExplodeTime(timerEvent) { var _local4 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local3 = (_local4 - startTime) / com.novelgames.flashgames.pileofballsAS2.Config.EXPLOSION_SHOWTIME; var _local2; if (_local3 > 1) { _local3 = 1; } timerEvent.updateAfterEvent(); _local2 = 0; while (_local2 < explosions.length) { explosions[_local2].move(_local3); _local2++; } if (_local3 >= 1) { timer.stop(); _local2 = 0; while (_local2 < explosions.length) { explosionsHolder.removeChild(explosions[_local2]); _local2++; } timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.pileofballsAS2.Config.MESSAGE_LEVELCLEARTIME, 1); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "startNextLevel"); timer.start(); } } function startNextLevel(timerEvent) { if (showAds) { return(undefined); } showAds = true; var b = this; MochiAd.showInterLevelAd({id:"4753f1a0633c2f57", res:"600x400", ad_finished:function () { b.startNextLevel2(timerEvent); b.showAds = false; trace("inter-ads"); }}); } function startNextLevel2(timerEvent) { startLevel(level + 1); } function showGameOver() { timer.stop(); __get__stage().removeEventListener(com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN); nextBallsHolder.__set__visible(false); startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onGameOverTime"); timer.start(); } function onGameOverTime(timerEvent) { var _local7 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local4; var _local2; var _local6; var _local5; var _local3; timerEvent.updateAfterEvent(); _local5 = 0; while (_local5 < balls.length) { _local4 = (_local7 - startTime) - (_local5 * com.novelgames.flashgames.pileofballsAS2.Config.GAMEOVER_DROPINTERVAL); if (_local4 < 0) { } else { _local2 = (balls.length - _local5) - 1; _local3 = 0; while (_local3 < balls[_local2].length) { if (!balls[_local2][_local3]) { } else { balls[_local2][_local3].y = (_local2 * rowSpacing) + (((com.novelgames.flashgames.pileofballsAS2.Config.GAMEOVER_DROPACCELERATION * _local4) * _local4) / 2000000); if ((_local2 == 0) && ((balls[_local2][_local3].y - (com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE / 2)) > (com.novelgames.flashgames.pileofballsAS2.Config.FIELD_BOTTOM - ballsHolder.__get__y()))) { _local6 = true; } } _local3++; } } _local5++; } if (_local6) { timer.stop(); message.showGameOver(); soundGameOver.play(); startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.pileofballsAS2.Config.MESSAGE_GAMEOVERTIME, 1); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "showPlayAgain"); timer.start(); } } function showPlayAgain(timerEvent) { Object(__get__parent()).showEnterHighScore(score); message.showPlayAgain(); } var showAds = false; }
Symbol 152 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.FallingBalls] Frame 0
class com.novelgames.flashgames.pileofballsAS2.FallingBalls extends com.novelgames.flashgames.commonAS2.NewMovieClip { var balls, createMovie, addChild, indexX, rotateIndex, moveTimer, __set__x, startMoveX, x, startMoveTime, rotateTimer, startRotateIndex, startRotateTime, __get__parent; function FallingBalls () { super(); } function initialize(balls) { var _local2; var _local4; this.balls = new Array(); _local2 = 0; while (_local2 < balls.length) { _local4 = createMovie("Ball"); this.balls[_local2] = _local4; this.balls[_local2].initialize(balls[_local2].type); this.balls[_local2].x = balls[_local2].x; this.balls[_local2].y = balls[_local2].y; addChild(this.balls[_local2]); _local2++; } indexX = com.novelgames.flashgames.pileofballsAS2.Config.DIMENSION_X - 1; rotateIndex = 0; } function startMove(step) { var _local2; if (moveTimer) { moveTimer.stop(); } __set__x((indexX * com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / 2); startMoveX = x; _local2 = indexX + step; if (_local2 < 1) { return(undefined); } if (_local2 > ((com.novelgames.flashgames.pileofballsAS2.Config.DIMENSION_X * 2) - 3)) { return(undefined); } indexX = _local2; startMoveTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); moveTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); moveTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onMoveTime"); moveTimer.start(); } function startRotate(step) { if (rotateTimer) { rotateTimer.stop(); } updateRotate(rotateIndex); startRotateIndex = rotateIndex; rotateIndex = ((rotateIndex + step) + 6) % 6; startRotateTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); rotateTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); rotateTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onRotateTime"); rotateTimer.start(); } function stopMoveRotate() { if (moveTimer) { moveTimer.stop(); } if (rotateTimer) { rotateTimer.stop(); } } function onMoveTime(timerEvent) { var _local3 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local4 = _local3 - startMoveTime; var _local2 = _local4 / com.novelgames.flashgames.pileofballsAS2.Config.BALL_MOVETIME; var _local5 = (indexX * com.novelgames.flashgames.pileofballsAS2.Config.BALL_SIZE) / 2; if (_local2 > 1) { _local2 = 1; } timerEvent.updateAfterEvent(); __set__x((startMoveX * (1 - _local2)) + (_local5 * _local2)); if (_local2 >= 1) { moveTimer.stop(); } } function onRotateTime(timerEvent) { var _local3 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local4 = _local3 - startRotateTime; var _local2 = _local4 / com.novelgames.flashgames.pileofballsAS2.Config.BALL_ROTATETIME; if (_local2 >= 1) { _local2 = 1; } timerEvent.updateAfterEvent(); if ((startRotateIndex == 5) && (rotateIndex == 0)) { updateRotate(_local2 - 1); } else if ((startRotateIndex == 0) && (rotateIndex == 5)) { updateRotate(-_local2); } else { updateRotate((startRotateIndex * (1 - _local2)) + (rotateIndex * _local2)); } if (_local2 >= 1) { rotateTimer.stop(); } } function updateRotate(index) { var _local3 = (((index * Math.PI) * 2) / 6) - (Math.PI/2); var _local4 = (Object(__get__parent().parent).rowSpacing * 2) / 3; var _local2; _local2 = 0; while (_local2 < balls.length) { balls[_local2].x = _local4 * Math.cos(_local3 + (((_local2 * Math.PI) * 2) / 3)); balls[_local2].y = _local4 * Math.sin(_local3 + (((_local2 * Math.PI) * 2) / 3)); _local2++; } } }
Symbol 153 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Keyboard] Frame 0
class com.novelgames.flashgames.commonAS2.Keyboard { function Keyboard () { } static var LEFT = 37; static var RIGHT = 39; static var UP = 38; static var DOWN = 40; static var SPACE = 32; static var BACKSPACE = 8; static var SHIFT = 16; static var ENTER = 13; static var DELETE = 46; static var NUMPAD_DECIMAL = 110; static var NUMPAD_ENTER = 13; }
Symbol 154 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.BallRow] Frame 0
class com.novelgames.flashgames.pileofballsAS2.BallRow extends com.novelgames.flashgames.commonAS2.NewMovieClip { var leftOpen, rightOpen, balls; function BallRow () { super(); leftOpen = false; rightOpen = false; balls = new Array(); } }
Symbol 155 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Highlight] Frame 0
class com.novelgames.flashgames.pileofballsAS2.Highlight extends com.novelgames.flashgames.commonAS2.NewMovieClip { var __set__x, __set__y, stop, gotoAndStop, __get__totalFrames; function Highlight () { super(); } function initialize(x, y) { __set__x(x); __set__y(y); (stop());// not popped } function show(ratio) { (gotoAndStop(Math.floor((__get__totalFrames() * ratio) + 1)));// not popped } }
Symbol 156 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Explosion] Frame 0
class com.novelgames.flashgames.pileofballsAS2.Explosion extends com.novelgames.flashgames.commonAS2.NewMovieClip { var __set__x, __set__y, __set__scaleX, __set__scaleY, __set__rotation; function Explosion () { super(); } function initialize(x, y) { __set__x(x); __set__y(y); } function move(ratio) { __set__scaleX(1 - ratio); __set__scaleY(1 - ratio); __set__rotation(com.novelgames.flashgames.pileofballsAS2.Config.EXPLOSION_ROTATE * ratio); } }
Symbol 157 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd { function MochiAd () { } static function getVersion() { return("2.1"); } static function showPreGameAd(options) { var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () { this.clip.stop(); }, ad_finished:function () { this.clip.play(); }}; options = _parseOptions(options, _local27); var clip = options.clip; var _local23 = 11000; var _local26 = options.ad_timeout; delete options.ad_timeout; var fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!load(options)) { options.ad_finished(); return(undefined); } options.ad_started(); var mc = clip._mochiad; mc.onUnload = function () { options.ad_finished(); }; var _local14 = _getRes(options); var _local4 = _local14[0]; var _local13 = _local14[1]; mc._x = _local4 * 0.5; mc._y = _local13 * 0.5; var chk = mc.createEmptyMovieClip("_mochiad_wait", 3); chk._x = _local4 * -0.5; chk._y = _local13 * -0.5; var _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4); _local7._x = 10; _local7._y = _local13 - 20; var _local22 = options.color; delete options.color; var _local19 = options.background; delete options.background; var _local24 = options.outline; delete options.outline; var _local5 = _local7.createEmptyMovieClip("_outline", 1); _local5.beginFill(_local19); _local5.moveTo(0, 0); _local5.lineTo(_local4 - 20, 0); _local5.lineTo(_local4 - 20, 10); _local5.lineTo(0, 10); _local5.lineTo(0, 0); _local5.endFill(); var _local3 = _local7.createEmptyMovieClip("_inside", 2); _local3.beginFill(_local22); _local3.moveTo(0, 0); _local3.lineTo(_local4 - 20, 0); _local3.lineTo(_local4 - 20, 10); _local3.lineTo(0, 10); _local3.lineTo(0, 0); _local3.endFill(); _local3._xscale = 0; var _local6 = _local7.createEmptyMovieClip("_outline", 3); _local6.lineStyle(0, _local24, 100); _local6.moveTo(0, 0); _local6.lineTo(_local4 - 20, 0); _local6.lineTo(_local4 - 20, 10); _local6.lineTo(0, 10); _local6.lineTo(0, 0); chk.ad_msec = _local23; chk.ad_timeout = _local26; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function () { var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)); if (_local2 > 0) { this._parent._alpha = _local2; } else { var _local3 = this._parent._parent; MochiAd.unload(_local3); delete this.onEnterFrame; } }; mc.lc.adLoaded = function (width, height) { }; mc.lc.adjustProgress = function (msec) { var _local2 = this.mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = msec; }; chk.onEnterFrame = function () { var _local6 = this._parent._parent; var _local12 = this._parent._mochiad_ctr; var _local5 = getTimer() - this.started; var _local3 = false; var _local4 = _local6.getBytesTotal(); var _local8 = _local6.getBytesLoaded(); var _local10 = (100 * _local8) / _local4; var _local11 = (100 * _local5) / chk.ad_msec; var _local9 = this._mochiad_bar._inside; var _local2 = Math.min(100, Math.min(_local10 || 0, _local11)); _local2 = Math.max(this.last_pcnt, _local2); this.last_pcnt = _local2; _local9._xscale = _local2; if (!chk.showing) { var _local7 = _local12.getBytesTotal(); if ((_local7 > 0) || (typeof(_local7) == "undefined")) { chk.showing = true; chk.started = getTimer(); } else if (_local5 > chk.ad_timeout) { _local3 = true; } } if (_local5 > chk.ad_msec) { _local3 = true; } if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) { if (this.server_control) { delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; } } }; } static function showInterLevelAd(options) { var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:10, regpt:"o", method:"showTimedAd", ad_started:function () { this.clip.stop(); }, ad_finished:function () { this.clip.play(); }}; options = _parseOptions(options, _local13); var clip = options.clip; var _local10 = 11000; var _local12 = options.ad_timeout; delete options.ad_timeout; var fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!load(options)) { options.ad_finished(); return(undefined); } options.ad_started(); var mc = clip._mochiad; mc.onUnload = function () { options.ad_finished(); }; var _local5 = _getRes(options); var _local14 = _local5[0]; var _local11 = _local5[1]; mc._x = _local14 * 0.5; mc._y = _local11 * 0.5; var chk = mc.createEmptyMovieClip("_mochiad_wait", 3); chk.ad_msec = _local10; chk.ad_timeout = _local12; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function () { var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)); if (_local2 > 0) { this._parent._alpha = _local2; } else { var _local3 = this._parent._parent; MochiAd.unload(_local3); delete this.onEnterFrame; } }; mc.lc.adLoaded = function (width, height) { }; mc.lc.adjustProgress = function (msec) { var _local2 = this.mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = msec - 250; }; chk.onEnterFrame = function () { var _local5 = this._parent._mochiad_ctr; var _local4 = getTimer() - this.started; var _local2 = false; if (!chk.showing) { var _local3 = _local5.getBytesTotal(); if ((_local3 > 0) || (typeof(_local3) == "undefined")) { chk.showing = true; chk.started = getTimer(); } else if (_local4 > chk.ad_timeout) { _local2 = true; } } if (_local4 > chk.ad_msec) { _local2 = true; } if (_local2) { if (this.server_control) { delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; } } }; } static function showTimedAd(options) { showInterLevelAd(options); } static function showPreloaderAd(options) { showPreGameAd(options); } static function _allowDomains(server) { var _local1 = server.split("/")[2].split(":")[0]; if (System.security) { if (System.security.allowDomain) { System.security.allowDomain("*"); System.security.allowDomain(_local1); } if (System.security.allowInsecureDomain) { System.security.allowInsecureDomain("*"); System.security.allowInsecureDomain(_local1); } } return(_local1); } static function _loadCommunicator(options) { var _local26 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"}; options = _parseOptions(options, _local26); options.swfv = options.clip.getSWFVersion() || 6; options.mav = getVersion(); var _local18 = options.clip; var _local20 = "_mochiad_com_" + options.id; if (!_isNetworkAvailable()) { return(null); } if (_local18[_local20]) { return(_local18[_local20].lc); } var _local21 = options.com_server + options.id; _allowDomains(_local21); delete options.id; delete options.com_server; var _local25 = options.depth; delete options.depth; var _local17 = _local18.createEmptyMovieClip(_local20, _local25); var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1); for (var _local15 in options) { _local11[_local15] = options[_local15]; } var _local6 = new LocalConnection(); var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_"); _local6.mc = _local17; _local6.name = _local16; _local6.allowDomain = function (d) { return(true); }; _local6.allowInsecureDomain = _local6.allowDomain; _local6.connect(_local16); _local17.lc = _local6; _local11.lc = _local16; _local6._id = 0; _local6._queue = []; _local6.rpcResult = function (cb_arg) { var _local8 = parseInt(cb_arg); var _local4 = this._callbacks[_local8]; if (!_local4) { return(undefined); } delete this._callbacks[_local8]; var _local5 = []; var _local3 = 2; while (_local3 < _local4.length) { _local5.push(_local4[_local3]); _local3++; } _local3 = 1; while (_local3 < arguments.length) { _local5.push(arguments[_local3]); _local3++; } var _local6 = _local4[1]; var _local7 = _local4[0]; if (_local7 && (typeof(_local6) == "string")) { _local6 = _local7[_local6]; } if (_local6) { _local6.apply(_local7, _local5); } }; _local6._didConnect = function (endpoint) { this._endpoint = endpoint; var _local4 = this._queue; delete this._queue; var _local5 = this.doSend; var _local2 = 0; while (_local2 < _local4.length) { var _local3 = _local4[_local2]; _local5.apply(this, _local3); _local2++; } }; _local6.doSend = function (args, cbobj, cbfn) { if (this._endpoint == null) { var _local4 = []; var _local3 = 0; while (_local3 < arguments.length) { _local4.push(arguments[_local3]); _local3++; } this._queue.push(_local4); return(undefined); } this._id = this._id + 1; var _local5 = this._id; if ((cbfn === undefined) || (cbfn === null)) { cbfn = cbobj; } this._callbacks[_local5] = [cbobj, cbfn]; var _local7 = new LocalConnection(); var _local9 = _local7.send(this._endpoint, "rpc", _local5, args); }; _local6._callbacks = {}; _local6._callbacks[0] = [_local6, "_didConnect"]; _local11.st = getTimer(); _local11.loadMovie(_local21 + ".swf", "POST"); return(_local6); } static function fetchHighScores(options, callbackObj, callbackMethod) { var _local1 = _loadCommunicator({id:options.id}); if (!_local1) { return(false); } var _local4 = ["fetchHighScores", options]; _local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod); return(true); } static function sendHighScore(options, callbackObj, callbackMethod) { var _local1 = _loadCommunicator({id:options.id}); if (!_local1) { return(false); } var _local4 = ["sendHighScore", options]; _local1.doSend(["sendHighScore", options], callbackObj, callbackMethod); return(true); } static function load(options) { var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = _parseOptions(options, _local13); options.swfv = options.clip.getSWFVersion() || 6; options.mav = getVersion(); var _local9 = options.clip; if (!_isNetworkAvailable()) { return(null); } if (_local9._mochiad_loaded) { return(null); } var _local12 = options.depth; delete options.depth; var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12); var _local11 = _getRes(options); options.res = (_local11[0] + "x") + _local11[1]; options.server = options.server + options.id; delete options.id; _local9._mochiad_loaded = true; var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1); for (var _local7 in options) { _local4[_local7] = options[_local7]; } var _local10 = _local4.server; delete _local4.server; var _local14 = _allowDomains(_local10); _local6.onEnterFrame = function () { if (this._mochiad_ctr._url != this._url) { this.onEnterFrame = function () { if (!this._mochiad_ctr) { delete this.onEnterFrame; MochiAd.unload(this._parent); } }; } }; var _local5 = new LocalConnection(); var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_"); _local5.mc = _local6; _local5.name = _local8; _local5.hostname = _local14; _local5.allowDomain = function (d) { return(true); }; _local5.allowInsecureDomain = _local5.allowDomain; _local5.connect(_local8); _local6.lc = _local5; _local4.lc = _local8; _local4.st = getTimer(); _local4.loadMovie(_local10 + ".swf", "POST"); return(_local6); } static function unload(clip) { if (typeof(clip) == "undefined") { clip = _root; } if (clip.clip && (clip.clip._mochiad)) { clip = clip.clip; } if (!clip._mochiad) { return(false); } clip._mochiad.removeMovieClip(); delete clip._mochiad_loaded; delete clip._mochiad; return(true); } static function _isNetworkAvailable() { if (System.security) { var _local1 = System.security; if (_local1.sandboxType == "localWithFile") { return(false); } } return(true); } static function _getRes(options) { var _local3 = options.clip.getBounds(); var _local2 = 0; var _local1 = 0; if (typeof(options.res) != "undefined") { var _local4 = options.res.split("x"); _local2 = parseFloat(_local4[0]); _local1 = parseFloat(_local4[1]); } else { _local2 = _local3.xMax - _local3.xMin; _local1 = _local3.yMax - _local3.yMin; } if ((_local2 == 0) || (_local1 == 0)) { _local2 = Stage.width; _local1 = Stage.height; } return([_local2, _local1]); } static function _parseOptions(options, defaults) { var _local4 = {}; for (var _local8 in defaults) { _local4[_local8] = defaults[_local8]; } if (options) { for (var _local8 in options) { _local4[_local8] = options[_local8]; } } if (_root.mochiad_options) { var _local5 = _root.mochiad_options.split("&"); var _local2 = 0; while (_local2 < _local5.length) { var _local3 = _local5[_local2].split("="); _local4[unescape(_local3[0])] = unescape(_local3[1]); _local2++; } } return(_local4); } }
Symbol 158 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Title] Frame 0
class com.novelgames.flashgames.commonAS2.Title extends MovieClip { var startButton, highScoresButton, moreGamesButton, _parent, getURL; function Title () { super(); startButton.onRelease = function () { this._parent.startButtonClicked(); }; highScoresButton.onRelease = function () { this._parent.highScoresButtonClicked(); }; moreGamesButton.onRelease = function () { this._parent.moreGamesButtonClicked(); }; } function startButtonClicked() { _parent.gotoInstructionsPage(); } function highScoresButtonClicked() { _parent.showHighScores(); } function moreGamesButtonClicked() { (getURL("http://www.novelgames.com", "_blank"));// not popped } }
Symbol 159 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MainDevelopment] Frame 0
class com.novelgames.flashgames.commonAS2.MainDevelopment extends MovieClip { var title, attachMovie, titleDepth, instructions, game, musicGame, getNextHighestDepth, onEnterFrame, stop; function MainDevelopment () { super(); } static function initialize(movieClip) { movieClip.__proto__ = com.novelgames.flashgames.commonAS2.MainDevelopment.prototype; movieClip.onEnterFrame = movieClip.checkTitle; } function gotoTitlePage() { removePage(); title = com.novelgames.flashgames.commonAS2.Title(attachMovie("Title", "title", titleDepth)); } function gotoInstructionsPage() { removePage(); instructions = com.novelgames.flashgames.commonAS2.Instructions(attachMovie("Instructions", "instructions", titleDepth)); instructions.initialize(); } function gotoGamePage() { removePage(); game = attachMovie("Game", "game", titleDepth); musicGame = new com.novelgames.flashgames.commonAS2.NewSound(this, "musicGame"); musicGame.start(0, 2147483647); } function showInstructionsFromGame() { game.pause(); game._visible = false; instructions = com.novelgames.flashgames.commonAS2.Instructions(attachMovie("Instructions", "instructions", getNextHighestDepth())); instructions.swapDepths(titleDepth); instructions.initialize(true); } function hideInstructionsFromGame() { instructions.swapDepths(game.getDepth()); instructions.removeMovieClip(); instructions = null; game._visible = true; game.unpause(); } function showHighScores() { trace("showHighScores()"); } function showEnterHighScore(score) { mochi.MochiScores.showLeaderboard({boardID:"c7bc20779e892cfe", score:score, onClose:function () { }}); trace(("showEnterHighScore(" + score) + ")"); } function checkTitle() { if (!title) { return(undefined); } onEnterFrame = null; (stop());// not popped titleDepth = title.getDepth(); } function removePage() { if (title) { title.removeMovieClip(); title = null; } if (instructions) { instructions.removeMovieClip(); instructions = null; } if (game) { game.removeMovieClip(); game = null; } if (musicGame) { musicGame.stop(); musicGame = null; } } }
Symbol 122 MovieClip Frame 1
Symbol 122 MovieClip Frame 137
_root.gotoAndStop("splash2");

Library Items

Symbol 1 Sound [soundLevelClear]
Symbol 2 Sound [soundGroup]
Symbol 3 Sound [soundGameOver]
Symbol 4 Sound [soundFall]
Symbol 5 Sound [soundCollapse]
Symbol 6 Sound [musicGame]
Symbol 7 GraphicUsed by:14
Symbol 8 GraphicUsed by:14
Symbol 9 GraphicUsed by:14
Symbol 10 GraphicUsed by:14
Symbol 11 GraphicUsed by:14
Symbol 12 GraphicUsed by:14
Symbol 13 GraphicUsed by:14
Symbol 14 MovieClip [Highlight]Uses:7 8 9 10 11 12 13
Symbol 15 GraphicUsed by:24
Symbol 16 GraphicUsed by:24
Symbol 17 GraphicUsed by:24
Symbol 18 GraphicUsed by:24
Symbol 19 GraphicUsed by:24
Symbol 20 GraphicUsed by:24
Symbol 21 GraphicUsed by:24
Symbol 22 GraphicUsed by:24
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClip [Ball]Uses:15 16 17 18 19 20 21 22 23
Symbol 25 FontUsed by:26 28 30 32 33 34 35 37 41 47 52 69 71 74 76 78 80 81 82
Symbol 26 EditableTextUses:25Used by:27
Symbol 27 MovieClipUses:26Used by:29
Symbol 28 EditableTextUses:25Used by:29
Symbol 29 MovieClip [MessageLevel]Uses:27 28
Symbol 30 EditableTextUses:25Used by:31
Symbol 31 MovieClip [scorePopupText]Uses:30Used by:36
Symbol 32 EditableTextUses:25Used by:36
Symbol 33 EditableTextUses:25Used by:36
Symbol 34 EditableTextUses:25Used by:36
Symbol 35 EditableTextUses:25Used by:36
Symbol 36 MovieClip [ScorePopup]Uses:31 32 33 34 35
Symbol 37 EditableTextUses:25Used by:38
Symbol 38 MovieClipUses:37Used by:40
Symbol 39 GraphicUsed by:40 43 54 93 96 99
Symbol 40 ButtonUses:38 39Used by:44
Symbol 41 EditableTextUses:25Used by:42
Symbol 42 MovieClipUses:41Used by:43
Symbol 43 ButtonUses:42 39Used by:44
Symbol 44 MovieClip [MessagePlayAgain]Uses:40 43
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClipUses:45Used by:55
Symbol 47 EditableTextUses:25Used by:48
Symbol 48 MovieClipUses:47Used by:55
Symbol 49 FontUsed by:50 91 94 97
Symbol 50 EditableTextUses:49Used by:51
Symbol 51 MovieClipUses:50Used by:55
Symbol 52 EditableTextUses:25Used by:53
Symbol 53 MovieClipUses:52Used by:54
Symbol 54 ButtonUses:53 39Used by:55 100
Symbol 55 MovieClip [Instructions]Uses:46 48 51 54
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClip [InstructionsButton]Uses:56Used by:83
Symbol 58 GraphicUsed by:61
Symbol 59 GraphicUsed by:61
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClip [MuteButton]Uses:58 59 60Used by:83
Symbol 62 GraphicUsed by:63
Symbol 63 MovieClipUses:62Used by:83
Symbol 64 GraphicUsed by:65
Symbol 65 MovieClipUses:64Used by:83
Symbol 66 GraphicUsed by:83
Symbol 67 GraphicUsed by:83
Symbol 68 MovieClip [empty]Used by:83
Symbol 69 EditableTextUses:25Used by:70
Symbol 70 MovieClipUses:69Used by:73
Symbol 71 EditableTextUses:25Used by:72
Symbol 72 MovieClipUses:71Used by:73
Symbol 73 MovieClip [Message]Uses:70 72Used by:83
Symbol 74 EditableTextUses:25Used by:75
Symbol 75 MovieClipUses:74Used by:83
Symbol 76 EditableTextUses:25Used by:77
Symbol 77 MovieClipUses:76Used by:83
Symbol 78 EditableTextUses:25Used by:79
Symbol 79 MovieClipUses:78Used by:83
Symbol 80 EditableTextUses:25Used by:83
Symbol 81 EditableTextUses:25Used by:83
Symbol 82 EditableTextUses:25Used by:83
Symbol 83 MovieClip [Game]Uses:63 65 66 67 68 73 61 57 75 77 79 80 81 82
Symbol 84 MovieClip [FallingBalls]
Symbol 85 GraphicUsed by:86
Symbol 86 MovieClip [Explosion]Uses:85
Symbol 87 BitmapUsed by:88
Symbol 88 GraphicUses:87Used by:89
Symbol 89 MovieClipUses:88Used by:100
Symbol 90 GraphicUsed by:100
Symbol 91 EditableTextUses:49Used by:92
Symbol 92 MovieClipUses:91Used by:93
Symbol 93 ButtonUses:92 39Used by:100
Symbol 94 EditableTextUses:49Used by:95
Symbol 95 MovieClipUses:94Used by:96
Symbol 96 ButtonUses:95 39Used by:100
Symbol 97 EditableTextUses:49Used by:98
Symbol 98 MovieClipUses:97Used by:99
Symbol 99 ButtonUses:98 39Used by:100
Symbol 100 MovieClip [Title]Uses:54 89 90 93 96 99Used by:Timeline
Symbol 126 MovieClip [__Packages.mochi.MochiScores]
Symbol 127 MovieClip [__Packages.mochi.MochiServices]
Symbol 128 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewMovieClip]
Symbol 129 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewStage]
Symbol 130 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.KeyboardEvent]
Symbol 131 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Rectangle]
Symbol 132 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MouseEvent]
Symbol 133 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Event]
Symbol 134 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.URLRequest]
Symbol 135 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewSound]
Symbol 136 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Ball]
Symbol 137 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Config]
Symbol 138 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.MessageLevel]
Symbol 139 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTextField]
Symbol 140 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.ScorePopup]
Symbol 141 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Timer]
Symbol 142 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTimer]
Symbol 143 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.TimerEvent]
Symbol 144 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.MessagePlayAgain]
Symbol 145 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewButton]
Symbol 146 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Instructions]
Symbol 147 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.InstructionsButton]
Symbol 148 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MuteButton]
Symbol 149 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Message]
Symbol 150 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.CommonGame]
Symbol 151 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Game]
Symbol 152 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.FallingBalls]
Symbol 153 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Keyboard]
Symbol 154 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.BallRow]
Symbol 155 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Highlight]
Symbol 156 MovieClip [__Packages.com.novelgames.flashgames.pileofballsAS2.Explosion]
Symbol 157 MovieClip [__Packages.MochiAd]
Symbol 158 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Title]
Symbol 159 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MainDevelopment]
Symbol 101 GraphicUsed by:Timeline
Symbol 102 GraphicUsed by:122
Symbol 103 GraphicUsed by:104
Symbol 104 MovieClipUses:103Used by:122
Symbol 105 SoundUsed by:122
Symbol 106 ShapeTweeningUsed by:122
Symbol 107 GraphicUsed by:108
Symbol 108 MovieClipUses:107Used by:122
Symbol 109 GraphicUsed by:122
Symbol 110 GraphicUsed by:111
Symbol 111 MovieClipUses:110Used by:122
Symbol 112 GraphicUsed by:113
Symbol 113 MovieClipUses:112Used by:122
Symbol 114 ShapeTweeningUsed by:122
Symbol 115 ShapeTweeningUsed by:122
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:122
Symbol 118 GraphicUsed by:122
Symbol 119 GraphicUsed by:120
Symbol 120 MovieClipUses:119Used by:122
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClipUses:102 104 105 106 108 109 111 113 114 115 117 118 120 121Used by:Timeline
Symbol 123 GraphicUsed by:Timeline
Symbol 124 BitmapUsed by:125
Symbol 125 GraphicUses:124Used by:Timeline

Instance Names

"title"Frame 23Symbol 100 MovieClip [Title]
"levelText"Symbol 29 MovieClip [MessageLevel] Frame 1Symbol 28 EditableText
"scoreText"Symbol 31 MovieClip [scorePopupText] Frame 1Symbol 30 EditableText
"scoreText"Symbol 36 MovieClip [ScorePopup] Frame 1Symbol 31 MovieClip [scorePopupText]
"comboText"Symbol 36 MovieClip [ScorePopup] Frame 1Symbol 32 EditableText
"playAgainButton"Symbol 44 MovieClip [MessagePlayAgain] Frame 1Symbol 40 Button
"homeButton"Symbol 44 MovieClip [MessagePlayAgain] Frame 1Symbol 43 Button
"startButton"Symbol 55 MovieClip [Instructions] Frame 1Symbol 54 Button
"ballsHolder"Symbol 83 MovieClip [Game] Frame 1Symbol 68 MovieClip [empty]
"explosionsHolder"Symbol 83 MovieClip [Game] Frame 1Symbol 68 MovieClip [empty]
"scoresHolder"Symbol 83 MovieClip [Game] Frame 1Symbol 68 MovieClip [empty]
"nextBallsHolder"Symbol 83 MovieClip [Game] Frame 1Symbol 68 MovieClip [empty]
"message"Symbol 83 MovieClip [Game] Frame 1Symbol 73 MovieClip [Message]
"scoreText"Symbol 83 MovieClip [Game] Frame 1Symbol 80 EditableText
"levelText"Symbol 83 MovieClip [Game] Frame 1Symbol 81 EditableText
"nextLevelText"Symbol 83 MovieClip [Game] Frame 1Symbol 82 EditableText
"startButton"Symbol 100 MovieClip [Title] Frame 1Symbol 54 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
Protect (24)Timeline Frame 10 bytes ""
ExportAssets (56)Timeline Frame 1Symbol 1 as "soundLevelClear"
ExportAssets (56)Timeline Frame 1Symbol 2 as "soundGroup"
ExportAssets (56)Timeline Frame 1Symbol 3 as "soundGameOver"
ExportAssets (56)Timeline Frame 1Symbol 4 as "soundFall"
ExportAssets (56)Timeline Frame 1Symbol 5 as "soundCollapse"
ExportAssets (56)Timeline Frame 1Symbol 6 as "musicGame"
ExportAssets (56)Timeline Frame 1Symbol 14 as "Highlight"
ExportAssets (56)Timeline Frame 1Symbol 24 as "Ball"
ExportAssets (56)Timeline Frame 1Symbol 29 as "MessageLevel"
ExportAssets (56)Timeline Frame 1Symbol 31 as "scorePopupText"
ExportAssets (56)Timeline Frame 1Symbol 36 as "ScorePopup"
ExportAssets (56)Timeline Frame 1Symbol 44 as "MessagePlayAgain"
ExportAssets (56)Timeline Frame 1Symbol 55 as "Instructions"
ExportAssets (56)Timeline Frame 1Symbol 57 as "InstructionsButton"
ExportAssets (56)Timeline Frame 1Symbol 61 as "MuteButton"
ExportAssets (56)Timeline Frame 1Symbol 68 as "empty"
ExportAssets (56)Timeline Frame 1Symbol 73 as "Message"
ExportAssets (56)Timeline Frame 1Symbol 83 as "Game"
ExportAssets (56)Timeline Frame 1Symbol 84 as "FallingBalls"
ExportAssets (56)Timeline Frame 1Symbol 86 as "Explosion"
ExportAssets (56)Timeline Frame 1Symbol 100 as "Title"
ExportAssets (56)Timeline Frame 1Symbol 126 as "__Packages.mochi.MochiScores"
ExportAssets (56)Timeline Frame 1Symbol 127 as "__Packages.mochi.MochiServices"
ExportAssets (56)Timeline Frame 1Symbol 128 as "__Packages.com.novelgames.flashgames.commonAS2.NewMovieClip"
ExportAssets (56)Timeline Frame 1Symbol 129 as "__Packages.com.novelgames.flashgames.commonAS2.NewStage"
ExportAssets (56)Timeline Frame 1Symbol 130 as "__Packages.com.novelgames.flashgames.commonAS2.KeyboardEvent"
ExportAssets (56)Timeline Frame 1Symbol 131 as "__Packages.com.novelgames.flashgames.commonAS2.Rectangle"
ExportAssets (56)Timeline Frame 1Symbol 132 as "__Packages.com.novelgames.flashgames.commonAS2.MouseEvent"
ExportAssets (56)Timeline Frame 1Symbol 133 as "__Packages.com.novelgames.flashgames.commonAS2.Event"
ExportAssets (56)Timeline Frame 1Symbol 134 as "__Packages.com.novelgames.flashgames.commonAS2.URLRequest"
ExportAssets (56)Timeline Frame 1Symbol 135 as "__Packages.com.novelgames.flashgames.commonAS2.NewSound"
ExportAssets (56)Timeline Frame 1Symbol 136 as "__Packages.com.novelgames.flashgames.pileofballsAS2.Ball"
ExportAssets (56)Timeline Frame 1Symbol 137 as "__Packages.com.novelgames.flashgames.pileofballsAS2.Config"
ExportAssets (56)Timeline Frame 1Symbol 138 as "__Packages.com.novelgames.flashgames.pileofballsAS2.MessageLevel"
ExportAssets (56)Timeline Frame 1Symbol 139 as "__Packages.com.novelgames.flashgames.commonAS2.NewTextField"
ExportAssets (56)Timeline Frame 1Symbol 140 as "__Packages.com.novelgames.flashgames.pileofballsAS2.ScorePopup"
ExportAssets (56)Timeline Frame 1Symbol 141 as "__Packages.com.novelgames.flashgames.commonAS2.Timer"
ExportAssets (56)Timeline Frame 1Symbol 142 as "__Packages.com.novelgames.flashgames.commonAS2.NewTimer"
ExportAssets (56)Timeline Frame 1Symbol 143 as "__Packages.com.novelgames.flashgames.commonAS2.TimerEvent"
ExportAssets (56)Timeline Frame 1Symbol 144 as "__Packages.com.novelgames.flashgames.pileofballsAS2.MessagePlayAgain"
ExportAssets (56)Timeline Frame 1Symbol 145 as "__Packages.com.novelgames.flashgames.commonAS2.NewButton"
ExportAssets (56)Timeline Frame 1Symbol 146 as "__Packages.com.novelgames.flashgames.commonAS2.Instructions"
ExportAssets (56)Timeline Frame 1Symbol 147 as "__Packages.com.novelgames.flashgames.commonAS2.InstructionsButton"
ExportAssets (56)Timeline Frame 1Symbol 148 as "__Packages.com.novelgames.flashgames.commonAS2.MuteButton"
ExportAssets (56)Timeline Frame 1Symbol 149 as "__Packages.com.novelgames.flashgames.pileofballsAS2.Message"
ExportAssets (56)Timeline Frame 1Symbol 150 as "__Packages.com.novelgames.flashgames.commonAS2.CommonGame"
ExportAssets (56)Timeline Frame 1Symbol 151 as "__Packages.com.novelgames.flashgames.pileofballsAS2.Game"
ExportAssets (56)Timeline Frame 1Symbol 152 as "__Packages.com.novelgames.flashgames.pileofballsAS2.FallingBalls"
ExportAssets (56)Timeline Frame 1Symbol 153 as "__Packages.com.novelgames.flashgames.commonAS2.Keyboard"
ExportAssets (56)Timeline Frame 1Symbol 154 as "__Packages.com.novelgames.flashgames.pileofballsAS2.BallRow"
ExportAssets (56)Timeline Frame 1Symbol 155 as "__Packages.com.novelgames.flashgames.pileofballsAS2.Highlight"
ExportAssets (56)Timeline Frame 1Symbol 156 as "__Packages.com.novelgames.flashgames.pileofballsAS2.Explosion"
ExportAssets (56)Timeline Frame 1Symbol 157 as "__Packages.MochiAd"
ExportAssets (56)Timeline Frame 1Symbol 158 as "__Packages.com.novelgames.flashgames.commonAS2.Title"
ExportAssets (56)Timeline Frame 1Symbol 159 as "__Packages.com.novelgames.flashgames.commonAS2.MainDevelopment"

Labels

"splash1"Frame 5
"splash2"Frame 15
"game"Frame 23
"normal"Symbol 36 MovieClip [ScorePopup] Frame 1
"single"Symbol 36 MovieClip [ScorePopup] Frame 8
"multiple"Symbol 36 MovieClip [ScorePopup] Frame 14
"on"Symbol 61 MovieClip [MuteButton] Frame 1
"off"Symbol 61 MovieClip [MuteButton] Frame 6
"hide"Symbol 73 MovieClip [Message] Frame 1
"levelUp"Symbol 73 MovieClip [Message] Frame 7
"gameOver"Symbol 73 MovieClip [Message] Frame 15




http://swfchan.com/10/47677/info.shtml
Created: 1/5 -2019 09:22:51 Last modified: 1/5 -2019 09:22:51 Server time: 22/12 -2024 23:26:47