Section 1
//BG (com.adamatomic.Canabalt.BG)
package com.adamatomic.Canabalt {
import flash.geom.*;
import com.adamatomic.flixel.*;
public class BG extends FlxSprite {
private var _p:Point;
private var _r:Boolean;
public function BG(_arg1:Class, _arg2:int, _arg3:int, _arg4:Boolean=false){
super(_arg1, _arg2, _arg3);
_p = new Point();
_r = _arg4;
}
override public function update():void{
getScreenXY(_p);
if ((_p.x + width) < 0){
if (_r){
x = (x + ((FlxG.width * 10) + ((Math.random() * FlxG.width) * 10)));
scrollFactor.x = (2 + (Math.random() * 3));
} else {
x = (x + (width * 2));
};
};
}
}
}//package com.adamatomic.Canabalt
Section 2
//Bomb (com.adamatomic.Canabalt.Bomb)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class Bomb extends FlxSprite {
private var ImgBomb:Class;
private var _e:FlxEmitter;
private var SndBombHit:Class;
private var _en:FlxArray;
private var _p:Player;
private var SndBombExplode:Class;
private var SndBombPre:Class;
private var _y:int;
private var _s:Sequence;
private var SndBombLaunch:Class;
public function Bomb(_arg1:int, _arg2:int, _arg3:Player, _arg4:FlxArray, _arg5:Sequence){
ImgBomb = Bomb_ImgBomb;
SndBombLaunch = Bomb_SndBombLaunch;
SndBombPre = Bomb_SndBombPre;
SndBombHit = Bomb_SndBombHit;
SndBombExplode = Bomb_SndBombExplode;
super(ImgBomb, _arg1, -64);
_y = (_arg2 - 24);
_p = _arg3;
_en = _arg4;
_s = _arg5;
x = (x - (width / 2));
height = 48;
offset.y = 16;
velocity.y = 800;
FlxG.play(SndBombLaunch, 0.35);
}
public function add(_arg1:FlxEmitter):void{
_e = _arg1;
}
override public function update():void{
var _local1:uint;
if (y <= -64){
if (_p.x > (x - 480)){
FlxG.play(SndBombPre);
};
};
if (_p.x > (x - 480)){
super.update();
};
if (velocity.y > 0){
if (y > _y){
velocity.y = 0;
y = _y;
angularVelocity = ((Math.random() * 120) - 60);
angularDrag = Math.abs(angularVelocity);
_e.reset();
FlxG.quake(0.065, 0.15);
_local1 = 0;
while (_local1 < _en.length) {
_en[_local1].x = ((x - 16) + (_local1 * 8));
_en[_local1].y = ((_y + 12) + (Math.random() * 8));
_en[_local1].randomFrame();
_local1++;
};
FlxG.play(SndBombHit);
};
} else {
if (overlaps(_p)){
FlxG.play(SndBombExplode);
_p.y = 400;
_p.epitaph = "turning into a fine mist.";
_s.aftermath();
};
};
}
}
}//package com.adamatomic.Canabalt
Section 3
//Bomb_ImgBomb (com.adamatomic.Canabalt.Bomb_ImgBomb)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Bomb_ImgBomb extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 4
//Bomb_SndBombExplode (com.adamatomic.Canabalt.Bomb_SndBombExplode)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Bomb_SndBombExplode extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 5
//Bomb_SndBombHit (com.adamatomic.Canabalt.Bomb_SndBombHit)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Bomb_SndBombHit extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 6
//Bomb_SndBombLaunch (com.adamatomic.Canabalt.Bomb_SndBombLaunch)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Bomb_SndBombLaunch extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 7
//Bomb_SndBombPre (com.adamatomic.Canabalt.Bomb_SndBombPre)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Bomb_SndBombPre extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 8
//CBlock (com.adamatomic.Canabalt.CBlock)
package com.adamatomic.Canabalt {
import flash.geom.*;
import com.adamatomic.flixel.*;
public class CBlock extends FlxBlock {
public function CBlock(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:Class){
var _local7:uint;
var _local10:uint;
super(_arg1, _arg2, _arg3, _arg4, null);
exists = true;
active = true;
visible = true;
dead = false;
scrollFactor = new Point(1, 1);
_pixels = FlxG.addBitmap(_arg5);
_rects = new FlxArray();
_p = new Point();
_tileSize = _pixels.height;
var _local6:uint = Math.ceil((width / _tileSize));
_local7 = Math.ceil((height / _tileSize));
width = (_local6 * _tileSize);
height = (_local7 * _tileSize);
var _local8:uint = (_local6 * _local7);
var _local9:uint = (_pixels.width / _tileSize);
var _local11:uint;
while (_local11 < _local8) {
if ((_local11 % _local6) == 0){
_local10 = 0;
} else {
if ((_local11 % _local6) == (_local6 - 1)){
_local10 = 2;
} else {
_local10 = 1;
};
};
_rects.push(new Rectangle((_tileSize * _local10), 0, _tileSize, _tileSize));
_local11++;
};
}
}
}//package com.adamatomic.Canabalt
Section 9
//CraneTrigger (com.adamatomic.Canabalt.CraneTrigger)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class CraneTrigger extends FlxCore {
private var _p:Player;
public function CraneTrigger(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Player){
x = _arg1;
y = _arg2;
width = _arg3;
height = _arg4;
_p = _arg5;
}
override public function update():void{
if (overlaps(_p)){
_p.craneFeet();
};
}
override public function render():void{
}
}
}//package com.adamatomic.Canabalt
Section 10
//DemoMgr (com.adamatomic.Canabalt.DemoMgr)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class DemoMgr extends FlxSprite {
private var _p:Player;
private var _c:FlxArray;
private var _go:Boolean;
private var SndCrumble:Class;
public function DemoMgr(_arg1:int, _arg2:Player, _arg3:FlxArray){
SndCrumble = DemoMgr_SndCrumble;
super(null, _arg1, 0, false, false, 1, 1, 4294967295);
x = _arg1;
_p = _arg2;
_c = new FlxArray();
var _local4:uint;
while (_local4 < _arg3.length) {
_c.push(_arg3[_local4]);
_local4++;
};
maxVelocity.y = 300;
velocity.y = 60;
acceleration.y = 40;
_go = false;
}
public function add(_arg1:FlxCore):void{
_c.add(_arg1);
}
override public function update():void{
var _local1:Number;
var _local2:uint;
if (!_go){
if (_p.x > x){
_go = true;
FlxG.play(SndCrumble);
FlxG.quake(0.005, 3);
_c[(_c.length - 1)].reset();
};
};
if (_go){
_local1 = y;
super.update();
_local2 = 0;
while (_local2 < _c.length) {
_c[_local2].y = (_c[_local2].y + (y - _local1));
_local2++;
};
};
}
override public function render():void{
}
}
}//package com.adamatomic.Canabalt
Section 11
//DemoMgr_SndCrumble (com.adamatomic.Canabalt.DemoMgr_SndCrumble)
package com.adamatomic.Canabalt {
import mx.core.*;
public class DemoMgr_SndCrumble extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 12
//Dove (com.adamatomic.Canabalt.Dove)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class Dove extends FlxSprite {
private const _radius:uint = 128;
private var _player:Player;
private var SndFlap1:Class;
private var SndFlap2:Class;
private var SndFlap3:Class;
private var _trigger:int;
private var ImgDove:Class;
private var _flaps:FlxArray;
public function Dove(_arg1:int, _arg2:int, _arg3:Player, _arg4:int){
ImgDove = Dove_ImgDove;
SndFlap1 = Dove_SndFlap1;
SndFlap2 = Dove_SndFlap2;
SndFlap3 = Dove_SndFlap3;
super(ImgDove, _arg1, _arg2, true, true);
_player = _arg3;
_trigger = (_arg4 + ((Math.random() * (_arg1 - _arg4)) * 0.5));
addAnimation("idle", [3]);
var _local5:uint = (Math.random() * 3);
addAnimation("fly", [_local5, ((_local5 + 1) % 3), ((_local5 + 2) % 3)], 15);
facing = ((Math.random())>0.5) ? LEFT : RIGHT;
play("idle");
_flaps = new FlxArray();
_flaps.push(SndFlap1);
_flaps.push(SndFlap2);
_flaps.push(SndFlap3);
}
override public function update():void{
var _local1:int;
if (_player.x > _trigger){
if (velocity.y == 0){
if (Math.random() < 0.5){
FlxG.play((FlxArray.getRandom(_flaps) as Class));
};
play("fly");
velocity.y = (-50 - (Math.random() * 50));
acceleration.y = (-50 - (Math.random() * 300));
_local1 = (Math.random() * 300);
acceleration.x = ((facing)==LEFT) ? _local1 : -(_local1);
};
super.update();
};
}
}
}//package com.adamatomic.Canabalt
Section 13
//Dove_ImgDove (com.adamatomic.Canabalt.Dove_ImgDove)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Dove_ImgDove extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 14
//Dove_SndFlap1 (com.adamatomic.Canabalt.Dove_SndFlap1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Dove_SndFlap1 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 15
//Dove_SndFlap2 (com.adamatomic.Canabalt.Dove_SndFlap2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Dove_SndFlap2 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 16
//Dove_SndFlap3 (com.adamatomic.Canabalt.Dove_SndFlap3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Dove_SndFlap3 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 17
//Jet (com.adamatomic.Canabalt.Jet)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class Jet extends FlxSprite {
private var SndFlyby:Class;
private var _timer:Number;
private var _limit:Number;
private var ImgJet:Class;
public function Jet(){
ImgJet = Jet_ImgJet;
SndFlyby = Jet_SndFlyby;
super(ImgJet, -500);
scrollFactor.x = 0;
scrollFactor.y = 0.3;
_timer = 0;
_limit = (12 + (Math.random() * 4));
velocity.x = -1200;
}
override public function update():void{
_timer = (_timer + FlxG.elapsed);
if (_timer > _limit){
x = 960;
y = (-20 + (Math.random() * 80));
FlxG.quake(0.015, 1.5);
FlxG.play(SndFlyby);
_timer = 0;
_limit = (10 + (Math.random() * 20));
};
if (x < -(width)){
return;
};
super.update();
}
}
}//package com.adamatomic.Canabalt
Section 18
//Jet_ImgJet (com.adamatomic.Canabalt.Jet_ImgJet)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Jet_ImgJet extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 19
//Jet_SndFlyby (com.adamatomic.Canabalt.Jet_SndFlyby)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Jet_SndFlyby extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 20
//MenuState (com.adamatomic.Canabalt.MenuState)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class MenuState extends FlxState {
private var SndRun:Class;
private var SndTitle:Class;
private var ImgEduDC:Class;
private var _title:FlxSprite;
private var ImgTitle2:Class;
private var ImgCursor:Class;
private var ImgTitle3:Class;
private var ImgEduKeys:Class;
private var _b1:FlxButton;
private var _b2:FlxButton;
private var _b3:FlxButton;
private var ImgEduSpace:Class;
private var ImgTitle:Class;
private var _title2:FlxSprite;
private var _title3:FlxSprite;
public function MenuState():void{
ImgTitle = MenuState_ImgTitle;
ImgTitle2 = MenuState_ImgTitle2;
ImgTitle3 = MenuState_ImgTitle3;
ImgEduSpace = MenuState_ImgEduSpace;
ImgEduDC = MenuState_ImgEduDC;
ImgEduKeys = MenuState_ImgEduKeys;
ImgCursor = MenuState_ImgCursor;
SndTitle = MenuState_SndTitle;
SndRun = MenuState_SndRun;
super();
_title = new FlxSprite(ImgTitle, 0, -(FlxG.height));
_title.velocity.y = 135;
_title.drag.y = 60;
add(_title);
_title2 = new FlxSprite(ImgTitle2, ((FlxG.width - 341) / 2), 9);
_title2.alpha = 0;
add(_title2);
_b1 = (add(new FlxButton(8, (FlxG.height - 34), new FlxSprite(ImgEduSpace), onSpace)) as FlxButton);
_b2 = (add(new FlxButton(((FlxG.width / 2) - 50), (FlxG.height - 34), new FlxSprite(ImgEduDC), onDC)) as FlxButton);
_b3 = (add(new FlxButton(((FlxG.width - 100) - 8), (FlxG.height - 34), new FlxSprite(ImgEduKeys), onKeys)) as FlxButton);
FlxG.setMusic(SndTitle);
FlxG.setCursor(ImgCursor);
}
private function onDC():void{
FlxG.level = 2;
FlxG.switchState(PlayState);
FlxG.setMusic(SndRun);
_b1.destroy();
_b2.destroy();
_b3.destroy();
}
override public function update():void{
super.update();
if ((((_title.velocity.y == 0)) && ((_title2.alpha < 1)))){
_title2.alpha = (_title2.alpha + FlxG.elapsed);
};
if (((FlxG.kA) || (FlxG.kB))){
FlxG.switchState(PlayState);
FlxG.setMusic(SndRun);
};
}
private function onKeys():void{
FlxG.level = 3;
FlxG.switchState(PlayState);
FlxG.setMusic(SndRun);
_b1.destroy();
_b2.destroy();
_b3.destroy();
}
private function onSpace():void{
FlxG.level = 1;
FlxG.switchState(PlayState);
FlxG.setMusic(SndRun);
_b1.destroy();
_b2.destroy();
_b3.destroy();
}
}
}//package com.adamatomic.Canabalt
Section 21
//MenuState_ImgCursor (com.adamatomic.Canabalt.MenuState_ImgCursor)
package com.adamatomic.Canabalt {
import mx.core.*;
public class MenuState_ImgCursor extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 22
//MenuState_ImgEduDC (com.adamatomic.Canabalt.MenuState_ImgEduDC)
package com.adamatomic.Canabalt {
import mx.core.*;
public class MenuState_ImgEduDC extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 23
//MenuState_ImgEduKeys (com.adamatomic.Canabalt.MenuState_ImgEduKeys)
package com.adamatomic.Canabalt {
import mx.core.*;
public class MenuState_ImgEduKeys extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 24
//MenuState_ImgEduSpace (com.adamatomic.Canabalt.MenuState_ImgEduSpace)
package com.adamatomic.Canabalt {
import mx.core.*;
public class MenuState_ImgEduSpace extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 25
//MenuState_ImgTitle (com.adamatomic.Canabalt.MenuState_ImgTitle)
package com.adamatomic.Canabalt {
import mx.core.*;
public class MenuState_ImgTitle extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 26
//MenuState_ImgTitle2 (com.adamatomic.Canabalt.MenuState_ImgTitle2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class MenuState_ImgTitle2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 27
//MenuState_ImgTitle3 (com.adamatomic.Canabalt.MenuState_ImgTitle3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class MenuState_ImgTitle3 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 28
//MenuState_SndRun (com.adamatomic.Canabalt.MenuState_SndRun)
package com.adamatomic.Canabalt {
import mx.core.*;
public class MenuState_SndRun extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 29
//MenuState_SndTitle (com.adamatomic.Canabalt.MenuState_SndTitle)
package com.adamatomic.Canabalt {
import mx.core.*;
public class MenuState_SndTitle extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 30
//Obstacle (com.adamatomic.Canabalt.Obstacle)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class Obstacle extends FlxSprite {
private var ImgObstacles:Class;
private var _p:Player;
private var SndOb1:Class;
private var SndOb2:Class;
private var SndOb3:Class;
private var ImgObstacles2:Class;
public function Obstacle(_arg1:int, _arg2:int, _arg3:Player, _arg4:Boolean=false){
ImgObstacles = Obstacle_ImgObstacles;
ImgObstacles2 = Obstacle_ImgObstacles2;
SndOb1 = Obstacle_SndOb1;
SndOb2 = Obstacle_SndOb2;
SndOb3 = Obstacle_SndOb3;
super((_arg4) ? ImgObstacles2 : ImgObstacles, _arg1, _arg2, true);
randomFrame();
width = 12;
height = 2;
offset.x = 1;
offset.y = 12;
y = (y - height);
_p = _arg3;
}
override public function update():void{
var _local1:int;
if (((!(dead)) && (overlaps(_p)))){
_p.stumble();
_p.velocity.x = (_p.velocity.x * 0.7);
_local1 = (Math.random() * 3);
switch (_local1){
case 0:
FlxG.play(SndOb1);
break;
case 1:
FlxG.play(SndOb2);
break;
case 2:
FlxG.play(SndOb3);
break;
default:
break;
};
velocity.x = ((_p.velocity.x + (Math.random() * 100)) - 50);
velocity.y = -120;
acceleration.y = 320;
kill();
};
super.update();
}
override public function hitFloor():Boolean{
velocity.y = (-(velocity.y) / 4);
return (true);
}
override public function kill():void{
dead = true;
flicker(0);
angularVelocity = ((Math.random() * 720) - 360);
}
}
}//package com.adamatomic.Canabalt
Section 31
//Obstacle_ImgObstacles (com.adamatomic.Canabalt.Obstacle_ImgObstacles)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Obstacle_ImgObstacles extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 32
//Obstacle_ImgObstacles2 (com.adamatomic.Canabalt.Obstacle_ImgObstacles2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Obstacle_ImgObstacles2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 33
//Obstacle_SndOb1 (com.adamatomic.Canabalt.Obstacle_SndOb1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Obstacle_SndOb1 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 34
//Obstacle_SndOb2 (com.adamatomic.Canabalt.Obstacle_SndOb2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Obstacle_SndOb2 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 35
//Obstacle_SndOb3 (com.adamatomic.Canabalt.Obstacle_SndOb3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Obstacle_SndOb3 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 36
//Player (com.adamatomic.Canabalt.Player)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class Player extends FlxSprite {
private var SndJump1:Class;
private var _jump:Number;
private var _feet:FlxArray;
public var jumpLimit:Number;
public var _onFloor:Boolean;
private var SndWall:Class;
private var SndFoot1:Class;
private var SndFoot2:Class;
private var SndFoot3:Class;
private var SndFoot4:Class;
public var _stumble:Boolean;
private var _my:Number;
public var jumped:Boolean;
public var epitaph:String;
private var _feetC:FlxArray;
private var _craneFeet:Boolean;
private var _fc:Number;
private var ImgPlayer:Class;
private var SndFootC1:Class;
private var SndFootC2:Class;
private var SndFootC3:Class;
private var SndFootC4:Class;
private var _ft:Number;
private var SndJump2:Class;
private var SndJump3:Class;
private var SndTumble:Class;
public function Player(){
ImgPlayer = Player_ImgPlayer;
SndJump1 = Player_SndJump1;
SndJump2 = Player_SndJump2;
SndJump3 = Player_SndJump3;
SndFoot1 = Player_SndFoot1;
SndFoot2 = Player_SndFoot2;
SndFoot3 = Player_SndFoot3;
SndFoot4 = Player_SndFoot4;
SndFootC1 = Player_SndFootC1;
SndFootC2 = Player_SndFootC2;
SndFootC3 = Player_SndFootC3;
SndFootC4 = Player_SndFootC4;
SndTumble = Player_SndTumble;
SndWall = Player_SndWall;
super(ImgPlayer, 0, (80 - 14), true);
width = 12;
height = 14;
offset.x = 4;
offset.y = 10;
addAnimation("run1", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 15);
addAnimation("run2", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 28);
addAnimation("run3", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 40);
addAnimation("run4", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 60);
addAnimation("jump", [16, 17, 18, 19], 12, false);
addAnimation("fall", [20, 21, 22, 23, 24, 25, 26], 14);
addAnimation("stumble1", [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], 14);
addAnimation("stumble2", [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], 21);
addAnimation("stumble3", [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], 28);
addAnimation("stumble4", [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], 35);
drag.x = 640;
acceleration.x = 1;
acceleration.y = 1200;
maxVelocity.x = 800;
velocity.x = 100;
maxVelocity.y = 300;
_my = 0;
_fc = 0;
_feet = new FlxArray();
_feet.push(SndFoot1);
_feet.push(SndFoot2);
_feet.push(SndFoot3);
_feet.push(SndFoot4);
_feetC = new FlxArray();
_feetC.push(SndFootC1);
_feetC.push(SndFootC2);
_feetC.push(SndFootC3);
_feetC.push(SndFootC4);
_craneFeet = false;
epitaph = "falling to your death.";
}
public function stumble():void{
FlxG.play(SndTumble);
_stumble = true;
if (velocity.x > 500){
play("stumble4", true);
} else {
if (velocity.x > 300){
play("stumble3", true);
} else {
if (velocity.x > 150){
play("stumble2", true);
} else {
play("stumble1", true);
};
};
};
}
override public function hitWall():Boolean{
acceleration.x = (velocity.x = 0);
FlxG.play(SndWall);
epitaph = "hitting a wall and falling.";
return (super.hitWall());
}
override public function hitFloor():Boolean{
_onFloor = true;
if (_my > 0.235){
stumble();
};
if (!jumped){
_jump = 0;
};
if (FlxG.level == 2){
jumped = false;
_jump = 0;
};
_my = 0;
return (super.hitFloor());
}
override public function update():void{
var _local1:int;
if (y > 340){
dead = true;
return;
};
if (acceleration.x <= 0){
maxVelocity.y = 1000;
super.update();
return;
};
if (velocity.x < 0){
velocity.x = 0;
};
if (velocity.x < 100){
acceleration.x = 35;
};
if (velocity.x < 250){
acceleration.x = 18;
} else {
if (velocity.x < 400){
acceleration.x = 9;
} else {
if (velocity.x < 600){
acceleration.x = 5;
} else {
acceleration.x = 3;
};
};
};
jumpLimit = (velocity.x / (maxVelocity.x * 2.5));
if (jumpLimit > 0.35){
jumpLimit = 0.35;
};
if ((((_jump >= 0)) && (jumped))){
if (_jump == 0){
_local1 = (Math.random() * 4);
switch (_local1){
case 0:
FlxG.play(SndJump1);
break;
case 1:
FlxG.play(SndJump2);
break;
case 2:
FlxG.play(SndJump3);
break;
default:
break;
};
};
_jump = (_jump + FlxG.elapsed);
if (_jump > jumpLimit){
_jump = -1;
};
} else {
_jump = -1;
};
if (_jump > 0){
_onFloor = false;
_craneFeet = false;
if (_jump < 0.08){
velocity.y = (-(maxVelocity.y) * 0.65);
} else {
velocity.y = -(maxVelocity.y);
};
};
if (_onFloor){
_ft = ((1 - (velocity.x / maxVelocity.x)) * 0.35);
if (_ft < 0.15){
_ft = 0.15;
};
_fc = (_fc + FlxG.elapsed);
if (_fc > _ft){
_fc = 0;
if (_craneFeet){
FlxG.play((FlxArray.getRandom(_feetC) as Class));
_craneFeet = false;
} else {
FlxG.play((FlxArray.getRandom(_feet) as Class));
};
};
if (((_stumble) && (finished))){
_stumble = false;
};
if (!_stumble){
if (velocity.x < 150){
play("run1");
} else {
if (velocity.x < 300){
play("run2");
} else {
if (velocity.x < 600){
play("run3");
} else {
play("run4");
};
};
};
};
} else {
if (velocity.y < -140){
play("jump");
} else {
if (velocity.y > -140){
play("fall");
_stumble = false;
};
};
};
if (_onFloor){
velocity.y = 300;
};
super.update();
if (_onFloor){
velocity.y = 0;
};
_onFloor = false;
if (velocity.y == maxVelocity.y){
_my = (_my + FlxG.elapsed);
};
}
public function craneFeet():void{
_craneFeet = true;
}
}
}//package com.adamatomic.Canabalt
Section 37
//Player_ImgPlayer (com.adamatomic.Canabalt.Player_ImgPlayer)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_ImgPlayer extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 38
//Player_SndFoot1 (com.adamatomic.Canabalt.Player_SndFoot1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndFoot1 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 39
//Player_SndFoot2 (com.adamatomic.Canabalt.Player_SndFoot2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndFoot2 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 40
//Player_SndFoot3 (com.adamatomic.Canabalt.Player_SndFoot3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndFoot3 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 41
//Player_SndFoot4 (com.adamatomic.Canabalt.Player_SndFoot4)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndFoot4 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 42
//Player_SndFootC1 (com.adamatomic.Canabalt.Player_SndFootC1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndFootC1 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 43
//Player_SndFootC2 (com.adamatomic.Canabalt.Player_SndFootC2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndFootC2 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 44
//Player_SndFootC3 (com.adamatomic.Canabalt.Player_SndFootC3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndFootC3 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 45
//Player_SndFootC4 (com.adamatomic.Canabalt.Player_SndFootC4)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndFootC4 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 46
//Player_SndJump1 (com.adamatomic.Canabalt.Player_SndJump1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndJump1 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 47
//Player_SndJump2 (com.adamatomic.Canabalt.Player_SndJump2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndJump2 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 48
//Player_SndJump3 (com.adamatomic.Canabalt.Player_SndJump3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndJump3 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 49
//Player_SndTumble (com.adamatomic.Canabalt.Player_SndTumble)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndTumble extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 50
//Player_SndWall (com.adamatomic.Canabalt.Player_SndWall)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Player_SndWall extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 51
//PlayState (com.adamatomic.Canabalt.PlayState)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class PlayState extends FlxState {
private var _player:Player;
private var ImgMothership:Class;
private var _btnText2:FlxText;
private var _btnText3:FlxText;
private var _epitaph:String;
private var ImgSmoke:Class;
private var _support:FlxButton;
private var _distText2:FlxText;
private var _distText3:FlxText;
private var _seqB:Sequence;
private var _gameover:Number;
private var _seqA:Sequence;
private var ImgGameOver:Class;
private var SndCrumble:Class;
private var _key:int;
private var ImgBackground:Class;
private var _ct:Number;
private var ImgMidground1:Class;
private var ImgMidground2:Class;
private var junk:String;// = "PlayState_junk"
private var _keyName:String;
private var _shardsA:FlxArray;
private var _shardsB:FlxArray;
private var _distText:FlxText;
private var _focus:FlxSprite;
private var _btnText:FlxText;
private var ImgGirder1:Class;
private var ImgGirder2:Class;
private var _smoke:FlxArray;
public function PlayState():void{
var _local1:uint;
var _local2:FlxSprite;
var _local3:FlxEmitter;
var _local4:FlxArray;
var _local5:BG;
var _local8:uint;
ImgMidground1 = PlayState_ImgMidground1;
ImgMidground2 = PlayState_ImgMidground2;
ImgBackground = PlayState_ImgBackground;
ImgSmoke = PlayState_ImgSmoke;
ImgMothership = PlayState_ImgMothership;
ImgGirder1 = PlayState_ImgGirder1;
ImgGirder2 = PlayState_ImgGirder2;
ImgGameOver = PlayState_ImgGameOver;
SndCrumble = PlayState_SndCrumble;
super();
_player = new Player();
_btnText2 = (new FlxText(160, -2, 160, 50, "", 3487037, "type", 40, "center") as FlxText);
_btnText2.scrollFactor.x = 0;
_btnText2.scrollFactor.y = 0;
_btnText3 = (new FlxText(162, -2, 160, 50, "", 3487037, "type", 40, "center") as FlxText);
_btnText3.scrollFactor.x = 0;
_btnText3.scrollFactor.y = 0;
_btnText = (new FlxText(160, -4, 160, 50, "", 0xFFFFFF, "type", 40, "center") as FlxText);
_btnText.scrollFactor.x = 0;
_btnText.scrollFactor.y = 0;
setKey(-1, "");
if (FlxG.level == 2){
_keyName = "DOUBLE-CLICK";
};
_local2 = new FlxSprite(null, 0, 0, false, false, FlxG.width, FlxG.height, 4289769663);
_local2.scrollFactor.x = 0;
_local2.scrollFactor.y = 0;
add(_local2);
_local2 = new FlxSprite(ImgMothership, 800, 0);
_local2.scrollFactor.x = 0.01;
_local2.scrollFactor.y = 0;
add(_local2);
_smoke = new FlxArray();
_local1 = 0;
while (_local1 < 5) {
_local4 = new FlxArray();
_local8 = 0;
while (_local8 < 100) {
_local2 = new FlxSprite(ImgSmoke);
_local2.scrollFactor.x = 0.1;
_local2.scrollFactor.y = 0.05;
add(_local2);
_local4.add(_local2);
_local8++;
};
_local3 = new FlxEmitter(0, 0, 0, 0, _local4, 0.15, -2, 1, -6, -18, 0, 0, 0, 0);
add(_local3);
_smoke.add(_local3);
_local1++;
};
add(new Walker(_smoke));
add(new Walker(_smoke));
_local5 = new BG(ImgBackground, 0, 12);
_local5.scrollFactor.x = 0.15;
_local5.scrollFactor.y = 0.1;
add(_local5);
_local5 = new BG(ImgBackground, 480, 12);
_local5.scrollFactor.x = 0.15;
_local5.scrollFactor.y = 0.1;
add(_local5);
_local5 = new BG(ImgMidground1, 0, 42);
_local5.scrollFactor.x = 0.4;
_local5.scrollFactor.y = 0.2;
add(_local5);
_local5 = new BG(ImgMidground2, 480, 42);
_local5.scrollFactor.x = 0.4;
_local5.scrollFactor.y = 0.2;
add(_local5);
add(new Jet());
_focus = new FlxSprite(null, 0, 0, false, false, 1, 1);
FlxG.follow(_focus, 15);
FlxG.followBounds(0, 0, int.MAX_VALUE, 320);
FlxG.followAdjust(1.5);
var _local6:uint = 50;
var _local7:uint = 4;
_shardsA = new FlxArray();
_local1 = 0;
while (_local1 < _local6) {
_shardsA.add(new Shard());
_local1++;
};
_shardsB = new FlxArray();
_local1 = 0;
while (_local1 < _local6) {
_shardsB.add(new Shard());
_local1++;
};
Sequence.curIndex = 0;
Sequence.nextIndex = (3 + (Math.random() * 3));
Sequence.nextType = 1;
_seqA = (this.add(new Sequence(_player, _shardsA, _shardsB)) as Sequence);
_seqB = (this.add(new Sequence(_player, _shardsA, _shardsB)) as Sequence);
_seqA.init(_seqB);
_seqB.init(_seqA);
_local1 = 0;
while (_local1 < _local6) {
add(_shardsA[_local1]);
add(_shardsB[_local1]);
_local1++;
};
this.add(_player);
_local5 = new BG(ImgGirder1, 3000, 0, true);
_local5.scrollFactor.x = 3;
_local5.scrollFactor.y = 1.5;
add(_local5);
_local5 = new BG(ImgGirder2, 3000, 0, true);
_local5.scrollFactor.x = 4;
_local5.scrollFactor.y = 1.5;
add(_local5);
_distText2 = (this.add(new FlxText((FlxG.width - 80), 1, 80, 50, "", 3487037, null, 8, "right")) as FlxText);
_distText2.scrollFactor.x = 0;
_distText2.scrollFactor.y = 0;
_distText3 = (this.add(new FlxText((FlxG.width - 79), 1, 80, 50, "", 3487037, null, 8, "right")) as FlxText);
_distText3.scrollFactor.x = 0;
_distText3.scrollFactor.y = 0;
_distText = (this.add(new FlxText((FlxG.width - 80), 0, 80, 50, "", 0xFFFFFF, null, 8, "right")) as FlxText);
_distText.scrollFactor.x = 0;
_distText.scrollFactor.y = 0;
if (FlxG.level == 3){
add(_btnText2);
add(_btnText3);
add(_btnText);
};
FlxG.quake(0.01, 3);
_gameover = 0;
FlxG.play(SndCrumble);
}
override public function handleKeyUp(_arg1:uint):void{
if (_arg1 == _key){
_player.jumped = false;
} else {
if (FlxG.level == 3){
_player.stumble();
};
};
}
public function setKey(_arg1:int, _arg2:String):void{
_key = _arg1;
_btnText.setText(_arg2);
_btnText2.setText(_arg2);
_btnText3.setText(_arg2);
_player.jumped = false;
}
override public function update():void{
var _local3:int;
var _local4:FlxSprite;
var _local5:FlxText;
var _local6:int;
if (FlxG.level == 2){
if (FlxG.kMouse){
if ((((_ct > 0)) && ((_ct < 0.25)))){
_player.jumped = true;
};
_ct = 0;
} else {
_ct = (_ct + FlxG.elapsed);
};
};
if (_gameover > 0){
_gameover = (_gameover + FlxG.elapsed);
};
if ((((_gameover > 0.35)) && (_player.jumped))){
FlxG.switchState(PlayState);
};
_focus.x = (_player.x + (FlxG.width * 0.5));
_focus.y = ((_player.y + (FlxG.height * 0.18)) + (_player._onFloor) ? 0 : 20);
var _local1:Boolean = _player.dead;
super.update();
FlxG.collideArray(_seqA.blocks, _player);
FlxG.collideArray(_seqB.blocks, _player);
FlxG.collideArrays(_seqA.blocks, _shardsA);
FlxG.collideArrays(_seqA.blocks, _shardsB);
FlxG.collideArrays(_seqB.blocks, _shardsA);
FlxG.collideArrays(_seqB.blocks, _shardsB);
var _local2 = (int((_player.x / 10)) + "m");
_distText.setText(_local2);
_distText2.setText(_local2);
_distText3.setText(_local2);
if (((_player.dead) && (!(_local1)))){
_gameover = 0.01;
_local3 = 42;
_local4 = new FlxSprite(null, 0, (_local3 + 35), false, false, FlxG.width, 32, 4281677117);
_local4.scrollFactor.x = 0;
_local4.scrollFactor.y = 0;
add(_local4);
_local4 = new FlxSprite(null, 0, (_local3 + 67), false, false, FlxG.width, 1, 4294967295);
_local4.scrollFactor.x = 0;
_local4.scrollFactor.y = 0;
add(_local4);
_local4 = new FlxSprite(null, 0, (FlxG.height - 18), false, false, FlxG.width, 18, 4281677117);
_local4.scrollFactor.x = 0;
_local4.scrollFactor.y = 0;
add(_local4);
_local4 = new FlxSprite(ImgGameOver, ((FlxG.width - 390) / 2), _local3);
_local4.scrollFactor.x = 0;
_local4.scrollFactor.y = 0;
add(_local4);
_local6 = (_player.x / 10);
_epitaph = ((("You ran " + _local6) + "m before ") + _player.epitaph);
_local5 = new FlxText(0, (_local3 + 50), FlxG.width, 20, _epitaph, 0xFFFFFF, null, 8, "center");
_local5.scrollFactor.x = 0;
_local5.scrollFactor.y = 0;
add(_local5);
_local5 = new FlxText(0, (FlxG.height - 15), (FlxG.width - 3), 20, "Jump to retry your daring escape.", 0xFFFFFF, null, 8, "right");
_local5.scrollFactor.x = 0;
_local5.scrollFactor.y = 0;
add(_local5);
_distText.visible = false;
_distText2.visible = false;
_distText3.visible = false;
FlxG.resetKeys();
};
}
override public function handleKeyDown(_arg1:uint):void{
if (_arg1 == _key){
_player.jumped = true;
} else {
if (FlxG.level == 3){
_player.stumble();
};
};
}
}
}//package com.adamatomic.Canabalt
Section 52
//PlayState_ImgBackground (com.adamatomic.Canabalt.PlayState_ImgBackground)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_ImgBackground extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 53
//PlayState_ImgGameOver (com.adamatomic.Canabalt.PlayState_ImgGameOver)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_ImgGameOver extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 54
//PlayState_ImgGirder1 (com.adamatomic.Canabalt.PlayState_ImgGirder1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_ImgGirder1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 55
//PlayState_ImgGirder2 (com.adamatomic.Canabalt.PlayState_ImgGirder2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_ImgGirder2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 56
//PlayState_ImgMidground1 (com.adamatomic.Canabalt.PlayState_ImgMidground1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_ImgMidground1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 57
//PlayState_ImgMidground2 (com.adamatomic.Canabalt.PlayState_ImgMidground2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_ImgMidground2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 58
//PlayState_ImgMothership (com.adamatomic.Canabalt.PlayState_ImgMothership)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_ImgMothership extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 59
//PlayState_ImgSmoke (com.adamatomic.Canabalt.PlayState_ImgSmoke)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_ImgSmoke extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 60
//PlayState_junk (com.adamatomic.Canabalt.PlayState_junk)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_junk extends FontAsset {
}
}//package com.adamatomic.Canabalt
Section 61
//PlayState_SndCrumble (com.adamatomic.Canabalt.PlayState_SndCrumble)
package com.adamatomic.Canabalt {
import mx.core.*;
public class PlayState_SndCrumble extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 62
//Sequence (com.adamatomic.Canabalt.Sequence)
package com.adamatomic.Canabalt {
import flash.geom.*;
import com.adamatomic.flixel.*;
public class Sequence extends FlxCore {
private const _tileSize:uint = 16;
private var _player:Player;
private var ImgRoof1:Class;
private var ImgRoof3:Class;
private var ImgEscape:Class;
private var ImgAC:Class;
private var ImgRoof6:Class;
private var ImgReservoir:Class;
private var ImgRoof5:Class;
private var _floors:FlxArray;
private var ImgWindow1:Class;
private var ImgWindow2:Class;
private var ImgWindow3:Class;
private var ImgWindow4:Class;
private var _roofs:FlxArray;
private var ImgFloor1:Class;
private var ImgFloor2:Class;
private var ImgHall1:Class;
private var ImgHall2:Class;
private var ImgDishes:Class;
private var _shardsA:FlxArray;
private var ImgFence:Class;
private var _windows:FlxArray;
private var _shardsB:FlxArray;
private var ImgSkylight:Class;
private var _layer:FlxLayer;
private var ImgPipe1:Class;
private var ImgPipe2:Class;
private var ImgCracks:Class;
public var blocks:FlxArray;
private var _seq:Sequence;
private var ImgDoors:Class;
private var ImgBlock:Class;
private var _antennas:FlxArray;
private var ImgWall1:Class;
private var ImgWall2:Class;
private var ImgWall3:Class;
private var ImgWall4:Class;
private var ImgSlope:Class;
private var ImgCrane1:Class;
private var ImgCrane2:Class;
private var ImgCrane3:Class;
private var ImgCrane5:Class;
private var ImgAntenna1:Class;
private var ImgAntenna2:Class;
private var ImgAntenna3:Class;
public var roof:Boolean;
private var ImgAntenna5:Class;
private var ImgAntenna6:Class;
private var ImgAntenna4:Class;
private var ImgCrane4:Class;
private var ImgAccess:Class;
private var _walls:FlxArray;
private var _p:Point;
private var ImgDemoGibs:Class;
private var ImgRoof2:Class;
private var ImgRoof4:Class;
private static var keyNames:Array;
public static var curIndex:uint;
private static var keys:Array;
public static var nextType:uint;
public static var nextIndex:uint;
public function Sequence(_arg1:Player, _arg2:FlxArray, _arg3:FlxArray){
var _local4:uint;
ImgWall1 = Sequence_ImgWall1;
ImgWall2 = Sequence_ImgWall2;
ImgWall3 = Sequence_ImgWall3;
ImgWall4 = Sequence_ImgWall4;
ImgRoof1 = Sequence_ImgRoof1;
ImgRoof2 = Sequence_ImgRoof2;
ImgRoof3 = Sequence_ImgRoof3;
ImgRoof4 = Sequence_ImgRoof4;
ImgRoof5 = Sequence_ImgRoof5;
ImgRoof6 = Sequence_ImgRoof6;
ImgFloor1 = Sequence_ImgFloor1;
ImgFloor2 = Sequence_ImgFloor2;
ImgHall1 = Sequence_ImgHall1;
ImgHall2 = Sequence_ImgHall2;
ImgWindow1 = Sequence_ImgWindow1;
ImgWindow2 = Sequence_ImgWindow2;
ImgWindow3 = Sequence_ImgWindow3;
ImgWindow4 = Sequence_ImgWindow4;
ImgDoors = Sequence_ImgDoors;
ImgAntenna1 = Sequence_ImgAntenna1;
ImgAntenna2 = Sequence_ImgAntenna2;
ImgAntenna3 = Sequence_ImgAntenna3;
ImgAntenna4 = Sequence_ImgAntenna4;
ImgAntenna5 = Sequence_ImgAntenna5;
ImgAntenna6 = Sequence_ImgAntenna6;
ImgDishes = Sequence_ImgDishes;
ImgAC = Sequence_ImgAC;
ImgSkylight = Sequence_ImgSkylight;
ImgReservoir = Sequence_ImgReservoir;
ImgPipe1 = Sequence_ImgPipe1;
ImgPipe2 = Sequence_ImgPipe2;
ImgDemoGibs = Sequence_ImgDemoGibs;
ImgCracks = Sequence_ImgCracks;
ImgEscape = Sequence_ImgEscape;
ImgBlock = Sequence_ImgBlock;
ImgSlope = Sequence_ImgSlope;
ImgAccess = Sequence_ImgAccess;
ImgFence = Sequence_ImgFence;
ImgCrane1 = Sequence_ImgCrane1;
ImgCrane2 = Sequence_ImgCrane2;
ImgCrane3 = Sequence_ImgCrane3;
ImgCrane4 = Sequence_ImgCrane4;
ImgCrane5 = Sequence_ImgCrane5;
super();
_player = _arg1;
_shardsA = _arg2;
_shardsB = _arg3;
x = 0;
y = 0;
width = 0;
height = 0;
_walls = new FlxArray();
_walls.add(ImgWall1);
_walls.add(ImgWall2);
_walls.add(ImgWall3);
_walls.add(ImgWall4);
_roofs = new FlxArray();
_roofs.add(ImgRoof1);
_roofs.add(ImgRoof2);
_roofs.add(ImgRoof3);
_roofs.add(ImgRoof4);
_roofs.add(ImgRoof5);
_roofs.add(ImgRoof6);
_floors = new FlxArray();
_floors.add(ImgFloor1);
_floors.add(ImgFloor2);
_windows = new FlxArray();
_windows.add(ImgWindow1);
_windows.add(ImgWindow2);
_windows.add(ImgWindow3);
_windows.add(ImgWindow4);
_antennas = new FlxArray();
_antennas.add(ImgAntenna1);
_antennas.add(ImgAntenna2);
_antennas.add(ImgAntenna3);
_antennas.add(ImgAntenna4);
_antennas.add(ImgAntenna5);
_antennas.add(ImgAntenna6);
_antennas.add(ImgDishes);
_layer = new FlxLayer();
_p = new Point();
blocks = new FlxArray();
roof = false;
if (keys == null){
keys = new Array();
keyNames = new Array();
addKey("Space", 32);
addKey("Return", 13);
addKey("Shift", 16);
_local4 = 65;
while (_local4 <= 90) {
addKey(String.fromCharCode(_local4), _local4);
_local4++;
};
};
}
public function init(_arg1:Sequence):void{
_seq = _arg1;
reset();
}
private function decorate(_arg1:int, _arg2:int, _arg3:int):void{
var _local4:int;
var _local5:int;
var _local6:int;
_local6 = 40;
_local5 = (_arg3 / _local6);
_local4 = 0;
while (_local4 < _local5) {
if (Math.random() < 0.3){
_layer.add(new FlxSprite(ImgAC, ((_arg1 + _tileSize) + (_local6 * _local4)), (_arg2 - _tileSize)));
};
_local4++;
};
if (Math.random() < 0.5){
_local6 = 100;
_local5 = (_arg3 / _local6);
_local4 = 0;
while (_local4 < _local5) {
if (Math.random() < 0.35){
_layer.add(new FlxSprite(ImgPipe1, ((_arg1 + _tileSize) + (_local6 * _local4)), (_arg2 - _tileSize)));
};
_local4++;
};
_local6 = 70;
_local5 = (_arg3 / _local6);
_local4 = 0;
while (_local4 < _local5) {
if (Math.random() < 0.35){
_layer.add(new FlxSprite(ImgPipe2, ((_arg1 + _tileSize) + (_local6 * _local4)), (_arg2 - (_tileSize * 2))));
};
_local4++;
};
if (Math.random() < 0.5){
_local6 = 16;
_local5 = ((_arg3 - 32) / _local6);
_local4 = 0;
while (_local4 < _local5) {
if (Math.random() < 0.3){
_layer.add(new FlxSprite((FlxArray.getRandom(_antennas) as Class), ((_arg1 + _tileSize) + (_local6 * _local4)), (_arg2 - 128)));
};
_local4++;
};
};
} else {
_local6 = 140;
_local5 = (_arg3 / _local6);
_local4 = 0;
while (_local4 < _local5) {
if (Math.random() < 0.5){
_layer.add(new FlxSprite(ImgSkylight, ((_arg1 + _tileSize) + (_local6 * _local4)), ((_arg2 - _tileSize) + 1)));
};
_local4++;
};
_local6 = 200;
_local5 = (_arg3 / _local6);
_local4 = 0;
while (_local4 < _local5) {
if (Math.random() < 0.25){
_layer.add(new FlxSprite(ImgAccess, ((_arg1 + _tileSize) + (_local6 * _local4)), (_arg2 - 24)));
};
_local4++;
};
_local6 = 200;
_local5 = (_arg3 / _local6);
_local4 = 0;
while (_local4 < _local5) {
if (Math.random() < 0.5){
_layer.add(new FlxSprite(ImgReservoir, ((_arg1 + _tileSize) + (_local6 * _local4)), (_arg2 - (_tileSize * 6))));
};
_local4++;
};
};
if (Math.random() < 0.4){
_local5 = ((_arg3 / 32) - 1);
_layer.add(new FlxBlock((_arg1 + 32), (_arg2 - 32), (_local5 * 32), 32, ImgFence));
};
}
public function addKey(_arg1:String, _arg2:uint):void{
keys.push(_arg2);
keyNames.push(_arg1);
}
public function reset():void{
var _local2:int;
var _local3:int;
var _local4:FlxSprite;
var _local10:FlxBlock;
var _local21:Bomb;
var _local22:FlxEmitter;
var _local23:int;
var _local24:Number;
var _local25:int;
var _local26:int;
var _local27:int;
var _local28:FlxArray;
var _local29:Boolean;
var _local30:int;
var _local31:FlxSprite;
var _local32:DemoMgr;
var _local33:int;
var _local1:uint;
if (FlxG.level != 2){
if (FlxG.level == 3){
_local1 = (Math.random() * keys.length);
};
(FlxG.state as PlayState).setKey(keys[_local1], keyNames[_local1]);
};
clear();
var _local5:Class = (FlxArray.getRandom(_walls) as Class);
var _local6:Class = (FlxArray.getRandom(_windows) as Class);
var _local7 = "roof";
var _local8:Array = new Array("hallway", "collapse", "crane");
if (curIndex == nextIndex){
_local7 = _local8[nextType];
nextIndex = (nextIndex + (3 + (Math.random() * 5)));
nextType = (Math.random() * _local8.length);
};
if (curIndex == 0){
x = (-4 * _tileSize);
y = (5 * _tileSize);
width = (60 * _tileSize);
height = (320 - y);
_local7 = "hallway";
} else {
if (curIndex == 1){
x = ((_seq.x + _seq.width) + (8 * _tileSize));
y = (15 * _tileSize);
height = (320 - y);
width = (42 * _tileSize);
};
};
var _local9:int;
if (_local7 == "hallway"){
if (_player.velocity.x > 640){
_local9 = 6;
} else {
if (_player.velocity.x > 480){
_local9 = 5;
} else {
if (_player.velocity.x > 320){
_local9 = 4;
} else {
_local9 = 3;
};
};
};
};
var _local11:int = ((FlxG.width / _tileSize) + 2);
var _local12:int = (((_player.velocity.x * 0.7) / _tileSize) * 0.7);
var _local13:int = (_local12 * 0.4);
var _local14:Number = Math.random();
var _local15:int = (_local13 + (_local14 * (_local12 - _local13)));
if ((((_local7 == "hallway")) && ((_local15 > 12)))){
_local15 = 12;
};
var _local16:int = (_local11 - _local15);
if ((((_player.velocity.x < (_player.maxVelocity.x * 0.8))) && ((_local16 < 12)))){
_local16 = 12;
} else {
if (_local16 < 6){
_local16 = 6;
};
};
var _local17:int = (_local16 * 2);
var _local18:int = (((_seq.y / _tileSize) - 2) - _local9);
var _local19:int = ((6 * _player.jumpLimit) / 0.35);
if (_local18 > _local19){
_local18 = _local19;
};
if (_local18 > 0){
_local18 = Math.ceil((_local18 * (1 - _local14)));
};
var _local20:int = ((_seq.height / _tileSize) - 1);
if (_local20 > 10){
_local20 = 10;
};
if (curIndex > 1){
x = ((_seq.x + _seq.width) + (_local15 * _tileSize));
_local23 = ((Math.random() * _local20) - _local18);
if (_local23 == 0){
_local23--;
};
y = (_seq.y + (_local23 * _tileSize));
height = (320 - y);
width = (Math.floor((_local16 + (Math.random() * _local17))) * _tileSize);
};
if ((((((((_local7 == "collapse")) && (((width / height) > (_player.velocity.x / 75))))) || ((((_local7 == "bomb")) && ((width < _player.velocity.x)))))) || ((((_local7 == "crane")) && ((((height < 32)) || ((width < 400)))))))){
_local7 = "roof";
nextIndex = (curIndex + 1);
};
if (_local7 == "crane"){
width = (width / 32);
width = (width * 32);
};
_local10 = new FlxBlock(x, y, (width + 8), height, null);
blocks.add(_local10);
if ((((((_local7 == "roof")) || ((_local7 == "collapse")))) || ((_local7 == "bomb")))){
if (y > _seq.y){
_layer.add(new FlxSprite((FlxArray.getRandom(_antennas) as Class), (x + _tileSize), (y - 128)));
};
_local24 = Math.random();
if (_local24 < 0.2){
decorate(x, y, width);
} else {
if (_local24 < 0.6){
_local27 = (2 + (Math.random() * ((width / _tileSize) / 4)));
_local25 = ((width / _tileSize) - (_local27 * 2));
_local26 = (1 + (Math.random() * 4));
if (_local26 > 2){
_layer.add(new FlxBlock((x + (_local27 * _tileSize)), (y - (_local26 * _tileSize)), (_local25 * _tileSize), ((_local26 - 1) * _tileSize), ImgBlock));
_layer.add(new FlxBlock((x + ((_local27 + 1) * _tileSize)), (y - _tileSize), ((_local25 - 2) * _tileSize), _tileSize, ImgBlock));
} else {
_layer.add(new FlxBlock((x + (_local27 * _tileSize)), (y - (_local26 * _tileSize)), (_local25 * _tileSize), (_local26 * _tileSize), ImgBlock));
};
decorate((x + (_local27 * _tileSize)), (y - (_local26 * _tileSize)), (_local25 * _tileSize));
} else {
_local26 = (1 + (Math.random() * 4));
if (width < (12 * _tileSize)){
_local26 = 1;
};
_local2 = 0;
while (_local2 < _local26) {
_layer.add(new CBlock((x + ((1 + _local2) * _tileSize)), (y - ((_local2 + 1) * _tileSize)), (width - ((2 * (_local2 + 1)) * _tileSize)), _tileSize, ImgSlope));
_local2++;
};
decorate((x + (_local26 * _tileSize)), (y - (_local26 * _tileSize)), (width - ((2 * (_local26 + 1)) * _tileSize)));
};
};
if (Math.random() < 0.5){
_layer.add(new FlxBlock((x + width), (y + 16), 32, height, ImgEscape));
};
if (_local7 == "bomb"){
_local28 = new FlxArray();
_local2 = 0;
while (_local2 < 6) {
_local28.push(new FlxSprite(ImgDemoGibs, -100, -100, true));
_local2++;
};
_local21 = new Bomb((x + (width / 2)), y, _player, _local28, this);
_layer.add(_local21);
_local2 = 0;
while (_local2 < _local28.length) {
_layer.add(_local28[_local2]);
_local2++;
};
};
};
if (_local7 == "crane"){
_layer.add(new CraneTrigger(x, (y - 32), width, 32, _player));
_layer.add(new CBlock(x, y, width, 32, ImgCrane1));
_local29 = (Math.random() < 0.5);
_local30 = (width * 0.35);
if (_local30 < 128){
_local30 = 128;
};
if (_local29){
_layer.add(new FlxBlock((x + _local30), (y + 32), 32, (height - 32), ImgCrane2));
_layer.add(new FlxSprite(ImgCrane3, (x + 8), (y + 4)));
_layer.add(new FlxSprite(ImgAntenna5, (x - 8), (y - 128)));
_layer.add(new FlxSprite(ImgAntenna5, ((x + _local30) - 8), (y - 128)));
_layer.add(new FlxSprite(ImgAntenna5, ((x + width) - 24), (y - 128)));
_layer.add(new FlxSprite(ImgCrane4, ((x + _local30) - 8), (y - 9)));
_layer.add(new FlxSprite(ImgCrane5, ((x + _local30) + (Math.random() * ((width - _local30) - 64))), (y + 20)));
} else {
_layer.add(new FlxBlock((((x + width) - _local30) - 32), (y + 32), 32, (height - 32), ImgCrane2));
_layer.add(new FlxSprite(ImgCrane3, ((x + width) - 72), (y + 4)));
_layer.add(new FlxSprite(ImgAntenna5, (x - 8), (y - 128)));
_layer.add(new FlxSprite(ImgAntenna5, (((x + width) - _local30) - 24), (y - 128)));
_layer.add(new FlxSprite(ImgAntenna5, ((x + width) - 24), (y - 128)));
_local31 = new FlxSprite(ImgCrane4, (((x + width) - _local30) - 40), (y - 9), false, true, 48);
_local31.facing = FlxSprite.LEFT;
_layer.add(_local31);
_layer.add(new FlxSprite(ImgCrane5, (x + (Math.random() * ((width - _local30) - 128))), (y + 20)));
};
} else {
if (_local7 == "hallway"){
_layer.add(new CBlock(x, y, width, _tileSize, (FlxArray.getRandom(_floors) as Class)));
} else {
_layer.add(new CBlock(x, y, width, _tileSize, (FlxArray.getRandom(_roofs) as Class)));
};
_layer.add(new CBlock(x, (y + _tileSize), width, (height - _tileSize), _local5));
if (_local7 == "collapse"){
_layer.add(new FlxBlock(x, y, width, height, ImgCracks));
};
_local3 = (((height / _tileSize) - 1) / 2);
_local2 = 0;
while (_local2 < _local3) {
_layer.add(new FlxBlock((x + _tileSize), (y + ((2 + (_local2 * 2)) * _tileSize)), (width - (2 * _tileSize)), _tileSize, _local6));
_local2++;
};
};
if (_local7 != "hallway"){
if (Math.random() < 0.35){
_local3 = ((width / 120) * (2 + (Math.random() * 12)));
_local2 = 0;
while (_local2 < _local3) {
_layer.add(new Dove((x + int((Math.random() * (width - 8)))), (y - 8), _player, x));
_local2++;
};
};
};
if (_local7 == "bomb"){
_local22 = new FlxEmitter(((x + (width / 2)) - 32), y, 64, 0, null, -3, -240, 240, -320, 0, -720, 720, 800, 0, ImgDemoGibs, 50, true, _layer);
_local22.kill();
_local21.add(_local22);
_layer.add(_local22);
};
if (_local7 == "collapse"){
_local32 = new DemoMgr(x, _player, _layer.children());
_local32.add(_local10);
_local22 = new FlxEmitter(x, y, width, height, null, 0.01, -200, 200, -120, 0, -720, 720, 400, 0, ImgDemoGibs, 50, true, _layer);
_local22.kill();
_layer.add(_local22);
_local32.add(_local22);
_layer.add(_local32);
} else {
if ((((_local7 == "roof")) && ((curIndex > 1)))){
_local2 = 0;
while (_local2 < 3) {
if (Math.random() < 0.15){
_layer.add(new Obstacle(((x + (width / 8)) + (Math.random() * (width / 2))), y, _player, true));
};
_local2++;
};
};
};
if (_local7 == "hallway"){
_local9 = (_local9 * _tileSize);
blocks.add(new FlxBlock(x, -128, width, ((y - _local9) + 128), null));
_layer.add(new CBlock(x, 0, width, (y - _local9), _local5));
_local3 = (((y - _local9) / _tileSize) / 2);
_local2 = 0;
while (_local2 < _local3) {
_layer.add(new FlxBlock((x + _tileSize), ((y - _local9) - ((2 + (_local2 * 2)) * _tileSize)), (width - (2 * _tileSize)), _tileSize, _local6));
_local2++;
};
_layer.add(new CBlock(x, (y - _tileSize), width, _tileSize, ImgHall1));
_layer.add(new CBlock(x, (y - (2 * _tileSize)), width, _tileSize, ImgHall2));
_layer.add(new FlxSprite(null, x, (y - _local9), false, false, width, (_local9 - (2 * _tileSize)), 4281677117));
_layer.add(new Window((((x + width) - Window.w) - 1), y, _local9, _layer, _player, _shardsA));
_layer.add(new Window((x + 1), y, _local9, _layer, _player, _shardsB));
_local3 = (((width / _tileSize) - 3) / 4);
_local2 = 1;
while (_local2 < _local3) {
if (Math.random() > 0.65){
} else {
_local4 = new FlxSprite(ImgDoors, ((x + ((_local2 * _tileSize) * 4)) - _tileSize), (y - 19), true, false, 12);
_local4.randomFrame();
_layer.add(_local4);
};
_local2++;
};
if (curIndex == 0){
_layer.add(new Obstacle((32 * _tileSize), y, _player));
_layer.add(new Obstacle((48 * _tileSize), y, _player));
} else {
_local2 = 0;
while (_local2 < 3) {
if (Math.random() < 0.65){
_layer.add(new Obstacle(((x + (width / 8)) + (Math.random() * (width / 2))), y, _player));
};
_local2++;
};
};
};
if (_local7 == "collapse"){
_local33 = ((width / _tileSize) * 0.5);
if (_local33 > ((height / _tileSize) - 1)){
_local33 = ((height / _tileSize) - 1);
};
height = (height - (_local33 * _tileSize));
y = (y + (_local33 * _tileSize));
};
curIndex++;
}
public function clear():void{
_layer.destroy();
blocks.clear();
}
override public function render():void{
super.render();
_layer.render();
}
override public function update():void{
getScreenXY(_p);
if ((_p.x + width) < 0){
reset();
};
super.update();
_layer.update();
}
public function aftermath():void{
FlxG.flash(4294967295, 4);
clear();
(_layer.add(new FlxEmitter((x + (width / 2)), -(FlxG.height), FlxG.width, FlxG.height, null, -10, 0, 0, -400, 200, 0, 0, 100, 0, ImgDemoGibs, 200, true, _layer)) as FlxEmitter).reset();
}
}
}//package com.adamatomic.Canabalt
Section 63
//Sequence_ImgAC (com.adamatomic.Canabalt.Sequence_ImgAC)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgAC extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 64
//Sequence_ImgAccess (com.adamatomic.Canabalt.Sequence_ImgAccess)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgAccess extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 65
//Sequence_ImgAntenna1 (com.adamatomic.Canabalt.Sequence_ImgAntenna1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgAntenna1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 66
//Sequence_ImgAntenna2 (com.adamatomic.Canabalt.Sequence_ImgAntenna2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgAntenna2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 67
//Sequence_ImgAntenna3 (com.adamatomic.Canabalt.Sequence_ImgAntenna3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgAntenna3 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 68
//Sequence_ImgAntenna4 (com.adamatomic.Canabalt.Sequence_ImgAntenna4)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgAntenna4 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 69
//Sequence_ImgAntenna5 (com.adamatomic.Canabalt.Sequence_ImgAntenna5)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgAntenna5 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 70
//Sequence_ImgAntenna6 (com.adamatomic.Canabalt.Sequence_ImgAntenna6)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgAntenna6 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 71
//Sequence_ImgBlock (com.adamatomic.Canabalt.Sequence_ImgBlock)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgBlock extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 72
//Sequence_ImgCracks (com.adamatomic.Canabalt.Sequence_ImgCracks)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgCracks extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 73
//Sequence_ImgCrane1 (com.adamatomic.Canabalt.Sequence_ImgCrane1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgCrane1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 74
//Sequence_ImgCrane2 (com.adamatomic.Canabalt.Sequence_ImgCrane2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgCrane2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 75
//Sequence_ImgCrane3 (com.adamatomic.Canabalt.Sequence_ImgCrane3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgCrane3 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 76
//Sequence_ImgCrane4 (com.adamatomic.Canabalt.Sequence_ImgCrane4)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgCrane4 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 77
//Sequence_ImgCrane5 (com.adamatomic.Canabalt.Sequence_ImgCrane5)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgCrane5 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 78
//Sequence_ImgDemoGibs (com.adamatomic.Canabalt.Sequence_ImgDemoGibs)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgDemoGibs extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 79
//Sequence_ImgDishes (com.adamatomic.Canabalt.Sequence_ImgDishes)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgDishes extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 80
//Sequence_ImgDoors (com.adamatomic.Canabalt.Sequence_ImgDoors)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgDoors extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 81
//Sequence_ImgEscape (com.adamatomic.Canabalt.Sequence_ImgEscape)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgEscape extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 82
//Sequence_ImgFence (com.adamatomic.Canabalt.Sequence_ImgFence)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgFence extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 83
//Sequence_ImgFloor1 (com.adamatomic.Canabalt.Sequence_ImgFloor1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgFloor1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 84
//Sequence_ImgFloor2 (com.adamatomic.Canabalt.Sequence_ImgFloor2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgFloor2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 85
//Sequence_ImgHall1 (com.adamatomic.Canabalt.Sequence_ImgHall1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgHall1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 86
//Sequence_ImgHall2 (com.adamatomic.Canabalt.Sequence_ImgHall2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgHall2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 87
//Sequence_ImgPipe1 (com.adamatomic.Canabalt.Sequence_ImgPipe1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgPipe1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 88
//Sequence_ImgPipe2 (com.adamatomic.Canabalt.Sequence_ImgPipe2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgPipe2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 89
//Sequence_ImgReservoir (com.adamatomic.Canabalt.Sequence_ImgReservoir)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgReservoir extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 90
//Sequence_ImgRoof1 (com.adamatomic.Canabalt.Sequence_ImgRoof1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgRoof1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 91
//Sequence_ImgRoof2 (com.adamatomic.Canabalt.Sequence_ImgRoof2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgRoof2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 92
//Sequence_ImgRoof3 (com.adamatomic.Canabalt.Sequence_ImgRoof3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgRoof3 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 93
//Sequence_ImgRoof4 (com.adamatomic.Canabalt.Sequence_ImgRoof4)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgRoof4 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 94
//Sequence_ImgRoof5 (com.adamatomic.Canabalt.Sequence_ImgRoof5)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgRoof5 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 95
//Sequence_ImgRoof6 (com.adamatomic.Canabalt.Sequence_ImgRoof6)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgRoof6 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 96
//Sequence_ImgSkylight (com.adamatomic.Canabalt.Sequence_ImgSkylight)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgSkylight extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 97
//Sequence_ImgSlope (com.adamatomic.Canabalt.Sequence_ImgSlope)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgSlope extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 98
//Sequence_ImgWall1 (com.adamatomic.Canabalt.Sequence_ImgWall1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgWall1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 99
//Sequence_ImgWall2 (com.adamatomic.Canabalt.Sequence_ImgWall2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgWall2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 100
//Sequence_ImgWall3 (com.adamatomic.Canabalt.Sequence_ImgWall3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgWall3 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 101
//Sequence_ImgWall4 (com.adamatomic.Canabalt.Sequence_ImgWall4)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgWall4 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 102
//Sequence_ImgWindow1 (com.adamatomic.Canabalt.Sequence_ImgWindow1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgWindow1 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 103
//Sequence_ImgWindow2 (com.adamatomic.Canabalt.Sequence_ImgWindow2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgWindow2 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 104
//Sequence_ImgWindow3 (com.adamatomic.Canabalt.Sequence_ImgWindow3)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgWindow3 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 105
//Sequence_ImgWindow4 (com.adamatomic.Canabalt.Sequence_ImgWindow4)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Sequence_ImgWindow4 extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 106
//Shard (com.adamatomic.Canabalt.Shard)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class Shard extends FlxSprite {
private var _s:FlxArray;
private var SndGlass1:Class;
private var SndGlass2:Class;
public function Shard(){
SndGlass1 = Shard_SndGlass1;
SndGlass2 = Shard_SndGlass2;
super(null, -100, -100, false, false, ((Math.random() * 4) + 1), ((Math.random() * 4) + 1), 4294967295);
_s = new FlxArray();
_s.push(SndGlass1);
_s.push(SndGlass2);
}
override public function hitFloor():Boolean{
if (((((width + height) > 6)) && ((velocity.y > 150)))){
FlxG.play((FlxArray.getRandom(_s) as Class), 0.5);
};
velocity.y = (-(velocity.y) * 0.35);
velocity.x = (velocity.x * 0.65);
angularVelocity = ((Math.random() * 1140) - 720);
return (true);
}
override public function update():void{
if (y > (FlxG.height * 2)){
exists = false;
};
super.update();
}
}
}//package com.adamatomic.Canabalt
Section 107
//Shard_SndGlass1 (com.adamatomic.Canabalt.Shard_SndGlass1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Shard_SndGlass1 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 108
//Shard_SndGlass2 (com.adamatomic.Canabalt.Shard_SndGlass2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Shard_SndGlass2 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 109
//Walker (com.adamatomic.Canabalt.Walker)
package com.adamatomic.Canabalt {
import flash.geom.*;
import com.adamatomic.flixel.*;
public class Walker extends FlxSprite {
private var _idleTimer:Number;
private var _firing:Boolean;
private var _smoke:FlxArray;
private var _p:Point;
private var ImgWalker:Class;
private var _walkTimer:Number;
private static var _s:uint;
public function Walker(_arg1:FlxArray){
ImgWalker = Walker_ImgWalker;
super(ImgWalker, -500, (16 + (Math.random() * 4)), true, true, 96);
_smoke = _arg1;
scrollFactor.x = 0.1;
scrollFactor.y = 0.05;
addAnimation("idle", [0]);
addAnimation("walk", [0, 1, 2, 3, 4, 5], 8);
addAnimation("fire", [6, 7, 8, 9, 10, 11], 8, false);
play("idle");
_p = new Point();
}
override public function update():void{
if (_walkTimer > 0){
_walkTimer = (_walkTimer - FlxG.elapsed);
if (_walkTimer <= 0){
play("fire");
_firing = true;
velocity.x = 0;
if (++_s >= _smoke.length){
_s = 0;
};
_smoke[_s].x = (x + ((facing)==LEFT) ? (width - 22) : 10);
_smoke[_s].y = (y + height);
_smoke[_s].reset();
};
} else {
if (_firing){
if (finished){
_firing = false;
_idleTimer = (1 + (Math.random() * 2));
play("idle");
};
} else {
if (_idleTimer > 0){
_idleTimer = (_idleTimer - FlxG.elapsed);
if (_idleTimer <= 0){
if (Math.random() < 0.5){
_walkTimer = (2 + (Math.random() * 4));
play("walk");
velocity.x = ((facing)==LEFT) ? 40 : -40;
} else {
play("fire");
_firing = true;
if (++_s >= _smoke.length){
_s = 0;
};
_smoke[_s].x = (x + ((facing)==LEFT) ? (width - 22) : 10);
_smoke[_s].y = (y + height);
_smoke[_s].reset();
};
};
};
};
};
getScreenXY(_p);
if ((_p.x + width) < 0){
_walkTimer = (Math.random() * 2);
facing = ((Math.random())>0.5) ? LEFT : RIGHT;
x = (x + ((FlxG.width + width) + (Math.random() * FlxG.width)));
};
super.update();
}
}
}//package com.adamatomic.Canabalt
Section 110
//Walker_ImgWalker (com.adamatomic.Canabalt.Walker_ImgWalker)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Walker_ImgWalker extends BitmapAsset {
}
}//package com.adamatomic.Canabalt
Section 111
//Window (com.adamatomic.Canabalt.Window)
package com.adamatomic.Canabalt {
import com.adamatomic.flixel.*;
public class Window extends FlxSprite {
private var _shards:FlxEmitter;
private var _player:Player;
private var SndWindow1:Class;
private var SndWindow2:Class;
public static const w:uint = 2;
public function Window(_arg1:int, _arg2:int, _arg3:uint, _arg4:FlxLayer, _arg5:Player, _arg6:FlxArray){
SndWindow1 = Window_SndWindow1;
SndWindow2 = Window_SndWindow2;
super(null, _arg1, (_arg2 - _arg3), false, false, w, _arg3, 4294967295);
width = 32;
_player = _arg5;
_shards = (_arg4.add(new FlxEmitter(x, y, width, height, _arg6, -3, 0, 0, 0, 0, -720, 720, 500, 0, null, 0, false, _arg4)) as FlxEmitter);
}
override public function update():void{
var _local1:Number;
if (overlaps(_player)){
if (Math.random() < 0.5){
FlxG.play(SndWindow1, 0.35);
} else {
FlxG.play(SndWindow2, 0.35);
};
exists = false;
_shards.minVelocity.x = (_player.velocity.x / 2);
_shards.maxVelocity.x = (_shards.minVelocity.x * 3);
_local1 = _player.velocity.y;
if (_local1 > 0){
_local1 = 0;
};
_shards.minVelocity.y = ((_player.velocity.y / 2) - (Math.random() * 40));
_shards.maxVelocity.y = (_shards.minVelocity.y * 3);
_shards.reset();
};
}
}
}//package com.adamatomic.Canabalt
Section 112
//Window_SndWindow1 (com.adamatomic.Canabalt.Window_SndWindow1)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Window_SndWindow1 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 113
//Window_SndWindow2 (com.adamatomic.Canabalt.Window_SndWindow2)
package com.adamatomic.Canabalt {
import mx.core.*;
public class Window_SndWindow2 extends SoundAsset {
}
}//package com.adamatomic.Canabalt
Section 114
//FlxAnim (com.adamatomic.flixel.data.FlxAnim)
package com.adamatomic.flixel.data {
public class FlxAnim {
public var delay:Number;
public var frames:Array;
public var looped:Boolean;
public var name:String;
public function FlxAnim(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true){
name = _arg1;
delay = (1 / _arg3);
frames = _arg2;
looped = _arg4;
}
}
}//package com.adamatomic.flixel.data
Section 115
//FlxFactory (com.adamatomic.flixel.data.FlxFactory)
package com.adamatomic.flixel.data {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
public class FlxFactory extends MovieClip {
protected var className:String;
private var bits:Array;
private var ImgBit:Class;
private var bmpBar:Bitmap;
private var Buffer:Sprite;
private var ImgBar:Class;
protected var myURL:String;
public function FlxFactory(){
var _local1:Bitmap;
var _local3:TextFormat;
var _local4:TextField;
ImgBar = FlxFactory_ImgBar;
ImgBit = FlxFactory_ImgBit;
super();
stop();
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
if (((((((!((myURL == null))) && ((myURL.length > 0)))) && ((root.loaderInfo.url.indexOf(myURL) < 0)))) && ((root.loaderInfo.url.indexOf("localhost") < 0)))){
_local1 = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 4294967295));
addChild(_local1);
_local3 = new TextFormat();
_local3.color = 0;
_local3.size = 16;
_local3.align = "center";
_local3.bold = true;
_local4 = new TextField();
_local4.width = (_local1.width - 16);
_local4.height = (_local1.height - 16);
_local4.y = 8;
_local4.multiline = true;
_local4.wordWrap = true;
_local4.defaultTextFormat = _local3;
_local4.text = (("Hi there! It looks like somebody copied this game without my permission. It is meant to be played ad-free! If you would like to play it at my site with NO annoying ads, just click anywhere, or copy-paste this URL into your browser.\n\n" + myURL) + "\n\nThanks, and have fun!");
addChild(_local4);
_local4.addEventListener(MouseEvent.CLICK, goToMyURL);
_local1.addEventListener(MouseEvent.CLICK, goToMyURL);
return;
};
Buffer = new Sprite();
Buffer.scaleX = 2;
Buffer.scaleY = 2;
addChild(Buffer);
bmpBar = new ImgBar();
bmpBar.x = (((stage.stageWidth / Buffer.scaleX) - bmpBar.width) / 2);
bmpBar.y = (((stage.stageHeight / Buffer.scaleY) - bmpBar.height) / 2);
Buffer.addChild(bmpBar);
bits = new Array();
var _local2:uint;
while (_local2 < 9) {
_local1 = new ImgBit();
_local1.visible = false;
_local1.x = ((bmpBar.x + 2) + (_local2 * 3));
_local1.y = (bmpBar.y + 2);
bits.push(_local1);
Buffer.addChild(_local1);
_local2++;
};
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function goToMyURL(_arg1:MouseEvent=null):void{
navigateToURL(new URLRequest(("http://" + myURL)));
}
private function onEnterFrame(_arg1:Event):void{
var _local2:int;
var _local3:Class;
var _local4:Object;
var _local5:uint;
graphics.clear();
if (framesLoaded == totalFrames){
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
nextFrame();
_local3 = Class(getDefinitionByName(className));
if (_local3){
_local4 = new (_local3);
addChild((_local4 as DisplayObject));
};
_local2 = (bits.length - 1);
while (_local2 >= 0) {
bits.pop();
_local2--;
};
removeChild(Buffer);
} else {
_local5 = ((root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal) * 10);
_local2 = 0;
while ((((_local2 < _local5)) && ((_local2 < bits.length)))) {
bits[_local2].visible = true;
_local2++;
};
};
}
}
}//package com.adamatomic.flixel.data
Section 116
//FlxFactory_ImgBar (com.adamatomic.flixel.data.FlxFactory_ImgBar)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxFactory_ImgBar extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 117
//FlxFactory_ImgBit (com.adamatomic.flixel.data.FlxFactory_ImgBit)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxFactory_ImgBit extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 118
//FlxLogoPixel (com.adamatomic.flixel.data.FlxLogoPixel)
package com.adamatomic.flixel.data {
import flash.display.*;
public class FlxLogoPixel extends Sprite {
private var _curLayer:uint;
private var _layers:Array;
public function FlxLogoPixel(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:uint){
x = _arg1;
y = _arg2;
_layers = new Array();
var _local6:Array = new Array(4294901760, 4278255360, 4278190335, 4294967040, 4278255615);
_layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _arg5))));
var _local7:uint;
while (_local7 < _local6.length) {
_layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _local6[_arg4]))));
++_arg4;
if (_arg4 >= _local6.length){
_arg4 = 0;
};
_local7++;
};
_curLayer = (_layers.length - 1);
}
public function update():void{
if (_curLayer == 0){
return;
};
if (_layers[_curLayer].alpha >= 0.1){
_layers[_curLayer].alpha = (_layers[_curLayer].alpha - 0.1);
} else {
_layers[_curLayer].alpha = 0;
_curLayer--;
};
}
}
}//package com.adamatomic.flixel.data
Section 119
//FlxPanel (com.adamatomic.flixel.data.FlxPanel)
package com.adamatomic.flixel.data {
import com.adamatomic.flixel.*;
import flash.ui.*;
public class FlxPanel extends FlxCore {
private var _close:FlxButton;
private var _digg:FlxButton;
private var _gameTitle:String;
private var _closed:Boolean;
private var _payPalID:String;
private var _donate:FlxButton;
private var ImgClose:Class;
private var _topBar:FlxSprite;
private var _ty:Number;
private var _caption:FlxText;
private var _initialized:Boolean;
private var _twitter:FlxButton;
private var _delicious:FlxButton;
private var _stumble:FlxButton;
private var ImgDelicious:Class;
private var ImgTwitter:Class;
private var _mainBar:FlxSprite;
private var _gameURL:String;
private var ImgStumble:Class;
private var ImgReddit:Class;
private var ImgDigg:Class;
private var _bottomBar:FlxSprite;
private var _payPalAmount:Number;
private var _s:Number;
private var ImgDonate:Class;
private var _reddit:FlxButton;
public function FlxPanel(){
ImgDonate = FlxPanel_ImgDonate;
ImgStumble = FlxPanel_ImgStumble;
ImgDigg = FlxPanel_ImgDigg;
ImgReddit = FlxPanel_ImgReddit;
ImgDelicious = FlxPanel_ImgDelicious;
ImgTwitter = FlxPanel_ImgTwitter;
ImgClose = FlxPanel_ImgClose;
super();
y = -21;
_ty = y;
_closed = false;
_initialized = false;
_topBar = new FlxSprite(null, 0, 0, false, false, FlxG.width, 1, 2147483647);
_topBar.scrollFactor.x = 0;
_topBar.scrollFactor.y = 0;
_mainBar = new FlxSprite(null, 0, 0, false, false, FlxG.width, 19, 2130706432);
_mainBar.scrollFactor.x = 0;
_mainBar.scrollFactor.y = 0;
_bottomBar = new FlxSprite(null, 0, 0, false, false, FlxG.width, 1, 2147483647);
_bottomBar.scrollFactor.x = 0;
_bottomBar.scrollFactor.y = 0;
_donate = new FlxButton(3, 0, new FlxSprite(ImgDonate), onDonate);
_donate.scrollFactor.x = 0;
_donate.scrollFactor.y = 0;
_stumble = new FlxButton(((((((FlxG.width / 2) - 6) - 13) - 6) - 13) - 6), 0, new FlxSprite(ImgStumble), onStumble);
_stumble.scrollFactor.x = 0;
_stumble.scrollFactor.y = 0;
_digg = new FlxButton(((((FlxG.width / 2) - 6) - 13) - 6), 0, new FlxSprite(ImgDigg), onDigg);
_digg.scrollFactor.x = 0;
_digg.scrollFactor.y = 0;
_reddit = new FlxButton(((FlxG.width / 2) - 6), 0, new FlxSprite(ImgReddit), onReddit);
_reddit.scrollFactor.x = 0;
_reddit.scrollFactor.y = 0;
_delicious = new FlxButton((((FlxG.width / 2) + 7) + 6), 0, new FlxSprite(ImgDelicious), onDelicious);
_delicious.scrollFactor.x = 0;
_delicious.scrollFactor.y = 0;
_twitter = new FlxButton((((((FlxG.width / 2) + 7) + 6) + 12) + 6), 0, new FlxSprite(ImgTwitter), onTwitter);
_twitter.scrollFactor.x = 0;
_twitter.scrollFactor.y = 0;
_caption = new FlxText((FlxG.width / 2), 0, ((FlxG.width / 2) - 19), 20, "", 0xFFFFFF, null, 8, "right");
_caption.scrollFactor.x = 0;
_caption.scrollFactor.y = 0;
_close = new FlxButton((FlxG.width - 16), 0, new FlxSprite(ImgClose), onClose);
_close.scrollFactor.x = 0;
_close.scrollFactor.y = 0;
hide();
_s = 50;
}
public function onDelicious():void{
FlxG.openURL(((("http://delicious.com/save?v=5&noui&jump=close&url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function init(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{
_payPalID = _arg1;
if (_payPalID.length <= 0){
_donate.visible = false;
};
_payPalAmount = _arg2;
_gameTitle = _arg3;
_gameURL = _arg4;
_caption.setText(_arg5);
_initialized = true;
}
public function onTwitter():void{
FlxG.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL))));
}
public function show(_arg1:Boolean=true):void{
if (_closed){
return;
};
if (_arg1){
y = -21;
_ty = -1;
} else {
y = FlxG.height;
_ty = (FlxG.height - 20);
};
Mouse.show();
visible = true;
}
public function onStumble():void{
FlxG.openURL(("http://www.stumbleupon.com/submit?url=" + encodeURIComponent(_gameURL)));
}
override public function render():void{
if (!_initialized){
return;
};
if (_topBar.visible){
_topBar.render();
};
if (_mainBar.visible){
_mainBar.render();
};
if (_bottomBar.visible){
_bottomBar.render();
};
if (_donate.visible){
_donate.render();
};
if (_stumble.visible){
_stumble.render();
};
if (_digg.visible){
_digg.render();
};
if (_reddit.visible){
_reddit.render();
};
if (_delicious.visible){
_delicious.render();
};
if (_twitter.visible){
_twitter.render();
};
if (_caption.visible){
_caption.render();
};
if (_close.visible){
_close.render();
};
}
public function onDigg():void{
FlxG.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function onReddit():void{
FlxG.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL)));
}
public function onDonate():void{
FlxG.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")¤cy_code=USD&amount=") + _payPalAmount));
}
override public function update():void{
if (!_initialized){
return;
};
if (_ty != y){
if (y < _ty){
y = (y + (FlxG.elapsed * _s));
if (y > _ty){
y = _ty;
};
} else {
y = (y - (FlxG.elapsed * _s));
if (y < _ty){
y = _ty;
};
};
};
if ((((y <= -21)) || ((y > FlxG.height)))){
visible = false;
};
_topBar.y = y;
_mainBar.y = (y + 1);
_bottomBar.y = (y + 20);
_donate.y = (y + 4);
_stumble.y = (y + 4);
_digg.y = (y + 4);
_reddit.y = (y + 4);
_delicious.y = (y + 5);
_twitter.y = (y + 4);
_caption.y = (y + 4);
_close.y = (y + 4);
if (_donate.active){
_donate.update();
};
if (_stumble.active){
_stumble.update();
};
if (_digg.active){
_digg.update();
};
if (_reddit.active){
_reddit.update();
};
if (_delicious.active){
_delicious.update();
};
if (_twitter.active){
_twitter.update();
};
if (_caption.active){
_caption.update();
};
if (_close.active){
_close.update();
};
}
public function hide():void{
if (y < 0){
_ty = -21;
} else {
_ty = FlxG.height;
};
Mouse.hide();
visible = false;
}
public function onClose():void{
_closed = true;
hide();
}
}
}//package com.adamatomic.flixel.data
Section 120
//FlxPanel_ImgClose (com.adamatomic.flixel.data.FlxPanel_ImgClose)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxPanel_ImgClose extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 121
//FlxPanel_ImgDelicious (com.adamatomic.flixel.data.FlxPanel_ImgDelicious)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDelicious extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 122
//FlxPanel_ImgDigg (com.adamatomic.flixel.data.FlxPanel_ImgDigg)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDigg extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 123
//FlxPanel_ImgDonate (com.adamatomic.flixel.data.FlxPanel_ImgDonate)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDonate extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 124
//FlxPanel_ImgReddit (com.adamatomic.flixel.data.FlxPanel_ImgReddit)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxPanel_ImgReddit extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 125
//FlxPanel_ImgStumble (com.adamatomic.flixel.data.FlxPanel_ImgStumble)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxPanel_ImgStumble extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 126
//FlxPanel_ImgTwitter (com.adamatomic.flixel.data.FlxPanel_ImgTwitter)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxPanel_ImgTwitter extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 127
//FlxArray (com.adamatomic.flixel.FlxArray)
package com.adamatomic.flixel {
public dynamic class FlxArray extends Array {
public function getNonexist():FlxCore{
if (this.length <= 0){
return (null);
};
var _local1:uint;
do {
if (!(this[_local1] as FlxCore).exists){
return (this[_local1]);
};
++_local1;
} while (_local1 < this.length);
return (null);
}
public function add(_arg1:Object):Object{
var _local2:uint;
while (_local2 < this.length) {
if (this[_local2] == null){
return ((this[_local2] = _arg1));
};
_local2++;
};
return (this[(this.push(_arg1) - 1)]);
}
public function remove(_arg1:Object, _arg2:Boolean=false):void{
removeAt(indexOf(_arg1), _arg2);
}
public function removeAt(_arg1:uint, _arg2:Boolean=false):void{
if (_arg2){
this.splice(_arg1, 1);
} else {
this[_arg1] = null;
};
}
public function killAt(_arg1:uint):void{
if ((this[_arg1] is FlxCore)){
this[_arg1].kill();
};
}
public function clear():void{
this.length = 0;
}
public function kill(_arg1:FlxCore):void{
killAt(indexOf(_arg1));
}
public static function getRandom(_arg1:Array):Object{
return (_arg1[int((Math.random() * length))]);
}
}
}//package com.adamatomic.flixel
Section 128
//FlxBlock (com.adamatomic.flixel.FlxBlock)
package com.adamatomic.flixel {
import flash.display.*;
import flash.geom.*;
public class FlxBlock extends FlxCore {
protected var _p:Point;
protected var _pixels:BitmapData;
protected var _rects:FlxArray;
protected var _tileSize:uint;
public function FlxBlock(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:Class, _arg6:uint=0){
var _local7:uint;
super();
x = _arg1;
y = _arg2;
width = _arg3;
height = _arg4;
if (_arg5 == null){
return;
};
_pixels = FlxG.addBitmap(_arg5);
_rects = new FlxArray();
_p = new Point();
_tileSize = _pixels.height;
_local7 = Math.ceil((width / _tileSize));
var _local8:uint = Math.ceil((height / _tileSize));
width = (_local7 * _tileSize);
height = (_local8 * _tileSize);
var _local9:uint = (_local7 * _local8);
var _local10:uint = (_pixels.width / _tileSize);
var _local11:uint;
while (_local11 < _local9) {
if ((Math.random() * (_local10 + _arg6)) > _arg6){
_rects.push(new Rectangle((_tileSize * Math.floor((Math.random() * _local10))), 0, _tileSize, _tileSize));
} else {
_rects.push(null);
};
_local11++;
};
}
override public function render():void{
super.render();
getScreenXY(_p);
var _local1:int = _p.x;
var _local2:uint;
while (_local2 < _rects.length) {
if (_rects[_local2] != null){
FlxG.buffer.copyPixels(_pixels, _rects[_local2], _p, null, null, true);
};
_p.x = (_p.x + _tileSize);
if (_p.x >= (_local1 + width)){
_p.x = _local1;
_p.y = (_p.y + _tileSize);
};
_local2++;
};
}
}
}//package com.adamatomic.flixel
Section 129
//FlxButton (com.adamatomic.flixel.FlxButton)
package com.adamatomic.flixel {
import flash.events.*;
import flash.geom.*;
public class FlxButton extends FlxCore {
private var _onTO:Point;
private var _initialized:Boolean;
private var _pressed:Boolean;
private var _onT:FlxText;
private var _callback:Function;
private var _off:FlxSprite;
private var _onToggle:Boolean;
private var _offTO:Point;
private var _offT:FlxText;
private var _on:FlxSprite;
public function FlxButton(_arg1:int, _arg2:int, _arg3:FlxSprite, _arg4:Function, _arg5:FlxSprite=null, _arg6:FlxText=null, _arg7:FlxText=null){
x = _arg1;
y = _arg2;
_off = _arg3;
if (_arg5 == null){
_on = _off;
} else {
_on = _arg5;
};
width = _off.width;
height = _off.height;
if (_arg6 != null){
_offT = _arg6;
};
if (_arg7 == null){
_onT = _offT;
} else {
_onT = _arg7;
};
if (_offT != null){
_offTO = new Point(_offT.x, _offT.y);
};
if (_onT != null){
_onTO = new Point(_onT.x, _onT.y);
};
_off.scrollFactor = scrollFactor;
_on.scrollFactor = scrollFactor;
if (_offT != null){
_offT.scrollFactor = scrollFactor;
_onT.scrollFactor = scrollFactor;
};
_callback = _arg4;
_onToggle = false;
_pressed = false;
updatePositions();
_initialized = false;
}
private function onMouseUp(_arg1:MouseEvent):void{
if (((!(exists)) || (!(visible)))){
return;
};
if (_off.overlapsPoint((FlxG.mouse.x + ((1 - scrollFactor.x) * FlxG.scroll.x)), (FlxG.mouse.y + ((1 - scrollFactor.y) * FlxG.scroll.y)))){
_callback();
};
}
override public function update():void{
if (!_initialized){
if (FlxG.state == null){
return;
};
if (FlxG.state.parent == null){
return;
};
if (FlxG.state.parent.stage == null){
return;
};
FlxG.state.parent.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_initialized = true;
};
super.update();
if (((((!((_off == null))) && (_off.exists))) && (_off.active))){
_off.update();
};
if (((((!((_on == null))) && (_on.exists))) && (_on.active))){
_on.update();
};
if (_offT != null){
if (((((!((_offT == null))) && (_offT.exists))) && (_offT.active))){
_offT.update();
};
if (((((!((_onT == null))) && (_onT.exists))) && (_onT.active))){
_onT.update();
};
};
visibility(false);
if (_off.overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){
if (!FlxG.kMouse){
_pressed = false;
} else {
if (!_pressed){
_pressed = true;
if (!_initialized){
_callback();
};
};
};
visibility(!(_pressed));
};
if (_onToggle){
visibility(_off.visible);
};
updatePositions();
}
private function visibility(_arg1:Boolean):void{
if (_arg1){
_off.visible = false;
if (_offT != null){
_offT.visible = false;
};
_on.visible = true;
if (_onT != null){
_onT.visible = true;
};
} else {
_on.visible = false;
if (_onT != null){
_onT.visible = false;
};
_off.visible = true;
if (_offT != null){
_offT.visible = true;
};
};
}
override public function render():void{
super.render();
if (((((!((_off == null))) && (_off.exists))) && (_off.visible))){
_off.render();
};
if (((((!((_on == null))) && (_on.exists))) && (_on.visible))){
_on.render();
};
if (_offT != null){
if (((((!((_offT == null))) && (_offT.exists))) && (_offT.visible))){
_offT.render();
};
if (((((!((_onT == null))) && (_onT.exists))) && (_onT.visible))){
_onT.render();
};
};
}
public function switchOff():void{
_onToggle = false;
}
public function destroy():void{
FlxG.state.parent.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
public function on():Boolean{
return (_onToggle);
}
private function updatePositions():void{
_off.x = x;
_off.y = y;
if (_offT){
_offT.x = (_offTO.x + x);
_offT.y = (_offTO.y + y);
};
_on.x = x;
_on.y = y;
if (_onT){
_onT.x = (_onTO.x + x);
_onT.y = (_onTO.y + y);
};
}
public function switchOn():void{
_onToggle = true;
}
}
}//package com.adamatomic.flixel
Section 130
//FlxCore (com.adamatomic.flixel.FlxCore)
package com.adamatomic.flixel {
import flash.geom.*;
public class FlxCore {
private var _flicker:Boolean;
public var active:Boolean;
public var visible:Boolean;
public var width:uint;
private var _flickerTimer:Number;
public var exists:Boolean;
public var height:uint;
public var dead:Boolean;
public var x:Number;
public var y:Number;
public var scrollFactor:Point;
public function FlxCore(){
exists = true;
active = true;
visible = true;
dead = false;
x = 0;
y = 0;
width = 0;
height = 0;
scrollFactor = new Point(1, 1);
_flicker = false;
_flickerTimer = -1;
}
public function update():void{
if (flickering()){
if (_flickerTimer > 0){
_flickerTimer = (_flickerTimer - FlxG.elapsed);
};
if (_flickerTimer < 0){
flicker(-1);
} else {
_flicker = !(_flicker);
visible = !(_flicker);
};
};
}
public function flicker(_arg1:Number=1):void{
_flickerTimer = _arg1;
if (_flickerTimer < 0){
_flicker = false;
visible = true;
};
}
public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{
var _local4:Number = x;
var _local5:Number = y;
if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){
_local4 = (_local4 - Math.floor((FlxG.scroll.x * scrollFactor.x)));
_local5 = (_local5 - Math.floor((FlxG.scroll.y * scrollFactor.y)));
};
if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){
return (false);
};
return (true);
}
public function render():void{
}
public function kill():void{
exists = false;
dead = true;
}
protected function getScreenXY(_arg1:Point):void{
_arg1.x = (Math.floor(x) + Math.floor((FlxG.scroll.x * scrollFactor.x)));
_arg1.y = (Math.floor(y) + Math.floor((FlxG.scroll.y * scrollFactor.y)));
}
public function hitFloor():Boolean{
return (true);
}
public function hitCeiling():Boolean{
return (true);
}
public function overlaps(_arg1:FlxCore):Boolean{
var _local2:Number = x;
var _local3:Number = y;
if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){
_local2 = (_local2 - Math.floor((FlxG.scroll.x * scrollFactor.x)));
_local3 = (_local3 - Math.floor((FlxG.scroll.y * scrollFactor.y)));
};
var _local4:Number = _arg1.x;
var _local5:Number = _arg1.y;
if (((!((_arg1.scrollFactor.x == 1))) || (!((_arg1.scrollFactor.y == 1))))){
_local4 = (_local4 - Math.floor((FlxG.scroll.x * _arg1.scrollFactor.x)));
_local5 = (_local5 - Math.floor((FlxG.scroll.y * _arg1.scrollFactor.y)));
};
if ((((((((_local4 <= (_local2 - _arg1.width))) || ((_local4 >= (_local2 + width))))) || ((_local5 <= (_local3 - _arg1.height))))) || ((_local5 >= (_local3 + height))))){
return (false);
};
return (true);
}
public function flickering():Boolean{
return ((_flickerTimer >= 0));
}
public function onScreen():Boolean{
var _local1:Point = new Point();
getScreenXY(_local1);
if (((((((((_local1.x + width) < 0)) || ((_local1.x > FlxG.width)))) || (((_local1.y + height) < 0)))) || ((_local1.y > FlxG.height)))){
return (false);
};
return (true);
}
public function hitWall():Boolean{
return (true);
}
public function collide(_arg1:FlxSprite):void{
if ((((Math.abs((((_arg1.x + (_arg1.width >> 1)) - x) - (width >> 1))) > ((width >> 1) + (_arg1.width >> 1)))) && ((Math.abs((((_arg1.y + (_arg1.height >> 1)) - y) - (height >> 1))) > ((height >> 1) + (_arg1.height >> 1)))))){
return;
};
if ((((_arg1.x > x)) && (((_arg1.x + _arg1.width) < (x + width))))){
if (((((((_arg1.y + _arg1.height) < (y + (height >> 1)))) && (((_arg1.y + _arg1.height) > y)))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
return;
};
if ((((((_arg1.y > (y + (height >> 1)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
return;
};
};
if ((((_arg1.y > y)) && (((_arg1.y + _arg1.height) < (y + height))))){
if (((((((_arg1.x + _arg1.width) < (x + (width >> 1)))) && (((_arg1.x + _arg1.width) > x)))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
return;
};
if ((((((_arg1.x > (x + (width >> 1)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
return;
};
};
var _local2:Boolean;
if ((Math.abs(_arg1.velocity.x) > Math.abs(_arg1.velocity.y))){
_local2 = false;
};
var _local3:Boolean;
var _local4:Boolean;
if (_local2){
if (_arg1.velocity.y > 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), (_arg1.y + _arg1.height))){
if (_arg1.hitFloor()){
_arg1.y = (y - _arg1.height);
};
} else {
_local4 = true;
};
} else {
if (_arg1.velocity.y < 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), _arg1.y)){
if (_arg1.hitCeiling()){
_arg1.y = (y + height);
};
} else {
_local4 = true;
};
};
};
if (_arg1.velocity.x < 0){
if (overlapsPoint(_arg1.x, (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x + width);
};
} else {
_local3 = true;
};
} else {
if (_arg1.velocity.x > 0){
if (overlapsPoint((_arg1.x + _arg1.width), (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x - _arg1.width);
};
} else {
_local3 = true;
};
};
};
} else {
if (_arg1.velocity.x < 0){
if (overlapsPoint(_arg1.x, (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x + width);
};
} else {
_local3 = true;
};
} else {
if (_arg1.velocity.x > 0){
if (overlapsPoint((_arg1.x + _arg1.width), (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x - _arg1.width);
};
} else {
_local3 = true;
};
};
};
if (_arg1.velocity.y > 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), (_arg1.y + _arg1.height))){
if (_arg1.hitFloor()){
_arg1.y = (y - _arg1.height);
};
} else {
_local4 = true;
};
} else {
if (_arg1.velocity.y < 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), _arg1.y)){
if (_arg1.hitCeiling()){
_arg1.y = (y + height);
};
} else {
_local4 = true;
};
};
};
};
if (((!(_local4)) && (!(_local3)))){
return;
};
var _local5 = (_arg1.width >> 3);
if (_local5 < 1){
_local5 = 1;
};
if (((_local4) && (_local3))){
if (_local2){
if (_local4){
if ((((((_arg1.x + _arg1.width) - _local5) > x)) && (((_arg1.x + _local5) < (x + width))))){
if ((((((((_arg1.velocity.y > 0)) && (((_arg1.y + _arg1.height) > y)))) && (((_arg1.y + _arg1.height) < (y + height))))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
} else {
if ((((((((_arg1.velocity.y < 0)) && ((_arg1.y > y)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
};
};
};
};
if (_local3){
if ((((((_arg1.y + _arg1.height) - _local5) > y)) && (((_arg1.y + _local5) < (y + height))))){
if ((((((((_arg1.velocity.x > 0)) && (((_arg1.x + _arg1.width) > x)))) && (((_arg1.x + _arg1.width) < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
} else {
if ((((((((_arg1.velocity.x < 0)) && ((_arg1.x > x)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
};
};
};
};
} else {
if (_local3){
if ((((((_arg1.y + _arg1.height) - _local5) > y)) && (((_arg1.y + _local5) < (y + height))))){
if ((((((((_arg1.velocity.x > 0)) && (((_arg1.x + _arg1.width) > x)))) && (((_arg1.x + _arg1.width) < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
} else {
if ((((((((_arg1.velocity.x < 0)) && ((_arg1.x > x)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
};
};
};
};
if (_local4){
if ((((((_arg1.x + _arg1.width) - _local5) > x)) && (((_arg1.x + _local5) < (x + width))))){
if ((((((((_arg1.velocity.y > 0)) && (((_arg1.y + _arg1.height) > y)))) && (((_arg1.y + _arg1.height) < (y + height))))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
} else {
if ((((((((_arg1.velocity.y < 0)) && ((_arg1.y > y)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
};
};
};
};
};
} else {
if (_local4){
if ((((((_arg1.x + _arg1.width) - _local5) > x)) && (((_arg1.x + _local5) < (x + width))))){
if ((((((((_arg1.velocity.y > 0)) && (((_arg1.y + _arg1.height) > y)))) && (((_arg1.y + _arg1.height) < (y + height))))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
} else {
if ((((((((_arg1.velocity.y < 0)) && ((_arg1.y > y)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
};
};
};
} else {
if (_local3){
if ((((((_arg1.y + _arg1.height) - _local5) > y)) && (((_arg1.y + _local5) < (y + height))))){
if ((((((((_arg1.velocity.x > 0)) && (((_arg1.x + _arg1.width) > x)))) && (((_arg1.x + _arg1.width) < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
} else {
if ((((((((_arg1.velocity.x < 0)) && ((_arg1.x > x)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
};
};
};
};
};
};
}
}
}//package com.adamatomic.flixel
Section 131
//FlxEmitter (com.adamatomic.flixel.FlxEmitter)
package com.adamatomic.flixel {
import flash.geom.*;
public class FlxEmitter extends FlxCore {
public var maxVelocity:Point;
private var _maxRotation:Number;
private var _delay:Number;
private var _sprites:FlxArray;
private var _gravity:Number;
private var _minRotation:Number;
private var _drag:Number;
private var _particle:uint;
private var _timer:Number;
public var minVelocity:Point;
public function FlxEmitter(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:uint, _arg5:FlxArray=null, _arg6:Number=-1, _arg7:Number=-100, _arg8:Number=100, _arg9:Number=-100, _arg10:Number=100, _arg11:Number=-360, _arg12:Number=360, _arg13:Number=500, _arg14:Number=0, _arg15:Class=null, _arg16:uint=0, _arg17:Boolean=false, _arg18:FlxLayer=null){
var _local19:uint;
super();
visible = false;
x = _arg1;
y = _arg2;
width = _arg3;
height = _arg4;
minVelocity = new Point(_arg7, _arg9);
maxVelocity = new Point(_arg8, _arg10);
_minRotation = _arg11;
_maxRotation = _arg12;
_gravity = _arg13;
_drag = _arg14;
_delay = _arg6;
if (_arg15 != null){
_sprites = new FlxArray();
_local19 = 0;
while (_local19 < _arg16) {
if (_arg17){
(_sprites.add(new FlxSprite(_arg15, 0, 0, true)) as FlxSprite).randomFrame();
} else {
_sprites.add(new FlxSprite(_arg15));
};
_local19++;
};
_local19 = 0;
while (_local19 < _sprites.length) {
if (_arg18 == null){
FlxG.state.add(_sprites[_local19]);
} else {
_arg18.add(_sprites[_local19]);
};
_local19++;
};
} else {
_sprites = _arg5;
};
kill();
if (_delay > 0){
reset();
};
}
public function emit():void{
var _local1:FlxSprite = _sprites[_particle];
_local1.exists = true;
_local1.x = (x - (_local1.width >> 1));
if (width != 0){
_local1.x = (_local1.x + (Math.random() * width));
};
_local1.y = (y - (_local1.height >> 1));
if (height != 0){
_local1.y = (_local1.y + (Math.random() * height));
};
_local1.velocity.x = minVelocity.x;
if (minVelocity.x != maxVelocity.x){
_local1.velocity.x = (_local1.velocity.x + (Math.random() * (maxVelocity.x - minVelocity.x)));
};
_local1.velocity.y = minVelocity.y;
if (minVelocity.y != maxVelocity.y){
_local1.velocity.y = (_local1.velocity.y + (Math.random() * (maxVelocity.y - minVelocity.y)));
};
_local1.acceleration.y = _gravity;
_local1.angularVelocity = _minRotation;
if (_minRotation != _maxRotation){
_local1.angularVelocity = (_local1.angularVelocity + (Math.random() * (_maxRotation - _minRotation)));
};
if (_local1.angularVelocity != 0){
_local1.angle = ((Math.random() * 360) - 180);
};
_local1.drag.x = _drag;
_local1.drag.y = _drag;
_particle++;
if (_particle >= _sprites.length){
_particle = 0;
};
_local1.onEmit();
}
override public function update():void{
var _local1:uint;
_timer = (_timer + FlxG.elapsed);
if (_delay < 0){
if (_timer > -(_delay)){
kill();
return;
};
if (_sprites[0].exists){
return;
};
_local1 = 0;
while (_local1 < _sprites.length) {
emit();
_local1++;
};
return;
};
while (_timer > _delay) {
_timer = (_timer - _delay);
emit();
};
}
override public function kill():void{
active = false;
var _local1:uint;
while (_local1 < _sprites.length) {
_sprites[_local1].exists = false;
_local1++;
};
}
public function reset():void{
active = true;
_timer = 0;
_particle = 0;
}
}
}//package com.adamatomic.flixel
Section 132
//FlxG (com.adamatomic.flixel.FlxG)
package com.adamatomic.flixel {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
public class FlxG {
public static const LEFT:uint = 0;
public static const A:uint = 4;
public static const B:uint = 5;
public static const MOUSE:uint = 6;
public static const UP:uint = 2;
public static const DOWN:uint = 3;
public static const RIGHT:uint = 1;
public static var kMouse:Boolean;
public static var kLeft:Boolean;
public static var kong:FlxKong;
public static var scores:FlxArray;
private static var _music:Sound;
public static var height:uint;
public static var kB:Boolean;
private static var _volume:Number;
public static var kA:Boolean;
public static var buffer:BitmapData;
private static var _hideSupportPanel:Function;
private static var _fade:Function;
public static var kUp:Boolean;
public static var levels:FlxArray;
private static var _showSupportPanel:Function;
private static var _musicPosition:Number;
public static var kRight:Boolean;
private static var _muted:uint;
private static var _oldKeys:Array;
private static var _cache:Object;
public static var level:uint;
public static var state:FlxState;
public static var score:uint;
private static var _log:Function;
private static var _scrollTarget:Point;
public static var elapsed:Number;
public static var mouse:Point;
public static var followTarget:FlxCore;
public static var kDown:Boolean;
public static var followLead:Point;
public static var width:uint;
public static var followLerp:Number;
public static var scroll:Point;
private static var _keys:Array;
private static var _setCursor:Function;
private static var _quake:Function;
private static var _musicVolume:Number;
public static var followMin:Point;
private static var _flash:Function;
public static var followMax:Point;
private static var _masterVolume:Number;
private static var _musicChannel:SoundChannel;
private static var _switchState:Function;
public static function getVolume():Number{
return (_volume);
}
public static function collideArrays(_arg1:FlxArray, _arg2:FlxArray):void{
var _local3:uint;
var _local4:uint;
var _local5:FlxCore;
var _local6:FlxSprite;
if (_arg1 === _arg2){
_local3 = 0;
while (_local3 < _arg1.length) {
_local5 = _arg1[_local3];
if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){
} else {
_local4 = (_local3 + 1);
while (_local4 < _arg2.length) {
_local6 = _arg2[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5.collide(_local6);
};
_local4++;
};
};
_local3++;
};
} else {
_local3 = 0;
while (_local3 < _arg1.length) {
_local5 = _arg1[_local3];
if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){
} else {
_local4 = 0;
while (_local4 < _arg2.length) {
_local6 = _arg2[_local4];
if ((((((((_local5 === _local6)) || ((_local6 == null)))) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5.collide(_local6);
};
_local4++;
};
};
_local3++;
};
};
}
public static function showSupportPanel(_arg1:Boolean=true):void{
_showSupportPanel(_arg1);
}
public static function setVolume(_arg1:Number):void{
_volume = _arg1;
adjustMusicVolume();
}
static function doFollow():void{
if (followTarget != null){
if (((followTarget.exists) && (!(followTarget.dead)))){
_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1));
_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1));
if (((!((followLead == null))) && ((followTarget is FlxSprite)))){
_scrollTarget.x = (_scrollTarget.x - ((followTarget as FlxSprite).velocity.x * followLead.x));
_scrollTarget.y = (_scrollTarget.y - ((followTarget as FlxSprite).velocity.y * followLead.y));
};
};
scroll.x = (scroll.x + (((_scrollTarget.x - scroll.x) * followLerp) * FlxG.elapsed));
scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.elapsed));
if (followMin != null){
if (scroll.x > followMin.x){
scroll.x = followMin.x;
};
if (scroll.y > followMin.y){
scroll.y = followMin.y;
};
};
if (followMax != null){
if (scroll.x < followMax.x){
scroll.x = followMax.x;
};
if (scroll.y < followMax.y){
scroll.y = followMax.y;
};
};
};
}
public static function getAngle(_arg1:Number, _arg2:Number):Number{
return (((Math.atan2(_arg2, _arg1) * 180) / Math.PI));
}
public static function addBitmap(_arg1:Class, _arg2:Boolean=false):BitmapData{
var _local6:BitmapData;
var _local7:Matrix;
var _local3:Boolean;
var _local4:String = String(_arg1);
if ((((_cache[_local4] == undefined)) || ((_cache[_local4] == null)))){
_cache[_local4] = new (_arg1).bitmapData;
if (_arg2){
_local3 = true;
};
};
var _local5:BitmapData = _cache[_local4];
if (((((!(_local3)) && (_arg2))) && ((_local5.width == new (_arg1).bitmapData.width)))){
_local3 = true;
};
if (_local3){
_local6 = new BitmapData((_local5.width << 1), _local5.height, true, 0);
_local6.draw(_local5);
_local7 = new Matrix();
_local7.scale(-1, 1);
_local7.translate(_local6.width, 0);
_local6.draw(_local5, _local7);
_local5 = _local6;
};
return (_local5);
}
public static function pressed(_arg1:uint):Boolean{
return ((_keys[_arg1] > 0));
}
public static function play(_arg1:Class, _arg2:Number=1):void{
new (_arg1).play(0, 0, new SoundTransform((((_arg2 * _muted) * _volume) * _masterVolume)));
}
public static function computeVelocity(_arg1:Number, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10000):Number{
var _local5:Number;
if (_arg2 != 0){
_arg1 = (_arg1 + (_arg2 * FlxG.elapsed));
} else {
if (_arg3 != 0){
_local5 = (_arg3 * FlxG.elapsed);
if ((_arg1 - _local5) > 0){
_arg1 = (_arg1 - _local5);
} else {
if ((_arg1 + _local5) < 0){
_arg1 = (_arg1 + _local5);
} else {
_arg1 = 0;
};
};
};
};
if (((!((_arg1 == 0))) && (!((_arg4 == 10000))))){
if (_arg1 > _arg4){
_arg1 = _arg4;
} else {
if (_arg1 < -(_arg4)){
_arg1 = -(_arg4);
};
};
};
return (_arg1);
}
static function setGameData(_arg1:uint, _arg2:uint, _arg3:Function, _arg4:Function, _arg5:Function, _arg6:Function, _arg7:Function, _arg8:Function, _arg9:Function, _arg10:Function):void{
_cache = new Object();
width = _arg1;
height = _arg2;
_muted = 1;
_volume = 1;
_musicVolume = 1;
_masterVolume = 0.5;
_musicPosition = -1;
mouse = new Point();
_switchState = _arg3;
_log = _arg4;
_quake = _arg5;
_flash = _arg6;
_fade = _arg7;
_setCursor = _arg8;
_showSupportPanel = _arg9;
_hideSupportPanel = _arg10;
unfollow();
_keys = new Array();
_oldKeys = new Array();
var _local11:uint;
while (_local11 < 7) {
_keys.push(0);
_oldKeys.push(0);
_local11++;
};
FlxG.levels = new FlxArray();
FlxG.scores = new FlxArray();
level = 0;
score = 0;
kong = null;
}
public static function stopMusic():void{
_musicPosition = 0;
if (_musicChannel != null){
_musicChannel.stop();
_musicChannel = null;
};
}
public static function justReleased(_arg1:uint):Boolean{
return ((_keys[_arg1] == -1));
}
public static function playMusic():void{
if (_musicPosition < 0){
return;
};
if (_musicPosition == 0){
if (_musicChannel == null){
_musicChannel = _music.play(0, 9999, new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume)));
};
} else {
_musicChannel = _music.play(_musicPosition, 0, new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume)));
_musicChannel.addEventListener(Event.SOUND_COMPLETE, loopMusic);
};
_musicPosition = 0;
}
public static function log(_arg1:String):void{
_log(_arg1);
}
static function pressKey(_arg1:uint):void{
if (_keys[_arg1] > 0){
_keys[_arg1] = 1;
} else {
_keys[_arg1] = 2;
};
}
public static function setCursor(_arg1:Class):void{
_setCursor(_arg1);
}
public static function overlapArray(_arg1:FlxArray, _arg2:FlxCore, _arg3:Function):void{
var _local4:FlxCore;
if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){
return;
};
var _local5:uint;
while (_local5 < _arg1.length) {
_local4 = _arg1[_local5];
if ((((((((_local4 === _arg2)) || ((_local4 == null)))) || (!(_local4.exists)))) || (_local4.dead))){
} else {
if (_local4.overlaps(_arg2)){
_arg3(_local4, _arg2);
};
};
_local5++;
};
}
static function updateKeys():void{
var _local1:uint;
while (_local1 < 7) {
if ((((_oldKeys[_local1] == -1)) && ((_keys[_local1] == -1)))){
_keys[_local1] = 0;
} else {
if ((((_oldKeys[_local1] == 2)) && ((_keys[_local1] == 2)))){
_keys[_local1] = 1;
};
};
_oldKeys[_local1] = _keys[_local1];
_local1++;
};
mouse.x = (state.mouseX - scroll.x);
mouse.y = (state.mouseY - scroll.y);
}
public static function createBitmap(_arg1:uint, _arg2:uint, _arg3:uint):BitmapData{
var _local4:String = ((((_arg1 + "x") + _arg2) + ":") + _arg3);
if ((((_cache[_local4] == undefined)) || ((_cache[_local4] == null)))){
_cache[_local4] = new BitmapData(_arg1, _arg2, true, _arg3);
};
return (_cache[_local4]);
}
public static function overlapArrays(_arg1:FlxArray, _arg2:FlxArray, _arg3:Function):void{
var _local4:uint;
var _local5:uint;
var _local6:FlxCore;
var _local7:FlxCore;
if (_arg1 === _arg2){
_local4 = 0;
while (_local4 < _arg1.length) {
_local6 = _arg1[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5 = (_local4 + 1);
while (_local5 < _arg2.length) {
_local7 = _arg2[_local5];
if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){
} else {
if (_local6.overlaps(_local7)){
_arg3(_local6, _local7);
};
};
_local5++;
};
};
_local4++;
};
} else {
_local4 = 0;
while (_local4 < _arg1.length) {
_local6 = _arg1[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5 = 0;
while (_local5 < _arg2.length) {
_local7 = _arg2[_local5];
if ((((((((_local6 === _local7)) || ((_local7 == null)))) || (!(_local7.exists)))) || (_local7.dead))){
} else {
if (_local6.overlaps(_local7)){
_arg3(_local6, _local7);
};
};
_local5++;
};
};
_local4++;
};
};
}
public static function getMusicVolume():Number{
return (_musicVolume);
}
static function unfollow():void{
followTarget = null;
followLead = null;
followLerp = 1;
followMin = null;
followMax = null;
scroll = new Point();
_scrollTarget = new Point();
}
public static function getMute():Boolean{
if (_muted == 0){
return (true);
};
return (false);
}
public static function justPressed(_arg1:uint):Boolean{
return ((_keys[_arg1] == 2));
}
private static function adjustMusicVolume():void{
if (_muted < 0){
_muted = 0;
} else {
if (_muted > 1){
_muted = 1;
};
};
if (_volume < 0){
_volume = 0;
} else {
if (_volume > 1){
_volume = 1;
};
};
if (_musicVolume < 0){
_musicVolume = 0;
} else {
if (_musicVolume > 1){
_musicVolume = 1;
};
};
if (_masterVolume < 0){
_masterVolume = 0;
} else {
if (_masterVolume > 1){
_masterVolume = 1;
};
};
if (_musicChannel != null){
_musicChannel.soundTransform = new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume));
};
}
static function getMasterVolume():Number{
return (_masterVolume);
}
public static function followAdjust(_arg1:Number=0, _arg2:Number=0):void{
followLead = new Point(_arg1, _arg2);
}
public static function setMute(_arg1:Boolean):void{
if (_arg1){
_muted = 0;
} else {
_muted = 1;
};
adjustMusicVolume();
}
public static function follow(_arg1:FlxCore, _arg2:Number=1):void{
followTarget = _arg1;
followLerp = _arg2;
scroll.x = (_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1)));
scroll.y = (_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1)));
}
public static function fade(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
_fade(_arg1, _arg2, _arg3, _arg4);
}
public static function collideArray(_arg1:FlxArray, _arg2:FlxSprite):void{
var _local3:FlxCore;
if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){
return;
};
var _local4:uint;
while (_local4 < _arg1.length) {
_local3 = _arg1[_local4];
if ((((((((_local3 === _arg2)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){
} else {
_local3.collide(_arg2);
};
_local4++;
};
}
public static function switchState(_arg1:Class):void{
_switchState(_arg1);
}
public static function openURL(_arg1:String):void{
navigateToURL(new URLRequest(_arg1), "_blank");
}
static function setMasterVolume(_arg1:Number):void{
_masterVolume = _arg1;
adjustMusicVolume();
}
public static function pauseMusic():void{
if (_musicChannel == null){
_musicPosition = -1;
return;
};
_musicPosition = _musicChannel.position;
_musicChannel.stop();
while (_musicPosition >= _music.length) {
_musicPosition = (_musicPosition - _music.length);
};
_musicChannel = null;
}
public static function followBounds(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0):void{
followMin = new Point(-(_arg1), -(_arg2));
followMax = new Point((-(_arg3) + width), (-(_arg4) + height));
if (followMax.x > followMin.x){
followMax.x = followMin.x;
};
if (followMax.y > followMin.y){
followMax.y = followMin.y;
};
}
public static function collideArray2(_arg1:FlxCore, _arg2:FlxArray):void{
var _local3:FlxSprite;
if ((((((_arg1 == null)) || (!(_arg1.exists)))) || (_arg1.dead))){
return;
};
var _local4:uint;
while (_local4 < _arg2.length) {
_local3 = _arg2[_local4];
if ((((((((_arg1 === _local3)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){
} else {
_arg1.collide(_local3);
};
_local4++;
};
}
public static function setMusicVolume(_arg1:Number):void{
_musicVolume = _arg1;
adjustMusicVolume();
}
public static function resetKeys():void{
kUp = (kDown = (kLeft = (kRight = (kA = (kB = (kMouse = false))))));
var _local1:uint;
while (_local1 < _keys.length) {
_keys[_local1] = 0;
_local1++;
};
}
static function releaseKey(_arg1:uint):void{
if (_keys[_arg1] > 0){
_keys[_arg1] = -1;
} else {
_keys[_arg1] = 0;
};
}
private static function loopMusic(_arg1:Event=null):void{
if (_musicChannel == null){
return;
};
_musicChannel.removeEventListener(Event.SOUND_COMPLETE, loopMusic);
_musicChannel = null;
playMusic();
}
public static function setMusic(_arg1:Class, _arg2:Number=1, _arg3:Boolean=true):void{
stopMusic();
_music = new (_arg1);
_musicVolume = _arg2;
if (_arg3){
playMusic();
};
}
public static function quake(_arg1:Number, _arg2:Number=0.5):void{
_quake(_arg1, _arg2);
}
public static function flash(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
_flash(_arg1, _arg2, _arg3, _arg4);
}
public static function rotatePoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Point{
var _local6:Number = ((-(_arg5) / 180) * Math.PI);
var _local7:Number = (_arg1 - _arg3);
var _local8:Number = (_arg4 - _arg2);
return (new Point(((_arg3 + (Math.cos(_local6) * _local7)) - (Math.sin(_local6) * _local8)), (_arg4 - ((Math.sin(_local6) * _local7) + (Math.cos(_local6) * _local8)))));
}
public static function hideSupportPanel():void{
_hideSupportPanel();
}
}
}//package com.adamatomic.flixel
Section 133
//FlxGame (com.adamatomic.flixel.FlxGame)
package com.adamatomic.flixel {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import com.adamatomic.flixel.data.*;
import flash.text.*;
import flash.media.*;
import flash.ui.*;
import flash.utils.*;
public class FlxGame extends Sprite {
private const MAX_CONSOLE_LINES:uint = 0x0100;
private const MAX_ELAPSED:Number = 0.0333;
private var _bmpFront:Bitmap;
private var ImgKeyC:Class;
private var _panel:FlxPanel;
private var _FPS:Array;
private var _flashDelay:Number;
private var ImgKeyMinus:Class;
private var SndBeep:Class;
private var _console:Sprite;
private var _flashHelper:Number;
private var ImgKeyX:Class;
private var _logoFade:Bitmap;
private var _help:Array;
private var _consoleYT:Number;
private var _quakeIntensity:Number;
private var _elapsed:Number;
private var _consoleY:Number;
private var _flipped:Boolean;
private var _total:uint;
private var _soundTrayBars:Array;
private var junk:String;// = "FlxGame_junk"
private var ImgKeyMouse:Class;
private var _flashComplete:Function;
private var _paused:Boolean;
private var _focusPopup:Sprite;
private var _quakeTimer:Number;
private var _fade:Bitmap;
private var _fc:uint;
private var _buffer:Sprite;
private var _poweredBy:Bitmap;
private var _consoleText:TextField;
private var _fSound:Class;
private var _soundTray:Sprite;
private var _frame:Class;
private var _cursor:Bitmap;
private var ImgKeyPlus:Class;
private var ImgPoweredBy:Class;
private var _soundTrayTimer:Number;
private var SndFlixel:Class;
private var _gy:int;
private var _fpsUpdate:Boolean;
private var _gx:int;
private var _curState:FlxState;
private var ImgKeysArrows:Class;
private var _showLogo:Boolean;
private var _curFPS:uint;
private var _created:Boolean;
private var _focusField:TextField;
private var _consoleFPS:TextField;
private var _fadeComplete:Function;
private var _iState:Class;
private var _bmpBack:Bitmap;
private var _consoleLines:Array;
private var _logoTimer:Number;
private var _quakeLength:Number;
private var _logoComplete:Boolean;
private var _f:FlxArray;
private var _fadeHelper:Number;
private var _fadeDelay:Number;
private var ImgKey0:Class;
private var ImgKey1:Class;
private var _flash:Bitmap;
private var _z:uint;
private var _bgc:Number;
public function FlxGame(_arg1:uint, _arg2:uint, _arg3:Class, _arg4:uint=2, _arg5:Number=4278190080, _arg6:Boolean=true, _arg7:Number=4294967295, _arg8:Class=null, _arg9:Class=null, _arg10:uint=0, _arg11:uint=0){
ImgPoweredBy = FlxGame_ImgPoweredBy;
ImgKeyX = FlxGame_ImgKeyX;
ImgKeyC = FlxGame_ImgKeyC;
ImgKeyMouse = FlxGame_ImgKeyMouse;
ImgKeysArrows = FlxGame_ImgKeysArrows;
ImgKeyMinus = FlxGame_ImgKeyMinus;
ImgKeyPlus = FlxGame_ImgKeyPlus;
ImgKey0 = FlxGame_ImgKey0;
ImgKey1 = FlxGame_ImgKey1;
SndBeep = FlxGame_SndBeep;
SndFlixel = FlxGame_SndFlixel;
super();
_z = _arg4;
_gx = _arg10;
_gy = _arg11;
_bgc = _arg5;
_fc = _arg7;
FlxG.setGameData(_arg1, _arg2, switchState, log, quake, flash, fade, setCursor, showSupportPanel, hideSupportPanel);
_created = false;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
_elapsed = 0;
_total = 0;
_fpsUpdate = true;
Mouse.hide();
_logoComplete = false;
_f = null;
_quakeTimer = 0;
_quakeIntensity = 0;
_quakeLength = 0;
if (_arg8 == null){
_fSound = SndFlixel;
} else {
_fSound = _arg8;
};
_curState = null;
_frame = _arg9;
_iState = _arg3;
_FPS = new Array(8);
_curFPS = 0;
_paused = false;
_help = new Array();
_help.push("A Button");
_help.push("B Button");
_help.push("Mouse");
_help.push("Move");
_showLogo = _arg6;
_panel = new FlxPanel();
}
private function showSupportPanel(_arg1:Boolean=true):void{
_panel.show(_arg1);
}
private function onFocus(_arg1:Event=null):void{
if (!_panel.visible){
Mouse.hide();
};
_focusPopup.visible = false;
FlxG.resetKeys();
_paused = false;
FlxG.playMusic();
stage.frameRate = 40;
}
private function log(_arg1:String):void{
var _local2:String;
var _local3:uint;
if (_arg1 == null){
_arg1 = "ERROR: NULL GAME LOG MESSAGE";
};
if (_console == null){
trace(_arg1);
return;
};
_consoleLines.push(_arg1);
if (_consoleLines.length > MAX_CONSOLE_LINES){
_consoleLines.shift();
_local2 = "";
_local3 = 0;
while (_local3 < _consoleLines.length) {
_local2 = (_local2 + (_consoleLines[_local3] + "\n"));
_local3++;
};
_consoleText.text = _local2;
} else {
_consoleText.appendText((_arg1 + "\n"));
};
_consoleText.scrollV = _consoleText.height;
}
private function setCursor(_arg1:Class):void{
if (_cursor != null){
_buffer.removeChild(_cursor);
};
_cursor = (_buffer.addChild(new (_arg1)) as Bitmap);
}
protected function help(_arg1:String=null, _arg2:String=null, _arg3:String=null, _arg4:String=null):void{
if (_arg1 != null){
_help[0] = _arg1;
};
if (_arg2 != null){
_help[1] = _arg2;
};
if (_arg3 != null){
_help[2] = _arg3;
};
if (_arg4 != null){
_help[3] = _arg4;
};
}
private function toggleConsole():void{
if (_consoleYT == (_gy * _z)){
_consoleYT = ((_gy * _z) - (FlxG.height * _z));
} else {
_consoleYT = (_gy * _z);
_console.visible = true;
};
}
private function showSoundTray():void{
FlxG.play(SndBeep);
_soundTrayTimer = 1;
_soundTray.y = (_gy * _z);
_soundTray.visible = true;
var _local1:uint = Math.round((FlxG.getMasterVolume() * 10));
if (FlxG.getMute()){
_local1 = 0;
};
var _local2:uint;
while (_local2 < _soundTrayBars.length) {
if (_local2 < _local1){
_soundTrayBars[_local2].alpha = 1;
} else {
_soundTrayBars[_local2].alpha = 0.5;
};
_local2++;
};
}
private function fade(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
if (_arg1 == 0){
_fade.visible = false;
return;
};
if (((!(_arg4)) && (_fade.visible))){
return;
};
_fade.bitmapData.fillRect(new Rectangle(0, 0, _fade.width, _fade.height), _arg1);
_fadeDelay = _arg2;
_fadeComplete = _arg3;
_fadeHelper = 0;
_fade.alpha = 0;
_fade.visible = true;
}
private function onMouseUp(_arg1:MouseEvent):void{
FlxG.kMouse = false;
FlxG.releaseKey(6);
}
protected function setupSupportPanel(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{
_panel.init(_arg1, _arg2, _arg3, _arg4, _arg5);
}
private function onKeyUp(_arg1:KeyboardEvent):void{
_curState.handleKeyUp(_arg1.keyCode);
var _local2:String = String.fromCharCode(_arg1.charCode);
if ((((_local2 == "0")) || ((_local2 == ")")))){
FlxG.setMute(!(FlxG.getMute()));
showSoundTray();
} else {
if ((((_local2 == "-")) || ((_local2 == "_")))){
FlxG.setMute(false);
FlxG.setMasterVolume((FlxG.getMasterVolume() - 0.1));
showSoundTray();
} else {
if ((((_local2 == "+")) || ((_local2 == "=")))){
FlxG.setMute(false);
FlxG.setMasterVolume((FlxG.getMasterVolume() + 0.1));
showSoundTray();
};
};
};
}
private function onEnterFrame(_arg1:Event):void{
var _local2:uint;
var _local4:uint;
var _local5:Bitmap;
var _local6:uint;
var _local7:uint;
var _local8:int;
var _local9:int;
var _local10:ColorTransform;
var _local11:TextField;
var _local12:Bitmap;
var _local13:uint;
var _local14:uint;
var _local15:Bitmap;
var _local3:uint = getTimer();
_elapsed = ((_local3 - _total) / 1000);
_total = _local3;
FlxG.elapsed = _elapsed;
if (FlxG.elapsed > MAX_ELAPSED){
FlxG.elapsed = MAX_ELAPSED;
};
if (_logoComplete){
_panel.update();
if (_soundTrayTimer > 0){
_soundTrayTimer = (_soundTrayTimer - _elapsed);
} else {
if (_soundTray.y > -(_soundTray.height)){
_soundTray.y = (_soundTray.y - ((_elapsed * FlxG.height) * 2));
if (_soundTray.y < -(_soundTray.height)){
_soundTray.visible = false;
};
};
};
if (_console.visible){
_FPS[_curFPS] = (1 / _elapsed);
if (++_curFPS >= _FPS.length){
_curFPS = 0;
};
_fpsUpdate = !(_fpsUpdate);
if (_fpsUpdate){
_local4 = 0;
_local2 = 0;
while (_local2 < _FPS.length) {
_local4 = (_local4 + _FPS[_local2]);
_local2++;
};
_consoleFPS.text = (Math.floor((_local4 / _FPS.length)) + " fps");
};
};
if (_consoleY < _consoleYT){
_consoleY = (_consoleY + ((FlxG.height * 10) * _elapsed));
} else {
if (_consoleY > _consoleYT){
_consoleY = (_consoleY - ((FlxG.height * 10) * _elapsed));
};
};
if (_consoleY > (_gy * _z)){
_consoleY = (_gy * _z);
} else {
if (_consoleY < ((_gy * _z) - (FlxG.height * _z))){
_consoleY = ((_gy * _z) - (FlxG.height * _z));
_console.visible = false;
};
};
_console.y = Math.floor(_consoleY);
if (!_paused){
FlxG.updateKeys();
if (_cursor != null){
_cursor.x = (FlxG.mouse.x + FlxG.scroll.x);
_cursor.y = (FlxG.mouse.y + FlxG.scroll.y);
};
FlxG.doFollow();
_curState.update();
if (_quakeTimer > 0){
_quakeTimer = (_quakeTimer + _elapsed);
if (_quakeTimer > _quakeLength){
_quakeTimer = 0;
_buffer.x = 0;
_buffer.y = 0;
} else {
_buffer.y = ((((((Math.random() * _quakeIntensity) * FlxG.height) * 3) * 2) - (_quakeIntensity * FlxG.height)) * _z);
};
};
if (_flash.visible){
_flashHelper = (_flashHelper - (_elapsed / _flashDelay));
_flash.alpha = _flashHelper;
if (_flash.alpha <= 0){
_flash.visible = false;
if (_flashComplete != null){
_flashComplete();
};
};
};
if (((_fade.visible) && (!((_fade.alpha == 1))))){
_fadeHelper = (_fadeHelper + (_elapsed / _fadeDelay));
_fade.alpha = _fadeHelper;
if (_fade.alpha >= 1){
_fade.alpha = 1;
if (_fadeComplete != null){
_fadeComplete();
};
};
};
if (_flipped){
_bmpFront.bitmapData.fillRect(new Rectangle(0, 0, _bmpFront.width, _bmpFront.height), _bgc);
FlxG.buffer = _bmpFront.bitmapData;
} else {
_bmpBack.bitmapData.fillRect(new Rectangle(0, 0, _bmpBack.width, _bmpBack.height), _bgc);
FlxG.buffer = _bmpBack.bitmapData;
};
_curState.render();
_panel.render();
_bmpBack.visible = !((_bmpFront.visible = _flipped));
_flipped = !(_flipped);
};
} else {
if (_created){
if (!_showLogo){
_logoComplete = true;
switchState(_iState);
} else {
if (_f == null){
_f = new FlxArray();
_local6 = 1;
if (FlxG.height > 200){
_local6 = 2;
};
_local7 = (32 * _local6);
_local8 = (((FlxG.height * _z) / 2) - (_local7 * 2));
_local9 = (((FlxG.width * _z) / 2) - _local7);
_f.push((addChild(new FlxLogoPixel((_local9 + _local7), _local8, _local7, 0, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel(_local9, (_local8 + _local7), _local7, 1, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel(_local9, (_local8 + (_local7 * 2)), _local7, 2, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel((_local9 + _local7), (_local8 + (_local7 * 2)), _local7, 3, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel(_local9, (_local8 + (_local7 * 3)), _local7, 4, _fc)) as FlxLogoPixel));
_poweredBy = new ImgPoweredBy();
_poweredBy.scaleX = _local6;
_poweredBy.scaleY = _local6;
_poweredBy.x = (((FlxG.width * _z) / 2) - (_poweredBy.width / 2));
_poweredBy.y = ((_local8 + (_local7 * 4)) + 16);
_local10 = new ColorTransform();
_local10.color = _fc;
_poweredBy.bitmapData.colorTransform(new Rectangle(0, 0, _poweredBy.width, _poweredBy.height), _local10);
addChild(_poweredBy);
_logoFade = (addChild(new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z), true, 4278190080))) as Bitmap);
_logoFade.x = (_gx * _z);
_logoFade.y = (_gy * _z);
if (_fSound != null){
new _fSound().play(0, 0, new SoundTransform(0.35, 0));
};
};
_logoTimer = (_logoTimer + _elapsed);
_local2 = 0;
while (_local2 < _f.length) {
_f[_local2].update();
_local2++;
};
if (_logoFade.alpha > 0){
_logoFade.alpha = (_logoFade.alpha - (_elapsed * 0.5));
};
if (_logoTimer > 2){
removeChild(_poweredBy);
_local2 = 0;
while (_local2 < _f.length) {
removeChild(_f[_local2]);
_local2++;
};
_f.clear();
removeChild(_logoFade);
switchState(_iState);
_logoComplete = true;
};
};
} else {
if (root != null){
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = 40;
_buffer = new Sprite();
_buffer.scaleX = _z;
_buffer.scaleY = _z;
addChild(_buffer);
_bmpBack = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, _bgc));
_bmpBack.x = _gx;
_bmpBack.y = _gy;
_buffer.addChild(_bmpBack);
_bmpFront = new Bitmap(new BitmapData(_bmpBack.width, _bmpBack.height, true, _bgc));
_bmpFront.x = _bmpBack.x;
_bmpFront.y = _bmpBack.y;
_buffer.addChild(_bmpFront);
_flipped = false;
_flash = new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z)));
_flash.x = (_gx * _z);
_flash.y = (_gy * _z);
_flash.visible = false;
addChild(_flash);
_fade = new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z)));
_fade.x = (_gx * _z);
_fade.y = (_gy * _z);
_fade.visible = false;
addChild(_fade);
_console = new Sprite();
_console.visible = false;
_console.x = (_gx * _z);
_console.y = ((_gy * _z) - (FlxG.height * _z));
_consoleYT = (_consoleY = _console.y);
_local5 = new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z), true, 2130706432));
_console.addChild(_local5);
_consoleText = new TextField();
_consoleText.width = _local5.width;
_consoleText.height = _local5.height;
_consoleText.multiline = true;
_consoleText.wordWrap = true;
_consoleText.embedFonts = true;
_consoleText.antiAliasType = AntiAliasType.NORMAL;
_consoleText.gridFitType = GridFitType.PIXEL;
_consoleText.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF);
_console.addChild(_consoleText);
_consoleFPS = new TextField();
_consoleFPS.width = _local5.width;
_consoleFPS.height = 20;
_consoleFPS.multiline = true;
_consoleFPS.wordWrap = true;
_consoleFPS.embedFonts = true;
_consoleFPS.antiAliasType = AntiAliasType.NORMAL;
_consoleFPS.gridFitType = GridFitType.PIXEL;
_consoleFPS.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right");
_console.addChild(_consoleFPS);
_consoleLines = new Array();
addChild(_console);
log("flixel v1.25");
log("---------------------------------------");
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_focusPopup = new Sprite();
_focusPopup.visible = false;
if (FlxG.width > 160){
_focusPopup.scaleX = 2;
_focusPopup.scaleY = 2;
};
_focusPopup.x = ((_gx * _z) + (8 * _z));
_focusPopup.y = ((_gy * _z) + ((FlxG.height * _z) / 4));
_local5 = new Bitmap(new BitmapData(160, 100, true, 3204448256));
_focusPopup.x = (((_gx + (FlxG.width / 2)) * _z) - ((_local5.width / 2) * _focusPopup.scaleX));
_focusPopup.y = (((_gy + (FlxG.height / 2)) * _z) - ((_local5.height / 2) * _focusPopup.scaleY));
_focusPopup.addChild(_local5);
_local11 = new TextField();
_local11.width = _local5.width;
_local11.height = 20;
_local11.multiline = true;
_local11.wordWrap = true;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.antiAliasType = AntiAliasType.NORMAL;
_local11.gridFitType = GridFitType.PIXEL;
_local11.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, null, null, null, null, null, "center");
_local11.text = "GAME PAUSED";
_local11.y = 7;
_focusPopup.addChild(_local11);
_local12 = (_focusPopup.addChild(new ImgKeyX()) as Bitmap);
_local12.x = 4;
_local12.y = 36;
_local12 = (_focusPopup.addChild(new ImgKeyC()) as Bitmap);
_local12.x = 4;
_local12.y = (36 + 14);
_local12 = (_focusPopup.addChild(new ImgKeyMouse()) as Bitmap);
_local12.x = 4;
_local12.y = ((36 + 14) + 14);
_local12 = (_focusPopup.addChild(new ImgKeysArrows()) as Bitmap);
_local12.x = 4;
_local12.y = (((36 + 14) + 14) + 14);
_local12 = (_focusPopup.addChild(new ImgKeyMinus()) as Bitmap);
_local12.x = 84;
_local12.y = 36;
_local12 = (_focusPopup.addChild(new ImgKeyPlus()) as Bitmap);
_local12.x = 84;
_local12.y = (36 + 14);
_local12 = (_focusPopup.addChild(new ImgKey0()) as Bitmap);
_local12.x = 84;
_local12.y = ((36 + 14) + 14);
_local12 = (_focusPopup.addChild(new ImgKey1()) as Bitmap);
_local12.x = 84;
_local12.y = (((36 + 14) + 14) + 14);
_local11 = new TextField();
_local11.width = (_local5.width / 2);
_local11.height = (_local5.height - 20);
_local11.multiline = true;
_local11.wordWrap = true;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.antiAliasType = AntiAliasType.NORMAL;
_local11.gridFitType = GridFitType.PIXEL;
_local11.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "left", null, null, null, 4);
_local11.text = "";
_local2 = 0;
while (_local2 < _help.length) {
if (_local2 == (_help.length - 1)){
_local11.appendText(" ");
};
if (_help[_local2] != null){
_local11.appendText(_help[_local2]);
};
_local11.appendText("\n");
_local2++;
};
_local11.x = 15;
_local11.y = 35;
_focusPopup.addChild(_local11);
_local11 = new TextField();
_local11.width = (_local5.width / 2);
_local11.height = (_local5.height - 20);
_local11.multiline = true;
_local11.wordWrap = true;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.antiAliasType = AntiAliasType.NORMAL;
_local11.gridFitType = GridFitType.PIXEL;
_local11.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "left", null, null, null, 4);
_local11.text = "Sound Down\nSound Up\nMute\nConsole";
_local11.x = 95;
_local11.y = 35;
_focusPopup.addChild(_local11);
addChild(_focusPopup);
_soundTray = new Sprite();
_soundTray.visible = false;
_soundTray.scaleX = 2;
_soundTray.scaleY = 2;
_local5 = new Bitmap(new BitmapData(80, 30, true, 2130706432));
_soundTray.x = (((_gx + (FlxG.width / 2)) * _z) - ((_local5.width / 2) * _soundTray.scaleX));
_soundTray.addChild(_local5);
_local11 = new TextField();
_local11.width = _local5.width;
_local11.height = _local5.height;
_local11.multiline = true;
_local11.wordWrap = true;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.antiAliasType = AntiAliasType.NORMAL;
_local11.gridFitType = GridFitType.PIXEL;
_local11.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center");
_soundTray.addChild(_local11);
_local11.text = "VOLUME";
_local11.y = 16;
_local13 = 10;
_local14 = 14;
_soundTrayBars = new Array();
_local2 = 0;
while (_local2 < 10) {
_local5 = new Bitmap(new BitmapData(4, (_local2 + 1), false, 0xFFFFFF));
_local5.x = _local13;
_local5.y = _local14;
_soundTrayBars.push(_soundTray.addChild(_local5));
_local13 = (_local13 + 6);
_local14--;
_local2++;
};
addChild(_soundTray);
stage.addEventListener(Event.DEACTIVATE, onFocusLost);
stage.addEventListener(Event.ACTIVATE, onFocus);
if (_frame != null){
_local15 = new _frame();
_local15.scaleX = _z;
_local15.scaleY = _z;
addChild(_local15);
};
_created = true;
_logoTimer = 0;
};
};
};
}
private function switchState(_arg1:Class):void{
_panel.hide();
FlxG.unfollow();
FlxG.resetKeys();
_quakeTimer = 0;
_buffer.x = 0;
_buffer.y = 0;
if (_cursor != null){
_buffer.removeChild(_cursor);
_cursor = null;
};
var _local2:FlxState = new (_arg1);
_buffer.addChild(_local2);
if (_curState != null){
_buffer.swapChildren(_local2, _curState);
_buffer.removeChild(_curState);
_curState.destroy();
};
_fade.visible = false;
_curState = _local2;
}
private function onMouseDown(_arg1:MouseEvent):void{
FlxG.kMouse = true;
FlxG.pressKey(6);
}
private function onKeyDown(_arg1:KeyboardEvent):void{
_curState.handleKeyDown(_arg1.keyCode);
}
private function quake(_arg1:Number, _arg2:Number=0.5):void{
_quakeIntensity = _arg1;
_quakeLength = _arg2;
_quakeTimer = 0.01;
}
private function flash(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
if (_arg1 == 0){
_flash.visible = false;
return;
};
if (((!(_arg4)) && (_flash.visible))){
return;
};
_flash.bitmapData.fillRect(new Rectangle(0, 0, _flash.width, _flash.height), _arg1);
_flashDelay = _arg2;
_flashComplete = _arg3;
_flashHelper = 1;
_flash.alpha = 1;
_flash.visible = true;
}
private function hideSupportPanel():void{
_panel.hide();
}
private function onFocusLost(_arg1:Event=null):void{
if (((!((x == 0))) || (!((y == 0))))){
x = 0;
y = 0;
};
Mouse.show();
_focusPopup.visible = true;
_paused = true;
FlxG.pauseMusic();
stage.frameRate = 10;
}
}
}//package com.adamatomic.flixel
Section 134
//FlxGame_ImgKey0 (com.adamatomic.flixel.FlxGame_ImgKey0)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKey0 extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 135
//FlxGame_ImgKey1 (com.adamatomic.flixel.FlxGame_ImgKey1)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKey1 extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 136
//FlxGame_ImgKeyC (com.adamatomic.flixel.FlxGame_ImgKeyC)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyC extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 137
//FlxGame_ImgKeyMinus (com.adamatomic.flixel.FlxGame_ImgKeyMinus)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyMinus extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 138
//FlxGame_ImgKeyMouse (com.adamatomic.flixel.FlxGame_ImgKeyMouse)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyMouse extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 139
//FlxGame_ImgKeyPlus (com.adamatomic.flixel.FlxGame_ImgKeyPlus)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyPlus extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 140
//FlxGame_ImgKeysArrows (com.adamatomic.flixel.FlxGame_ImgKeysArrows)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeysArrows extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 141
//FlxGame_ImgKeyX (com.adamatomic.flixel.FlxGame_ImgKeyX)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyX extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 142
//FlxGame_ImgPoweredBy (com.adamatomic.flixel.FlxGame_ImgPoweredBy)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgPoweredBy extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 143
//FlxGame_junk (com.adamatomic.flixel.FlxGame_junk)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_junk extends FontAsset {
}
}//package com.adamatomic.flixel
Section 144
//FlxGame_SndBeep (com.adamatomic.flixel.FlxGame_SndBeep)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_SndBeep extends SoundAsset {
}
}//package com.adamatomic.flixel
Section 145
//FlxGame_SndFlixel (com.adamatomic.flixel.FlxGame_SndFlixel)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_SndFlixel extends SoundAsset {
}
}//package com.adamatomic.flixel
Section 146
//FlxKong (com.adamatomic.flixel.FlxKong)
package com.adamatomic.flixel {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class FlxKong extends Sprite {
public var API;
public function init():void{
var _local1:Object = LoaderInfo(root.loaderInfo).parameters;
var _local2:String = ((_local1.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf"));
var _local3:URLRequest = new URLRequest(_local2);
var _local4:Loader = new Loader();
_local4.contentLoaderInfo.addEventListener(Event.COMPLETE, APILoaded);
_local4.load(_local3);
this.addChild(_local4);
}
private function APILoaded(_arg1:Event):void{
API = _arg1.target.content;
API.services.connect();
}
}
}//package com.adamatomic.flixel
Section 147
//FlxLayer (com.adamatomic.flixel.FlxLayer)
package com.adamatomic.flixel {
public class FlxLayer extends FlxCore {
private var _children:FlxArray;
public function FlxLayer(){
_children = new FlxArray();
}
public function add(_arg1:FlxCore):FlxCore{
return ((_children.add(_arg1) as FlxCore));
}
override public function render():void{
super.render();
var _local1:uint;
while (_local1 < _children.length) {
if (((((!((_children[_local1] == null))) && (_children[_local1].exists))) && (_children[_local1].visible))){
_children[_local1].render();
};
_local1++;
};
}
override public function update():void{
super.update();
var _local1:uint;
while (_local1 < _children.length) {
if (((((!((_children[_local1] == null))) && (_children[_local1].exists))) && (_children[_local1].active))){
_children[_local1].update();
};
_local1++;
};
}
public function destroy():void{
_children.clear();
}
public function children():FlxArray{
return (_children);
}
}
}//package com.adamatomic.flixel
Section 148
//FlxSprite (com.adamatomic.flixel.FlxSprite)
package com.adamatomic.flixel {
import flash.display.*;
import flash.geom.*;
import com.adamatomic.flixel.data.*;
public class FlxSprite extends FlxCore {
public var acceleration:Point;
public var finished:Boolean;
public var angularAcceleration:Number;
private var _alpha:Number;
private var _animations:FlxArray;
public var offset:Point;
private var _callback:Function;
protected var _curAnim:FlxAnim;
public var drag:Point;
public var angularDrag:Number;
private var _pZero:Point;
private var _flipped:uint;
public var pixels:BitmapData;
public var scale:Point;
private var _pixels:BitmapData;
public var angle:Number;
public var thrust:Number;
public var maxThrust:Number;
public var velocity:Point;
public var maxAngular:Number;
public var angularVelocity:Number;
public var maxVelocity:Point;
public var health:Number;
private var _bh:uint;
private var _p:Point;
private var _r:Rectangle;
private var _bw:uint;
private var _frameTimer:Number;
private var _facing:Boolean;
protected var _curFrame:uint;
public static const RIGHT:Boolean = true;
public static const LEFT:Boolean = false;
public function FlxSprite(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0){
if (_arg1 == null){
pixels = FlxG.createBitmap(_arg6, _arg7, _arg8);
} else {
pixels = FlxG.addBitmap(_arg1, _arg5);
};
x = _arg2;
y = _arg3;
if (_arg6 == 0){
if (_arg4){
_arg6 = pixels.height;
} else {
_arg6 = pixels.width;
};
};
width = (_bw = _arg6);
height = (_bh = pixels.height);
offset = new Point();
velocity = new Point();
acceleration = new Point();
drag = new Point();
maxVelocity = new Point(10000, 10000);
angle = 0;
angularVelocity = 0;
angularAcceleration = 0;
angularDrag = 0;
maxAngular = 10000;
thrust = 0;
scale = new Point(1, 1);
finished = false;
_facing = true;
_animations = new FlxArray();
if (_arg5){
_flipped = (pixels.width >> 1);
} else {
_flipped = 0;
};
_curAnim = null;
_curFrame = 0;
_frameTimer = 0;
_p = new Point(x, y);
_pZero = new Point();
_r = new Rectangle(0, 0, _bw, _bh);
_pixels = new BitmapData(width, height);
_pixels.copyPixels(pixels, _r, _pZero);
health = 1;
alpha = 1;
_callback = null;
}
override protected function getScreenXY(_arg1:Point):void{
_arg1.x = (Math.floor((x - offset.x)) + Math.floor((FlxG.scroll.x * scrollFactor.x)));
_arg1.y = (Math.floor((y - offset.y)) + Math.floor((FlxG.scroll.y * scrollFactor.y)));
}
public function hurt(_arg1:Number):void{
if ((health = (health - _arg1)) <= 0){
kill();
};
}
override public function render():void{
var _local1:Matrix;
if (!visible){
return;
};
getScreenXY(_p);
if (((((!((angle == 0))) || (!((scale.x == 1))))) || (!((scale.y == 1))))){
_local1 = new Matrix();
_local1.translate(-((_bw >> 1)), -((_bh >> 1)));
_local1.scale(scale.x, scale.y);
if (angle != 0){
_local1.rotate(((Math.PI * 2) * (angle / 360)));
};
_local1.translate((_p.x + (_bw >> 1)), (_p.y + (_bh >> 1)));
FlxG.buffer.draw(_pixels, _local1);
return;
};
FlxG.buffer.copyPixels(_pixels, _r, _p, null, null, true);
}
public function randomFrame():void{
_pixels.copyPixels(pixels, new Rectangle((Math.floor((Math.random() * (pixels.width / _bw))) * _bw), 0, _bw, _bh), _pZero);
}
private function calcFrame():void{
var _local1:uint;
if (_curAnim == null){
_local1 = 0;
} else {
_local1 = (_curAnim.frames[_curFrame] * _bw);
};
if (((!(_facing)) && ((_flipped > 0)))){
_local1 = (((_flipped << 1) - _local1) - _bw);
};
_pixels.copyPixels(pixels, new Rectangle(_local1, 0, _bw, _bh), _pZero);
if (_alpha != 1){
_pixels.colorTransform(_r, new ColorTransform(1, 1, 1, _alpha));
};
if (_callback != null){
_callback(_curAnim.name, _curFrame, _curAnim.frames[_curFrame]);
};
}
override public function hitCeiling():Boolean{
velocity.y = 0;
return (true);
}
public function play(_arg1:String, _arg2:Boolean=false):void{
if (((((!(_arg2)) && (!((_curAnim == null))))) && ((_arg1 == _curAnim.name)))){
return;
};
_curFrame = 0;
_frameTimer = 0;
var _local3:uint;
while (_local3 < _animations.length) {
if (_animations[_local3].name == _arg1){
finished = false;
_curAnim = _animations[_local3];
calcFrame();
return;
};
_local3++;
};
}
override public function hitFloor():Boolean{
velocity.y = 0;
return (true);
}
override public function update():void{
var _local1:Point;
var _local2:Point;
super.update();
if (!active){
return;
};
if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){
_frameTimer = (_frameTimer + FlxG.elapsed);
if (_frameTimer > _curAnim.delay){
_frameTimer = (_frameTimer - _curAnim.delay);
if (_curFrame == (_curAnim.frames.length - 1)){
if (_curAnim.looped){
_curFrame = 0;
};
finished = true;
} else {
_curFrame++;
};
calcFrame();
};
};
angle = (angle + ((angularVelocity = FlxG.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular)) * FlxG.elapsed));
if (thrust != 0){
_local1 = FlxG.rotatePoint(-(thrust), 0, 0, 0, angle);
_local2 = FlxG.rotatePoint(-(maxThrust), 0, 0, 0, angle);
maxVelocity.x = Math.abs(_local2.x);
maxVelocity.y = Math.abs(_local2.y);
} else {
_local1 = _pZero;
};
x = (x + ((velocity.x = FlxG.computeVelocity(velocity.x, (acceleration.x + _local1.x), drag.x, maxVelocity.x)) * FlxG.elapsed));
y = (y + ((velocity.y = FlxG.computeVelocity(velocity.y, (acceleration.y + _local1.y), drag.y, maxVelocity.y)) * FlxG.elapsed));
}
public function set alpha(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
};
if (_arg1 < 0){
_arg1 = 0;
};
_alpha = _arg1;
calcFrame();
}
public function addAnimationCallback(_arg1:Function):void{
_callback = _arg1;
}
public function onEmit():void{
}
public function set facing(_arg1:Boolean):void{
var _local2 = !((_facing == _arg1));
_facing = _arg1;
if (_local2){
calcFrame();
};
}
public function specificFrame(_arg1:uint):void{
_pixels.copyPixels(pixels, new Rectangle((_arg1 * _bw), 0, _bw, _bh), _pZero);
}
public function get facing():Boolean{
return (_facing);
}
public function addAnimation(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true):void{
_animations.add(new FlxAnim(_arg1, _arg2, _arg3, _arg4));
}
public function get alpha():Number{
return (_alpha);
}
override public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{
var _local4:Number = x;
var _local5:Number = y;
if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){
_local4 = (_local4 - Math.floor((FlxG.scroll.x * scrollFactor.x)));
_local5 = (_local5 - Math.floor((FlxG.scroll.y * scrollFactor.y)));
};
if (_arg3){
return (_pixels.hitTest(new Point(0, 0), 0xFF, new Point((_arg1 - _local4), (_arg2 - _local5))));
};
if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){
return (false);
};
return (true);
}
override public function hitWall():Boolean{
velocity.x = 0;
return (true);
}
}
}//package com.adamatomic.flixel
Section 149
//FlxState (com.adamatomic.flixel.FlxState)
package com.adamatomic.flixel {
import flash.display.*;
public class FlxState extends Sprite {
private var _layer:FlxLayer;
public function FlxState(){
_layer = new FlxLayer();
FlxG.state = this;
}
public function handleKeyDown(_arg1:uint):void{
}
public function add(_arg1:FlxCore):FlxCore{
return (_layer.add(_arg1));
}
public function render():void{
_layer.render();
}
public function update():void{
_layer.update();
}
public function destroy():void{
_layer.destroy();
}
public function handleKeyUp(_arg1:uint):void{
}
}
}//package com.adamatomic.flixel
Section 150
//FlxText (com.adamatomic.flixel.FlxText)
package com.adamatomic.flixel {
import flash.geom.*;
import flash.text.*;
public class FlxText extends FlxCore {
private var _ox:Number;
private var _oy:Number;
private var _tf:TextField;
private var _mtx:Matrix;
public var angle:Number;
private var _oa:Number;
public function FlxText(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:uint, _arg5:String="", _arg6:uint=0xFFFFFF, _arg7:String=null, _arg8:uint=8, _arg9:String=null, _arg10:Number=0){
_ox = (x = _arg1);
_oy = (y = _arg2);
_oa = (angle = _arg10);
width = _arg3;
height = _arg4;
if (_arg7 == null){
_arg7 = "system";
};
if (_arg5 == null){
_arg5 = "";
};
_tf = new TextField();
_tf.width = width;
_tf.height = height;
_tf.embedFonts = true;
_tf.selectable = false;
_tf.sharpness = 100;
_tf.defaultTextFormat = new TextFormat(_arg7, _arg8, _arg6, null, null, null, null, null, _arg9);
_tf.text = _arg5;
_mtx = new Matrix();
_mtx.translate(-((width >> 1)), -((height >> 1)));
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
_mtx.translate((Math.floor(x) + (width >> 1)), (Math.floor(y) + (height >> 1)));
}
public function setColor(_arg1:uint):void{
var _local2:TextFormat = _tf.defaultTextFormat;
_local2.color = _arg1;
_tf.defaultTextFormat = _local2;
_tf.text = _tf.text;
}
public function setText(_arg1:String):void{
_tf.text = _arg1;
}
override public function update():void{
super.update();
var _local1:Point = new Point();
getScreenXY(_local1);
if (((((!((_ox == _local1.x))) || (!((_oy == _local1.y))))) || (!((_oa == angle))))){
_mtx = new Matrix();
_mtx.translate(-((width >> 1)), -((height >> 1)));
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
_mtx.translate((_local1.x + (width >> 1)), (_local1.y + (height >> 1)));
_ox = _local1.x;
_oy = _local1.y;
};
}
override public function render():void{
FlxG.buffer.draw(_tf, _mtx);
}
}
}//package com.adamatomic.flixel
Section 151
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.5.0.12683";
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 152
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.5.0.12683";
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 153
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
}
}//package mx.core
Section 154
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 155
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(_arg1:Point):Point;
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(_arg1:String):void;
function set scaleX(_arg1:Number):void;
function set scaleY(_arg1:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(_arg1:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(_arg1:Point):Point;
function get height():Number;
function set blendMode(_arg1:String):void;
function get parent():DisplayObjectContainer;
function getBounds(_arg1:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(_arg1:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(_arg1:Number):void;
function set accessibilityProperties(_arg1:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(_arg1:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(_arg1:Number):void;
function set mask(_arg1:DisplayObject):void;
function getRect(_arg1:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(_arg1:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(_arg1:DisplayObject):Boolean;
function set opaqueBackground(_arg1:Object):void;
function set visible(_arg1:Boolean):void;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function get transform():Transform;
function set filters(_arg1:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(_arg1:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 156
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 157
//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 158
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
}
}//package mx.core
Section 159
//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 = "3.5.0.12683";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var result:String;
var o:DisplayObject;
var s:String;
var indices:Array;
var displayObject = _arg1;
try {
o = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
} catch(e:SecurityError) {
};
return (result);
}
public static function createUniqueName(_arg1:Object):String{
if (!_arg1){
return (null);
};
var _local2:String = getQualifiedClassName(_arg1);
var _local3:int = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
var _local4:int = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 160
//Canabalt (Canabalt)
package {
import com.adamatomic.flixel.*;
import com.adamatomic.Canabalt.*;
public class Canabalt extends FlxGame {
private var ImgFrame:Class;
public function Canabalt():void{
ImgFrame = Canabalt_ImgFrame;
super(480, 160, MenuState, 2, 4281677117, true, 4294967295, null, ImgFrame, 4, 4);
}
}
}//package
Section 161
//Canabalt_ImgFrame (Canabalt_ImgFrame)
package {
import mx.core.*;
public class Canabalt_ImgFrame extends BitmapAsset {
}
}//package
Section 162
//Preloader (Preloader)
package {
import com.adamatomic.flixel.data.*;
public class Preloader extends FlxFactory {
public function Preloader():void{
className = "Canabalt";
super();
}
}
}//package