Section 1
//Debug (com.hexagonstar.util.debug.Debug)
package com.hexagonstar.util.debug {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public final class Debug {
private static var _isConnected:Boolean = false;
private static var _fpsMeter:FPSMeter;
private static var _isPollingFPS:Boolean = false;
private static var _isDisabled:Boolean = false;
private static var _filterLevel:uint = 0;
private static var _fpsPollInterval:uint = 1000;
private static var _stopWatch:StopWatch;
private static var _isLargeData:Boolean = false;
private static var _connection:LocalConnection;
private static var _stage:Stage;
public static function timerSeconds():void{
if (_stopWatch != null){
Debug.trace((_stopWatch.getTimeInSeconds() + "s"));
};
}
private static function onFPSUpdate(_arg1:Event):void{
send("onFPS", ((((_fpsMeter.getFPS() + "/") + _stage.frameRate) + "|") + System.totalMemory));
}
public static function trace(_arg1=undefined, _arg2=null, _arg3:int=-1):void{
var _local4:*;
var _local5:Boolean;
var _local6:int;
_local4 = _arg1;
_local5 = false;
_local6 = 1;
if (typeof(_arg2) == "boolean"){
_local5 = _arg2;
} else {
if (typeof(_arg2) == "number"){
_local6 = _arg2;
};
};
if (_arg3 > -1){
_local6 = _arg3;
};
if ((((_local6 >= _filterLevel)) && ((_local6 < 7)))){
send("onData", _local4, _local6, (_local5) ? 1 : 0);
};
}
private static function send(_arg1:String, _arg2, _arg3:int=1, _arg4:uint=0):void{
var _local5:uint;
var _local6:ByteArray;
if (!_isDisabled){
if (!_isConnected){
_isConnected = true;
_connection = new LocalConnection();
_connection.addEventListener(StatusEvent.STATUS, onStatus);
};
_local5 = 0;
if (typeof(_arg2) == "string"){
_local5 = String(_arg2).length;
} else {
if (typeof(_arg2) == "object"){
_local6 = new ByteArray();
_local6.writeObject(_arg2);
_local5 = _local6.length;
_local6 = null;
};
};
if (_local5 > 39000){
storeDataLSO(_arg1, _arg2);
_arg1 = "onLargeData";
_arg2 = null;
};
_connection.send("_alcon_lc", _arg1, _arg2, _arg3, _arg4, "");
};
}
public static function fpsStop():void{
if (_fpsMeter != null){
_isPollingFPS = false;
_fpsMeter.stop();
_fpsMeter.removeEventListener(FPSMeter.FPS_UPDATE, onFPSUpdate);
_fpsMeter = null;
};
}
public static function clear():void{
Debug.trace("[%CLR%]", 5);
}
public static function delimiter():void{
Debug.trace("[%DLT%]", 5);
}
public static function timerReset():void{
if (_stopWatch != null){
_stopWatch.reset();
};
}
public static function time():void{
Debug.trace("[%TME%]", 5);
}
public static function inspect(_arg1:Object=null, _arg2:int=-1):void{
send("onInspect", _arg1, 1, _arg2);
}
public static function timerMilliSeconds():void{
if (_stopWatch != null){
Debug.trace((_stopWatch.getTimeInMilliSeconds() + "ms"));
};
}
public static function getFilterLevel():int{
return (_filterLevel);
}
public static function timerStart():void{
if (!_isDisabled){
if (_stopWatch == null){
_stopWatch = new StopWatch();
};
_stopWatch.start();
};
}
public static function timerToString():void{
if (_stopWatch != null){
Debug.trace(_stopWatch.toString());
};
}
private static function storeDataLSO(_arg1:String, _arg2):void{
var sharedObject:SharedObject;
var flushResult:String;
var method = _arg1;
var data = _arg2;
sharedObject = SharedObject.getLocal("alcon", "/");
sharedObject.data.alconMethod = method;
sharedObject.data.alconData = data;
try {
flushResult = sharedObject.flush();
if (flushResult == SharedObjectFlushStatus.FLUSHED){
return;
};
} catch(e:Error) {
Security.showSettings(SecurityPanel.LOCAL_STORAGE);
};
}
public static function timerStop():void{
if (_stopWatch != null){
_stopWatch.stop();
};
}
public static function disable():void{
_isDisabled = true;
}
public static function setFilterLevel(_arg1:uint=0):void{
if ((((_arg1 >= 0)) && ((_arg1 < 5)))){
_filterLevel = _arg1;
};
}
public static function hexDump(_arg1):void{
send("onHexDump", _arg1, 0, 0);
}
private static function onStatus(_arg1:StatusEvent):void{
}
public static function timerStopToString():void{
if (_stopWatch != null){
_stopWatch.stop();
Debug.trace(_stopWatch.toString());
};
}
public static function pause():void{
Debug.trace("[%PSE%]", 5);
}
public static function fpsStart(_arg1:Stage):void{
if (((!(_isDisabled)) && ((_fpsMeter == null)))){
_isPollingFPS = true;
_stage = _arg1;
_fpsMeter = new FPSMeter(_arg1);
_fpsMeter.addEventListener(FPSMeter.FPS_UPDATE, onFPSUpdate);
_fpsMeter.start();
};
}
}
}//package com.hexagonstar.util.debug
Section 2
//FPSMeter (com.hexagonstar.util.debug.FPSMeter)
package com.hexagonstar.util.debug {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class FPSMeter extends EventDispatcher {
private var _timer:Timer;
private var _fps:int;
private var _isRunning:Boolean;
private var _stage:Stage;
public static const FPS_UPDATE:String = "fpsUpdate";
public function FPSMeter(_arg1:Stage){
_stage = _arg1;
_fps = 0;
_isRunning = false;
}
public function stop():void{
if (_isRunning){
_isRunning = false;
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, onTimer);
_stage.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
_timer = null;
};
}
private function onEnterFrame(_arg1:Event):void{
_fps++;
}
public function getFPS():int{
return (_fps);
}
public function start(_arg1:uint=1000):void{
if (!_isRunning){
_isRunning = true;
_timer = new Timer(_arg1, 0);
_timer.addEventListener(TimerEvent.TIMER, onTimer);
_stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
_timer.start();
};
}
private function onTimer(_arg1:TimerEvent):void{
dispatchEvent(new Event(FPSMeter.FPS_UPDATE));
_fps = 0;
}
}
}//package com.hexagonstar.util.debug
Section 3
//StopWatch (com.hexagonstar.util.debug.StopWatch)
package com.hexagonstar.util.debug {
import flash.utils.*;
public class StopWatch {
private var started:Boolean;// = false
private var startTimeKeys:Array;
private var stopTimeKeys:Array;
public function StopWatch(){
started = false;
super();
reset();
}
public function start():void{
if (!hasStarted()){
started = true;
startTimeKeys.push(getTimer());
};
}
public function toString():String{
var _local1:String;
var _local2:uint;
_local1 = "\n ********** [STOPWATCH] **********";
_local2 = 0;
while (_local2 < startTimeKeys.length) {
_local1 = (_local1 + (((("\n started [" + startTimeKeys[_local2]) + "ms] stopped [") + stopTimeKeys[_local2]) + "ms]"));
_local2++;
};
if (_local2 == 0){
_local1 = (_local1 + "\n never started.");
} else {
_local1 = (_local1 + (("\n total runnning time: " + getTimeInMilliSeconds()) + "ms"));
};
_local1 = (_local1 + "\n *********************************");
return (_local1);
}
public function hasStarted():Boolean{
return (started);
}
public function reset():void{
startTimeKeys = new Array();
stopTimeKeys = new Array();
started = false;
}
public function stop():void{
var _local1:uint;
if (hasStarted()){
_local1 = getTimer();
stopTimeKeys[(startTimeKeys.length - 1)] = _local1;
started = false;
};
}
public function getTimeInSeconds():Number{
return ((getTimeInMilliSeconds() / 1000));
}
public function getTimeInMilliSeconds():uint{
var _local1:uint;
var _local2:uint;
var _local3:uint;
if (hasStarted()){
stopTimeKeys[(startTimeKeys.length - 1)] = getTimer();
};
_local1 = 0;
_local2 = startTimeKeys.length;
_local3 = 0;
while (_local3 < _local2) {
_local1 = (_local1 + (stopTimeKeys[_local3] - startTimeKeys[_local3]));
_local3++;
};
return (_local1);
}
}
}//package com.hexagonstar.util.debug
Section 4
//BitmapSpriteChangeEvent (com.jxl.diesel.events.BitmapSpriteChangeEvent)
package com.jxl.diesel.events {
import flash.events.*;
public class BitmapSpriteChangeEvent extends Event {
public static const TYPE_CHANGE:String = "BitmapSpriteChangeEvent";
public function BitmapSpriteChangeEvent(){
super(TYPE_CHANGE);
}
override public function toString():String{
return (formatToString(TYPE_CHANGE));
}
override public function clone():Event{
return (new BitmapSpriteChangeEvent());
}
}
}//package com.jxl.diesel.events
Section 5
//BitmapSpriteMoveEvent (com.jxl.diesel.events.BitmapSpriteMoveEvent)
package com.jxl.diesel.events {
import flash.events.*;
public class BitmapSpriteMoveEvent extends Event {
public var oldY:Number;
public var oldX:Number;
public var newX:Number;
public var newY:Number;
public static const MOVE_TYPE:String = "BitmapSpriteMoveEvent";
public function BitmapSpriteMoveEvent(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
super(MOVE_TYPE);
oldX = _arg1;
oldY = _arg2;
newX = _arg3;
newY = _arg4;
}
override public function clone():Event{
return (new BitmapSpriteMoveEvent(oldX, oldY, newX, newY));
}
override public function toString():String{
return (formatToString(MOVE_TYPE));
}
}
}//package com.jxl.diesel.events
Section 6
//BitmapSpriteSizeEvent (com.jxl.diesel.events.BitmapSpriteSizeEvent)
package com.jxl.diesel.events {
import flash.events.*;
public class BitmapSpriteSizeEvent extends Event {
public var newWidth:Number;
public var oldWidth:Number;
public var oldHeight:Number;
public var newHeight:Number;
public static const TYPE_SIZE:String = "BitmapSpriteSizeEvent";
public function BitmapSpriteSizeEvent(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
super(TYPE_SIZE);
oldWidth = _arg1;
oldHeight = _arg2;
newWidth = _arg3;
newHeight = _arg4;
}
override public function clone():Event{
return (new BitmapSpriteSizeEvent(oldWidth, oldHeight, newWidth, newHeight));
}
override public function toString():String{
return (formatToString(TYPE_SIZE));
}
}
}//package com.jxl.diesel.events
Section 7
//BitmapSprite (com.jxl.diesel.view.core.BitmapSprite)
package com.jxl.diesel.view.core {
import flash.geom.*;
import flash.events.*;
import flash.display.*;
import com.jxl.diesel.events.*;
public class BitmapSprite extends EventDispatcher {
protected var _width:Number;// = 1
protected var _height:Number;// = 1
public var bitmap:Bitmap;
protected var _x:Number;// = 0
protected var _y:Number;// = 0
public function BitmapSprite(){
_x = 0;
_y = 0;
_width = 1;
_height = 1;
super();
init();
}
public function get y():Number{
return (_y);
}
public function repaint():void{
bitmap.bitmapData.fillRect(new Rectangle(0, 0, bitmap.bitmapData.width, bitmap.bitmapData.height), 0);
}
public function init():void{
var _local1:BitmapData;
if (bitmap == null){
_local1 = new BitmapData(100, 100, false, 0);
bitmap = new Bitmap(_local1);
};
setBitmap(bitmap);
}
public function setSize(_arg1:Number, _arg2:Number, _arg3:Boolean=false):void{
var _local4:Number;
var _local5:Number;
var _local6:BitmapData;
var _local7:BitmapSpriteSizeEvent;
_local4 = _width;
_local5 = _height;
_width = _arg1;
_height = _arg2;
_local6 = new BitmapData(_width, _height, false, 0);
bitmap.bitmapData = _local6;
bitmap.width = _width;
bitmap.height = _height;
if (_arg3 == false){
_local7 = new BitmapSpriteSizeEvent(_local4, _local5, _width, _height);
dispatchEvent(_local7);
};
}
public function move(_arg1:Number, _arg2:Number, _arg3:Boolean=false):void{
var _local4:Number;
var _local5:Number;
var _local6:BitmapSpriteMoveEvent;
_local4 = _x;
_local5 = _y;
_x = _arg1;
_y = _arg2;
if (_arg3 == false){
_local6 = new BitmapSpriteMoveEvent(_local4, _local5, x, y);
dispatchEvent(_local6);
};
}
public function getBitmap():Bitmap{
return (bitmap);
}
public function get height():Number{
return (_height);
}
public function setBitmap(_arg1:Bitmap):void{
var _local2:BitmapSpriteChangeEvent;
bitmap = _arg1;
_width = bitmap.width;
_height = bitmap.height;
_local2 = new BitmapSpriteChangeEvent();
dispatchEvent(_local2);
}
public function getBitmapData():BitmapData{
return (bitmap.bitmapData);
}
public function get x():Number{
return (_x);
}
public function get width():Number{
return (_width);
}
}
}//package com.jxl.diesel.view.core
Section 8
//BitmapSpriteDisplayObject (com.jxl.diesel.view.core.BitmapSpriteDisplayObject)
package com.jxl.diesel.view.core {
import flash.geom.*;
import flash.events.*;
import flash.display.*;
import com.jxl.diesel.events.*;
public class BitmapSpriteDisplayObject extends Bitmap {
protected var buffer_bitmap:Bitmap;
private var beacon_sprite:Sprite;
protected var addedInvalidateListener:Boolean;
protected var invalidating:Boolean;
private var holder_sprite:Sprite;
protected var renderList:Array;
public function BitmapSpriteDisplayObject(_arg1:BitmapData=null){
super(_arg1);
init();
}
public function replaceBitmapSpriteAt(_arg1:int, _arg2:BitmapSprite):void{
renderList.splice(_arg1, 1, _arg2);
invalidate();
}
public function init():void{
var _local1:Number;
var _local2:Number;
var _local3:BitmapData;
renderList = [];
invalidating = false;
addedInvalidateListener = false;
_local1 = Math.max(width, 600);
_local2 = Math.max(height, 600);
_local3 = new BitmapData(_local1, _local2, true, 2863311530);
buffer_bitmap = new Bitmap(_local3);
holder_sprite = new Sprite();
beacon_sprite = new Sprite();
holder_sprite.addChild(beacon_sprite);
bitmapData = buffer_bitmap.bitmapData.clone();
}
public function get numBitmapSpriteChildren():int{
return (renderList.length);
}
public function getBitmapSpriteIndex(_arg1:BitmapSprite):int{
var _local2:int;
_local2 = renderList.length;
while (_local2--) {
if (renderList[_local2] == _arg1){
return (_local2);
};
};
return (-1);
}
public function getBitmapSpriteAt(_arg1:int):BitmapSprite{
return (renderList[_arg1]);
}
public function addBitmapSprite(_arg1:BitmapSprite):void{
addBitmapSpriteAt(renderList.length, _arg1);
}
public function invalidate():void{
if (invalidating == false){
invalidating = true;
};
if (addedInvalidateListener == false){
addedInvalidateListener = true;
beacon_sprite.addEventListener(Event.ENTER_FRAME, onEnterFrame);
};
}
public function setBitmapSpriteIndex(_arg1:BitmapSprite, _arg2:int):void{
renderList.splice(getBitmapSpriteIndex(_arg1), 1);
renderList.splice(_arg2, 0, _arg1);
invalidate();
}
private function onEnterFrame(_arg1:Event):void{
redrawBitmap();
beacon_sprite.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
addedInvalidateListener = false;
}
public function redrawBitmap():void{
var _local1:Rectangle;
var _local2:int;
var _local3:int;
var _local4:BitmapSprite;
var _local5:Rectangle;
var _local6:Point;
var _local7:Point;
var _local8:Rectangle;
_local1 = new Rectangle(0, 0, buffer_bitmap.width, buffer_bitmap.height);
buffer_bitmap.bitmapData.fillRect(_local1, 0);
_local2 = renderList.length;
_local3 = -1;
while (_local2--) {
_local3++;
_local4 = renderList[_local3];
_local5 = new Rectangle(0, 0, _local4.width, _local4.height);
_local6 = new Point(_local4.x, _local4.y);
buffer_bitmap.bitmapData.copyPixels(_local4.getBitmapData(), _local5, _local6);
};
_local7 = new Point(0, 0);
_local8 = new Rectangle(0, 0, width, height);
bitmapData.copyPixels(buffer_bitmap.bitmapData, _local8, _local7, null, null, true);
invalidating = false;
}
public function removeBitmapSpriteAt(_arg1:int, _arg2:BitmapSprite):void{
renderList.splice(_arg1, 1);
invalidate();
}
protected function onSpriteBitmapChange(_arg1:Event):void{
invalidate();
}
protected function onSpriteSized(_arg1:Event):void{
invalidate();
}
public function addBitmapSpriteAt(_arg1:int, _arg2:BitmapSprite):void{
_arg2.addEventListener(BitmapSpriteChangeEvent.TYPE_CHANGE, onSpriteBitmapChange);
_arg2.addEventListener(BitmapSpriteMoveEvent.MOVE_TYPE, onSpriteMove);
_arg2.addEventListener(BitmapSpriteSizeEvent.TYPE_SIZE, onSpriteSized);
renderList[_arg1] = _arg2;
invalidate();
}
protected function onSpriteMove(_arg1:Event):void{
var _local2:BitmapSprite;
_local2 = BitmapSprite(_arg1.target);
invalidate();
}
}
}//package com.jxl.diesel.view.core
Section 9
//Array2 (de.polygonal.ds.Array2)
package de.polygonal.ds {
public class Array2 implements Collection {
private var _a:Array;
private var _h:int;
private var _w:int;
public function Array2(_arg1:int, _arg2:int){
_a = new Array(((_w = _arg1) * (_h = _arg2)));
fill(null);
}
public function fill(_arg1):void{
var _local2:int;
var _local3:int;
_local2 = size;
_local3 = 0;
while (_local3 < _local2) {
_a[_local3] = _arg1;
_local3++;
};
}
public function get width():int{
return (_w);
}
public function get size():int{
return ((_w * _h));
}
public function getCol(_arg1:int):Array{
var _local2:Array;
var _local3:int;
_local2 = [];
_local3 = 0;
while (_local3 < _h) {
_local2[_local3] = _a[int(((_local3 * _w) + _arg1))];
_local3++;
};
return (_local2);
}
public function shiftDown():void{
var _local1:int;
if (_h == 1){
return;
};
_local1 = ((_h - 1) * _w);
_a = _a.slice(_local1, (_local1 + _w)).concat(_a);
_a.splice((_h * _w), _w);
}
public function set width(_arg1:int):void{
resize(_arg1, _h);
}
public function appendCol(_arg1:Array):void{
var _local2:int;
_arg1.length = _h;
_local2 = 0;
while (_local2 < _h) {
_a.splice((((_local2 * _w) + _w) + _local2), 0, _arg1[_local2]);
_local2++;
};
_w++;
}
public function set height(_arg1:int):void{
resize(_w, _arg1);
}
public function clear():void{
_a = new Array(size);
}
public function get(_arg1:int, _arg2:int){
return (_a[int(((_arg2 * _w) + _arg1))]);
}
public function prependCol(_arg1:Array):void{
var _local2:int;
_arg1.length = _h;
_local2 = 0;
while (_local2 < _h) {
_a.splice(((_local2 * _w) + _local2), 0, _arg1[_local2]);
_local2++;
};
_w++;
}
public function toArray():Array{
var _local1:Array;
var _local2:int;
_local1 = _a.concat();
_local2 = size;
if (_local1.length > _local2){
_local1.length = _local2;
};
return (_local1);
}
public function contains(_arg1):Boolean{
var _local2:int;
var _local3:int;
_local2 = size;
_local3 = 0;
while (_local3 < _local2) {
if (_a[_local3] === _arg1){
return (true);
};
_local3++;
};
return (false);
}
public function appendRow(_arg1:Array):void{
_arg1.length = _w;
_a = _a.concat(_arg1);
_h++;
}
public function dump():String{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:int;
var _local5:int;
_local1 = "Array2\n{";
_local4 = 0;
while (_local4 < _h) {
_local1 = (_local1 + ("\n" + "\t"));
_local2 = (_local4 * _w);
_local5 = 0;
while (_local5 < _w) {
_local3 = _a[int((_local2 + _local5))];
_local1 = (_local1 + (("[" + ((_local3)!=undefined) ? _local3 : "?") + "]"));
_local5++;
};
_local4++;
};
_local1 = (_local1 + "\n}");
return (_local1);
}
public function getRow(_arg1:int):Array{
var _local2:int;
_local2 = (_arg1 * _w);
return (_a.slice(_local2, (_local2 + _w)));
}
public function get height():int{
return (_h);
}
public function getIterator():Iterator{
return (new Array2Iterator(this));
}
public function prependRow(_arg1:Array):void{
_arg1.length = _w;
_a = _arg1.concat(_a);
_h++;
}
public function shiftLeft():void{
var _local1:int;
var _local2:int;
var _local3:int;
if (_w == 1){
return;
};
_local1 = (_w - 1);
_local3 = 0;
while (_local3 < _h) {
_local2 = ((_local3 * _w) + _local1);
_a.splice(_local2, 0, _a.splice((_local2 - _local1), 1));
_local3++;
};
}
public function set(_arg1:int, _arg2:int, _arg3):void{
_a[int(((_arg2 * _w) + _arg1))] = _arg3;
}
public function resize(_arg1:int, _arg2:int):void{
var _local3:Array;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
if (_arg1 <= 0){
_arg1 = 1;
};
if (_arg2 <= 0){
_arg2 = 1;
};
_local3 = _a.concat();
_a.length = 0;
_a.length = (_arg1 * _arg2);
_local4 = ((_arg1 < _w)) ? _arg1 : _w;
_local5 = ((_arg2 < _h)) ? _arg2 : _h;
_local7 = 0;
while (_local7 < _local5) {
_local8 = (_local7 * _arg1);
_local9 = (_local7 * _w);
_local6 = 0;
while (_local6 < _local4) {
_a[int((_local8 + _local6))] = _local3[int((_local9 + _local6))];
_local6++;
};
_local7++;
};
_w = _arg1;
_h = _arg2;
}
public function transpose():void{
var _local1:Array;
var _local2:int;
var _local3:int;
_local1 = _a.concat();
_local2 = 0;
while (_local2 < _h) {
_local3 = 0;
while (_local3 < _w) {
_a[int(((_local3 * _w) + _local2))] = _local1[int(((_local2 * _w) + _local3))];
_local3++;
};
_local2++;
};
}
public function shiftRight():void{
var _local1:int;
var _local2:int;
var _local3:int;
if (_w == 1){
return;
};
_local1 = (_w - 1);
_local3 = 0;
while (_local3 < _h) {
_local2 = ((_local3 * _w) + _local1);
_a.splice((_local2 - _local1), 0, _a.splice(_local2, 1));
_local3++;
};
}
public function toString():String{
return ((((("[Array2, width=" + width) + ", height=") + height) + "]"));
}
public function shiftUp():void{
if (_h == 1){
return;
};
_a = _a.concat(_a.slice(0, _w));
_a.splice(0, _w);
}
}
}//package de.polygonal.ds
class Array2Iterator implements Iterator {
private var _a2:Array2;
private var _xCursor:int;
private var _yCursor:int;
private function Array2Iterator(_arg1:Array2){
_a2 = _arg1;
_xCursor = (_yCursor = 0);
}
public function start():void{
_xCursor = (_yCursor = 0);
}
public function hasNext():Boolean{
return ((((_yCursor * _a2.width) + _xCursor) < _a2.size));
}
public function get data(){
return (_a2.get(_xCursor, _yCursor));
}
public function set data(_arg1):void{
_a2.set(_xCursor, _yCursor, _arg1);
}
public function next(){
var _local1:*;
_local1 = data;
if (++_xCursor == _a2.width){
_yCursor++;
_xCursor = 0;
};
return (_local1);
}
}
Section 10
//Array3 (de.polygonal.ds.Array3)
package de.polygonal.ds {
public class Array3 implements Collection {
private var _a:Array;
private var _d:int;
private var _h:int;
private var _w:int;
public function Array3(_arg1:int, _arg2:int, _arg3:int){
_a = new Array((((_w = _arg1) * (_h = _arg2)) * (_d = _arg3)));
}
public function get depth():int{
return (_d);
}
public function get width():int{
return (_w);
}
public function get size():int{
return (((_w * _h) * _d));
}
public function set width(_arg1:int):void{
resize(_arg1, _h, _d);
}
public function set depth(_arg1:int):void{
resize(_w, _h, _arg1);
}
public function set height(_arg1:int):void{
resize(_w, _arg1, _d);
}
public function clear():void{
_a = new Array(size);
}
public function get(_arg1:int, _arg2:int, _arg3:int){
return (_a[int(((((_arg3 * _w) * _h) + (_arg2 * _w)) + _arg1))]);
}
public function fill(_arg1):void{
var _local2:int;
var _local3:int;
_local2 = size;
_local3 = 0;
while (_local3 < _local2) {
_a[_local3] = _arg1;
_local3++;
};
}
public function toArray():Array{
var _local1:Array;
var _local2:int;
_local1 = _a.concat();
_local2 = size;
if (_local1.length > _local2){
_local1.length = _local2;
};
return (_local1);
}
public function getIterator():Iterator{
return (new Array3Iterator(this));
}
public function contains(_arg1):Boolean{
var _local2:int;
var _local3:int;
_local2 = size;
_local3 = 0;
while (_local3 < _local2) {
if (_a[_local3] === _arg1){
return (true);
};
_local3++;
};
return (false);
}
public function get height():int{
return (_h);
}
public function toString():String{
return ((("[Array3, size=" + size) + "]"));
}
public function set(_arg1:int, _arg2:int, _arg3:int, _arg4):void{
_a[int(((((_arg3 * _w) * _h) + (_arg2 * _w)) + _arg1))] = _arg4;
}
public function resize(_arg1:int, _arg2:int, _arg3:int):void{
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
_local4 = _a.concat();
_a.length = 0;
_a.length = ((_arg1 * _arg2) * _arg3);
if (_a.length == 0){
return;
};
_local5 = ((_arg1 < _w)) ? _arg1 : _w;
_local6 = ((_arg2 < _h)) ? _arg2 : _h;
_local7 = ((_arg3 < _d)) ? _arg3 : _d;
_local10 = 0;
while (_local10 < _local7) {
_local11 = ((_local10 * _arg1) * _arg2);
_local12 = ((_local10 * _w) * _h);
_local9 = 0;
while (_local9 < _local6) {
_local13 = (_local9 * _arg1);
_local14 = (_local9 * _w);
_local8 = 0;
while (_local8 < _local5) {
_a[((_local11 + _local13) + _local8)] = _local4[((_local12 + _local14) + _local8)];
_local8++;
};
_local9++;
};
_local10++;
};
_w = _arg1;
_h = _arg2;
_d = _arg3;
}
}
}//package de.polygonal.ds
class Array3Iterator implements Iterator {
private var _values:Array;
private var _length:int;
private var _cursor:int;
private function Array3Iterator(_arg1:Array3){
_values = _arg1.toArray();
_length = _values.length;
_cursor = 0;
}
public function start():void{
_cursor = 0;
}
public function get data(){
return (_values[_cursor]);
}
public function next(){
return (_values[_cursor++]);
}
public function hasNext():Boolean{
return ((_cursor < _length));
}
public function set data(_arg1):void{
_values[_cursor] = _arg1;
}
}
Section 11
//Collection (de.polygonal.ds.Collection)
package de.polygonal.ds {
public interface Collection {
function getIterator():Iterator;
function get size():int;
function clear():void;
function toArray():Array;
function contains(_arg1):Boolean;
}
}//package de.polygonal.ds
Section 12
//Iterator (de.polygonal.ds.Iterator)
package de.polygonal.ds {
public interface Iterator {
function start():void;
function next();
function set data(_arg1):void;
function get data();
function hasNext():Boolean;
}
}//package de.polygonal.ds
Section 13
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "2.0.0.0";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 14
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "2.0.0.0";
}
}//package mx.core
Section 15
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "2.0.0.0";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 16
//FlexSprite (mx.core.FlexSprite)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexSprite extends Sprite {
mx_internal static const VERSION:String = "2.0.0.0";
public function FlexSprite(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 17
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "2.0.0.0";
}
}//package mx.core
Section 18
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 19
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function set height(_arg1:Number):void;
function get scaleY():Number;
function move(_arg1:Number, _arg2:Number):void;
function get scaleX():Number;
function set mask(_arg1:DisplayObject):void;
function set scaleX(_arg1:Number):void;
function set name(_arg1:String):void;
function set scaleY(_arg1:Number):void;
function get visible():Boolean;
function get measuredWidth():Number;
function set visible(_arg1:Boolean):void;
function get alpha():Number;
function get height():Number;
function get width():Number;
function get parent():DisplayObjectContainer;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set y(_arg1:Number):void;
function get x():Number;
function get y():Number;
function set alpha(_arg1:Number):void;
}
}//package mx.core
Section 20
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function get repeaters():Array;
function get instanceIndices():Array;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 21
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 22
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "2.0.0.0";
}
}//package mx.core
Section 23
//SpriteAsset (mx.core.SpriteAsset)
package mx.core {
public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject {
private var _measuredWidth:Number;
private var _measuredHeight:Number;
mx_internal static const VERSION:String = "2.0.0.0";
public function SpriteAsset(){
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 24
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "2.0.0.0";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var _local2:String;
var _local3:DisplayObject;
var _local4:String;
var _local5:Array;
_local3 = _arg1;
while (_local3 != null) {
if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){
break;
};
_local4 = _local3.name;
if ((_local3 is IRepeaterClient)){
_local5 = IRepeaterClient(_local3).instanceIndices;
if (_local5){
_local4 = (_local4 + (("[" + _local5.join("][")) + "]"));
};
};
_local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2);
_local3 = _local3.parent;
};
return (_local2);
}
public static function createUniqueName(_arg1:Object):String{
var _local2:String;
var _local3:int;
var _local4:int;
if (!_arg1){
return (null);
};
_local2 = getQualifiedClassName(_arg1);
_local3 = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
_local4 = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 25
//IParticle (zeuslabs.particles.IParticle)
package zeuslabs.particles {
public interface IParticle {
function update():void;
function meetsDestroyCondition():Boolean;
function initialize():void;
function set y(_arg1:Number):void;
function set x(_arg1:Number):void;
function get x():Number;
function get y():Number;
function destroy():void;
}
}//package zeuslabs.particles
Section 26
//ParticleEvent (zeuslabs.particles.ParticleEvent)
package zeuslabs.particles {
import flash.events.*;
public class ParticleEvent extends Event {
public var particle:IParticle;
public var system:ParticleSystem;
public static const INITIALIZE_PARTICLE:String = "initializeParticle";
public static const DESTROY_PARTICLE:String = "destroyParticle";
public static const UPDATE_PARTICLE:String = "updateParticle";
public function ParticleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:IParticle=null, _arg5:ParticleSystem=null){
super(_arg1, _arg2, _arg3);
this.particle = _arg4;
this.system = _arg5;
}
override public function clone():Event{
var _local1:ParticleEvent;
_local1 = new ParticleEvent(this.type, this.bubbles, this.cancelable, this.particle, this.system);
return (_local1);
}
}
}//package zeuslabs.particles
Section 27
//ParticleSystem (zeuslabs.particles.ParticleSystem)
package zeuslabs.particles {
import flash.events.*;
import flash.display.*;
public class ParticleSystem extends Sprite {
private var _spawnValue:Number;// = 0
private var _spawnRate:Number;// = 1
protected var cache:Array;
private var _particleClass:Class;
public function ParticleSystem(){
cache = [];
_particleClass = SimpleParticle;
_spawnRate = 1;
_spawnValue = 0;
super();
}
public function set spawnRate(_arg1:Number):void{
this._spawnRate = _arg1;
}
public function get spawnRate():Number{
return (this._spawnRate);
}
protected function enterFrameHandler(_arg1:Event):void{
this.update();
}
public function set particleClass(_arg1:Class):void{
this._particleClass = _arg1;
}
protected function spawnParticle():void{
var _local1:IParticle;
var _local2:ParticleEvent;
if (this.cache.length > 0){
_local1 = cache.pop();
} else {
_local1 = new this.particleClass();
};
_local2 = new ParticleEvent(ParticleEvent.INITIALIZE_PARTICLE, false, false, _local1, this);
this.dispatchEvent(_local2);
_local1.initialize();
this.addChild((_local1 as DisplayObject));
}
public function start():void{
this.addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true);
}
public function reset():void{
var _local1:Boolean;
var _local2:int;
var _local3:IParticle;
_local1 = this.hasEventListener(Event.ENTER_FRAME);
if (_local1){
this.pause();
};
_local2 = 0;
while (_local2 < this.numChildren) {
_local3 = (this.getChildAt(_local2) as IParticle);
this.removeChild((_local3 as DisplayObject));
_local2--;
_local2++;
};
this.cache = [];
if (_local1){
this.start();
};
}
public function get particleClass():Class{
return (this._particleClass);
}
protected function destroyParticle(_arg1:IParticle):void{
var _local2:ParticleEvent;
_local2 = new ParticleEvent(ParticleEvent.DESTROY_PARTICLE, false, false, _arg1, this);
this.dispatchEvent(_local2);
_arg1.destroy();
this.removeChild((_arg1 as DisplayObject));
this.cache.push(_arg1);
}
public function get numParticles():int{
return (this.numChildren);
}
protected function update():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:IParticle;
var _local5:ParticleEvent;
this._spawnValue = (this._spawnValue + this._spawnRate);
if (this._spawnValue >= 1){
_local2 = Math.floor(this._spawnValue);
_local3 = 0;
while (_local3 < _local2) {
this.spawnParticle();
this._spawnValue--;
_local3++;
};
};
_local1 = 0;
while (_local1 < this.numChildren) {
_local4 = (this.getChildAt(_local1) as IParticle);
if (_local4.meetsDestroyCondition()){
this.destroyParticle(_local4);
_local1--;
} else {
_local5 = new ParticleEvent(ParticleEvent.UPDATE_PARTICLE, false, false, _local4, this);
this.dispatchEvent(_local5);
_local4.update();
};
_local1++;
};
}
public function pause():void{
this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
}
}//package zeuslabs.particles
Section 28
//SimpleParticle (zeuslabs.particles.SimpleParticle)
package zeuslabs.particles {
import flash.geom.*;
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class SimpleParticle extends Shape implements IParticle {
private var _lifetime:int;// = 100
private var _velocity:Point;
private var _spawnAlpha:Number;
private var _spawnColor:uint;
private var _checkDestroyConditionFunction:Function;
private var _color:uint;// = 0xFFFFFF
private var _spawnTime:int;
private var _spawnVelocity:Point;
private var _spawnSize:Number;
private var _redrawFlag:Boolean;// = false
private var _spawnPosition:Point;
private var _size:Number;// = 1
public function SimpleParticle(){
_lifetime = 100;
_velocity = new Point(0, -1);
_color = 0xFFFFFF;
_size = 1;
_redrawFlag = false;
super();
}
protected function redraw():void{
this.graphics.clear();
this.graphics.lineStyle(0, 0, 0);
this.graphics.beginFill(this.color, 1);
this.graphics.drawCircle(0, 0, this.size);
this.graphics.endFill();
this._redrawFlag = false;
}
public function get size():Number{
return (this._size);
}
public function destroy():void{
var _local1:Event;
_local1 = new Event("destroy");
this.dispatchEvent(_local1);
if (this.hasEventListener(Event.ENTER_FRAME)){
this._redrawFlag = false;
this.removeEventListener(Event.ENTER_FRAME, nextFrameHandler);
};
}
public function set size(_arg1:Number):void{
if (this._size != _arg1){
this._size = _arg1;
this.queueRedraw();
};
}
public function get spawnSize():Number{
return (this._spawnSize);
}
public function get position():Point{
return (new Point(this.x, this.y));
}
public function set position(_arg1:Point):void{
this.x = _arg1.x;
this.y = _arg1.y;
}
public function get color():uint{
return (this._color);
}
public function get checkDestroyConditionFunction():Function{
return (this._checkDestroyConditionFunction);
}
public function meetsDestroyCondition():Boolean{
var _local1:int;
if (this.checkDestroyConditionFunction != null){
return (this.checkDestroyConditionFunction(this));
};
_local1 = (getTimer() - this.spawnTime);
return ((_local1 >= this.lifetime));
}
protected function queueRedraw():void{
if (this._redrawFlag){
return;
};
this._redrawFlag = true;
this.addEventListener(Event.ENTER_FRAME, nextFrameHandler, false, 0, true);
}
public function initialize():void{
this._spawnPosition = new Point(this.x, this.y);
this._spawnVelocity = this.velocity.clone();
this._spawnColor = this.color;
this._spawnAlpha = this.alpha;
this._spawnSize = this.size;
this.redraw();
this._spawnTime = getTimer();
}
public function set lifetime(_arg1:int):void{
this._lifetime = _arg1;
}
public function get spawnVelocity():Point{
return (this._spawnVelocity);
}
public function get spawnColor():uint{
return (this._spawnColor);
}
private function nextFrameHandler(_arg1:Event):void{
this.removeEventListener(Event.ENTER_FRAME, nextFrameHandler);
this.redraw();
}
public function get spawnAlpha():Number{
return (this._spawnAlpha);
}
public function set velocity(_arg1:Point):void{
this._velocity = _arg1;
}
public function set checkDestroyConditionFunction(_arg1:Function):void{
if (this._checkDestroyConditionFunction != _arg1){
this._checkDestroyConditionFunction = _arg1;
};
}
public function update():void{
this.x = (this.x + this.velocity.x);
this.y = (this.y + this.velocity.y);
}
public function set color(_arg1:uint):void{
if (this._color != _arg1){
this._color = _arg1;
this.queueRedraw();
};
}
public function get spawnPosition():Point{
return (this._spawnPosition);
}
public function get velocity():Point{
return (this._velocity);
}
public function get lifetime():int{
return (this._lifetime);
}
public function get spawnTime():int{
return (this._spawnTime);
}
}
}//package zeuslabs.particles
Section 29
//SkinnedParticle (zeuslabs.particles.SkinnedParticle)
package zeuslabs.particles {
import flash.geom.*;
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class SkinnedParticle extends Sprite implements IParticle {
private var _lifetime:int;// = 100
private var _velocity:Point;
private var _spawnAlpha:Number;
private var _checkDestroyConditionFunction:Function;
private var _skin:DisplayObject;
private var _spawnTime:int;
private var _spawnSize:Number;
private var _spawnVelocity:Point;
private var _redrawFlag:Boolean;// = false
private var _spawnPosition:Point;
private var _size:Number;// = 1
protected var scalingRatio:Number;// = 1
public function SkinnedParticle(){
_lifetime = 100;
_velocity = new Point(0, -1);
_size = 1;
_redrawFlag = false;
scalingRatio = 1;
super();
}
protected function redraw():void{
if (this._skin){
this._skin.width = this.size;
this._skin.height = (this.size * this.scalingRatio);
};
this._redrawFlag = false;
}
public function get size():Number{
return (this._size);
}
public function set skin(_arg1:DisplayObject):void{
if (this._skin){
this.removeChild(this._skin);
};
this._skin = _arg1;
this.scalingRatio = (_arg1.height / _arg1.width);
this.addChild(this._skin);
}
public function set size(_arg1:Number):void{
if (this._size != _arg1){
this._size = _arg1;
this.queueRedraw();
};
}
public function get spawnSize():Number{
return (this._spawnSize);
}
public function get position():Point{
return (new Point(this.x, this.y));
}
public function set position(_arg1:Point):void{
this.x = _arg1.x;
this.y = _arg1.y;
}
protected function queueRedraw():void{
if (this._redrawFlag){
return;
};
this._redrawFlag = true;
this.addEventListener(Event.ENTER_FRAME, nextFrameHandler, false, 0, true);
}
public function get checkDestroyConditionFunction():Function{
return (this._checkDestroyConditionFunction);
}
public function meetsDestroyCondition():Boolean{
var _local1:int;
if (this.checkDestroyConditionFunction != null){
return (this.checkDestroyConditionFunction(this));
};
_local1 = (getTimer() - this.spawnTime);
return ((_local1 >= this.lifetime));
}
public function initialize():void{
this._spawnPosition = new Point(this.x, this.y);
this._spawnVelocity = this.velocity.clone();
this._spawnAlpha = this.alpha;
this._spawnSize = this.size;
this.redraw();
this._spawnTime = getTimer();
}
public function get skin():DisplayObject{
return (this._skin);
}
public function set lifetime(_arg1:int):void{
this._lifetime = _arg1;
}
public function get spawnVelocity():Point{
return (this._spawnVelocity);
}
private function nextFrameHandler(_arg1:Event):void{
this.removeEventListener(Event.ENTER_FRAME, nextFrameHandler);
this.redraw();
}
public function set velocity(_arg1:Point):void{
this._velocity = _arg1;
}
public function get spawnAlpha():Number{
return (this._spawnAlpha);
}
public function set checkDestroyConditionFunction(_arg1:Function):void{
this._checkDestroyConditionFunction = _arg1;
}
public function update():void{
this.x = (this.x + this.velocity.x);
this.y = (this.y + this.velocity.y);
}
public function get velocity():Point{
return (this._velocity);
}
public function get spawnTime():int{
return (this._spawnTime);
}
public function get lifetime():int{
return (this._lifetime);
}
public function get spawnPosition():Point{
return (this._spawnPosition);
}
public function destroy():void{
if (this.hasEventListener(Event.ENTER_FRAME)){
this._redrawFlag = false;
this.removeEventListener(Event.ENTER_FRAME, nextFrameHandler);
};
}
}
}//package zeuslabs.particles
Section 30
//Explosion (Explosion)
package {
import flash.display.*;
public class Explosion {
private const P_COUNT:int = 200;
private const EXPLOSION_MAX_VELOCITY:Number = 2;
private const EXPLOSION_MAX_HEAT:int = -1;
private const PARTICLE_DAMP_MOVE:Number = 0.95;
private const EXPLOSION_RADIUS:int = 30;
private const PARTICLE_DAMP_ENERGIE:Number = 0.999;
private const PARTICLE_CHAOTIC_MOVE:Number = 0;
private const PCOUNT_EACH_FRAME:int = 200;
private var c_particles:Array;
private var t_particles:Array;
private var dead:Boolean;// = false
private var energie:Number;
private var color:int;// = 0
private var counter:int;// = 0
public function Explosion(_arg1:Number, _arg2:Number, _arg3:int){
color = 0;
counter = 0;
dead = false;
super();
init(_arg1, _arg2, _arg3);
}
private function init(_arg1:Number, _arg2:Number, _arg3:int):void{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Particle;
var _local8:int;
color = _arg3;
t_particles = new Array();
c_particles = new Array();
energie = 1;
_local8 = 0;
while (_local8 < P_COUNT) {
_local4 = ((Math.random() * Math.PI) * 2);
_local5 = ((Math.random() * EXPLOSION_MAX_VELOCITY) + 1);
_local6 = (Math.random() * EXPLOSION_RADIUS);
_local7 = new Particle((_arg1 + (Math.sin(_local4) * _local6)), (_arg2 + (Math.cos(_local4) * _local6)), (Math.sin(_local4) * _local5), ((Math.cos(_local4) * _local5) - (Math.random() * EXPLOSION_MAX_HEAT)), 1, PARTICLE_DAMP_ENERGIE);
t_particles.push(_local7);
_local8++;
};
}
public function render(_arg1:BitmapData):void{
var _local2:Particle;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:int;
var _local8:int;
counter++;
if (counter > 50){
dead = true;
};
if (t_particles.length >= PCOUNT_EACH_FRAME){
c_particles = c_particles.concat(t_particles.splice(-(PCOUNT_EACH_FRAME)));
} else {
if (t_particles.length > 0){
c_particles = t_particles.splice();
};
};
_local8 = c_particles.length;
while (--_local8 > -1) {
_local2 = c_particles[_local8];
_local3 = _local2.sx;
_local4 = _local2.sy;
_local5 = _local2.vx;
_local6 = _local2.vy;
if (_local2.energie < 0.1){
c_particles.splice(_local8, 1);
};
_local2.energie = (_local2.energie * _local2.energieDamp);
_arg1.setPixel32(_local3, _local4, (int(0xFF) * 16843009));
_local3 = (_local3 + _local5);
_local4 = (_local4 + _local6);
_local5 = (_local5 * PARTICLE_DAMP_MOVE);
_local6 = (_local6 * PARTICLE_DAMP_MOVE);
_local2.sx = _local3;
_local2.sy = _local4;
_local2.vx = _local5;
_local2.vy = _local6;
};
}
public function getColor():int{
return (color);
}
public function isDead():Boolean{
return (dead);
}
}
}//package
Section 31
//FPS (FPS)
package {
import flash.events.*;
import flash.text.*;
import flash.utils.*;
public class FPS extends TextField {
private var ms:int;
private var fs:int;
public function FPS(){
var _local1:TextFormat;
super();
_local1 = new TextFormat();
_local1.color = 0x666666;
_local1.size = 10;
_local1.bold = true;
_local1.font = "Verdana";
textColor = 0xCECECE;
autoSize = "left";
defaultTextFormat = _local1;
ms = getTimer();
fs = 0;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(_arg1:Event):void{
if ((getTimer() - 1000) > ms){
ms = getTimer();
text = fs.toString();
fs = 0;
} else {
fs++;
};
}
}
}//package
Section 32
//Image (Image)
package {
import com.jxl.diesel.view.core.*;
import flash.display.*;
public class Image {
var bitmapSprite:BitmapSprite;
var bitmap:Bitmap;
public function Image(_arg1:Class, _arg2:BitmapSpriteDisplayObject){
bitmap = (new (_arg1) as Bitmap);
bitmapSprite = new BitmapSprite();
bitmapSprite.setBitmap(bitmap);
_arg2.addBitmapSprite(bitmapSprite);
move(-900, -900);
}
public function move(_arg1:int, _arg2:int):void{
bitmapSprite.move(_arg1, _arg2, false);
}
public function getBitmap():Bitmap{
return (bitmap);
}
public function getBS():BitmapSprite{
return (bitmapSprite);
}
}
}//package
Section 33
//Key (Key)
package {
import flash.events.*;
import flash.display.*;
public class Key {
private static var initialized:Boolean = false;
private static var keysDown:Object = new Object();
public static function initialize(_arg1:Stage){
if (!initialized){
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.addEventListener(Event.DEACTIVATE, clearKeys);
initialized = true;
};
}
private static function clearKeys(_arg1:Event):void{
keysDown = new Object();
}
public static function isDown(_arg1:uint):Boolean{
if (!initialized){
throw (new Error("Key class has yet been initialized."));
};
return (Boolean((_arg1 in keysDown)));
}
private static function keyPressed(_arg1:KeyboardEvent):void{
keysDown[_arg1.keyCode] = true;
}
private static function keyReleased(_arg1:KeyboardEvent):void{
if ((_arg1.keyCode in keysDown)){
delete keysDown[_arg1.keyCode];
};
}
}
}//package
Section 34
//MyButton (MyButton)
package {
import com.jxl.diesel.view.core.*;
import flash.geom.*;
import flash.events.*;
import flash.display.*;
public class MyButton {
private var upImage:Image;
private var bsdoRef:BitmapSpriteDisplayObject;
private var downImage:Image;
private var rect:Rectangle;
private var clicked:Boolean;
private var isDown:Boolean;
private var show:Boolean;
public function MyButton(_arg1:Rectangle, _arg2:Class, _arg3:Class, _arg4:BitmapSpriteDisplayObject){
bsdoRef = _arg4;
rect = _arg1;
isDown = false;
downImage = new Image(_arg2, _arg4);
upImage = new Image(_arg3, _arg4);
downImage.move(-900, -900);
upImage.move(-900, -900);
clicked = false;
show = false;
}
public function onMouseDown(_arg1:MouseEvent):void{
if (rect.contains(_arg1.stageX, _arg1.stageY)){
isDown = true;
} else {
isDown = false;
};
}
public function onMouseUp(_arg1:MouseEvent):void{
isDown = false;
}
public function Show(){
show = true;
}
public function addListeners(_arg1:Stage):void{
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
_arg1.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_arg1.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
_arg1.addEventListener(MouseEvent.CLICK, onMouseClick);
_arg1.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function Hide(){
show = false;
}
public function onMouseClick(_arg1:MouseEvent):void{
if (!show){
return;
};
if (rect.contains(_arg1.stageX, _arg1.stageY)){
clicked = true;
} else {
clicked = false;
};
}
public function onEnterFrame(_arg1:Event):void{
if (!show){
return;
};
if (isDown){
bsdoRef.bitmapData.copyPixels(downImage.bitmap.bitmapData, new Rectangle(0, 0, rect.width, rect.height), new Point(rect.x, rect.y), null, null, true);
} else {
bsdoRef.bitmapData.copyPixels(upImage.bitmap.bitmapData, new Rectangle(0, 0, rect.width, rect.height), new Point(rect.x, rect.y), null, null, true);
};
}
public function isClicked():Boolean{
if (clicked){
clicked = false;
return (true);
};
return (false);
}
public function onMouseMove(_arg1:MouseEvent):void{
if (!rect.contains(_arg1.stageX, _arg1.stageY)){
isDown = false;
};
}
}
}//package
Section 35
//Particle (Particle)
package {
public class Particle {
public var vx:Number;
public var vy:Number;
public var sx:Number;
public var sy:Number;
public var energie:Number;
public var energieDamp:Number;
public function Particle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){
this.sx = _arg1;
this.sy = _arg2;
this.vx = _arg3;
this.vy = _arg4;
this.energie = _arg5;
this.energieDamp = _arg6;
}
}
}//package
Section 36
//stickyblocks (stickyblocks)
package {
import com.jxl.diesel.view.core.*;
import flash.geom.*;
import flash.events.*;
import zeuslabs.particles.*;
import flash.display.*;
import de.polygonal.ds.*;
import flash.media.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
import com.hexagonstar.util.debug.*;
import flash.ui.*;
public dynamic class stickyblocks extends Sprite {
private const GAME:int = 2;
private const CREDITS:int = 4;
private const TITLESCREEN:int = 0;
private const HEIGHT:int = 480;
private const EXPLOSION_BLUR_STRENGTH:int = 2;
private const TRANSITION:int = 5;
private const LEVELSELECT:int = 1;
private const INSTRUCTIONS:int = 3;
private const WIDTH:int = 640;
private const EXPLOSION_BLUR_QUALITY:int = 1;
private const ORIGIN:Point;
public var c_levelselectBackground:Class;
private var explosions:Array;
private var b_quit:MyButton;
private var winnerSound:Sound;
private var afterState:int;
public var c_binstructions:Class;
private var buffer:BitmapData;
private var transitionOverride:Boolean;// = false
private var mouseToggle:Boolean;// = false
private var beforeState:int;
public var font:String;// = "stickyblocks_font"
private var keyEnterToggle:Boolean;// = false
private var clickSound:Sound;
private var mousex:int;
private var mousey:int;
private var blur:BlurFilter;
private var f_font:Font;
private var t_control:TextField;
private var congratsArray:Array;
public var c_arrowkeys:Class;
var bsdo:BitmapSpriteDisplayObject;
private var bevel:BevelFilter;
public var c_quit:Class;
private var keyRightToggle:Boolean;// = false
private var i_arrow:Image;
private var f_font2:Font;
public var c_credits:Class;
private var b_leftarrow:MyButton;
public var c_levels1:Class;
public var c_levels2:Class;
public var c_levels3:Class;
public var c_levels4:Class;
public var c_rightarrow:Class;
private var keyUToggle:Boolean;// = false
private var b_nextlevel:MyButton;
public var c_smallcube:Class;
private var fps:FPS;
public var c_rightarrowdown:Class;
public var c_blocks:Class;
private var output:BitmapData;
public var c_backtotitlescreen:Class;
public var c_leftarrowdown:Class;
private var i_arrowkeys:Image;
private var mySo:SharedObject;
public var c_arrow:Class;
private var keyDownPressed:Boolean;// = false
private var keyUpToggle:Boolean;// = false
private var t_same:TextField;
private var clone:BitmapData;
private var i_smallcube:Image;
private var keyUPressed:Boolean;// = false
private var levels:Array3;
private var keyUpPressed:Boolean;// = false
private var i_control2:Image;
private var i_control1:Image;
public var c_start:Class;
private var t_progress:TextField;
private var glow:GlowFilter;
private var t_creditsText:TextField;
public var c_nextleveldown:Class;
private var b_credits:MyButton;
public var font2:String;// = "stickyblocks_font2"
private var i_controls:Image;
private var currentLevel:int;// = 0
private var font_format:TextFormat;
private var leveltagged:Array2;
private var keyLeftToggle:Boolean;// = false
private var i_blocks:Image;
private var keyEnterPressed:Boolean;// = false
private var system:ParticleSystem;
private var t_levelselect:TextField;
private var keyLeftPressed:Boolean;// = false
private var levelselectedy:int;// = 0
var gameplayBackgroundBitmap:Bitmap;
private var b_start:MyButton;
private var levelselectedx:int;// = 0
private var i_cube:Image;
private var keyDownToggle:Boolean;// = false
public var c_creditsdown:Class;
private var b_instructions:MyButton;
private var keyRightPressed:Boolean;// = false
private var t_solvedpuzzle:TextField;
private var txt:TextField;
private var clone2:BitmapSpriteDisplayObject;
public var c_startgame:Class;
public var c_cube:Class;
private var keyCounter:int;// = 0
public var c_backtotitlescreendown:Class;
public var c_click:Class;
private var moves:int;// = 0
private var i_levels1:Image;
private var i_levels2:Image;
private var i_levels3:Image;
private var i_levels4:Image;
public var c_control1:Class;
public var c_control2:Class;
private var keyRPressed:Boolean;// = false
private var completePuzzle:Boolean;// = false
private var transitionCounter:int;// = 0
private var mouseDown:Boolean;
public var c_click2:Class;
private var keyRToggle:Boolean;// = false
public var c_controls:Class;
public var c_startgamedown:Class;
private var font_format2:TextFormat;
public var c_startdown:Class;
private var t_thanksforplaying:TextField;
private var b_backtotitlescreen:MyButton;
private var t_jellyblockscom:TextField;
public var c_binstructionsdown:Class;
private var swap_counter:int;// = 0
private var fireColors:Array;
private var transitionlevel:Array2;
private var i_levelselectbackground:Image;
private var whichColor:int;// = 0
private var t_level2:TextField;
private var congratsMovement:Array;
private var b_rightarrow:MyButton;
private var i_gameplaybackground:Image;
private var click2Sound:Sound;
public var c_leftarrow:Class;
private var level:Array2;
private var t_instructions:TextField;
public var c_nextlevel:Class;
private var t_jellyblocks:TextField;
public var c_winner:Class;
private var completedLevels:Array;
private var levelPreview:int;// = 0
private var b_startgame:MyButton;
private var completePuzzleSequence:int;// = 0
private var mousePressed:Boolean;// = false
private var txt2:TextField;
private var undoBackup:Array3;
public var c_quitdown:Class;
private var t_credits:TextField;
private var temp:BitmapData;
var gameplayBackgroundSprite:BitmapSprite;
private var gamestate:int;
private var t_level:TextField;
private var t_goal:TextField;
public var b_map:Class;
public static var GreenLeaf:Class = stickyblocks_GreenLeaf;
public static var BrownLeaf:Class = stickyblocks_BrownLeaf;
public function stickyblocks(){
swap_counter = 0;
transitionOverride = false;
moves = 0;
c_click = stickyblocks_c_click;
c_click2 = stickyblocks_c_click2;
c_winner = stickyblocks_c_winner;
b_map = stickyblocks_b_map;
c_controls = stickyblocks_c_controls;
c_cube = stickyblocks_c_cube;
c_smallcube = stickyblocks_c_smallcube;
c_blocks = stickyblocks_c_blocks;
c_levelselectBackground = stickyblocks_c_levelselectBackground;
c_levels1 = stickyblocks_c_levels1;
c_levels2 = stickyblocks_c_levels2;
c_levels3 = stickyblocks_c_levels3;
c_levels4 = stickyblocks_c_levels4;
c_leftarrow = stickyblocks_c_leftarrow;
c_leftarrowdown = stickyblocks_c_leftarrowdown;
c_credits = stickyblocks_c_credits;
c_creditsdown = stickyblocks_c_creditsdown;
c_quit = stickyblocks_c_quit;
c_quitdown = stickyblocks_c_quitdown;
c_rightarrow = stickyblocks_c_rightarrow;
c_rightarrowdown = stickyblocks_c_rightarrowdown;
c_backtotitlescreendown = stickyblocks_c_backtotitlescreendown;
c_backtotitlescreen = stickyblocks_c_backtotitlescreen;
c_nextlevel = stickyblocks_c_nextlevel;
c_nextleveldown = stickyblocks_c_nextleveldown;
c_start = stickyblocks_c_start;
c_startdown = stickyblocks_c_startdown;
c_startgame = stickyblocks_c_startgame;
c_startgamedown = stickyblocks_c_startgamedown;
c_binstructions = stickyblocks_c_binstructions;
c_binstructionsdown = stickyblocks_c_binstructionsdown;
c_control1 = stickyblocks_c_control1;
c_control2 = stickyblocks_c_control2;
font = "stickyblocks_font";
font2 = "stickyblocks_font2";
c_arrowkeys = stickyblocks_c_arrowkeys;
c_arrow = stickyblocks_c_arrow;
transitionCounter = 0;
levelPreview = 0;
completePuzzleSequence = 0;
currentLevel = 0;
levelselectedx = 0;
levelselectedy = 0;
keyUpPressed = false;
keyUpToggle = false;
keyDownPressed = false;
keyDownToggle = false;
keyRightPressed = false;
keyRightToggle = false;
keyLeftPressed = false;
keyLeftToggle = false;
keyRPressed = false;
keyRToggle = false;
keyUPressed = false;
keyUToggle = false;
keyEnterPressed = false;
keyEnterToggle = false;
mousePressed = false;
mouseToggle = false;
keyCounter = 0;
bevel = new BevelFilter(4, 45, 10079487, 1, 13209, 1, 10, 10, 2, 3);
completePuzzle = false;
ORIGIN = new Point();
whichColor = 0;
super();
if (stage != null){
init(false);
};
}
function changeColorLeft(_arg1:int, _arg2:int, _arg3:int):void{
leveltagged.set(_arg2, _arg3, 1);
if ((((level.get((_arg2 - 1), _arg3) == _arg1)) && (!((leveltagged.get((_arg2 - 1), _arg3) == 1))))){
changeColorLeft(_arg1, (_arg2 - 1), _arg3);
};
if ((((level.get(_arg2, (_arg3 + 1)) == _arg1)) && (!((leveltagged.get(_arg2, (_arg3 + 1)) == 1))))){
changeColorLeft(_arg1, _arg2, (_arg3 + 1));
};
if ((((level.get(_arg2, (_arg3 - 1)) == _arg1)) && (!((leveltagged.get(_arg2, (_arg3 - 1)) == 1))))){
changeColorLeft(_arg1, _arg2, (_arg3 - 1));
};
if ((((((((level.get((_arg2 + 1), _arg3) == 4)) || ((level.get((_arg2 + 1), _arg3) == 2)))) || ((level.get((_arg2 + 1), _arg3) == 3)))) && (!((leveltagged.get((_arg2 + 1), _arg3) == 1))))){
changeColorLeft(level.get((_arg2 + 1), _arg3), (_arg2 + 1), _arg3);
};
}
function MoveDown():void{
var _local1:int;
var _local2:int;
var _local3:int;
resetTags();
_local1 = 1;
while (_local1 < 18) {
_local2 = 2;
while (_local2 < 18) {
if (level.get(_local1, _local2) == 1){
if ((((((((level.get(_local1, (_local2 - 1)) == 4)) || ((level.get(_local1, (_local2 - 1)) == 2)))) || ((level.get(_local1, (_local2 - 1)) == 3)))) && (!((leveltagged.get(_local1, (_local2 - 1)) == 1))))){
changeColorDown(level.get(_local1, (_local2 - 1)), _local1, (_local2 - 1));
};
};
_local2++;
};
_local1++;
};
_local1 = 16;
while (_local1 > 0) {
_local2 = 15;
while (_local2 > 0) {
_local3 = 2;
while (_local3 < 5) {
if ((((((level.get(_local1, _local2) == _local3)) && ((level.get(_local1, (_local2 + 1)) == 0)))) && (!((leveltagged.get(_local1, _local2) == 1))))){
level.set(_local1, _local2, 0);
level.set(_local1, (_local2 + 1), _local3);
};
_local3++;
};
_local2--;
};
_local1--;
};
}
function changeColorRight(_arg1:int, _arg2:int, _arg3:int):void{
leveltagged.set(_arg2, _arg3, 1);
if ((((level.get(_arg2, (_arg3 + 1)) == _arg1)) && (!((leveltagged.get(_arg2, (_arg3 + 1)) == 1))))){
changeColorRight(_arg1, _arg2, (_arg3 + 1));
};
if ((((level.get(_arg2, (_arg3 - 1)) == _arg1)) && (!((leveltagged.get(_arg2, (_arg3 - 1)) == 1))))){
changeColorRight(_arg1, _arg2, (_arg3 - 1));
};
if ((((level.get((_arg2 + 1), _arg3) == _arg1)) && (!((leveltagged.get((_arg2 + 1), _arg3) == 1))))){
changeColorRight(_arg1, (_arg2 + 1), _arg3);
};
if ((((((((level.get((_arg2 - 1), _arg3) == 4)) || ((level.get((_arg2 - 1), _arg3) == 2)))) || ((level.get((_arg2 - 1), _arg3) == 3)))) && (!((leveltagged.get((_arg2 - 1), _arg3) == 1))))){
changeColorRight(level.get((_arg2 - 1), _arg3), (_arg2 - 1), _arg3);
};
}
function MoveRight():void{
var _local1:int;
var _local2:int;
var _local3:int;
resetTags();
_local1 = 2;
while (_local1 < 18) {
_local2 = 1;
while (_local2 < 17) {
if (level.get(_local1, _local2) == 1){
if ((((((((level.get((_local1 - 1), _local2) == 4)) || ((level.get((_local1 - 1), _local2) == 2)))) || ((level.get((_local1 - 1), _local2) == 3)))) && (!((leveltagged.get((_local1 - 1), _local2) == 1))))){
changeColorRight(level.get((_local1 - 1), _local2), (_local1 - 1), _local2);
};
};
_local2++;
};
_local1++;
};
_local1 = 15;
while (_local1 > 0) {
_local2 = 16;
while (_local2 > 0) {
_local3 = 2;
while (_local3 < 5) {
if ((((((level.get(_local1, _local2) == _local3)) && ((level.get((_local1 + 1), _local2) == 0)))) && (!((leveltagged.get(_local1, _local2) == 1))))){
level.set(_local1, _local2, 0);
level.set((_local1 + 1), _local2, _local3);
};
_local3++;
};
_local2--;
};
_local1--;
};
}
private function onEnterFrame(_arg1:Event):void{
stage.focus = this;
switch (gamestate){
case TITLESCREEN:
Titlescreen();
if (gamestate != TITLESCREEN){
beforeState = TITLESCREEN;
afterState = gamestate;
gamestate = TRANSITION;
clone = bsdo.bitmapData.clone();
};
break;
case LEVELSELECT:
LevelSelect();
if (gamestate != LEVELSELECT){
beforeState = LEVELSELECT;
afterState = gamestate;
gamestate = TRANSITION;
clone = bsdo.bitmapData.clone();
};
break;
case GAME:
Gameplay();
if (((!((gamestate == GAME))) || (transitionOverride))){
transitionOverride = false;
beforeState = GAME;
afterState = gamestate;
gamestate = TRANSITION;
clone = bsdo.bitmapData.clone();
};
break;
case INSTRUCTIONS:
Instructions();
if (gamestate != INSTRUCTIONS){
beforeState = INSTRUCTIONS;
afterState = gamestate;
gamestate = TRANSITION;
clone = bsdo.bitmapData.clone();
};
break;
case CREDITS:
Credits();
if (gamestate != CREDITS){
beforeState = CREDITS;
afterState = gamestate;
gamestate = TRANSITION;
clone = bsdo.bitmapData.clone();
};
break;
case TRANSITION:
Transition();
break;
};
}
private function onStageMouseUp(_arg1:MouseEvent):void{
mousex = _arg1.stageX;
mousey = _arg1.stageY;
mouseDown = false;
}
public function Credits(){
CreditsRender(bsdo);
if (b_backtotitlescreen.isClicked()){
b_backtotitlescreen.Hide();
t_credits.visible = false;
gamestate = TITLESCREEN;
t_creditsText.visible = false;
return;
};
}
function changeColorDown(_arg1:int, _arg2:int, _arg3:int):void{
leveltagged.set(_arg2, _arg3, 1);
if ((((level.get(_arg2, (_arg3 + 1)) == _arg1)) && (!((leveltagged.get(_arg2, (_arg3 + 1)) == 1))))){
changeColorDown(_arg1, _arg2, (_arg3 + 1));
};
if ((((level.get((_arg2 + 1), _arg3) == _arg1)) && (!((leveltagged.get((_arg2 + 1), _arg3) == 1))))){
changeColorDown(_arg1, (_arg2 + 1), _arg3);
};
if ((((level.get((_arg2 - 1), _arg3) == _arg1)) && (!((leveltagged.get((_arg2 - 1), _arg3) == 1))))){
changeColorDown(_arg1, (_arg2 - 1), _arg3);
};
if ((((((((level.get(_arg2, (_arg3 - 1)) == 4)) || ((level.get(_arg2, (_arg3 - 1)) == 2)))) || ((level.get(_arg2, (_arg3 - 1)) == 3)))) && (!((leveltagged.get(_arg2, (_arg3 - 1)) == 1))))){
changeColorDown(level.get(_arg2, (_arg3 - 1)), _arg2, (_arg3 - 1));
};
}
public function Titlescreen(){
Input();
if (b_credits.isClicked()){
gamestate = CREDITS;
b_instructions.Hide();
b_startgame.Hide();
txt.visible = false;
b_instructions.Hide();
b_startgame.Hide();
b_credits.Hide();
return;
};
if (b_instructions.isClicked()){
gamestate = INSTRUCTIONS;
b_instructions.Hide();
b_startgame.Hide();
txt.visible = false;
b_instructions.Hide();
b_startgame.Hide();
b_credits.Hide();
return;
};
if (b_startgame.isClicked()){
i_levelselectbackground.move(0, 0);
gamestate = LEVELSELECT;
txt.visible = false;
b_instructions.Hide();
b_startgame.Hide();
b_credits.Hide();
return;
};
if (((((((((mouseToggle) && ((this.mouseX > t_jellyblockscom.x)))) && ((this.mouseY > t_jellyblockscom.y)))) && ((this.mouseX < (t_jellyblockscom.x + 146))))) && ((this.mouseY < (t_jellyblockscom.y + 13))))){
callLink();
};
TitlescreenRender(bsdo);
}
public function restoreBoard():void{
var _local1:int;
var _local2:int;
if (moves == 0){
return;
};
moves--;
_local1 = 0;
while (_local1 < 18) {
_local2 = 0;
while (_local2 < 18) {
level.set(_local1, _local2, undoBackup.get(moves, _local1, _local2));
_local2++;
};
_local1++;
};
}
public function init(_arg1:Boolean){
var _local2:int;
var _local3:ByteArray;
var _local4:int;
var _local5:BitmapData;
var _local6:String;
var _local7:int;
clone2 = new BitmapSpriteDisplayObject(new BitmapData(640, 480, true, 0xFFFFFF));
mySo = SharedObject.getLocal("jellyblocks");
if (mySo.data.completed == null){
completedLevels = new Array();
_local2 = 0;
while (_local2 < 100) {
completedLevels[_local2] = new Boolean();
completedLevels[_local2] = false;
_local2++;
};
completedLevels[0] = true;
} else {
completedLevels = mySo.data.completed;
};
moves = 0;
undoBackup = new Array3(100, 18, 18);
system = new ParticleSystem();
system.spawnRate = (1 / 5);
system.particleClass = SkinnedParticle;
system.addEventListener(ParticleEvent.INITIALIZE_PARTICLE, initializeLeaf);
system.addEventListener(ParticleEvent.UPDATE_PARTICLE, updateLeaf);
system.start();
buffer = new BitmapData(WIDTH, HEIGHT, true, 0);
output = new BitmapData(WIDTH, HEIGHT, true, 0);
temp = new BitmapData(WIDTH, HEIGHT, true, 0);
blur = new BlurFilter(EXPLOSION_BLUR_STRENGTH, EXPLOSION_BLUR_STRENGTH, EXPLOSION_BLUR_QUALITY);
explosions = new Array();
clickSound = (new c_click() as Sound);
winnerSound = (new c_winner() as Sound);
click2Sound = (new c_click2() as Sound);
gamestate = TITLESCREEN;
transitionlevel = new Array2(18, 18);
level = new Array2(18, 18);
leveltagged = new Array2(18, 18);
levels = new Array3(100, 18, 18);
_local2 = 0;
while (_local2 < 18) {
_local7 = 0;
while (_local7 < 18) {
transitionlevel.set(_local2, _local7, 0);
level.set(_local7, _local2, 0);
if ((((((((_local2 == 0)) || ((_local2 == 17)))) || ((_local7 == 17)))) || ((_local7 == 0)))){
leveltagged.set(_local7, _local2, 1);
} else {
leveltagged.set(_local7, _local2, 0);
};
_local7++;
};
_local2++;
};
resetTags();
_local3 = (new b_map() as ByteArray);
_local4 = 0;
while (_local4 < 100) {
_local2 = 0;
while (_local2 < 18) {
_local7 = 0;
while (_local7 < 18) {
levels.set(_local4, _local2, _local7, (_local3.readByte() - 48));
_local7++;
};
_local2++;
};
_local4++;
};
_local2 = 0;
while (_local2 < 18) {
_local7 = 0;
while (_local7 < 18) {
level.set(_local2, _local7, levels.get(8, _local2, _local7));
_local7++;
};
_local2++;
};
Debug.fpsStart(stage);
stage.frameRate = 60;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
tabEnabled = true;
_local5 = new BitmapData(640, 480, true, 0xFFFFFF);
bsdo = new BitmapSpriteDisplayObject(_local5);
addChild(bsdo);
i_levelselectbackground = new Image(c_levelselectBackground, bsdo);
i_levelselectbackground.move(-900, -900);
i_arrow = new Image(c_arrow, bsdo);
i_controls = new Image(c_controls, bsdo);
i_blocks = new Image(c_blocks, bsdo);
i_levels1 = new Image(c_levels1, bsdo);
i_levels2 = new Image(c_levels2, bsdo);
i_levels3 = new Image(c_levels3, bsdo);
i_levels4 = new Image(c_levels4, bsdo);
i_control1 = new Image(c_control1, bsdo);
i_control2 = new Image(c_control2, bsdo);
i_arrowkeys = new Image(c_arrowkeys, bsdo);
i_cube = new Image(c_cube, bsdo);
i_smallcube = new Image(c_smallcube, bsdo);
stage.focus = this;
stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onStageMouseUp);
b_credits = new MyButton(new Rectangle(554, 453, 73, 20), c_creditsdown, c_credits, bsdo);
b_credits.addListeners(stage);
b_credits.Hide();
b_leftarrow = new MyButton(new Rectangle(71, 167, 73, 133), c_leftarrowdown, c_leftarrow, bsdo);
b_leftarrow.addListeners(stage);
b_leftarrow.Hide();
b_rightarrow = new MyButton(new Rectangle(511, 167, 73, 133), c_rightarrowdown, c_rightarrow, bsdo);
b_rightarrow.addListeners(stage);
b_rightarrow.Hide();
b_backtotitlescreen = new MyButton(new Rectangle(18, 432, 206, 30), c_backtotitlescreendown, c_backtotitlescreen, bsdo);
b_backtotitlescreen.addListeners(stage);
b_backtotitlescreen.Hide();
b_start = new MyButton(new Rectangle(469, 432, 110, 30), c_startdown, c_start, bsdo);
b_start.addListeners(stage);
b_start.Hide();
b_quit = new MyButton(new Rectangle(544, 7, 90, 30), c_quitdown, c_quit, bsdo);
b_quit.addListeners(stage);
b_quit.Hide();
b_instructions = new MyButton(new Rectangle(242, 220, 206, 30), c_binstructionsdown, c_binstructions, bsdo);
b_instructions.addListeners(stage);
b_instructions.Hide();
b_startgame = new MyButton(new Rectangle(251, 258, 139, 30), c_startgamedown, c_startgame, bsdo);
b_startgame.addListeners(stage);
b_startgame.Hide();
b_nextlevel = new MyButton(new Rectangle(252, 230, 121, 30), c_nextleveldown, c_nextlevel, bsdo);
b_nextlevel.addListeners(stage);
b_nextlevel.Hide();
glow = new GlowFilter();
glow.color = 0xFFFFFF;
glow.alpha = 1;
glow.blurX = 4;
glow.blurY = 4;
glow.quality = BitmapFilterQuality.MEDIUM;
font_format = new TextFormat();
font_format.font = "Cooper";
font_format.size = 72;
txt = new TextField();
txt.embedFonts = true;
txt.autoSize = TextFieldAutoSize.LEFT;
txt.defaultTextFormat = this.font_format;
txt.text = "Jelly Blocks";
txt.filters = [glow];
txt.x = 93;
txt.y = 100;
txt.mouseEnabled = false;
addChild(txt);
font_format2 = new TextFormat();
font_format2.font = "Casper";
font_format2.size = 72;
glow.color = 0xFFFFFF;
glow.blurX = 8;
glow.blurY = 8;
_local6 = "CONGRATULATIONS!";
txt2 = new TextField();
congratsArray = new Array();
congratsMovement = new Array();
_local2 = 0;
while (_local2 < 18) {
congratsArray[_local2] = new TextField();
congratsArray[_local2].embedFonts = true;
congratsArray[_local2].autoSize = TextFieldAutoSize.LEFT;
congratsArray[_local2].defaultTextFormat = this.font_format2;
congratsArray[_local2].filters = [glow];
congratsArray[_local2].x = (30 + (_local2 * 36));
congratsArray[_local2].y = (74 + (_local2 * 2));
congratsArray[_local2].mouseEnabled = false;
congratsMovement[_local2] = new Boolean(true);
congratsArray[_local2].text = _local6.charAt(_local2);
addChild(congratsArray[_local2]);
congratsArray[_local2].visible = false;
_local2++;
};
font_format.size = 22;
glow.blurX = 4;
glow.blurY = 4;
t_levelselect = new TextField();
t_levelselect.embedFonts = true;
t_levelselect.autoSize = TextFieldAutoSize.LEFT;
t_levelselect.defaultTextFormat = this.font_format;
t_levelselect.text = "Level Select";
t_levelselect.filters = [glow];
t_levelselect.x = 246;
t_levelselect.y = 22;
t_levelselect.mouseEnabled = false;
t_instructions = new TextField();
t_instructions.embedFonts = true;
t_instructions.autoSize = TextFieldAutoSize.LEFT;
t_instructions.defaultTextFormat = this.font_format;
t_instructions.text = "Instructions";
t_instructions.filters = [glow];
t_instructions.x = 246;
t_instructions.y = 22;
t_instructions.mouseEnabled = false;
addChild(t_instructions);
t_credits = new TextField();
t_credits.embedFonts = true;
t_credits.autoSize = TextFieldAutoSize.LEFT;
t_credits.defaultTextFormat = this.font_format;
t_credits.text = "Credits";
t_credits.filters = [glow];
t_credits.x = 266;
t_credits.y = 22;
t_credits.mouseEnabled = false;
t_credits.visible = false;
addChild(t_credits);
font_format.size = 30;
glow.blurX = 6;
glow.blurY = 6;
t_jellyblocks = new TextField();
t_jellyblocks.embedFonts = true;
t_jellyblocks.autoSize = TextFieldAutoSize.LEFT;
t_jellyblocks.defaultTextFormat = this.font_format;
t_jellyblocks.text = "JELLY BLOCKS";
t_jellyblocks.filters = [glow];
t_jellyblocks.x = 197;
t_jellyblocks.y = 10;
t_jellyblocks.mouseEnabled = false;
glow.blurX = 8;
glow.blurY = 8;
font_format.size = 18;
t_solvedpuzzle = new TextField();
t_solvedpuzzle.embedFonts = true;
t_solvedpuzzle.autoSize = TextFieldAutoSize.LEFT;
t_solvedpuzzle.defaultTextFormat = this.font_format;
t_solvedpuzzle.text = "YOU SOLVED THE PUZZLE!";
t_solvedpuzzle.filters = [glow];
t_solvedpuzzle.x = 173;
t_solvedpuzzle.y = 189;
t_solvedpuzzle.mouseEnabled = false;
t_solvedpuzzle.visible = false;
font_format.size = 26;
t_thanksforplaying = new TextField();
t_thanksforplaying.embedFonts = true;
t_thanksforplaying.autoSize = TextFieldAutoSize.LEFT;
t_thanksforplaying.defaultTextFormat = this.font_format;
t_thanksforplaying.text = "THANKS FOR PLAYING!";
t_thanksforplaying.filters = [glow];
t_thanksforplaying.x = 149;
t_thanksforplaying.y = 224;
t_thanksforplaying.mouseEnabled = false;
t_thanksforplaying.visible = false;
font_format.size = 16;
glow.blurX = 3;
glow.blurY = 3;
t_progress = new TextField();
t_progress.embedFonts = true;
t_progress.autoSize = TextFieldAutoSize.LEFT;
t_progress.defaultTextFormat = this.font_format;
t_progress.text = "progress is automatically saved";
t_progress.filters = [glow];
t_progress.x = 185;
t_progress.y = 380;
t_progress.mouseEnabled = false;
t_progress.visible = false;
font_format.size = 18;
t_goal = new TextField();
t_goal.embedFonts = true;
t_goal.autoSize = TextFieldAutoSize.LEFT;
t_goal.defaultTextFormat = this.font_format;
t_goal.text = "GOAL: To connect all the same colored blocks together";
t_goal.filters = [glow];
t_goal.x = 54;
t_goal.y = 75;
t_goal.mouseEnabled = false;
t_control = new TextField();
t_control.embedFonts = true;
t_control.autoSize = TextFieldAutoSize.LEFT;
t_control.defaultTextFormat = this.font_format;
t_control.text = "You control all blocks simultaneously";
t_control.filters = [glow];
t_control.x = 142;
t_control.y = 190;
t_control.mouseEnabled = false;
t_same = new TextField();
t_same.embedFonts = true;
t_same.autoSize = TextFieldAutoSize.LEFT;
t_same.defaultTextFormat = this.font_format;
t_same.text = "Same colored blocks stick";
t_same.filters = [glow];
t_same.x = 198;
t_same.y = 340;
t_same.mouseEnabled = false;
t_same.visible = false;
t_creditsText = new TextField();
t_creditsText.embedFonts = true;
t_creditsText.autoSize = TextFieldAutoSize.LEFT;
t_creditsText.defaultTextFormat = this.font_format;
t_creditsText.text = "Programmer/Artist - Michael Le\n\n\n\nThanks to the Flash Community\n\n";
t_creditsText.filters = [glow];
t_creditsText.x = 125;
t_creditsText.y = 100;
t_same.mouseEnabled = false;
t_creditsText.visible = false;
t_control.visible = false;
t_goal.visible = false;
t_instructions.visible = false;
t_creditsText.visible = false;
t_level = new TextField();
t_level.embedFonts = true;
t_level.autoSize = TextFieldAutoSize.LEFT;
t_level.defaultTextFormat = this.font_format;
t_level.text = "Level 23";
t_level.filters = [glow];
t_level.x = 266;
t_level.y = 72;
font_format.size = 30;
t_level2 = new TextField();
t_level2.embedFonts = true;
t_level2.autoSize = TextFieldAutoSize.LEFT;
t_level2.defaultTextFormat = this.font_format;
t_level2.text = "Level 23";
t_level2.filters = [glow];
t_level2.x = 472;
t_level2.y = 110;
t_level.visible = false;
t_level2.visible = false;
t_level2.mouseEnabled = false;
t_level.mouseEnabled = false;
font_format.size = 12;
font_format.url = "http://www.jellyblocks.com";
t_jellyblockscom = new TextField();
t_jellyblockscom.embedFonts = true;
t_jellyblockscom.autoSize = TextFieldAutoSize.LEFT;
t_jellyblockscom.defaultTextFormat = this.font_format;
t_jellyblockscom.text = "www.jellyblocks.com";
t_jellyblockscom.filters = [glow];
t_jellyblockscom.x = 400;
t_jellyblockscom.y = 459;
t_jellyblockscom.mouseEnabled = false;
t_jellyblockscom.selectable = false;
t_jellyblockscom.visible = true;
addChild(t_creditsText);
addChild(t_level);
addChild(t_level2);
addChild(t_goal);
addChild(t_control);
addChild(t_same);
addChild(t_jellyblockscom);
addChild(t_progress);
t_progress.visible = false;
addChild(t_thanksforplaying);
addChild(t_solvedpuzzle);
addChild(t_jellyblocks);
addChild(t_levelselect);
t_levelselect.visible = false;
t_jellyblocks.visible = false;
addChild(new Bitmap(output));
Key.initialize(stage);
addChild(system);
system.visible = false;
}
public function Transition():void{
var _local1:int;
if (transitionCounter == 0){
click2Sound.play();
switch (afterState){
case TITLESCREEN:
TitlescreenRender(clone2);
break;
case GAME:
GameplayRender(clone2);
break;
case LEVELSELECT:
LevelSelectRender(clone2);
break;
case CREDITS:
CreditsRender(clone2);
break;
case INSTRUCTIONS:
InstructionsRender(clone2);
break;
};
};
transitionCounter++;
if (transitionCounter > 20){
transitionCounter = 0;
gamestate = afterState;
return;
};
b_backtotitlescreen.Hide();
b_leftarrow.Hide();
b_rightarrow.Hide();
b_start.Hide();
b_startgame.Hide();
b_instructions.Hide();
b_quit.Hide();
b_nextlevel.Hide();
b_credits.Hide();
_local1 = (this.numChildren - 1);
while (_local1 >= 0) {
this.getChildAt(_local1).visible = false;
_local1--;
};
this.getChildAt(0).visible = true;
stage.invalidate();
bsdo.bitmapData.fillRect(bsdo.bitmapData.rect, 0);
bsdo.bitmapData.copyPixels(clone, clone.rect, new Point(((-1 * transitionCounter) * 32), 0), null, null, null);
bsdo.bitmapData.copyPixels(clone2.bitmapData, clone2.bitmapData.rect, new Point((((-1 * transitionCounter) * 32) + 640), 0), null, null, null);
}
private function createExplosion(_arg1:Event):void{
var _local2:Explosion;
whichColor++;
if (whichColor == 3){
whichColor = 0;
};
_local2 = new Explosion(mouseX, mouseY, whichColor);
explosions.push(_local2);
}
public function LevelSelect(){
var _local1:int;
var _local2:int;
Input();
LevelSelectRender(bsdo);
if (b_start.isClicked()){
t_progress.visible = false;
completePuzzle = false;
if (!completedLevels[((levelselectedx + (levelselectedy * 5)) + (levelPreview * 25))]){
return;
};
completePuzzleSequence = 0;
moves = 0;
t_levelselect.visible = false;
gamestate = GAME;
i_levelselectbackground.move(-900, -900);
b_start.Hide();
b_leftarrow.Hide();
b_rightarrow.Hide();
b_backtotitlescreen.Hide();
currentLevel = (((25 * levelPreview) + levelselectedx) + (5 * levelselectedy));
_local1 = 0;
while (_local1 < 18) {
_local2 = 0;
while (_local2 < 18) {
level.set(_local1, _local2, levels.get(currentLevel, _local1, _local2));
_local2++;
};
_local1++;
};
return;
};
if (b_backtotitlescreen.isClicked()){
t_progress.visible = false;
t_levelselect.visible = false;
gamestate = TITLESCREEN;
i_levelselectbackground.move(-900, -900);
b_start.Hide();
b_leftarrow.Hide();
b_rightarrow.Hide();
b_backtotitlescreen.Hide();
system.visible = false;
return;
};
if (b_leftarrow.isClicked()){
levelPreview--;
};
if (b_rightarrow.isClicked()){
levelPreview++;
};
if (levelPreview == 0){
b_leftarrow.Hide();
} else {
b_leftarrow.Show();
};
if (levelPreview == 3){
b_rightarrow.Hide();
} else {
b_rightarrow.Show();
};
}
private function stageResizeHandler(_arg1:Event):void{
this.system.x = 0;
this.system.y = 0;
}
public function Instructions(){
InstructionsRender(bsdo);
Input();
if (b_backtotitlescreen.isClicked()){
gamestate = TITLESCREEN;
t_control.visible = false;
t_goal.visible = false;
t_same.visible = false;
t_instructions.visible = false;
b_backtotitlescreen.Hide();
};
}
function tagAround(_arg1:int, _arg2:int, _arg3:int):void{
leveltagged.set(_arg2, _arg3, 1);
if ((((level.get((_arg2 - 1), _arg3) == _arg1)) && ((leveltagged.get((_arg2 - 1), _arg3) == 0)))){
tagAround(_arg1, (_arg2 - 1), _arg3);
};
if ((((level.get((_arg2 + 1), _arg3) == _arg1)) && ((leveltagged.get((_arg2 + 1), _arg3) == 0)))){
tagAround(_arg1, (_arg2 + 1), _arg3);
};
if ((((level.get(_arg2, (_arg3 - 1)) == _arg1)) && ((leveltagged.get(_arg2, (_arg3 - 1)) == 0)))){
tagAround(_arg1, _arg2, (_arg3 - 1));
};
if ((((level.get(_arg2, (_arg3 + 1)) == _arg1)) && ((leveltagged.get(_arg2, (_arg3 + 1)) == 0)))){
tagAround(_arg1, _arg2, (_arg3 + 1));
};
}
function resetTags():void{
var _local1:int;
var _local2:int;
_local1 = 1;
while (_local1 < 17) {
_local2 = 1;
while (_local2 < 17) {
leveltagged.set(_local1, _local2, 0);
_local2++;
};
_local1++;
};
}
public function checkCompleted():void{
var _local1:int;
var _local2:int;
var _local3:int;
resetTags();
completePuzzleSequence = 1;
_local1 = 2;
while (_local1 <= 4) {
_local2 = 1;
while (_local2 <= 16) {
_local3 = 1;
while (_local3 <= 16) {
if (level.get(_local2, _local3) == _local1){
tagAround(_local1, _local2, _local3);
_local3 = 30;
_local2 = 30;
};
_local3++;
};
_local2++;
};
_local2 = 1;
while (_local2 <= 16) {
_local3 = 1;
while (_local3 <= 16) {
if ((((level.get(_local2, _local3) == _local1)) && ((leveltagged.get(_local2, _local3) == 0)))){
completePuzzleSequence = 0;
resetTags();
return;
};
_local3++;
};
_local2++;
};
_local1++;
};
resetTags();
winnerSound.play();
}
public function backupBoard():void{
var _local1:int;
var _local2:int;
_local1 = 0;
while (_local1 < 18) {
_local2 = 0;
while (_local2 < 18) {
undoBackup.set(moves, _local1, _local2, level.get(_local1, _local2));
_local2++;
};
_local1++;
};
moves++;
}
public function Gameplay(){
var _local1:int;
GameplayRender(bsdo);
Input();
if (!completePuzzle){
if (keyUpToggle){
backupBoard();
MoveUp();
clickSound.play();
bsdo.bitmapData.colorTransform(new Rectangle((513 + 36), (289 - 36), 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if (keyRightToggle){
backupBoard();
MoveRight();
clickSound.play();
bsdo.bitmapData.colorTransform(new Rectangle(((513 + 36) + 36), 289, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if (keyDownToggle){
backupBoard();
MoveDown();
clickSound.play();
bsdo.bitmapData.colorTransform(new Rectangle((513 + 36), 289, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if (keyLeftToggle){
backupBoard();
MoveLeft();
clickSound.play();
bsdo.bitmapData.colorTransform(new Rectangle(513, 289, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if (keyRToggle){
ResetBoard();
bsdo.bitmapData.colorTransform(new Rectangle(534, 395, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if (keyUToggle){
restoreBoard();
bsdo.bitmapData.colorTransform(new Rectangle(534, 350, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if (mouseToggle){
if ((((((((this.mouseX > 534)) && ((this.mouseY > 350)))) && ((this.mouseX < (534 + 36))))) && ((this.mouseY < (350 + 36))))){
restoreBoard();
bsdo.bitmapData.colorTransform(new Rectangle(534, 350, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if ((((((((this.mouseX > 534)) && ((this.mouseY > 395)))) && ((this.mouseX < (534 + 36))))) && ((this.mouseY < (395 + 36))))){
ResetBoard();
bsdo.bitmapData.colorTransform(new Rectangle(534, 395, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if ((((((((this.mouseX > 513)) && ((this.mouseY > 289)))) && ((this.mouseX < (513 + 36))))) && ((this.mouseY < (289 + 36))))){
backupBoard();
MoveLeft();
clickSound.play();
bsdo.bitmapData.colorTransform(new Rectangle(513, 289, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if ((((((((this.mouseX > (513 + 36))) && ((this.mouseY > 289)))) && ((this.mouseX < ((513 + 36) + 36))))) && ((this.mouseY < (289 + 36))))){
backupBoard();
MoveDown();
clickSound.play();
bsdo.bitmapData.colorTransform(new Rectangle((513 + 36), 289, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if ((((((((this.mouseX > ((513 + 36) + 36))) && ((this.mouseY > 289)))) && ((this.mouseX < (((513 + 36) + 36) + 36))))) && ((this.mouseY < (289 + 36))))){
backupBoard();
MoveRight();
clickSound.play();
bsdo.bitmapData.colorTransform(new Rectangle(((513 + 36) + 36), 289, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if ((((((((this.mouseX > (513 + 36))) && ((this.mouseY > (289 - 36))))) && ((this.mouseX < ((513 + 36) + 36))))) && ((this.mouseY < ((289 + 36) - 36))))){
backupBoard();
MoveUp();
clickSound.play();
bsdo.bitmapData.colorTransform(new Rectangle((513 + 36), (289 - 36), 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
};
};
if (((b_quit.isClicked()) && ((((((completePuzzleSequence == 0)) || ((completePuzzleSequence == 25)))) || ((completePuzzleSequence == 26)))))){
completePuzzleSequence = 0;
gamestate = LEVELSELECT;
system.visible = false;
b_quit.Hide();
b_nextlevel.Hide();
t_jellyblocks.visible = false;
_local1 = 0;
while (_local1 < 18) {
congratsArray[_local1].visible = false;
_local1++;
};
t_solvedpuzzle.visible = false;
t_thanksforplaying.visible = false;
return;
};
}
function MoveUp():void{
var _local1:int;
var _local2:int;
var _local3:int;
resetTags();
_local1 = 0;
while (_local1 < 16) {
_local2 = 1;
while (_local2 < 17) {
if (level.get(_local2, _local1) == 1){
if ((((((((level.get(_local2, (_local1 + 1)) == 4)) || ((level.get(_local2, (_local1 + 1)) == 2)))) || ((level.get(_local2, (_local1 + 1)) == 3)))) && (!((leveltagged.get(_local2, (_local1 + 1)) == 1))))){
changeColorUp(level.get(_local2, (_local1 + 1)), _local2, (_local1 + 1));
};
};
_local2++;
};
_local1++;
};
_local1 = 2;
while (_local1 < 17) {
_local2 = 1;
while (_local2 < 17) {
_local3 = 2;
while (_local3 < 5) {
if ((((((level.get(_local2, _local1) == _local3)) && ((level.get(_local2, (_local1 - 1)) == 0)))) && (!((leveltagged.get(_local2, _local1) == 1))))){
level.set(_local2, _local1, 0);
level.set(_local2, (_local1 - 1), _local3);
};
_local3++;
};
_local2++;
};
_local1++;
};
}
public function CreditsRender(_arg1:BitmapSpriteDisplayObject){
b_backtotitlescreen.Show();
_arg1.bitmapData.copyPixels(i_levelselectbackground.bitmap.bitmapData, new Rectangle(0, 0, 640, 480), new Point(0, 0), null, null, null);
t_credits.visible = true;
t_creditsText.visible = true;
}
private function canDestroyParticle(_arg1:SkinnedParticle):Boolean{
return ((_arg1.y > this.stage.stageHeight));
}
private function onMouseMove(_arg1:MouseEvent):void{
}
private function initializeLeaf(_arg1:ParticleEvent):void{
var _local2:SkinnedParticle;
var _local3:Number;
_local2 = (_arg1.particle as SkinnedParticle);
if (!_local2.skin){
if (Math.random() >= 0.4){
_local2.skin = new GreenLeaf();
} else {
_local2.skin = new BrownLeaf();
};
};
_local2.checkDestroyConditionFunction = canDestroyParticle;
_local2.size = (10 + (Math.random() * 25));
_local3 = this.stage.stageWidth;
_local2.position = new Point((((Math.random() * 3) * _local3) - _local3), -(_local2.size));
_local2.alpha = (0.1 + (_local2.size / 40));
_local2.velocity = new Point(0, ((2 * (_local2.size / 35)) + (this.stage.stageHeight / 250)));
}
public function ResetBoard():void{
var _local1:int;
var _local2:int;
moves = 0;
_local1 = 0;
while (_local1 < 18) {
_local2 = 0;
while (_local2 < 18) {
level.set(_local1, _local2, levels.get(currentLevel, _local1, _local2));
_local2++;
};
_local1++;
};
}
public function getColorToRect(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean):Rectangle{
var _local6:Rectangle;
_local6 = new Rectangle();
switch (_arg1){
case 0:
_local6.left = 0;
_local6.top = 0;
break;
case 1:
_local6.left = 0;
_local6.top = 0;
break;
case 2:
_local6.left = (72 * 2);
_local6.top = 0;
break;
case 3:
_local6.left = (108 * 2);
_local6.top = 0;
break;
case 4:
_local6.left = (36 * 2);
_local6.top = 0;
break;
};
if (((((((_arg2) && (_arg5))) && (_arg3))) && (_arg4))){
_local6.top = (_local6.top + (36 * 2));
} else {
if (((((_arg2) && (_arg5))) && (_arg3))){
_local6.left = (_local6.left + (12 * 2));
_local6.top = (_local6.top + (36 * 2));
} else {
if (((((_arg2) && (_arg4))) && (_arg3))){
_local6.left = (_local6.left + (24 * 2));
_local6.top = (_local6.top + (36 * 2));
} else {
if (((((_arg4) && (_arg5))) && (_arg3))){
_local6.left = (_local6.left + (24 * 2));
_local6.top = (_local6.top + (48 * 2));
} else {
if (((((_arg2) && (_arg5))) && (_arg4))){
_local6.left = (_local6.left + (12 * 2));
_local6.top = (_local6.top + (48 * 2));
} else {
if (((_arg2) && (_arg5))){
} else {
if (((_arg5) && (_arg3))){
_local6.left = (_local6.left + (24 * 2));
} else {
if (((_arg4) && (_arg3))){
_local6.left = (_local6.left + (24 * 2));
_local6.top = (_local6.top + (24 * 2));
} else {
if (((_arg2) && (_arg4))){
_local6.top = (_local6.top + (24 * 2));
} else {
if (((_arg5) && (_arg4))){
_local6.top = (_local6.top + (48 * 2));
} else {
if (((_arg2) && (_arg3))){
_local6.top = (_local6.top + (60 * 2));
} else {
if (_arg2){
_local6.top = (_local6.top + (12 * 2));
} else {
if (_arg5){
_local6.left = (_local6.left + (12 * 2));
} else {
if (_arg4){
_local6.left = (_local6.left + (12 * 2));
_local6.top = (_local6.top + (24 * 2));
} else {
if (_arg3){
_local6.left = (_local6.left + (24 * 2));
_local6.top = (_local6.top + (12 * 2));
} else {
_local6.left = (_local6.left + (12 * 2));
_local6.top = (_local6.top + (12 * 2));
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
_local6.right = ((12 * 2) + _local6.left);
_local6.bottom = ((12 * 2) + _local6.top);
_local6.height = 24;
_local6.width = 24;
return (_local6);
}
public function LevelSelectRender(_arg1:BitmapSpriteDisplayObject){
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
t_level.text = ("Level " + new int(((((25 * levelPreview) + levelselectedx) + (5 * levelselectedy)) + 1)));
t_level.filters = [glow];
t_level.visible = true;
t_progress.visible = true;
t_levelselect.visible = true;
b_backtotitlescreen.Show();
b_start.Show();
_arg1.bitmapData.copyPixels(i_levelselectbackground.bitmap.bitmapData, new Rectangle(0, 0, 640, 480), new Point(0, 0), null, null, null);
if (((((((((mouseToggle) && ((mouseX > 192)))) && ((mouseX < (192 + 0x0100))))) && ((mouseY > 112)))) && ((mouseY < (112 + 0x0100))))){
_local3 = ((mouseX - 192) / 51);
_local4 = ((mouseY - 112) / 51);
levelselectedx = _local3;
levelselectedy = _local4;
};
_arg1.bitmapData.fillRect(new Rectangle((190 + (levelselectedx * 52)), (110 + (levelselectedy * 52)), 52, 52), 4294901760);
switch (levelPreview){
case 0:
_arg1.bitmapData.copyPixels(i_levels1.bitmap.bitmapData, new Rectangle(0, 0, 258, 258), new Point(191, 111), null, null, true);
break;
case 1:
_arg1.bitmapData.copyPixels(i_levels2.bitmap.bitmapData, new Rectangle(0, 0, 258, 258), new Point(191, 111), null, null, true);
break;
case 2:
_arg1.bitmapData.copyPixels(i_levels3.bitmap.bitmapData, new Rectangle(0, 0, 258, 258), new Point(191, 111), null, null, true);
break;
case 3:
_arg1.bitmapData.copyPixels(i_levels4.bitmap.bitmapData, new Rectangle(0, 0, 258, 258), new Point(191, 111), null, null, true);
break;
};
_local2 = 0;
while (_local2 < 5) {
_local5 = 0;
while (_local5 < 5) {
if (!completedLevels[((_local2 + (_local5 * 5)) + (25 * levelPreview))]){
_arg1.bitmapData.colorTransform(new Rectangle((192 + (_local2 * 52)), (112 + (_local5 * 52)), 48, 48), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
_local5++;
};
_local2++;
};
}
public function TitlescreenRender(_arg1:BitmapSpriteDisplayObject){
t_jellyblockscom.visible = true;
b_instructions.Show();
b_startgame.Show();
b_credits.Show();
txt.visible = true;
_arg1.bitmapData.copyPixels(i_levelselectbackground.bitmap.bitmapData, new Rectangle(0, 0, 640, 480), new Point(0, 0), null, null, null);
_arg1.bitmapData.copyPixels(i_cube.bitmap.bitmapData, new Rectangle(0, 0, 92, 95), new Point(282, 325), null, null, true);
}
public function callLink():void{
var url:String;
var request:URLRequest;
url = "http://www.jellyblocks.com";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
trace("Error occurred!");
};
}
public function GameplayRender(_arg1:BitmapSpriteDisplayObject){
var _local2:BitmapData;
var _local3:int;
var _local4:int;
var _local5:Rectangle;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:Number;
t_level2.text = ("Level " + new int((currentLevel + 1)));
t_level2.filters = [glow];
t_level2.visible = true;
t_jellyblocks.visible = true;
b_quit.Show();
_arg1.bitmapData.copyPixels(i_levelselectbackground.bitmap.bitmapData, new Rectangle(0, 0, 640, 480), new Point(0, 0), null, null, null);
_arg1.bitmapData.fillRect(new Rectangle(64, 54, 388, 388), 0);
_local2 = new BitmapData(24, 24, false, 0);
_local3 = 1;
while (_local3 < 17) {
_local4 = 1;
while (_local4 < 17) {
_local5 = new Rectangle();
_local6 = level.get(_local3, _local4);
_local7 = level.get((_local3 - 1), _local4);
_local8 = level.get((_local3 + 1), _local4);
_local9 = level.get(_local3, (_local4 + 1));
_local10 = level.get(_local3, (_local4 - 1));
_local5 = getColorToRect(_local6, !((_local7 == _local6)), !((_local8 == _local6)), !((_local9 == _local6)), !((_local10 == _local6)));
if (_local6 != 0){
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, _local5, new Point(((_local3 * 24) + 42), (((_local4 * 24) + 48) - 16)), null, new Point(0, 0), 0);
} else {
if (((_local3 + _local4) % 2) == 0){
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(24, 120, 24, 24), new Point(((_local3 * 24) + 42), (((_local4 * 24) + 48) - 16)), null, new Point(0, 0), 0);
} else {
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(48, 120, 24, 24), new Point(((_local3 * 24) + 42), (((_local4 * 24) + 48) - 16)), null, new Point(0, 0), 0);
};
};
_local4++;
};
_local3++;
};
_arg1.bitmapData.copyPixels(i_smallcube.bitmap.bitmapData, new Rectangle(0, 0, 31, 32), new Point(149, 15), null, null, true);
_arg1.bitmapData.copyPixels(i_controls.bitmap.bitmapData, new Rectangle(0, 0, 155, 236), new Point(468, 207), null, null, false);
if (completePuzzle){
if (currentLevel == 99){
t_thanksforplaying.visible = true;
};
_arg1.bitmapData.colorTransform(_arg1.bitmapData.rect, new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
t_jellyblocks.visible = false;
t_level2.visible = false;
b_nextlevel.Show();
t_solvedpuzzle.visible = true;
system.visible = true;
_local3 = 0;
while (_local3 < 18) {
congratsArray[_local3].visible = true;
if (congratsArray[_local3].y == 126){
congratsMovement[_local3] = true;
};
if (congratsArray[_local3].y == 74){
congratsMovement[_local3] = false;
};
if (!congratsMovement[_local3]){
congratsArray[_local3].y = (congratsArray[_local3].y + 2);
} else {
congratsArray[_local3].y = (congratsArray[_local3].y - 2);
};
_local3++;
};
if (((b_nextlevel.isClicked()) || (keyEnterToggle))){
transitionOverride = true;
completePuzzleSequence = 0;
completePuzzle = false;
b_nextlevel.Hide();
system.visible = false;
_local3 = 0;
while (_local3 < 18) {
congratsArray[_local3].visible = false;
_local3++;
};
t_solvedpuzzle.visible = false;
moves = 0;
currentLevel++;
_local3 = 0;
while (_local3 < 18) {
_local4 = 0;
while (_local4 < 18) {
level.set(_local3, _local4, levels.get(currentLevel, _local3, _local4));
_local4++;
};
_local3++;
};
return;
};
};
if (completePuzzleSequence == 0){
checkCompleted();
};
if ((((completePuzzleSequence > 0)) && ((completePuzzleSequence < 25)))){
_local11 = (1 - (0.7 * (completePuzzleSequence / 25)));
_arg1.bitmapData.colorTransform(_arg1.bitmapData.rect, new ColorTransform(_local11, _local11, _local11, 1, 0, 0, 0, 0));
completePuzzleSequence++;
t_solvedpuzzle.visible = true;
t_solvedpuzzle.x = ((173 * (completePuzzleSequence / 25)) * 1);
};
if (completePuzzleSequence == 25){
completePuzzleSequence = 26;
if (currentLevel != 99){
completedLevels[(currentLevel + 1)] = true;
mySo.data.completed = completedLevels;
mySo.flush();
};
completePuzzle = true;
};
}
function changeColorUp(_arg1:int, _arg2:int, _arg3:int):void{
leveltagged.set(_arg2, _arg3, 1);
if ((((level.get((_arg2 + 1), _arg3) == _arg1)) && (!((leveltagged.get((_arg2 + 1), _arg3) == 1))))){
changeColorUp(_arg1, (_arg2 + 1), _arg3);
};
if ((((level.get((_arg2 - 1), _arg3) == _arg1)) && (!((leveltagged.get((_arg2 - 1), _arg3) == 1))))){
changeColorUp(_arg1, (_arg2 - 1), _arg3);
};
if ((((level.get(_arg2, (_arg3 - 1)) == _arg1)) && (!((leveltagged.get(_arg2, (_arg3 - 1)) == 1))))){
changeColorUp(_arg1, _arg2, (_arg3 - 1));
};
if ((((((((level.get(_arg2, (_arg3 + 1)) == 4)) || ((level.get(_arg2, (_arg3 + 1)) == 2)))) || ((level.get(_arg2, (_arg3 + 1)) == 3)))) && (!((leveltagged.get(_arg2, (_arg3 + 1)) == 1))))){
changeColorUp(level.get(_arg2, (_arg3 + 1)), _arg2, (_arg3 + 1));
};
}
function MoveLeft():void{
var _local1:int;
var _local2:int;
var _local3:int;
resetTags();
_local1 = 0;
while (_local1 < 17) {
_local2 = 1;
while (_local2 < 17) {
if (level.get(_local1, _local2) == 1){
if ((((((((level.get((_local1 + 1), _local2) == 4)) || ((level.get((_local1 + 1), _local2) == 2)))) || ((level.get((_local1 + 1), _local2) == 3)))) && (!((leveltagged.get((_local1 + 1), _local2) == 1))))){
changeColorLeft(level.get((_local1 + 1), _local2), (_local1 + 1), _local2);
};
};
_local2++;
};
_local1++;
};
_local1 = 1;
while (_local1 < 18) {
_local2 = 1;
while (_local2 < 17) {
_local3 = 2;
while (_local3 < 5) {
if ((((((level.get(_local1, _local2) == _local3)) && ((level.get((_local1 - 1), _local2) == 0)))) && (!((leveltagged.get(_local1, _local2) == 1))))){
level.set(_local1, _local2, 0);
level.set((_local1 - 1), _local2, _local3);
};
_local3++;
};
_local2++;
};
_local1++;
};
}
public function Input(){
Debug.trace(keyCounter);
if (keyCounter > 15){
keyCounter = 0;
keyUpPressed = (keyDownPressed = (keyLeftPressed = (keyRightPressed = false)));
};
keyEnterToggle = false;
if (Key.isDown(Keyboard.ENTER)){
if (!keyEnterPressed){
keyEnterToggle = (keyEnterPressed = true);
};
} else {
keyEnterPressed = false;
};
keyUToggle = false;
if (Key.isDown(85)){
if (!keyUPressed){
keyUToggle = (keyUPressed = true);
};
} else {
keyUPressed = false;
};
keyRToggle = false;
if (Key.isDown(82)){
if (!keyRPressed){
keyRToggle = (keyRPressed = true);
};
} else {
keyRPressed = false;
};
keyUpToggle = false;
if (Key.isDown(Keyboard.UP)){
keyCounter++;
if (!keyUpPressed){
keyUpToggle = (keyUpPressed = true);
};
} else {
keyUpPressed = false;
};
keyDownToggle = false;
if (Key.isDown(Keyboard.DOWN)){
keyCounter++;
if (!keyDownPressed){
keyDownToggle = (keyDownPressed = true);
};
} else {
keyDownPressed = false;
};
keyLeftToggle = false;
if (Key.isDown(Keyboard.LEFT)){
keyCounter++;
if (!keyLeftPressed){
keyLeftToggle = (keyLeftPressed = true);
};
} else {
keyLeftPressed = false;
};
keyRightToggle = false;
if (Key.isDown(Keyboard.RIGHT)){
keyCounter++;
if (!keyRightPressed){
keyRightToggle = (keyRightPressed = true);
};
} else {
keyRightPressed = false;
};
mouseToggle = false;
if (mouseDown){
if (!mousePressed){
mouseToggle = (mousePressed = true);
};
} else {
mousePressed = false;
};
}
public function InstructionsRender(_arg1:BitmapSpriteDisplayObject){
_arg1.bitmapData.copyPixels(i_levelselectbackground.bitmap.bitmapData, new Rectangle(0, 0, 640, 480), new Point(0, 0), null, null, null);
_arg1.bitmapData.copyPixels(i_arrowkeys.getBitmap().bitmapData, new Rectangle(0, 0, 110, 74), new Point(399, 240), null, new Point(0, 0), 1);
_arg1.bitmapData.copyPixels(i_arrow.getBitmap().bitmapData, new Rectangle(0, 0, 79, 36), new Point(263, 114), null, new Point(0, 0), 1);
_arg1.bitmapData.copyPixels(i_arrow.getBitmap().bitmapData, new Rectangle(0, 0, 79, 36), new Point(263, 384), null, new Point(0, 0), 1);
if (swap_counter <= 20){
_arg1.bitmapData.copyPixels(i_control1.bitmap.bitmapData, new Rectangle(0, 0, 97, 97), new Point(280, 230), null, null, null);
_arg1.bitmapData.colorTransform(new Rectangle(398, 276, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
} else {
_arg1.bitmapData.copyPixels(i_control2.bitmap.bitmapData, new Rectangle(0, 0, 97, 97), new Point(280, 230), null, null, null);
_arg1.bitmapData.colorTransform(new Rectangle((400 + 72), 276, 37, 37), new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0));
};
if (swap_counter == 40){
swap_counter = 0;
};
swap_counter++;
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(216, 72, 24, 24), new Point(169, 106), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(72, 72, 24, 24), new Point((169 + 24), 106), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(144, 72, 24, 24), new Point(((169 + 24) + 24), 106), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(72, 72, 24, 24), new Point(169, (106 + 24)), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(144, 72, 24, 24), new Point((169 + 24), (106 + 24)), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(216, 72, 24, 24), new Point((169 + 48), (106 + 24)), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(168, 96, 48, 24), new Point(379, 100), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(240, 72, 24, 24), new Point((379 + 24), (100 + 24)), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle((240 + 24), 72, 24, 24), new Point((379 + 24), ((100 + 24) + 24)), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(96, 72, 24, 24), new Point(((379 + 24) + 24), 100), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle((96 + 24), 72, 24, 24), new Point(((379 + 24) + 24), (100 + 24)), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(144, 72, 24, 24), new Point(175, 370), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(144, 72, 24, 24), new Point(225, 370), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(168, 96, 48, 24), new Point(380, 370), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(216, 72, 24, 24), new Point(380, (370 + 35)), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(72, 72, 24, 24), new Point((380 + 24), (370 + 35)), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(216, 72, 24, 24), new Point(175, (370 + 35)), null, new Point(0, 0), 0);
_arg1.bitmapData.copyPixels(i_blocks.getBitmap().bitmapData, new Rectangle(72, 72, 24, 24), new Point((175 + 50), (370 + 35)), null, new Point(0, 0), 0);
b_backtotitlescreen.Show();
t_control.visible = true;
t_goal.visible = true;
t_same.visible = true;
t_instructions.visible = true;
}
private function updateLeaf(_arg1:ParticleEvent):void{
var _local2:SkinnedParticle;
var _local3:Number;
_local2 = (_arg1.particle as SkinnedParticle);
_local3 = ((10 * (this.mouseX - (this.stage.stageWidth / 2))) / (this.stage.stageWidth / 2));
_local2.rotation = (_local2.rotation + 0);
_local2.velocity = new Point(0, _local2.velocity.y);
}
private function onMouseDown(_arg1:MouseEvent):void{
mousex = _arg1.stageX;
mousey = _arg1.stageY;
mouseDown = true;
}
}
}//package
Section 37
//stickyblocks_b_map (stickyblocks_b_map)
package {
import mx.core.*;
public class stickyblocks_b_map extends ByteArrayAsset {
}
}//package
Section 38
//stickyblocks_BrownLeaf (stickyblocks_BrownLeaf)
package {
import mx.core.*;
public class stickyblocks_BrownLeaf extends SpriteAsset {
}
}//package
Section 39
//stickyblocks_c_arrow (stickyblocks_c_arrow)
package {
import mx.core.*;
public class stickyblocks_c_arrow extends BitmapAsset {
}
}//package
Section 40
//stickyblocks_c_arrowkeys (stickyblocks_c_arrowkeys)
package {
import mx.core.*;
public class stickyblocks_c_arrowkeys extends BitmapAsset {
}
}//package
Section 41
//stickyblocks_c_backtotitlescreen (stickyblocks_c_backtotitlescreen)
package {
import mx.core.*;
public class stickyblocks_c_backtotitlescreen extends BitmapAsset {
}
}//package
Section 42
//stickyblocks_c_backtotitlescreendown (stickyblocks_c_backtotitlescreendown)
package {
import mx.core.*;
public class stickyblocks_c_backtotitlescreendown extends BitmapAsset {
}
}//package
Section 43
//stickyblocks_c_binstructions (stickyblocks_c_binstructions)
package {
import mx.core.*;
public class stickyblocks_c_binstructions extends BitmapAsset {
}
}//package
Section 44
//stickyblocks_c_binstructionsdown (stickyblocks_c_binstructionsdown)
package {
import mx.core.*;
public class stickyblocks_c_binstructionsdown extends BitmapAsset {
}
}//package
Section 45
//stickyblocks_c_blocks (stickyblocks_c_blocks)
package {
import mx.core.*;
public class stickyblocks_c_blocks extends BitmapAsset {
}
}//package
Section 46
//stickyblocks_c_click (stickyblocks_c_click)
package {
import mx.core.*;
public class stickyblocks_c_click extends SoundAsset {
}
}//package
Section 47
//stickyblocks_c_click2 (stickyblocks_c_click2)
package {
import mx.core.*;
public class stickyblocks_c_click2 extends SoundAsset {
}
}//package
Section 48
//stickyblocks_c_control1 (stickyblocks_c_control1)
package {
import mx.core.*;
public class stickyblocks_c_control1 extends BitmapAsset {
}
}//package
Section 49
//stickyblocks_c_control2 (stickyblocks_c_control2)
package {
import mx.core.*;
public class stickyblocks_c_control2 extends BitmapAsset {
}
}//package
Section 50
//stickyblocks_c_controls (stickyblocks_c_controls)
package {
import mx.core.*;
public class stickyblocks_c_controls extends BitmapAsset {
}
}//package
Section 51
//stickyblocks_c_credits (stickyblocks_c_credits)
package {
import mx.core.*;
public class stickyblocks_c_credits extends BitmapAsset {
}
}//package
Section 52
//stickyblocks_c_creditsdown (stickyblocks_c_creditsdown)
package {
import mx.core.*;
public class stickyblocks_c_creditsdown extends BitmapAsset {
}
}//package
Section 53
//stickyblocks_c_cube (stickyblocks_c_cube)
package {
import mx.core.*;
public class stickyblocks_c_cube extends BitmapAsset {
}
}//package
Section 54
//stickyblocks_c_leftarrow (stickyblocks_c_leftarrow)
package {
import mx.core.*;
public class stickyblocks_c_leftarrow extends BitmapAsset {
}
}//package
Section 55
//stickyblocks_c_leftarrowdown (stickyblocks_c_leftarrowdown)
package {
import mx.core.*;
public class stickyblocks_c_leftarrowdown extends BitmapAsset {
}
}//package
Section 56
//stickyblocks_c_levels1 (stickyblocks_c_levels1)
package {
import mx.core.*;
public class stickyblocks_c_levels1 extends BitmapAsset {
}
}//package
Section 57
//stickyblocks_c_levels2 (stickyblocks_c_levels2)
package {
import mx.core.*;
public class stickyblocks_c_levels2 extends BitmapAsset {
}
}//package
Section 58
//stickyblocks_c_levels3 (stickyblocks_c_levels3)
package {
import mx.core.*;
public class stickyblocks_c_levels3 extends BitmapAsset {
}
}//package
Section 59
//stickyblocks_c_levels4 (stickyblocks_c_levels4)
package {
import mx.core.*;
public class stickyblocks_c_levels4 extends BitmapAsset {
}
}//package
Section 60
//stickyblocks_c_levelselectBackground (stickyblocks_c_levelselectBackground)
package {
import mx.core.*;
public class stickyblocks_c_levelselectBackground extends BitmapAsset {
}
}//package
Section 61
//stickyblocks_c_nextlevel (stickyblocks_c_nextlevel)
package {
import mx.core.*;
public class stickyblocks_c_nextlevel extends BitmapAsset {
}
}//package
Section 62
//stickyblocks_c_nextleveldown (stickyblocks_c_nextleveldown)
package {
import mx.core.*;
public class stickyblocks_c_nextleveldown extends BitmapAsset {
}
}//package
Section 63
//stickyblocks_c_quit (stickyblocks_c_quit)
package {
import mx.core.*;
public class stickyblocks_c_quit extends BitmapAsset {
}
}//package
Section 64
//stickyblocks_c_quitdown (stickyblocks_c_quitdown)
package {
import mx.core.*;
public class stickyblocks_c_quitdown extends BitmapAsset {
}
}//package
Section 65
//stickyblocks_c_rightarrow (stickyblocks_c_rightarrow)
package {
import mx.core.*;
public class stickyblocks_c_rightarrow extends BitmapAsset {
}
}//package
Section 66
//stickyblocks_c_rightarrowdown (stickyblocks_c_rightarrowdown)
package {
import mx.core.*;
public class stickyblocks_c_rightarrowdown extends BitmapAsset {
}
}//package
Section 67
//stickyblocks_c_smallcube (stickyblocks_c_smallcube)
package {
import mx.core.*;
public class stickyblocks_c_smallcube extends BitmapAsset {
}
}//package
Section 68
//stickyblocks_c_start (stickyblocks_c_start)
package {
import mx.core.*;
public class stickyblocks_c_start extends BitmapAsset {
}
}//package
Section 69
//stickyblocks_c_startdown (stickyblocks_c_startdown)
package {
import mx.core.*;
public class stickyblocks_c_startdown extends BitmapAsset {
}
}//package
Section 70
//stickyblocks_c_startgame (stickyblocks_c_startgame)
package {
import mx.core.*;
public class stickyblocks_c_startgame extends BitmapAsset {
}
}//package
Section 71
//stickyblocks_c_startgamedown (stickyblocks_c_startgamedown)
package {
import mx.core.*;
public class stickyblocks_c_startgamedown extends BitmapAsset {
}
}//package
Section 72
//stickyblocks_c_winner (stickyblocks_c_winner)
package {
import mx.core.*;
public class stickyblocks_c_winner extends SoundAsset {
}
}//package
Section 73
//stickyblocks_font (stickyblocks_font)
package {
import mx.core.*;
public class stickyblocks_font extends FontAsset {
}
}//package
Section 74
//stickyblocks_font2 (stickyblocks_font2)
package {
import mx.core.*;
public class stickyblocks_font2 extends FontAsset {
}
}//package
Section 75
//stickyblocks_GreenLeaf (stickyblocks_GreenLeaf)
package {
import mx.core.*;
public class stickyblocks_GreenLeaf extends SpriteAsset {
}
}//package