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

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

bumper-boat-rush.swf

This is the info page for
Flash #117949

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


Text
The game is loading now...

Continue

<p align="center"><font face="Lucida Calligraphy" size="22" color="#333333" letterSpacing="0.000000" kerning="1"><a href="http://www.gameslist.com" target = "_blank"><b>Free Online Games</b></a></font></p>

<p align="left"><font face="Arial" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><i>.Game plays</i></font></p>

<p align="left"><font face="Arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">Use keyboard to control, arrow keys to move, but only up down left and right keys</font></p>

ActionScript [AS3]

Section 1
//gameslist_24 (bumperboatrush_fla.gameslist_24) package bumperboatrush_fla { import flash.display.*; public dynamic class gameslist_24 extends MovieClip { public function gameslist_24(){ addFrameScript(80, frame81); } function frame81(){ stop(); } } }//package bumperboatrush_fla
Section 2
//loading_2 (bumperboatrush_fla.loading_2) package bumperboatrush_fla { import flash.display.*; public dynamic class loading_2 extends MovieClip { public function loading_2(){ addFrameScript(0, frame1, 99, frame100); } function frame100(){ stop(); } function frame1(){ stop(); } } }//package bumperboatrush_fla
Section 3
//particular_30 (bumperboatrush_fla.particular_30) package bumperboatrush_fla { import flash.display.*; public dynamic class particular_30 extends MovieClip { public function particular_30(){ addFrameScript(28, frame29); } function frame29(){ stop(); } } }//package bumperboatrush_fla
Section 4
//pause_71 (bumperboatrush_fla.pause_71) package bumperboatrush_fla { import flash.display.*; public dynamic class pause_71 extends MovieClip { public function pause_71(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package bumperboatrush_fla
Section 5
//ren_43 (bumperboatrush_fla.ren_43) package bumperboatrush_fla { import flash.display.*; public dynamic class ren_43 extends MovieClip { public function ren_43(){ addFrameScript(239, frame240); } function frame240(){ stop(); } } }//package bumperboatrush_fla
Section 6
//ren_52 (bumperboatrush_fla.ren_52) package bumperboatrush_fla { import flash.display.*; public dynamic class ren_52 extends MovieClip { public function ren_52(){ addFrameScript(179, frame180); } function frame180(){ stop(); } } }//package bumperboatrush_fla
Section 7
//Timeline_1 (bumperboatrush_fla.Timeline_1) package bumperboatrush_fla { import flash.events.*; import flash.display.*; import flash.net.*; public dynamic class Timeline_1 extends MovieClip { public var con:SimpleButton; public var loadMC:MovieClip; public var mc:SimpleButton; public function Timeline_1(){ addFrameScript(0, frame1, 12, frame13); } public function onClick(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.gameslist.com")); } function frame1(){ stop(); mc.addEventListener(MouseEvent.CLICK, onClick); } function frame13(){ stop(); con.addEventListener(MouseEvent.CLICK, onClick1); } public function onClick1(_arg1:MouseEvent):void{ MovieClip(this.parent).gotoAndStop(2); } } }//package bumperboatrush_fla
Section 8
//Timeline_23 (bumperboatrush_fla.Timeline_23) package bumperboatrush_fla { import flash.events.*; import flash.display.*; import flash.net.*; public dynamic class Timeline_23 extends MovieClip { public var mc:SimpleButton; public function Timeline_23(){ addFrameScript(0, frame1, 58, frame59, 119, frame120); } function frame59(){ } function frame120(){ MovieClip(this.parent).gotoAndStop(5); } function frame1(){ mc.addEventListener(MouseEvent.CLICK, onClick); } public function onClick(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.gameslist.com")); } } }//package bumperboatrush_fla
Section 9
//Timeline_42 (bumperboatrush_fla.Timeline_42) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_42 extends MovieClip { public function Timeline_42(){ addFrameScript(230, frame231); } function frame231(){ stop(); } } }//package bumperboatrush_fla
Section 10
//Timeline_51 (bumperboatrush_fla.Timeline_51) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_51 extends MovieClip { public function Timeline_51(){ addFrameScript(177, frame178); } function frame178(){ stop(); } } }//package bumperboatrush_fla
Section 11
//Timeline_78 (bumperboatrush_fla.Timeline_78) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_78 extends MovieClip { public function Timeline_78(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 12
//Timeline_81 (bumperboatrush_fla.Timeline_81) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_81 extends MovieClip { public function Timeline_81(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 13
//Timeline_83 (bumperboatrush_fla.Timeline_83) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_83 extends MovieClip { public function Timeline_83(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 14
//Timeline_87 (bumperboatrush_fla.Timeline_87) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_87 extends MovieClip { public function Timeline_87(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 15
//Timeline_88 (bumperboatrush_fla.Timeline_88) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_88 extends MovieClip { public function Timeline_88(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 16
//Timeline_89 (bumperboatrush_fla.Timeline_89) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_89 extends MovieClip { public function Timeline_89(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 17
//Timeline_91 (bumperboatrush_fla.Timeline_91) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_91 extends MovieClip { public function Timeline_91(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 18
//Timeline_92 (bumperboatrush_fla.Timeline_92) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_92 extends MovieClip { public function Timeline_92(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 19
//Timeline_93 (bumperboatrush_fla.Timeline_93) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_93 extends MovieClip { public function Timeline_93(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 20
//Timeline_96 (bumperboatrush_fla.Timeline_96) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_96 extends MovieClip { public function Timeline_96(){ addFrameScript(14, frame15); } function frame15(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 21
//Timeline_97 (bumperboatrush_fla.Timeline_97) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_97 extends MovieClip { public function Timeline_97(){ addFrameScript(13, frame14); } function frame14(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 22
//Timeline_98 (bumperboatrush_fla.Timeline_98) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_98 extends MovieClip { public function Timeline_98(){ addFrameScript(13, frame14); } function frame14(){ MovieClip(this.parent).gotoAndStop(1); } } }//package bumperboatrush_fla
Section 23
//Timeline_99 (bumperboatrush_fla.Timeline_99) package bumperboatrush_fla { import flash.display.*; public dynamic class Timeline_99 extends MovieClip { public function Timeline_99(){ addFrameScript(0, frame1, 19, frame20); } function frame20(){ stop(); } function frame1(){ stop(); } } }//package bumperboatrush_fla
Section 24
//voice_67 (bumperboatrush_fla.voice_67) package bumperboatrush_fla { import flash.display.*; public dynamic class voice_67 extends MovieClip { public function voice_67(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package bumperboatrush_fla
Section 25
//Def (def.Def) package def { import utils.*; public class Def { public static const Angle_to_Radian:Number = 0.0174532925199433; public static const Radian_to_Angle:Number = 57.2957795130823; public static const URL:String = "http://www.gameslist.com"; public static const TOWEBURL:String = "http://www.gameslist.com/freegames"; public static var isSound:Boolean = true; public static var soundControl:GameSound = new GameSound(); public static var Game_Degree:String = "easy"; } }//package def
Section 26
//AbstractCollection (org.cove.ape.AbstractCollection) package org.cove.ape { import flash.display.*; import flash.utils.*; public class AbstractCollection { private var _sprite:Sprite; private var _particles:Array; private var _isParented:Boolean; private var _constraints:Array; public function AbstractCollection(){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractCollection"){ throw (new ArgumentError("AbstractCollection can't be instantiated directly")); }; _isParented = false; _particles = new Array(); _constraints = new Array(); } public function removeConstraint(_arg1:AbstractConstraint):void{ var _local2:int = constraints.indexOf(_arg1); if (_local2 == -1){ return; }; constraints.splice(_local2, 1); _arg1.cleanup(); } public function getAll():Array{ return (particles.concat(constraints)); } function checkCollisionsVsCollection(_arg1:AbstractCollection):void{ var _local5:AbstractParticle; var _local6:int; var _local7:int; var _local8:int; var _local9:AbstractParticle; var _local10:SpringConstraint; var _local11:SpringConstraint; var _local12:int; var _local2:int = _particles.length; var _local3:int; while (_local3 < _local2) { _local5 = _particles[_local3]; if (!_local5.collidable){ } else { _local6 = _arg1.particles.length; _local7 = 0; while (_local7 < _local6) { _local9 = _arg1.particles[_local7]; if (_local9.collidable){ CollisionDetector.test(_local5, _local9); }; _local7++; }; _local8 = _arg1.constraints.length; _local7 = 0; while (_local7 < _local8) { _local10 = _arg1.constraints[_local7]; if (((_local10.collidable) && (!(_local10.isConnectedTo(_local5))))){ _local10.scp.updatePosition(); CollisionDetector.test(_local5, _local10.scp); }; _local7++; }; }; _local3++; }; var _local4:int = _constraints.length; _local3 = 0; while (_local3 < _local4) { _local11 = _constraints[_local3]; if (!_local11.collidable){ } else { _local6 = _arg1.particles.length; _local12 = 0; while (_local12 < _local6) { _local9 = _arg1.particles[_local12]; if (((_local9.collidable) && (!(_local11.isConnectedTo(_local9))))){ _local11.scp.updatePosition(); CollisionDetector.test(_local9, _local11.scp); }; _local12++; }; }; _local3++; }; } public function get sprite():Sprite{ if (_sprite != null){ return (_sprite); }; if (APEngine.container == null){ throw (new Error("The container property of the APEngine class has not been set")); }; _sprite = new Sprite(); APEngine.container.addChild(_sprite); return (_sprite); } function checkInternalCollisions():void{ var _local3:AbstractParticle; var _local4:int; var _local5:int; var _local6:int; var _local7:AbstractParticle; var _local8:SpringConstraint; var _local1:int = _particles.length; var _local2:int; while (_local2 < _local1) { _local3 = _particles[_local2]; if (!_local3.collidable){ } else { _local4 = (_local2 + 1); while (_local4 < _local1) { _local7 = _particles[_local4]; if (_local7.collidable){ CollisionDetector.test(_local3, _local7); }; _local4++; }; _local5 = _constraints.length; _local6 = 0; while (_local6 < _local5) { _local8 = _constraints[_local6]; if (((_local8.collidable) && (!(_local8.isConnectedTo(_local3))))){ _local8.scp.updatePosition(); CollisionDetector.test(_local3, _local8.scp); }; _local6++; }; }; _local2++; }; } public function addParticle(_arg1:AbstractParticle):void{ particles.push(_arg1); if (isParented){ _arg1.init(); }; } public function init():void{ var _local1:int; while (_local1 < particles.length) { particles[_local1].init(); _local1++; }; _local1 = 0; while (_local1 < constraints.length) { constraints[_local1].init(); _local1++; }; } function satisfyConstraints():void{ var _local3:AbstractConstraint; var _local1:int = _constraints.length; var _local2:int; while (_local2 < _local1) { _local3 = _constraints[_local2]; _local3.resolve(); _local2++; }; } function get isParented():Boolean{ return (_isParented); } public function paint():void{ var _local1:AbstractParticle; var _local4:SpringConstraint; var _local2:int = _particles.length; var _local3:int; while (_local3 < _local2) { _local1 = _particles[_local3]; if (((!(_local1.fixed)) || (_local1.alwaysRepaint))){ _local1.paint(); }; _local3++; }; _local2 = _constraints.length; _local3 = 0; while (_local3 < _local2) { _local4 = _constraints[_local3]; if (((!(_local4.fixed)) || (_local4.alwaysRepaint))){ _local4.paint(); }; _local3++; }; } public function addConstraint(_arg1:AbstractConstraint):void{ constraints.push(_arg1); if (isParented){ _arg1.init(); }; } function set isParented(_arg1:Boolean):void{ _isParented = _arg1; } public function removeParticle(_arg1:AbstractParticle):void{ var _local2:int = particles.indexOf(_arg1); if (_local2 == -1){ return; }; particles.splice(_local2, 1); _arg1.cleanup(); } public function cleanup():void{ var _local1:int; while (_local1 < particles.length) { particles[_local1].cleanup(); _local1++; }; _local1 = 0; while (_local1 < constraints.length) { constraints[_local1].cleanup(); _local1++; }; } public function get particles():Array{ return (_particles); } function integrate(_arg1:Number):void{ var _local4:AbstractParticle; var _local2:int = _particles.length; var _local3:int; while (_local3 < _local2) { _local4 = _particles[_local3]; _local4.update(_arg1); _local3++; }; } public function get constraints():Array{ return (_constraints); } public function addParticleLeft(_arg1:AbstractParticle):void{ particles.unshift(_arg1); if (isParented){ _arg1.init(); }; } } }//package org.cove.ape
Section 27
//AbstractConstraint (org.cove.ape.AbstractConstraint) package org.cove.ape { import flash.utils.*; public class AbstractConstraint extends AbstractItem { private var _stiffness:Number; public function AbstractConstraint(_arg1:Number){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractConstraint"){ throw (new ArgumentError("AbstractConstraint can't be instantiated directly")); }; this.stiffness = _arg1; setStyle(); } function resolve():void{ } public function set stiffness(_arg1:Number):void{ _stiffness = _arg1; } public function get stiffness():Number{ return (_stiffness); } } }//package org.cove.ape
Section 28
//AbstractItem (org.cove.ape.AbstractItem) package org.cove.ape { import flash.display.*; public class AbstractItem { var lineAlpha:Number; private var _bitmap:Bitmap; var lineColor:uint; var displayObjectOffset:Vector; var lineThickness:Number; var displayObject:DisplayObject; var fillAlpha:Number; private var _sprite:Sprite; var fillColor:uint; private var _visible:Boolean; private var _alwaysRepaint:Boolean; var displayObjectRotation:Number; public function AbstractItem(){ _visible = true; _alwaysRepaint = false; } public function setLine(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1):void{ lineThickness = _arg1; lineColor = _arg2; lineAlpha = _arg3; } public function set visible(_arg1:Boolean):void{ _visible = _arg1; sprite.visible = _arg1; bitmap.visible = _arg1; } public function setFill(_arg1:uint=0xFFFFFF, _arg2:Number=1):void{ fillColor = _arg1; fillAlpha = _arg2; } public function init():void{ } public function get bitmap():Bitmap{ if (_bitmap != null){ return (_bitmap); }; if (APEngine.container == null){ throw (new Error("The container property of the APEngine class has not been set")); }; _bitmap = new Bitmap(); APEngine.container.addChild(_bitmap); return (_bitmap); } public function get sprite():Sprite{ if (_sprite != null){ return (_sprite); }; if (APEngine.container == null){ throw (new Error("The container property of the APEngine class has not been set")); }; _sprite = new Sprite(); APEngine.container.addChild(_sprite); return (_sprite); } public function paint():void{ } public function cleanup():void{ sprite.graphics.clear(); var _local1:int; while (_local1 < sprite.numChildren) { sprite.removeChildAt(_local1); _local1++; }; } public function set bitmap(_arg1:Bitmap):void{ this._bitmap = _arg1; APEngine.container.addChild(_bitmap); } public function setStyle(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1, _arg4:uint=0xFFFFFF, _arg5:Number=1):void{ setLine(_arg1, _arg2, _arg3); setFill(_arg4, _arg5); } public function get visible():Boolean{ return (_visible); } final public function set alwaysRepaint(_arg1:Boolean):void{ _alwaysRepaint = _arg1; } final public function get alwaysRepaint():Boolean{ return (_alwaysRepaint); } } }//package org.cove.ape
Section 29
//AbstractParticle (org.cove.ape.AbstractParticle) package org.cove.ape { import flash.display.*; import flash.utils.*; public class AbstractParticle extends AbstractItem { private var _collidable:Boolean; private var _center:Vector; private var collision:Collision; var prev:Vector; private var _kfr:Number; var interval:Interval; private var _invMass:Number; var curr:Vector; private var _mass:Number; private var temp:Vector; private var _friction:Number; var samp:Vector; private var _multisample:int; private var _fixed:Boolean; private var forces:Vector; public function AbstractParticle(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Number, _arg5:Number, _arg6:Number){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractParticle"){ throw (new ArgumentError("AbstractParticle can't be instantiated directly")); }; interval = new Interval(0, 0); curr = new Vector(_arg1, _arg2); prev = new Vector(_arg1, _arg2); samp = new Vector(); temp = new Vector(); fixed = _arg3; forces = new Vector(); collision = new Collision(new Vector(), new Vector()); collidable = true; this.mass = _arg4; this.elasticity = _arg5; this.friction = _arg6; setStyle(); _center = new Vector(); _multisample = 0; } function get invMass():Number{ return ((fixed) ? 0 : _invMass); } public function get px():Number{ return (curr.x); } public function get py():Number{ return (curr.y); } public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{ displayObject = _arg1; displayObjectRotation = _arg4; displayObjectOffset = new Vector(_arg2, _arg3); } public function set px(_arg1:Number):void{ curr.x = _arg1; prev.x = _arg1; } public function set py(_arg1:Number):void{ curr.y = _arg1; prev.y = _arg1; } function getComponents(_arg1:Vector):Collision{ var _local2:Vector = velocity; var _local3:Number = _arg1.dot(_local2); collision.vn = _arg1.mult(_local3); collision.vt = _local2.minus(collision.vn); return (collision); } public function get mass():Number{ return (_mass); } function initDisplay():void{ displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; sprite.addChild(displayObject); } public function get multisample():int{ return (_multisample); } public function get position():Vector{ return (new Vector(curr.x, curr.y)); } function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ curr.plusEquals(_arg1); velocity = _arg2; } public function get elasticity():Number{ return (_kfr); } public function set velocity(_arg1:Vector):void{ prev = curr.minus(_arg1); } public function addMasslessForce(_arg1:Vector):void{ forces.plusEquals(_arg1); } public function set collidable(_arg1:Boolean):void{ _collidable = _arg1; } public function set multisample(_arg1:int):void{ _multisample = _arg1; } public function addForce(_arg1:Vector):void{ forces.plusEquals(_arg1.mult(invMass)); } public function set position(_arg1:Vector):void{ curr.copy(_arg1); prev.copy(_arg1); } public function get center():Vector{ _center.setTo(px, py); return (_center); } public function update(_arg1:Number):void{ if (fixed){ return; }; addForce(APEngine.force); addMasslessForce(APEngine.masslessForce); temp.copy(curr); var _local2:Vector = velocity.plus(forces.multEquals(_arg1)); curr.plusEquals(_local2.multEquals(APEngine.damping)); prev.copy(temp); forces.setTo(0, 0); } public function get velocity():Vector{ return (curr.minus(prev)); } public function get collidable():Boolean{ return (_collidable); } public function set mass(_arg1:Number):void{ if (_arg1 <= 0){ throw (new ArgumentError("mass may not be set <= 0")); }; _mass = _arg1; _invMass = (1 / _mass); } public function set fixed(_arg1:Boolean):void{ _fixed = _arg1; } public function set elasticity(_arg1:Number):void{ _kfr = _arg1; } public function set friction(_arg1:Number):void{ if ((((_arg1 < 0)) || ((_arg1 > 1)))){ throw (new ArgumentError("Legal friction must be >= 0 and <=1")); }; _friction = _arg1; } public function get friction():Number{ return (_friction); } public function get fixed():Boolean{ return (_fixed); } } }//package org.cove.ape
Section 30
//APEngine (org.cove.ape.APEngine) package org.cove.ape { import flash.display.*; public final class APEngine { private static var _container:DisplayObjectContainer; private static var _damping:Number; private static var _constraintCollisionCycles:int; private static var groups:Array; static var masslessForce:Vector; private static var _constraintCycles:int; static var force:Vector; private static var timeStep:Number; private static var numGroups:int; public static function get container():DisplayObjectContainer{ return (_container); } public static function get constraintCollisionCycles():int{ return (_constraintCollisionCycles); } public static function set damping(_arg1:Number):void{ _damping = _arg1; } public static function step():void{ integrate(); var _local1:int; while (_local1 < _constraintCycles) { satisfyConstraints(); _local1++; }; var _local2:int; while (_local2 < _constraintCollisionCycles) { satisfyConstraints(); checkCollisions(); _local2++; }; } public static function init(_arg1:Number=0.25):void{ timeStep = (_arg1 * _arg1); numGroups = 0; groups = new Array(); force = new Vector(0, 0); masslessForce = new Vector(0, 0); damping = 1; _constraintCycles = 0; _constraintCollisionCycles = 1; } public static function get constraintCycles():int{ return (_constraintCycles); } public static function set constraintCollisionCycles(_arg1:int):void{ _constraintCollisionCycles = _arg1; } public static function set constraintCycles(_arg1:int):void{ _constraintCycles = _arg1; } public static function addForce(_arg1:Vector):void{ force.plusEquals(_arg1); } public static function get damping():Number{ return (_damping); } public static function set container(_arg1:DisplayObjectContainer):void{ _container = _arg1; } public static function addGroup(_arg1:Group):void{ groups.push(_arg1); _arg1.isParented = true; numGroups++; _arg1.init(); } public static function removeGroup(_arg1:Group):void{ var _local2:int = groups.indexOf(_arg1); if (_local2 == -1){ return; }; groups.splice(_local2, 1); _arg1.isParented = false; numGroups--; _arg1.cleanup(); } public static function paint():void{ var _local2:Group; var _local1:int; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.paint(); _local1++; }; } private static function checkCollisions():void{ var _local2:Group; var _local1:int; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.checkCollisions(); _local1++; }; } private static function integrate():void{ var _local2:Group; var _local1:int; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.integrate(timeStep); _local1++; }; } private static function satisfyConstraints():void{ var _local2:Group; var _local1:int; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.satisfyConstraints(); _local1++; }; } public static function addMasslessForce(_arg1:Vector):void{ masslessForce.plusEquals(_arg1); } } }//package org.cove.ape
Section 31
//CircleParticle (org.cove.ape.CircleParticle) package org.cove.ape { public class CircleParticle extends AbstractParticle { private var _radius:Number; public function CircleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=0.3, _arg7:Number=0){ super(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7); _radius = _arg3; } override public function init():void{ cleanup(); if (displayObject != null){ initDisplay(); } else { sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.beginFill(fillColor, fillAlpha); sprite.graphics.drawCircle(0, 0, radius); sprite.graphics.endFill(); }; paint(); } public function set radius(_arg1:Number):void{ _radius = _arg1; } function getProjection(_arg1:Vector):Interval{ var _local2:Number = samp.dot(_arg1); interval.min = (_local2 - _radius); interval.max = (_local2 + _radius); return (interval); } function getIntervalY():Interval{ interval.min = (curr.y - _radius); interval.max = (curr.y + _radius); return (interval); } public function get radius():Number{ return (_radius); } function getIntervalX():Interval{ interval.min = (curr.x - _radius); interval.max = (curr.x + _radius); return (interval); } override public function paint():void{ sprite.x = curr.x; sprite.y = curr.y; } } }//package org.cove.ape
Section 32
//Collision (org.cove.ape.Collision) package org.cove.ape { import org.cove.ape.*; final class Collision { var vn:Vector; var vt:Vector; function Collision(_arg1:Vector, _arg2:Vector){ this.vn = _arg1; this.vt = _arg2; } } }//package org.cove.ape
Section 33
//CollisionDetector (org.cove.ape.CollisionDetector) package org.cove.ape { import org.cove.ape.*; final class CollisionDetector { private static function testOBBvsCircle(_arg1:RectangleParticle, _arg2:CircleParticle):Boolean{ var _local3:Vector; var _local8:Vector; var _local9:Number; var _local10:Vector; var _local11:Number; var _local4:Number = Number.POSITIVE_INFINITY; var _local5:Array = new Array(2); var _local6:int; while (_local6 < 2) { _local8 = _arg1.axes[_local6]; _local9 = testIntervals(_arg1.getProjection(_local8), _arg2.getProjection(_local8)); if (_local9 == 0){ return (false); }; if (Math.abs(_local9) < Math.abs(_local4)){ _local3 = _local8; _local4 = _local9; }; _local5[_local6] = _local9; _local6++; }; var _local7:Number = _arg2.radius; if ((((Math.abs(_local5[0]) < _local7)) && ((Math.abs(_local5[1]) < _local7)))){ _local10 = closestVertexOnOBB(_arg2.samp, _arg1); _local3 = _local10.minus(_arg2.samp); _local11 = _local3.magnitude(); _local4 = (_local7 - _local11); if (_local4 > 0){ _local3.divEquals(_local11); } else { return (false); }; }; CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local3, _local4); return (true); } static function test(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ if (((_arg1.fixed) && (_arg2.fixed))){ return; }; if ((((_arg1.multisample == 0)) && ((_arg2.multisample == 0)))){ normVsNorm(_arg1, _arg2); } else { if ((((_arg1.multisample > 0)) && ((_arg2.multisample == 0)))){ sampVsNorm(_arg1, _arg2); } else { if ((((_arg2.multisample > 0)) && ((_arg1.multisample == 0)))){ sampVsNorm(_arg2, _arg1); } else { if (_arg1.multisample == _arg2.multisample){ sampVsSamp(_arg1, _arg2); } else { normVsNorm(_arg1, _arg2); }; }; }; }; } private static function testIntervals(_arg1:Interval, _arg2:Interval):Number{ if (_arg1.max < _arg2.min){ return (0); }; if (_arg2.max < _arg1.min){ return (0); }; var _local3:Number = (_arg2.max - _arg1.min); var _local4:Number = (_arg2.min - _arg1.max); return (((Math.abs(_local3))<Math.abs(_local4)) ? _local3 : _local4); } private static function normVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ _arg1.samp.copy(_arg1.curr); _arg2.samp.copy(_arg2.curr); testTypes(_arg1, _arg2); } private static function testCirclevsCircle(_arg1:CircleParticle, _arg2:CircleParticle):Boolean{ var _local3:Number = testIntervals(_arg1.getIntervalX(), _arg2.getIntervalX()); if (_local3 == 0){ return (false); }; var _local4:Number = testIntervals(_arg1.getIntervalY(), _arg2.getIntervalY()); if (_local4 == 0){ return (false); }; var _local5:Vector = _arg1.samp.minus(_arg2.samp); var _local6:Number = _local5.magnitude(); var _local7:Number = ((_arg1.radius + _arg2.radius) - _local6); if (_local7 > 0){ _local5.divEquals(_local6); CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local5, _local7); _arg1.sprite.dispatchEvent(new CollisionEvent(CollisionEvent.COLLIDE, false, false, _arg2)); _arg2.sprite.dispatchEvent(new CollisionEvent(CollisionEvent.COLLIDE, false, false, _arg1)); return (true); }; return (false); } private static function testTypes(_arg1:AbstractParticle, _arg2:AbstractParticle):Boolean{ if ((((_arg1 is RectangleParticle)) && ((_arg2 is RectangleParticle)))){ return (testOBBvsOBB((_arg1 as RectangleParticle), (_arg2 as RectangleParticle))); }; if ((((_arg1 is CircleParticle)) && ((_arg2 is CircleParticle)))){ return (testCirclevsCircle((_arg1 as CircleParticle), (_arg2 as CircleParticle))); }; if ((((_arg1 is RectangleParticle)) && ((_arg2 is CircleParticle)))){ return (testOBBvsCircle((_arg1 as RectangleParticle), (_arg2 as CircleParticle))); }; if ((((_arg1 is CircleParticle)) && ((_arg2 is RectangleParticle)))){ return (testOBBvsCircle((_arg2 as RectangleParticle), (_arg1 as CircleParticle))); }; return (false); } private static function sampVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ var _local3:Number = (1 / (_arg1.multisample + 1)); var _local4:Number = _local3; _arg2.samp.copy(_arg2.curr); var _local5:int; while (_local5 <= _arg1.multisample) { _arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y)))); if (testTypes(_arg1, _arg2)){ return; }; _local4 = (_local4 + _local3); _local5++; }; } private static function closestVertexOnOBB(_arg1:Vector, _arg2:RectangleParticle):Vector{ var _local6:Number; var _local3:Vector = _arg1.minus(_arg2.samp); var _local4:Vector = new Vector(_arg2.samp.x, _arg2.samp.y); var _local5:int; while (_local5 < 2) { _local6 = _local3.dot(_arg2.axes[_local5]); if (_local6 >= 0){ _local6 = _arg2.extents[_local5]; } else { if (_local6 < 0){ _local6 = -(_arg2.extents[_local5]); }; }; _local4.plusEquals(_arg2.axes[_local5].mult(_local6)); _local5++; }; return (_local4); } private static function testOBBvsOBB(_arg1:RectangleParticle, _arg2:RectangleParticle):Boolean{ var _local3:Vector; var _local6:Vector; var _local7:Number; var _local8:Vector; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Boolean; var _local4:Number = Number.POSITIVE_INFINITY; var _local5:int; while (_local5 < 2) { _local6 = _arg1.axes[_local5]; _local7 = testIntervals(_arg1.getProjection(_local6), _arg2.getProjection(_local6)); if (_local7 == 0){ return (false); }; _local8 = _arg2.axes[_local5]; _local9 = testIntervals(_arg1.getProjection(_local8), _arg2.getProjection(_local8)); if (_local9 == 0){ return (false); }; _local10 = Math.abs(_local7); _local11 = Math.abs(_local9); if ((((_local10 < Math.abs(_local4))) || ((_local11 < Math.abs(_local4))))){ _local12 = (_local10 < _local11); _local3 = (_local12) ? _local6 : _local8; _local4 = (_local12) ? _local7 : _local9; }; _local5++; }; CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local3, _local4); return (true); } private static function sampVsSamp(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ var _local3:Number = (1 / (_arg1.multisample + 1)); var _local4:Number = _local3; var _local5:int; while (_local5 <= _arg1.multisample) { _arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y)))); _arg2.samp.setTo((_arg2.prev.x + (_local4 * (_arg2.curr.x - _arg2.prev.x))), (_arg2.prev.y + (_local4 * (_arg2.curr.y - _arg2.prev.y)))); if (testTypes(_arg1, _arg2)){ return; }; _local4 = (_local4 + _local3); _local5++; }; } } }//package org.cove.ape
Section 34
//CollisionEvent (org.cove.ape.CollisionEvent) package org.cove.ape { import flash.events.*; public class CollisionEvent extends Event { private var _collidingItem:AbstractItem; public static const COLLIDE:String = "collide"; public static const FIRST_COLLIDE:String = "firstCollide"; public function CollisionEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:AbstractItem=null){ super(_arg1, _arg2, _arg3); _collidingItem = _arg4; } public function get collidingItem():AbstractItem{ var _local1:SpringConstraintParticle; if ((_collidingItem is SpringConstraintParticle)){ _local1 = (_collidingItem as SpringConstraintParticle); return (_local1); }; return (_collidingItem); } } }//package org.cove.ape
Section 35
//CollisionResolver (org.cove.ape.CollisionResolver) package org.cove.ape { import org.cove.ape.*; final class CollisionResolver { static function resolveParticleParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Vector, _arg4:Number):void{ _arg1.curr.copy(_arg1.samp); _arg2.curr.copy(_arg2.samp); var _local5:Vector = _arg3.mult(_arg4); var _local6:Number = (_arg1.elasticity + _arg2.elasticity); var _local7:Number = (_arg1.invMass + _arg2.invMass); var _local8:Number = clamp((1 - (_arg1.friction + _arg2.friction)), 0, 1); var _local9:Collision = _arg1.getComponents(_arg3); var _local10:Collision = _arg2.getComponents(_arg3); var _local11:Vector = _local10.vn.mult(((_local6 + 1) * _arg1.invMass)).plus(_local9.vn.mult((_arg2.invMass - (_local6 * _arg1.invMass)))).divEquals(_local7); var _local12:Vector = _local9.vn.mult(((_local6 + 1) * _arg2.invMass)).plus(_local10.vn.mult((_arg1.invMass - (_local6 * _arg2.invMass)))).divEquals(_local7); _local9.vt.multEquals(_local8); _local10.vt.multEquals(_local8); var _local13:Vector = _local5.mult((_arg1.invMass / _local7)); var _local14:Vector = _local5.mult((-(_arg2.invMass) / _local7)); _local11.plusEquals(_local9.vt); _local12.plusEquals(_local10.vt); if (!_arg1.fixed){ _arg1.resolveCollision(_local13, _local11, _arg3, _arg4, -1, _arg2); }; if (!_arg2.fixed){ _arg2.resolveCollision(_local14, _local12, _arg3, _arg4, 1, _arg1); }; } static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 > _arg3){ return (_arg3); }; if (_arg1 < _arg2){ return (_arg2); }; return (_arg1); } } }//package org.cove.ape
Section 36
//Composite (org.cove.ape.Composite) package org.cove.ape { public class Composite extends AbstractCollection { private var delta:Vector; public function Composite(){ delta = new Vector(); } public function rotateByAngle(_arg1:Number, _arg2:Vector):void{ var _local3:Number = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY); rotateByRadian(_local3, _arg2); } public function rotateByRadian(_arg1:Number, _arg2:Vector):void{ var _local3:AbstractParticle; var _local7:Number; var _local8:Number; var _local4:Array = particles; var _local5:int = _local4.length; var _local6:int; while (_local6 < _local5) { _local3 = _local4[_local6]; _local7 = _local3.center.distance(_arg2); _local8 = (getRelativeAngle(_arg2, _local3.center) + _arg1); _local3.px = ((Math.cos(_local8) * _local7) + _arg2.x); _local3.py = ((Math.sin(_local8) * _local7) + _arg2.y); _local6++; }; } public function get fixed():Boolean{ var _local1:int; while (_local1 < particles.length) { if (!particles[_local1].fixed){ return (false); }; _local1++; }; return (true); } private function getRelativeAngle(_arg1:Vector, _arg2:Vector):Number{ delta.setTo((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); return (Math.atan2(delta.y, delta.x)); } public function set fixed(_arg1:Boolean):void{ var _local2:int; while (_local2 < particles.length) { particles[_local2].fixed = _arg1; _local2++; }; } } }//package org.cove.ape
Section 37
//Group (org.cove.ape.Group) package org.cove.ape { public class Group extends AbstractCollection { private var _composites:Array; private var _collisionList:Array; private var _collideInternal:Boolean; public function Group(_arg1:Boolean=false){ _composites = new Array(); _collisionList = new Array(); this.collideInternal = _arg1; } public function addCollidableList(_arg1:Array):void{ var _local3:Group; var _local2:int; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; collisionList.push(_local3); _local2++; }; } function checkCollisions():void{ var _local3:Group; if (collideInternal){ checkCollisionGroupInternal(); }; var _local1:int = collisionList.length; var _local2:int; while (_local2 < _local1) { _local3 = collisionList[_local2]; checkCollisionVsGroup(_local3); _local2++; }; } public function removeComposite(_arg1:Composite):void{ var _local2:int = composites.indexOf(_arg1); if (_local2 == -1){ return; }; composites.splice(_local2, 1); _arg1.isParented = false; _arg1.cleanup(); } override public function cleanup():void{ super.cleanup(); var _local1:int; while (_local1 < composites.length) { composites[_local1].cleanup(); _local1++; }; } public function removeCollidable(_arg1:Group):void{ var _local2:int = collisionList.indexOf(_arg1); if (_local2 == -1){ return; }; collisionList.splice(_local2, 1); } public function addComposite(_arg1:Composite):void{ composites.push(_arg1); _arg1.isParented = true; if (isParented){ _arg1.init(); }; } public function addCollidable(_arg1:Group):void{ collisionList.push(_arg1); } override function integrate(_arg1:Number):void{ var _local4:Composite; super.integrate(_arg1); var _local2:int = _composites.length; var _local3:int; while (_local3 < _local2) { _local4 = _composites[_local3]; _local4.integrate(_arg1); _local3++; }; } public function get composites():Array{ return (_composites); } override public function init():void{ super.init(); var _local1:int; while (_local1 < composites.length) { composites[_local1].init(); _local1++; }; } override public function getAll():Array{ return (particles.concat(constraints).concat(composites)); } public function get collisionList():Array{ return (_collisionList); } private function checkCollisionGroupInternal():void{ var _local3:Composite; var _local4:int; var _local5:Composite; checkInternalCollisions(); var _local1:int = _composites.length; var _local2:int; while (_local2 < _local1) { _local3 = _composites[_local2]; _local3.checkCollisionsVsCollection(this); _local4 = (_local2 + 1); while (_local4 < _local1) { _local5 = _composites[_local4]; _local3.checkCollisionsVsCollection(_local5); _local4++; }; _local2++; }; } override function satisfyConstraints():void{ var _local3:Composite; super.satisfyConstraints(); var _local1:int = _composites.length; var _local2:int; while (_local2 < _local1) { _local3 = _composites[_local2]; _local3.satisfyConstraints(); _local2++; }; } public function get collideInternal():Boolean{ return (_collideInternal); } public function set collideInternal(_arg1:Boolean):void{ _collideInternal = _arg1; } override public function paint():void{ var _local3:Composite; super.paint(); var _local1:int = _composites.length; var _local2:int; while (_local2 < _local1) { _local3 = _composites[_local2]; _local3.paint(); _local2++; }; } private function checkCollisionVsGroup(_arg1:Group):void{ var _local5:Composite; var _local6:int; var _local7:Composite; checkCollisionsVsCollection(_arg1); var _local2:int = _composites.length; var _local3:int = _arg1.composites.length; var _local4:int; while (_local4 < _local2) { _local5 = _composites[_local4]; _local5.checkCollisionsVsCollection(_arg1); _local6 = 0; while (_local6 < _local3) { _local7 = _arg1.composites[_local6]; _local5.checkCollisionsVsCollection(_local7); _local6++; }; _local4++; }; _local6 = 0; while (_local6 < _local3) { _local7 = _arg1.composites[_local6]; checkCollisionsVsCollection(_local7); _local6++; }; } } }//package org.cove.ape
Section 38
//Interval (org.cove.ape.Interval) package org.cove.ape { final class Interval { var min:Number; var max:Number; function Interval(_arg1:Number, _arg2:Number){ this.min = _arg1; this.max = _arg2; } function toString():String{ return (((min + " : ") + max)); } } }//package org.cove.ape
Section 39
//MathUtil (org.cove.ape.MathUtil) package org.cove.ape { final class MathUtil { static var ONE_EIGHTY_OVER_PI:Number = 57.2957795130823; static var PI_OVER_ONE_EIGHTY:Number = 0.0174532925199433; static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 < _arg2){ return (_arg2); }; if (_arg1 > _arg3){ return (_arg3); }; return (_arg1); } static function sign(_arg1:Number):int{ if (_arg1 < 0){ return (-1); }; return (1); } } }//package org.cove.ape
Section 40
//RectangleParticle (org.cove.ape.RectangleParticle) package org.cove.ape { public class RectangleParticle extends AbstractParticle { public var particalName:String;// = "" private var _axes:Array; private var _radian:Number; private var _extents:Array; public function RectangleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0.3, _arg9:Number=0){ super(_arg1, _arg2, _arg6, _arg7, _arg8, _arg9); _extents = new Array((_arg3 / 2), (_arg4 / 2)); _axes = new Array(new Vector(0, 0), new Vector(0, 0)); radian = _arg5; } public function get radian():Number{ return (_radian); } public function set radian(_arg1:Number):void{ _radian = _arg1; setAxes(_arg1); } function get axes():Array{ return (_axes); } function get extents():Array{ return (_extents); } public function set width(_arg1:Number):void{ _extents[0] = (_arg1 / 2); } public function set angle(_arg1:Number):void{ radian = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY); } public function set height(_arg1:Number):void{ _extents[1] = (_arg1 / 2); } override public function init():void{ var _local1:Number; var _local2:Number; cleanup(); if (displayObject != null){ initDisplay(); } else { _local1 = (extents[0] * 2); _local2 = (extents[1] * 2); sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.beginFill(fillColor, fillAlpha); sprite.graphics.drawRect((-(_local1) / 2), (-(_local2) / 2), _local1, _local2); sprite.graphics.endFill(); }; paint(); } public function get width():Number{ return ((_extents[0] * 2)); } public function get height():Number{ return ((_extents[1] * 2)); } public function get angle():Number{ return ((radian * MathUtil.ONE_EIGHTY_OVER_PI)); } function getProjection(_arg1:Vector):Interval{ var _local2:Number = ((extents[0] * Math.abs(_arg1.dot(axes[0]))) + (extents[1] * Math.abs(_arg1.dot(axes[1])))); var _local3:Number = samp.dot(_arg1); interval.min = (_local3 - _local2); interval.max = (_local3 + _local2); return (interval); } override public function paint():void{ sprite.x = curr.x; sprite.y = curr.y; sprite.rotation = angle; } private function setAxes(_arg1:Number):void{ var _local2:Number = Math.sin(_arg1); var _local3:Number = Math.cos(_arg1); axes[0].x = _local3; axes[0].y = _local2; axes[1].x = -(_local2); axes[1].y = _local3; } } }//package org.cove.ape
Section 41
//SpringConstraint (org.cove.ape.SpringConstraint) package org.cove.ape { import flash.display.*; public class SpringConstraint extends AbstractConstraint { private var _collidable:Boolean; private var p1:AbstractParticle; private var p2:AbstractParticle; private var _scp:SpringConstraintParticle; private var _restLength:Number; public function SpringConstraint(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Number=0.5, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=1, _arg7:Boolean=false){ super(_arg3); this.p1 = _arg1; this.p2 = _arg2; checkParticlesLocation(); _restLength = currLength; setCollidable(_arg4, _arg5, _arg6, _arg7); } public function get fixed():Boolean{ return (((p1.fixed) && (p2.fixed))); } public function get rectScale():Number{ return (scp.rectScale); } public function set rectScale(_arg1:Number):void{ if (scp == null){ return; }; scp.rectScale = _arg1; } public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{ if (collidable){ scp.setDisplay(_arg1, _arg2, _arg3, _arg4); } else { displayObject = _arg1; displayObjectRotation = _arg4; displayObjectOffset = new Vector(_arg2, _arg3); }; } override public function init():void{ cleanup(); if (collidable){ scp.init(); } else { if (displayObject != null){ initDisplay(); }; }; paint(); } function initDisplay():void{ if (collidable){ scp.initDisplay(); } else { displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; sprite.addChild(displayObject); }; } public function get angle():Number{ return ((radian * MathUtil.ONE_EIGHTY_OVER_PI)); } public function get center():Vector{ return (p1.curr.plus(p2.curr).divEquals(2)); } public function set rectHeight(_arg1:Number):void{ if (scp == null){ return; }; scp.rectHeight = _arg1; } public function get restLength():Number{ return (_restLength); } override public function paint():void{ var _local1:Vector; if (collidable){ scp.paint(); } else { if (displayObject != null){ _local1 = center; sprite.x = _local1.x; sprite.y = _local1.y; sprite.rotation = angle; } else { sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.moveTo(p1.px, p1.py); sprite.graphics.lineTo(p2.px, p2.py); }; }; } function get scp():SpringConstraintParticle{ return (_scp); } public function get collidable():Boolean{ return (_collidable); } public function setCollidable(_arg1:Boolean, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{ _collidable = _arg1; _scp = null; if (_collidable){ _scp = new SpringConstraintParticle(p1, p2, this, _arg2, _arg3, _arg4); }; } public function isConnectedTo(_arg1:AbstractParticle):Boolean{ return ((((_arg1 == p1)) || ((_arg1 == p2)))); } public function get rectHeight():Number{ return (scp.rectHeight); } override function resolve():void{ if (((p1.fixed) && (p2.fixed))){ return; }; var _local1:Number = currLength; var _local2:Number = ((_local1 - restLength) / (_local1 * (p1.invMass + p2.invMass))); var _local3:Vector = delta.mult((_local2 * stiffness)); p1.curr.minusEquals(_local3.mult(p1.invMass)); p2.curr.plusEquals(_local3.mult(p2.invMass)); } public function set fixedEndLimit(_arg1:Number):void{ if (scp == null){ return; }; scp.fixedEndLimit = _arg1; } public function get radian():Number{ var _local1:Vector = delta; return (Math.atan2(_local1.y, _local1.x)); } public function set restLength(_arg1:Number):void{ if (_arg1 <= 0){ throw (new ArgumentError("restLength must be greater than 0")); }; _restLength = _arg1; } public function get currLength():Number{ return (p1.curr.distance(p2.curr)); } public function get fixedEndLimit():Number{ return (scp.fixedEndLimit); } private function checkParticlesLocation():void{ if ((((p1.curr.x == p2.curr.x)) && ((p1.curr.y == p2.curr.y)))){ p2.curr.x = (p2.curr.x + 0.0001); }; } function get delta():Vector{ return (p1.curr.minus(p2.curr)); } } }//package org.cove.ape
Section 42
//SpringConstraintParticle (org.cove.ape.SpringConstraintParticle) package org.cove.ape { import flash.display.*; import org.cove.ape.*; class SpringConstraintParticle extends RectangleParticle { private var p1:AbstractParticle; private var lambda:Vector; private var p2:AbstractParticle; private var _rectHeight:Number; private var avgVelocity:Vector; private var rca:Vector; private var rcb:Vector; private var _rectScale:Number; private var parent:SpringConstraint; private var scaleToLength:Boolean; private var s:Number; private var _fixedEndLimit:Number; function SpringConstraintParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:SpringConstraint, _arg4:Number, _arg5:Number, _arg6:Boolean){ super(0, 0, 0, 0, 0, false); this.p1 = _arg1; this.p2 = _arg2; lambda = new Vector(0, 0); avgVelocity = new Vector(0, 0); parent = _arg3; this.rectScale = _arg5; this.rectHeight = _arg4; this.scaleToLength = _arg6; fixedEndLimit = 0; rca = new Vector(); rcb = new Vector(); } private function setCorners(_arg1:RectangleParticle, _arg2:int):void{ var _local3:Number = _arg1.curr.x; var _local4:Number = _arg1.curr.y; var _local5:Array = _arg1.axes; var _local6:Array = _arg1.extents; var _local7:Number = (_local5[0].x * _local6[0]); var _local8:Number = (_local5[0].y * _local6[0]); var _local9:Number = (_local5[1].x * _local6[1]); var _local10:Number = (_local5[1].y * _local6[1]); var _local11:Number = (_local7 - _local9); var _local12:Number = (_local8 - _local10); var _local13:Number = (_local7 + _local9); var _local14:Number = (_local8 + _local10); if (_arg2 == 0){ rca.x = (_local3 - _local13); rca.y = (_local4 - _local14); rcb.x = (_local3 + _local11); rcb.y = (_local4 + _local12); } else { if (_arg2 == 1){ rca.x = (_local3 + _local11); rca.y = (_local4 + _local12); rcb.x = (_local3 + _local13); rcb.y = (_local4 + _local14); } else { if (_arg2 == 2){ rca.x = (_local3 + _local13); rca.y = (_local4 + _local14); rcb.x = (_local3 - _local11); rcb.y = (_local4 - _local12); } else { if (_arg2 == 3){ rca.x = (_local3 - _local11); rca.y = (_local4 - _local12); rcb.x = (_local3 - _local13); rcb.y = (_local4 - _local14); }; }; }; }; } override function get invMass():Number{ if (((p1.fixed) && (p2.fixed))){ return (0); }; return ((1 / ((p1.mass + p2.mass) / 2))); } function get rectScale():Number{ return (_rectScale); } function set rectScale(_arg1:Number):void{ _rectScale = _arg1; } override public function get friction():Number{ return (((p1.friction + p2.friction) / 2)); } override public function init():void{ var _local1:Sprite; var _local2:Number; var _local3:Number; if (displayObject != null){ initDisplay(); } else { _local1 = new Sprite(); parent.sprite.addChild(_local1); _local1.name = "inner"; _local2 = (parent.currLength * rectScale); _local3 = rectHeight; _local1.graphics.clear(); _local1.graphics.lineStyle(parent.lineThickness, parent.lineColor, parent.lineAlpha); _local1.graphics.beginFill(parent.fillColor, parent.fillAlpha); _local1.graphics.drawRect((-(_local2) / 2), (-(_local3) / 2), _local2, _local3); _local1.graphics.endFill(); }; paint(); } override function initDisplay():void{ displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; var _local1:Sprite = new Sprite(); _local1.name = "inner"; _local1.addChild(displayObject); parent.sprite.addChild(_local1); } function set rectHeight(_arg1:Number):void{ _rectHeight = _arg1; } function updatePosition():void{ var _local1:Vector = parent.center; curr.setTo(_local1.x, _local1.y); width = (scaleToLength) ? (parent.currLength * rectScale) : (parent.restLength * rectScale); height = rectHeight; radian = parent.radian; } override public function get velocity():Vector{ var _local1:Vector = p1.velocity; var _local2:Vector = p2.velocity; avgVelocity.setTo(((_local1.x + _local2.x) / 2), ((_local1.y + _local2.y) / 2)); return (avgVelocity); } override public function paint():void{ var _local1:Vector = parent.center; var _local2:Sprite = parent.sprite; if (scaleToLength){ _local2.getChildByName("inner").width = (parent.currLength * rectScale); } else { if (displayObject != null){ _local2.getChildByName("inner").width = (parent.restLength * rectScale); }; }; _local2.x = _local1.x; _local2.y = _local1.y; _local2.rotation = parent.angle; } private function getContactPointParam(_arg1:AbstractParticle):Number{ var _local2:Number; var _local3:Number; var _local4:Array; var _local5:Number; var _local6:int; var _local7:Number; if ((_arg1 is CircleParticle)){ _local2 = closestParamPoint(_arg1.curr); } else { if ((_arg1 is RectangleParticle)){ _local4 = new Array(4); _local5 = Number.POSITIVE_INFINITY; _local6 = 0; while (_local6 < 4) { setCorners((_arg1 as RectangleParticle), _local6); _local7 = closestPtSegmentSegment(); if (_local7 < _local5){ _local5 = _local7; _local3 = _local6; _local4[_local6] = s; }; _local6++; }; _local2 = _local4[_local3]; }; }; return (_local2); } function set fixedEndLimit(_arg1:Number):void{ _fixedEndLimit = _arg1; } private function closestPtSegmentSegment():Number{ var _local8:Number; var _local1:Vector = p1.curr; var _local2:Vector = p2.curr; var _local3:Vector = rca; var _local4:Vector = rcb; var _local5:Vector = _local2.minus(_local1); var _local6:Vector = _local4.minus(_local3); var _local7:Vector = _local1.minus(_local3); var _local9:Number = _local5.dot(_local5); var _local10:Number = _local6.dot(_local6); var _local11:Number = _local6.dot(_local7); var _local12:Number = _local5.dot(_local7); var _local13:Number = _local5.dot(_local6); var _local14:Number = ((_local9 * _local10) - (_local13 * _local13)); if (_local14 != 0){ s = MathUtil.clamp((((_local13 * _local11) - (_local12 * _local10)) / _local14), 0, 1); } else { s = 0.5; }; _local8 = (((_local13 * s) + _local11) / _local10); if (_local8 < 0){ _local8 = 0; s = MathUtil.clamp((-(_local12) / _local9), 0, 1); } else { if (_local8 > 0){ _local8 = 1; s = MathUtil.clamp(((_local13 - _local12) / _local9), 0, 1); }; }; var _local15:Vector = _local1.plus(_local5.mult(s)); var _local16:Vector = _local3.plus(_local6.mult(_local8)); var _local17:Vector = _local15.minus(_local16); return (_local15.minus(_local16).dot(_local17)); } override function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ var _local10:Number; var _local11:AbstractParticle; var _local7:Number = getContactPointParam(_arg6); var _local8:Number = (1 - _local7); var _local9:Number = _local7; if (p1.fixed){ if (_local9 <= fixedEndLimit){ return; }; lambda.setTo((_arg1.x / _local9), (_arg1.y / _local9)); p2.curr.plusEquals(lambda); p2.velocity = _arg2; } else { if (p2.fixed){ if (_local8 <= fixedEndLimit){ return; }; lambda.setTo((_arg1.x / _local8), (_arg1.y / _local8)); p1.curr.plusEquals(lambda); p1.velocity = _arg2; } else { _local10 = ((_local8 * _local8) + (_local9 * _local9)); if (_local10 == 0){ return; }; lambda.setTo((_arg1.x / _local10), (_arg1.y / _local10)); p1.curr.plusEquals(lambda.mult(_local8)); p2.curr.plusEquals(lambda.mult(_local9)); if (_local7 == 0.5){ p1.velocity = _arg2; p2.velocity = _arg2; } else { _local11 = ((_local7)<0.5) ? p1 : p2; _local11.velocity = _arg2; }; }; }; } function get rectHeight():Number{ return (_rectHeight); } function get fixedEndLimit():Number{ return (_fixedEndLimit); } override public function get elasticity():Number{ return (((p1.elasticity + p2.elasticity) / 2)); } override public function get mass():Number{ return (((p1.mass + p2.mass) / 2)); } private function closestParamPoint(_arg1:Vector):Number{ var _local2:Vector = p2.curr.minus(p1.curr); var _local3:Number = (_local2.dot(_arg1.minus(p1.curr)) / _local2.dot(_local2)); return (MathUtil.clamp(_local3, 0, 1)); } } }//package org.cove.ape
Section 43
//Vector (org.cove.ape.Vector) package org.cove.ape { public class Vector { public var x:Number; public var y:Number; public function Vector(_arg1:Number=0, _arg2:Number=0){ x = _arg1; y = _arg2; } public function cross(_arg1:Vector):Number{ return (((x * _arg1.y) - (y * _arg1.x))); } public function magnitude():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function divEquals(_arg1:Number):Vector{ if (_arg1 == 0){ _arg1 = 0.0001; }; x = (x / _arg1); y = (y / _arg1); return (this); } public function times(_arg1:Vector):Vector{ return (new Vector((x * _arg1.x), (y * _arg1.y))); } public function plusEquals(_arg1:Vector):Vector{ x = (x + _arg1.x); y = (y + _arg1.y); return (this); } public function dot(_arg1:Vector):Number{ return (((x * _arg1.x) + (y * _arg1.y))); } public function toString():String{ return (((x + " : ") + y)); } public function normalize():Vector{ var _local1:Number = magnitude(); if (_local1 == 0){ _local1 = 0.0001; }; return (mult((1 / _local1))); } public function minusEquals(_arg1:Vector):Vector{ x = (x - _arg1.x); y = (y - _arg1.y); return (this); } public function copy(_arg1:Vector):void{ x = _arg1.x; y = _arg1.y; } public function multEquals(_arg1:Number):Vector{ x = (x * _arg1); y = (y * _arg1); return (this); } public function minus(_arg1:Vector):Vector{ return (new Vector((x - _arg1.x), (y - _arg1.y))); } public function plus(_arg1:Vector):Vector{ return (new Vector((x + _arg1.x), (y + _arg1.y))); } public function distance(_arg1:Vector):Number{ var _local2:Vector = this.minus(_arg1); return (_local2.magnitude()); } public function setTo(_arg1:Number, _arg2:Number):void{ x = _arg1; y = _arg2; } public function mult(_arg1:Number):Vector{ return (new Vector((x * _arg1), (y * _arg1))); } } }//package org.cove.ape
Section 44
//BeginScene (scene.BeginScene) package scene { import flash.events.*; import flash.display.*; import def.*; import flash.net.*; public class BeginScene { private var _startBtn:SimpleButton; private var _hardBtn:SimpleButton; private var _easyBtn:SimpleButton; public function BeginScene(){ BumperBoat.instance.movie.gotoAndPlay(1, "首页"); BumperBoat.instance.addScriptToNextframe(init); } private function destroy():void{ BumperBoat.instance.stage.removeEventListener(MouseEvent.CLICK, mouseClcikHandler); } private function mouseClickHandler(_arg1:MouseEvent):void{ _easyBtn.removeEventListener(MouseEvent.CLICK, mouseClickHandler); _hardBtn.removeEventListener(MouseEvent.CLICK, mouseClickHandler); if (_arg1.target == _easyBtn){ Def.Game_Degree = "easy"; Def.soundControl.buttonSound(); BumperBoat.instance.movie.gotoAndStop(1, "说明页"); BumperBoat.instance.addScriptToNextframe(helpshow); } else { Def.Game_Degree = "hard"; Def.soundControl.buttonSound(); BumperBoat.instance.movie.gotoAndStop(1, "说明页2"); BumperBoat.instance.addScriptToNextframe(helpshow); }; } private function init():void{ BumperBoat.instance.stage.addEventListener(MouseEvent.CLICK, mouseClcikHandler); } private function startBtnHandler(_arg1:MouseEvent):void{ Def.soundControl.buttonSound(); BumperBoat.instance.movie.stop(); _startBtn.removeEventListener(MouseEvent.CLICK, startBtnHandler); new GateScene(); } private function mouseClcikHandler(_arg1:MouseEvent):void{ switch (_arg1.target.name){ case "playBtn": destroy(); Def.soundControl.buttonSound(); BumperBoat.instance.movie.gotoAndPlay(9); _easyBtn = (BumperBoat.instance.getMovie("easyBtn") as SimpleButton); _easyBtn.addEventListener(MouseEvent.CLICK, mouseClickHandler); _hardBtn = (BumperBoat.instance.getMovie("hardBtn") as SimpleButton); _hardBtn.addEventListener(MouseEvent.CLICK, mouseClickHandler); break; case "wedSiteBtn": navigateToURL(new URLRequest(Def.TOWEBURL)); Def.soundControl.buttonSound(); break; case "moreGameBtn": navigateToURL(new URLRequest(Def.URL)); Def.soundControl.buttonSound(); break; }; } private function helpshow():void{ _startBtn = (BumperBoat.instance.getMovie("startBtn") as SimpleButton); _startBtn.addEventListener(MouseEvent.CLICK, startBtnHandler); } } }//package scene
Section 45
//GameScene (scene.GameScene) package scene { import flash.events.*; import flash.display.*; import org.cove.ape.*; import vo.*; import def.*; import utils.*; import flash.utils.*; import flash.ui.*; import flash.geom.*; public class GameScene { private var _player:Player; private var _pauseFlag:Boolean;// = true private var _enemy:Oppsite; private var _replayFlag:Boolean;// = false private var _soundFlag:Boolean;// = true private var _keyControl:KeybordObject; private var _enemyInt:int;// = 0 private var _soundBtn:MovieClip; private var _backBtn:SimpleButton; private var _result:String; private var _playerInt:int;// = 0 private var _distance:Number; private var _role:String; private var _pauseBtn:MovieClip; private var _circle:MovieClip; private var _replayBtn:SimpleButton; private var _barrier:MovieClip; public function GameScene(_arg1:String){ _role = _arg1; BumperBoat.instance.movie.gotoAndStop(1, "游戏场景"); BumperBoat.instance.addScriptToNextframe(init); } private function run(_arg1:Event):void{ if (((_keyControl.key[Keyboard.RIGHT]) || (_keyControl.key[68]))){ _player.moveControl("right"); }; if (((_keyControl.key[Keyboard.UP]) || (_keyControl.key[87]))){ _player.moveControl("up"); }; if ((((Def.Game_Degree == "easy")) && (((_keyControl.key[Keyboard.DOWN]) || (_keyControl.key[83]))))){ _player.moveControl("down"); }; if (((_keyControl.key[Keyboard.LEFT]) || (_keyControl.key[65]))){ _player.moveControl("left"); }; APEngine.step(); APEngine.paint(); _enemy.rotate(_player); judeResult(); } private function init():void{ Def.soundControl.backGroundSound(); initPlayer(); _circle = BumperBoat.instance.getMovie("circle"); _distance = ((_circle.width / 2) - 43); _keyControl = new KeybordObject(BumperBoat.instance.stage); APEngine.init((1 / 4)); APEngine.container = BumperBoat.instance.sprite; APEngine.damping = 0.95; _player = new Player(BumperBoat.instance.getMovie("player")); APEngine.addGroup(_player); _enemy = new Oppsite(BumperBoat.instance.getMovie(_role)); APEngine.addGroup(_enemy); _player.addCollidable(_enemy); BumperBoat.instance.stage.addEventListener(Event.ENTER_FRAME, run); _pauseBtn.addEventListener(MouseEvent.CLICK, pauseBtnClick); _soundBtn.addEventListener(MouseEvent.CLICK, soundBtnClick); _backBtn.addEventListener(MouseEvent.CLICK, backBtnClick); _replayBtn.addEventListener(MouseEvent.CLICK, replayBtnClick); } private function initPlayer():void{ _pauseBtn = BumperBoat.instance.getMovie("pauseBtn"); _pauseBtn.gotoAndStop(1); _pauseBtn.buttonMode = true; _soundBtn = BumperBoat.instance.getMovie("soundBtn"); _soundBtn.gotoAndStop(1); _soundBtn.buttonMode = true; _backBtn = (BumperBoat.instance.getMovie("returnBtn") as SimpleButton); _replayBtn = (BumperBoat.instance.getMovie("replayBtn") as SimpleButton); MovieClip(BumperBoat.instance.getMovie("whiteGirl")).visible = false; MovieClip(BumperBoat.instance.getMovie("blackGirl")).visible = false; MovieClip(BumperBoat.instance.getMovie("yellowGirl")).visible = false; MovieClip(BumperBoat.instance.getMovie("white")).visible = false; MovieClip(BumperBoat.instance.getMovie("black")).visible = false; MovieClip(BumperBoat.instance.getMovie("yellow")).visible = false; if (_role == "white"){ MovieClip(BumperBoat.instance.getMovie("whiteGirl")).visible = true; MovieClip(BumperBoat.instance.getMovie("white")).visible = true; } else { if (_role == "black"){ MovieClip(BumperBoat.instance.getMovie("blackGirl")).visible = true; MovieClip(BumperBoat.instance.getMovie("black")).visible = true; } else { if (_role == "yellow"){ MovieClip(BumperBoat.instance.getMovie("yellowGirl")).visible = true; MovieClip(BumperBoat.instance.getMovie("yellow")).visible = true; }; }; }; } private function replayBtnClick(_arg1:Event):void{ pauseTheGame(); _pauseBtn.removeEventListener(MouseEvent.CLICK, pauseBtnClick); _soundBtn.removeEventListener(MouseEvent.CLICK, soundBtnClick); _backBtn.removeEventListener(MouseEvent.CLICK, backBtnClick); _replayBtn.removeEventListener(MouseEvent.CLICK, replayBtnClick); _replayFlag = true; _barrier = new (BumperBoat.instance.getClass("barrier")); BumperBoat.instance.sprite.addChild(_barrier); _barrier.x = 320; _barrier.y = 240; _barrier.addEventListener("init", reInitHandler); } private function backBtnClick(_arg1:Event):void{ pauseTheGame(); destroy(); new BeginScene(); } private function pauseBtnClick(_arg1:MouseEvent):void{ if (_pauseFlag){ _pauseFlag = false; _pauseBtn.gotoAndStop(2); pauseTheGame(); } else { _pauseFlag = true; _pauseBtn.gotoAndStop(1); restartTheGame(); }; } private function reSetEvent():void{ if (_replayFlag){ _replayFlag = false; _pauseBtn.addEventListener(MouseEvent.CLICK, pauseBtnClick); _soundBtn.addEventListener(MouseEvent.CLICK, soundBtnClick); }; _backBtn.addEventListener(MouseEvent.CLICK, backBtnClick); _replayBtn.addEventListener(MouseEvent.CLICK, replayBtnClick); } private function pauseTheGame():void{ _enemy.pauseGame(); BumperBoat.instance.stage.removeEventListener(Event.ENTER_FRAME, run); } private function reDoneHandler(_arg1:Event):void{ _barrier.removeEventListener("done", reDoneHandler); BumperBoat.instance.sprite.removeChild(_barrier); reSetEvent(); restartTheGame(); } private function soundBtnClick(_arg1:MouseEvent):void{ if (_soundFlag){ _soundFlag = false; _soundBtn.gotoAndStop(2); } else { _soundFlag = true; _soundBtn.gotoAndStop(1); }; Def.isSound = !(Def.isSound); Def.soundControl.backGroundSound(); } private function timerHandler(_arg1:TimerEvent):void{ _arg1.target.stop(); _arg1.target.removeEventListener(TimerEvent.TIMER, timerHandler); if ((((_enemyInt < 3)) && ((_playerInt < 3)))){ _player.reSet(); _enemy.reSet(); APEngine.step(); APEngine.paint(); _barrier.gotoAndPlay((_barrier.currentFrame + 1)); _barrier.addEventListener("done", reDoneHandler); } else { BumperBoat.instance.sprite.removeChild(_barrier); destroy(); if (_playerInt >= 3){ new WinScene(_role); } else { if (_enemyInt >= 3){ new LostScene(_role); }; }; }; } private function judeResult():void{ var _local3:MovieClip; var _local1:Number = Point.distance(new Point(_circle.x, _circle.y), new Point(_enemy.px, _enemy.py)); var _local2:Number = Point.distance(new Point(_circle.x, _circle.y), new Point(_player.px, _player.py)); if ((((_local2 >= _distance)) || ((_local1 >= _distance)))){ pauseTheGame(); _backBtn.removeEventListener(MouseEvent.CLICK, backBtnClick); _replayBtn.removeEventListener(MouseEvent.CLICK, replayBtnClick); if (_local2 >= _distance){ _result = "lose"; } else { _result = "win"; }; _local3 = new (BumperBoat.instance.getClass("KO")); BumperBoat.instance.sprite.addChild(_local3); _local3.x = 320; _local3.y = 240; _local3.addEventListener("KO", KOEventHandler); }; } private function winEventHandler(_arg1:Event):void{ _arg1.target.removeEventListener("winner", winEventHandler); BumperBoat.instance.sprite.removeChild((_arg1.target as MovieClip)); _barrier = new (BumperBoat.instance.getClass("barrier")); BumperBoat.instance.sprite.addChild(_barrier); _barrier.x = 320; _barrier.y = 240; _barrier.addEventListener("init", reInitHandler); } private function KOEventHandler(_arg1:Event):void{ _arg1.target.removeEventListener("KO", KOEventHandler); BumperBoat.instance.sprite.removeChild((_arg1.target as MovieClip)); var _local2:MovieClip = new (BumperBoat.instance.getClass("winner")); BumperBoat.instance.sprite.addChild(_local2); if (_result == "win"){ _local2.x = _player.px; _local2.y = _player.py; if (_playerInt < 1){ BumperBoat.instance.getMovie("playerOne").gotoAndPlay(2); } else { if (_playerInt < 2){ BumperBoat.instance.getMovie("playerTwo").gotoAndPlay(2); } else { if (_playerInt < 3){ BumperBoat.instance.getMovie("playerThree").gotoAndPlay(2); }; }; }; _playerInt++; } else { if (_result == "lose"){ _local2.x = _enemy.px; _local2.y = _enemy.py; if (_enemyInt < 1){ BumperBoat.instance.getMovie("enemyOne").gotoAndPlay(2); } else { if (_enemyInt < 2){ BumperBoat.instance.getMovie("enemyTwo").gotoAndPlay(2); } else { if (_enemyInt < 3){ BumperBoat.instance.getMovie("enemyThree").gotoAndPlay(2); }; }; }; _enemyInt++; }; }; _local2.addEventListener("winner", winEventHandler); } private function reInitHandler(_arg1:Event):void{ _barrier.removeEventListener("init", reInitHandler); var _local2:Timer = new Timer(300, 1); _local2.addEventListener(TimerEvent.TIMER, timerHandler); _local2.start(); } private function restartTheGame():void{ BumperBoat.instance.stage.addEventListener(Event.ENTER_FRAME, run); _enemy.restartGame(); } private function destroy():void{ APEngine.removeGroup(_enemy); APEngine.removeGroup(_player); _pauseBtn.removeEventListener(MouseEvent.CLICK, pauseBtnClick); _soundBtn.removeEventListener(MouseEvent.CLICK, soundBtnClick); _backBtn.removeEventListener(MouseEvent.CLICK, backBtnClick); _replayBtn.removeEventListener(MouseEvent.CLICK, replayBtnClick); } } }//package scene
Section 46
//GateScene (scene.GateScene) package scene { import flash.events.*; import def.*; public class GateScene { public function GateScene(){ BumperBoat.instance.movie.gotoAndStop(1, "人物选择页"); BumperBoat.instance.addScriptToNextframe(init); } private function init():void{ BumperBoat.instance.stage.addEventListener(MouseEvent.CLICK, mouseClcikHandler); } private function destroy():void{ BumperBoat.instance.stage.removeEventListener(MouseEvent.CLICK, mouseClcikHandler); } private function mouseClcikHandler(_arg1:MouseEvent):void{ switch (_arg1.target.name){ case "whiteBtn": destroy(); Def.soundControl.buttonSound(); new GameScene("white"); break; case "blackBtn": destroy(); Def.soundControl.buttonSound(); new GameScene("black"); break; case "yellowBtn": destroy(); Def.soundControl.buttonSound(); new GameScene("yellow"); break; }; } } }//package scene
Section 47
//LostScene (scene.LostScene) package scene { import flash.events.*; import def.*; import flash.net.*; public class LostScene { private var _role:String; public function LostScene(_arg1:String){ var _local2:String; super(); _role = _arg1; if (_arg1 == "white"){ _local2 = "lost"; } else { if (_arg1 == "black"){ _local2 = "失败页-美眉"; } else { if (_arg1 == "yellow"){ _local2 = "失败页-萝莉"; }; }; }; BumperBoat.instance.movie.gotoAndStop(1, _local2); BumperBoat.instance.addScriptToNextframe(init); } private function init():void{ BumperBoat.instance.movie.addEventListener(MouseEvent.CLICK, mouseClcikHandler); } private function destroy():void{ BumperBoat.instance.movie.removeEventListener(MouseEvent.CLICK, mouseClcikHandler); } private function mouseClcikHandler(_arg1:MouseEvent):void{ switch (_arg1.target.name){ case "playAgainBtn": destroy(); new GameScene(_role); break; case "wedSiteBtn": navigateToURL(new URLRequest(Def.TOWEBURL)); break; case "moreGameBtn": navigateToURL(new URLRequest(Def.URL)); break; case "backBtn": destroy(); new BeginScene(); break; }; } } }//package scene
Section 48
//WinScene (scene.WinScene) package scene { import flash.events.*; import def.*; import flash.net.*; public class WinScene { private var _role:String; public function WinScene(_arg1:String){ var _local2:String; super(); _role = _arg1; if (_arg1 == "white"){ _local2 = "胜利页-御姐"; } else { if (_arg1 == "black"){ _local2 = "胜利页-美眉"; } else { if (_arg1 == "yellow"){ _local2 = "胜利页-萝莉"; }; }; }; BumperBoat.instance.movie.gotoAndStop(1, _local2); BumperBoat.instance.addScriptToNextframe(init); } private function init():void{ BumperBoat.instance.movie.addEventListener(MouseEvent.CLICK, mouseClcikHandler); } private function destroy():void{ BumperBoat.instance.movie.removeEventListener(MouseEvent.CLICK, mouseClcikHandler); } private function mouseClcikHandler(_arg1:MouseEvent):void{ switch (_arg1.target.name){ case "playAgainBtn": trace("----------------------"); destroy(); new GameScene(_role); break; case "wedSiteBtn": navigateToURL(new URLRequest(Def.TOWEBURL)); break; case "moreGameBtn": navigateToURL(new URLRequest(Def.URL)); break; case "backBtn": destroy(); new BeginScene(); break; }; } } }//package scene
Section 49
//GameSound (utils.GameSound) package utils { import def.*; import flash.media.*; public class GameSound { private var soundAr:Array; private var _channelInt:SoundChannel; public function GameSound(){ _channelInt = new SoundChannel(); super(); soundAr = []; var _local1 = 1; while (_local1 <= 3) { soundAr[(_local1 - 1)] = (new (BumperBoat.instance.getClass(("sound" + _local1))) as Sound); _local1++; }; } public function backGroundSound():void{ if (Def.isSound){ _channelInt = (soundAr[1] as Sound).play(0, 9999999); } else { _channelInt.stop(); }; } public function hitSound():void{ if (Def.isSound){ soundAr[2].play(); }; } public function buttonSound():void{ if (Def.isSound){ soundAr[0].play(); }; } } }//package utils
Section 50
//KeybordObject (utils.KeybordObject) package utils { import flash.events.*; import flash.display.*; public class KeybordObject { public var key:Object; private var _stage:Stage; public static var keyControl:Boolean; public function KeybordObject(_arg1:Stage){ key = new Object(); super(); _stage = _arg1; keyControl = true; _stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); _stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); } private function onKeyDown(_arg1:KeyboardEvent):void{ if (keyControl){ key[_arg1.keyCode] = true; }; } private function onKeyUp(_arg1:KeyboardEvent):void{ if (keyControl){ delete key[_arg1.keyCode]; }; } public function deleteAll():void{ key = null; _stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); _stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyUp); } } }//package utils
Section 51
//Oppsite (vo.Oppsite) package vo { import flash.events.*; import flash.display.*; import org.cove.ape.*; import def.*; import flash.utils.*; public class Oppsite extends Group { private var _radian:Number;// = 0 private var _timer:Timer; private var _player:Player; private var _speed:Number;// = 290 private var _enemy:MovieClip; private var _mass:Number;// = 25 private var _angle:Number; private var _partical:CircleParticle; private var _px:Number; private var _py:Number; private var _oldX:Number; private var _oldY:Number; public function Oppsite(_arg1:MovieClip){ _enemy = _arg1; _enemy.gotoAndStop(1); if (Def.Game_Degree == "easy"){ _speed = 120; _mass = 14; } else { if (Def.Game_Degree == "hard"){ _speed = 340; _mass = 30; }; }; _timer = new Timer(45); initEnemy(); } private function changeState(_arg1:int):void{ _enemy.gotoAndStop(_arg1); } public function forceValue():Number{ var _local1:Number = Math.sqrt(((_partical.velocity.x * _partical.velocity.x) + (_partical.velocity.y * _partical.velocity.y))); return ((_local1 * _mass)); } public function rotate(_arg1:Player):void{ _player = _arg1; _radian = Math.atan2((_partical.py - _arg1.py), (_partical.px - _arg1.px)); _angle = (_radian * Def.Radian_to_Angle); _enemy.rotation = _angle; } public function destroy():void{ pauseGame(); } public function restartGame():void{ _timer.addEventListener(TimerEvent.TIMER, runHandler); _timer.start(); _partical.sprite.addEventListener(CollisionEvent.COLLIDE, hitHandler); } public function pauseGame():void{ _timer.stop(); _timer.removeEventListener(TimerEvent.TIMER, runHandler); _partical.sprite.removeEventListener(CollisionEvent.COLLIDE, hitHandler); } public function get py():Number{ return (_partical.py); } public function get px():Number{ return (_partical.px); } public function reSet():void{ _enemy.rotation = 0; _enemy.gotoAndStop(1); _partical.px = _oldX; _partical.py = _oldY; } private function hitHandler(_arg1:CollisionEvent):void{ var _local2:Number = forceValue(); var _local3:Number = _player.forceValue(); if (Math.abs((_local2 - _local3)) <= 8){ trace("equal"); _enemy.gotoAndStop(4); _player.changeState(4); Def.soundControl.hitSound(); } else { if (_local2 > _local3){ trace("big"); _enemy.gotoAndStop(2); _player.changeState(3); Def.soundControl.hitSound(); } else { trace("little"); _enemy.gotoAndStop(3); _player.changeState(2); Def.soundControl.hitSound(); }; }; } private function initEnemy():void{ _partical = new CircleParticle(_enemy.x, _enemy.y, 40, false, _mass, 0.8, 0.9); _partical.setDisplay(_enemy); _partical.sprite.rotation = 90; addParticle(_partical); _oldX = _partical.px; _oldY = _partical.py; _partical.sprite.addEventListener(CollisionEvent.COLLIDE, hitHandler); _timer.addEventListener(TimerEvent.TIMER, runHandler); _timer.start(); } private function runHandler(_arg1:TimerEvent):void{ _partical.addForce(new Vector((-(_speed) * Math.cos(_radian)), (-(_speed) * Math.sin(_radian)))); } } }//package vo
Section 52
//Player (vo.Player) package vo { import flash.display.*; import org.cove.ape.*; import def.*; public class Player extends Group { private var _player:MovieClip; private var _direction:Number; private var _speed:Number;// = 230 private var _mass:Number;// = 25 private var _partical:CircleParticle; private var _px:Number; private var _py:Number; private var _oldX:Number; private var _oldY:Number; public function Player(_arg1:MovieClip){ _player = _arg1; _direction = -90; _player.gotoAndStop(1); if (Def.Game_Degree == "easy"){ _speed = 75; _mass = 12; } else { if (Def.Game_Degree == "hard"){ _speed = 230; _mass = 25; }; }; initPlayer(); } public function changeState(_arg1:int=3):void{ _player.gotoAndStop(_arg1); } public function forceValue():Number{ var _local1:Number = Math.sqrt(((_partical.velocity.x * _partical.velocity.x) + (_partical.velocity.y * _partical.velocity.y))); return ((_local1 * _mass)); } public function get py():Number{ return (_partical.py); } public function moveControl(_arg1:String):void{ if (_arg1 == "right"){ _partical.sprite.rotation = (_partical.sprite.rotation + 5); } else { if (_arg1 == "up"){ _direction = ((_partical.sprite.rotation + 90) * Def.Angle_to_Radian); _partical.addForce(new Vector((_speed * Math.cos(_direction)), (_speed * Math.sin(_direction)))); } else { if (_arg1 == "left"){ _partical.sprite.rotation = (_partical.sprite.rotation - 5); } else { if (_arg1 == "down"){ _direction = ((_partical.sprite.rotation + 270) * Def.Angle_to_Radian); _partical.addForce(new Vector(((_speed * 0.8) * Math.cos(_direction)), ((_speed * 0.8) * Math.sin(_direction)))); }; }; }; }; } private function initPlayer():void{ _partical = new CircleParticle(_player.x, _player.y, 40, false, _mass, 0.9, 0.9); _partical.setDisplay(_player); _partical.sprite.rotation = -90; addParticle(_partical); _oldX = _partical.px; _oldY = _partical.py; } public function get px():Number{ return (_partical.px); } public function reSet():void{ _partical.px = _oldX; _partical.py = _oldY; _partical.sprite.rotation = -90; _player.gotoAndStop(1); } public function get mass():Number{ return (this._mass); } public function destroy():void{ } } }//package vo
Section 53
//barrier (barrier) package { import flash.events.*; import flash.display.*; public dynamic class barrier extends MovieClip { public function barrier(){ addFrameScript(14, frame15, 29, frame30); } function frame15(){ stop(); dispatchEvent(new Event("init")); } function frame30(){ stop(); dispatchEvent(new Event("done")); } } }//package
Section 54
//BumperBoat (BumperBoat) package { import flash.events.*; import flash.display.*; import scene.*; public class BumperBoat extends MovieClip { public var easyBtn:SimpleButton; public var moreGameBtn:SimpleButton; public var pauseBtn:MovieClip; public var playBtn:SimpleButton; public var returnBtn:SimpleButton; public var black:MovieClip; public var startBtn:SimpleButton; public var enemyTwo:MovieClip; public var white:MovieClip; public var playerTwo:MovieClip; public var yellowGirl:MovieClip; public var playAgainBtn:SimpleButton; public var blackGirl:MovieClip; public var loading:MovieClip; public var playerThree:MovieClip; public var movie:MovieClip; public var playerOne:MovieClip; public var yellowBtn:SimpleButton; public var sprite:Sprite; public var soundBtn:MovieClip; public var circle:MovieClip; public var enemyOne:MovieClip; public var blackBtn:SimpleButton; public var wedSiteBtn:SimpleButton; public var player:MovieClip; public var whiteGirl:MovieClip; public var whiteBtn:SimpleButton; public var yellow:MovieClip; public var replayBtn:SimpleButton; public var hardBtn:SimpleButton; public var backBtn:SimpleButton; public var enemyThree:MovieClip; public static var instance:BumperBoat; public function BumperBoat(){ sprite = new Sprite(); super(); addFrameScript(0, frame1, 4, frame5, 12, frame13, 20, frame21); instance = this; } public function getMovie(_arg1:String){ return (this.movie.getChildByName(_arg1)); } function frame21(){ stop(); } public function begin():void{ movie = this; stage.addChild(sprite); new BeginScene(); } public function onEnter(_arg1:Event):void{ var _local2:int = ((loaderInfo.bytesLoaded / loaderInfo.bytesTotal) * 100); trace(_local2); loading.loadMC.gotoAndStop(_local2); if (_local2 == 100){ loading.play(); this.removeEventListener(Event.ENTER_FRAME, onEnter); }; } public function getClass(_arg1:String):Class{ return ((this.loaderInfo.applicationDomain.getDefinition(_arg1) as Class)); } public function addScriptToNextframe(_arg1:Function, _arg2:int=2):void{ var frameNum:int; var onEnter:Function; var fun = _arg1; var frame = _arg2; onEnter = function (_arg1:Event):void{ frameNum++; if (frameNum >= frame){ fun(); removeEventListener(Event.ENTER_FRAME, onEnter); }; }; this.addEventListener(Event.ENTER_FRAME, onEnter); frameNum = 0; } function frame13(){ stop(); } function frame1(){ stop(); this.addEventListener(Event.ENTER_FRAME, onEnter); } function frame5(){ begin(); } } }//package
Section 55
//KO (KO) package { import flash.events.*; import flash.display.*; public dynamic class KO extends MovieClip { public function KO(){ addFrameScript(16, frame17); } function frame17(){ stop(); dispatchEvent(new Event("KO")); } } }//package
Section 56
//sound1 (sound1) package { import flash.media.*; public dynamic class sound1 extends Sound { } }//package
Section 57
//sound2 (sound2) package { import flash.media.*; public dynamic class sound2 extends Sound { } }//package
Section 58
//sound3 (sound3) package { import flash.media.*; public dynamic class sound3 extends Sound { } }//package
Section 59
//winner (winner) package { import flash.events.*; import flash.display.*; public dynamic class winner extends MovieClip { public function winner(){ addFrameScript(24, frame25); } function frame25(){ stop(); dispatchEvent(new Event("winner")); } } }//package

Library Items

Symbol 1 Sound {sound3}
Symbol 2 Sound {sound2}
Symbol 3 Sound {sound1}
Symbol 4 GraphicUsed by:5
Symbol 5 MovieClip {KO}Uses:4
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClip {winner}Uses:6
Symbol 8 GraphicUsed by:11
Symbol 9 GraphicUsed by:10
Symbol 10 MovieClipUses:9Used by:11
Symbol 11 MovieClip {barrier}Uses:8 10
Symbol 12 GraphicUsed by:58 101
Symbol 13 GraphicUsed by:14
Symbol 14 MovieClipUses:13Used by:20
Symbol 15 GraphicUsed by:17
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClipUses:15 16Used by:20
Symbol 18 FontUsed by:19 54
Symbol 19 TextUses:18Used by:20
Symbol 20 MovieClipUses:14 17 19Used by:23
Symbol 21 ShapeTweeningUsed by:23
Symbol 22 GraphicUsed by:23
Symbol 23 MovieClip {bumperboatrush_fla.loading_2}Uses:20 21 22Used by:58 101
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClipUses:24Used by:50 69
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:50 69
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClipUses:28Used by:50 69
Symbol 30 GraphicUsed by:31
Symbol 31 MovieClipUses:30Used by:50 69
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:50 69
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:50 69
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:50 69
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClipUses:38Used by:50 69
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClipUses:40Used by:50 69
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClipUses:42Used by:50 69
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClipUses:44Used by:50 69
Symbol 46 GraphicUsed by:47
Symbol 47 MovieClipUses:46Used by:50 69
Symbol 48 GraphicUsed by:49
Symbol 49 MovieClipUses:48Used by:50 69
Symbol 50 MovieClipUses:25 27 29 31 33 35 37 39 41 43 45 47 49Used by:58
Symbol 51 GraphicUsed by:58
Symbol 52 GraphicUsed by:53
Symbol 53 ButtonUses:52Used by:58 101
Symbol 54 TextUses:18Used by:55
Symbol 55 MovieClipUses:54Used by:57
Symbol 56 GraphicUsed by:57
Symbol 57 ButtonUses:55 56Used by:58
Symbol 58 MovieClip {bumperboatrush_fla.Timeline_1}Uses:12 23 50 51 53 57Used by:Timeline
Symbol 59 FontUsed by:60
Symbol 60 EditableTextUses:59Used by:Timeline
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:63
Symbol 63 MovieClipUses:62Used by:64
Symbol 64 MovieClipUses:63Used by:69
Symbol 65 SoundUsed by:69
Symbol 66 GraphicUsed by:68
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:66 67Used by:69
Symbol 69 MovieClip {bumperboatrush_fla.gameslist_24}Uses:25 27 29 31 33 35 37 39 41 43 45 47 49 64 65 68Used by:101
Symbol 70 GraphicUsed by:71
Symbol 71 MovieClipUses:70Used by:101
Symbol 72 GraphicUsed by:100
Symbol 73 GraphicUsed by:100
Symbol 74 GraphicUsed by:100
Symbol 75 GraphicUsed by:100
Symbol 76 GraphicUsed by:100
Symbol 77 GraphicUsed by:100
Symbol 78 GraphicUsed by:100
Symbol 79 GraphicUsed by:100
Symbol 80 GraphicUsed by:100
Symbol 81 GraphicUsed by:100
Symbol 82 GraphicUsed by:100
Symbol 83 GraphicUsed by:100
Symbol 84 GraphicUsed by:100
Symbol 85 GraphicUsed by:100
Symbol 86 GraphicUsed by:100
Symbol 87 GraphicUsed by:100
Symbol 88 GraphicUsed by:100
Symbol 89 GraphicUsed by:100
Symbol 90 GraphicUsed by:100
Symbol 91 GraphicUsed by:100
Symbol 92 GraphicUsed by:100
Symbol 93 GraphicUsed by:100
Symbol 94 GraphicUsed by:100
Symbol 95 GraphicUsed by:100
Symbol 96 GraphicUsed by:100
Symbol 97 GraphicUsed by:100
Symbol 98 GraphicUsed by:100
Symbol 99 GraphicUsed by:100
Symbol 100 MovieClip {bumperboatrush_fla.particular_30}Uses:72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99Used by:101
Symbol 101 MovieClip {bumperboatrush_fla.Timeline_23}Uses:12 23 69 53 71 100Used by:Timeline
Symbol 102 BitmapUsed by:103 127 160 168
Symbol 103 GraphicUses:102Used by:Timeline
Symbol 104 GraphicUsed by:105
Symbol 105 MovieClipUses:104Used by:Timeline
Symbol 106 MovieClipUsed by:Timeline
Symbol 107 GraphicUsed by:Timeline
Symbol 108 GraphicUsed by:112
Symbol 109 GraphicUsed by:110 112 115 118 121 124 298 299 302
Symbol 110 MovieClipUses:109Used by:112 115 118 121 124 298 299 302
Symbol 111 GraphicUsed by:112
Symbol 112 ButtonUses:108 110 111 109Used by:Timeline
Symbol 113 GraphicUsed by:115
Symbol 114 GraphicUsed by:115
Symbol 115 ButtonUses:113 110 114 109Used by:Timeline
Symbol 116 GraphicUsed by:118
Symbol 117 GraphicUsed by:118
Symbol 118 ButtonUses:116 110 117 109Used by:Timeline
Symbol 119 GraphicUsed by:121
Symbol 120 GraphicUsed by:121
Symbol 121 ButtonUses:119 110 120 109Used by:Timeline
Symbol 122 GraphicUsed by:124 299
Symbol 123 GraphicUsed by:124 299
Symbol 124 ButtonUses:122 110 123 109Used by:Timeline
Symbol 125 GraphicUsed by:Timeline
Symbol 126 GraphicUsed by:Timeline
Symbol 127 GraphicUses:102Used by:Timeline
Symbol 128 GraphicUsed by:154 167
Symbol 129 BitmapUsed by:130 193
Symbol 130 GraphicUses:129Used by:131
Symbol 131 MovieClipUses:130Used by:154 167
Symbol 132 GraphicUsed by:154 167
Symbol 133 GraphicUsed by:148
Symbol 134 GraphicUsed by:138 162
Symbol 135 GraphicUsed by:138 162
Symbol 136 GraphicUsed by:138 162
Symbol 137 GraphicUsed by:138 162
Symbol 138 MovieClip {bumperboatrush_fla.Timeline_42}Uses:134 135 136 137Used by:148
Symbol 139 GraphicUsed by:140 269
Symbol 140 MovieClipUses:139Used by:145 229 246
Symbol 141 GraphicUsed by:145
Symbol 142 GraphicUsed by:145 234 237 241 249 251 253 257 259 262
Symbol 143 GraphicUsed by:145 257 259 262
Symbol 144 GraphicUsed by:145
Symbol 145 MovieClipUses:140 141 142 143 144Used by:146 263
Symbol 146 MovieClipUses:145Used by:147 163  Timeline
Symbol 147 MovieClip {bumperboatrush_fla.ren_43}Uses:146Used by:148
Symbol 148 MovieClipUses:133 138 147Used by:154
Symbol 149 GraphicUsed by:154 167
Symbol 150 FontUsed by:151
Symbol 151 EditableTextUses:150Used by:154
Symbol 152 FontUsed by:153
Symbol 153 EditableTextUses:152Used by:154
Symbol 154 MovieClipUses:128 131 132 148 149 151 153Used by:Timeline
Symbol 155 GraphicUsed by:159
Symbol 156 GraphicUsed by:157 159
Symbol 157 MovieClipUses:156Used by:159
Symbol 158 GraphicUsed by:159
Symbol 159 ButtonUses:155 157 158 156Used by:Timeline
Symbol 160 GraphicUses:102Used by:Timeline
Symbol 161 GraphicUsed by:164
Symbol 162 MovieClip {bumperboatrush_fla.Timeline_51}Uses:134 135 136 137Used by:164
Symbol 163 MovieClip {bumperboatrush_fla.ren_52}Uses:146Used by:164
Symbol 164 MovieClipUses:161 162 163Used by:167
Symbol 165 GraphicUsed by:166
Symbol 166 MovieClipUses:165Used by:167
Symbol 167 MovieClipUses:128 131 132 164 149 166Used by:Timeline
Symbol 168 GraphicUses:102Used by:Timeline
Symbol 169 GraphicUsed by:177
Symbol 170 GraphicUsed by:177
Symbol 171 GraphicUsed by:172
Symbol 172 MovieClipUses:171Used by:177
Symbol 173 GraphicUsed by:174 175
Symbol 174 MovieClipUses:173Used by:177 183 189
Symbol 175 MovieClipUses:173Used by:177 183 189
Symbol 176 GraphicUsed by:177
Symbol 177 ButtonUses:169 170 172 174 175 176Used by:Timeline
Symbol 178 GraphicUsed by:183
Symbol 179 GraphicUsed by:183
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClipUses:180Used by:183
Symbol 182 GraphicUsed by:183
Symbol 183 ButtonUses:178 179 181 174 175 182Used by:Timeline
Symbol 184 GraphicUsed by:189
Symbol 185 GraphicUsed by:189
Symbol 186 GraphicUsed by:187
Symbol 187 MovieClipUses:186Used by:189
Symbol 188 GraphicUsed by:189
Symbol 189 ButtonUses:184 185 187 174 175 188Used by:Timeline
Symbol 190 GraphicUsed by:Timeline
Symbol 191 MovieClipUsed by:Timeline
Symbol 192 GraphicUsed by:Timeline
Symbol 193 GraphicUses:129Used by:194
Symbol 194 MovieClipUses:193Used by:Timeline
Symbol 195 GraphicUsed by:201
Symbol 196 GraphicUsed by:197
Symbol 197 MovieClipUses:196Used by:201
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClipUses:198Used by:201
Symbol 200 GraphicUsed by:201
Symbol 201 MovieClipUses:195 197 199 200Used by:Timeline
Symbol 202 GraphicUsed by:Timeline
Symbol 203 GraphicUsed by:207
Symbol 204 GraphicUsed by:205 207 210 214 217 221 224
Symbol 205 MovieClipUses:204Used by:207 210 214 217 221 224
Symbol 206 GraphicUsed by:207
Symbol 207 ButtonUses:203 205 206 204Used by:211
Symbol 208 GraphicUsed by:210
Symbol 209 GraphicUsed by:210
Symbol 210 ButtonUses:208 205 209 204Used by:211
Symbol 211 MovieClip {bumperboatrush_fla.voice_67}Uses:207 210Used by:Timeline
Symbol 212 GraphicUsed by:214
Symbol 213 GraphicUsed by:214
Symbol 214 ButtonUses:212 205 213 204Used by:218
Symbol 215 GraphicUsed by:217
Symbol 216 GraphicUsed by:217
Symbol 217 ButtonUses:215 205 216 204Used by:218
Symbol 218 MovieClip {bumperboatrush_fla.pause_71}Uses:214 217Used by:Timeline
Symbol 219 GraphicUsed by:221
Symbol 220 GraphicUsed by:221
Symbol 221 ButtonUses:219 205 220 204Used by:Timeline
Symbol 222 GraphicUsed by:224
Symbol 223 GraphicUsed by:224
Symbol 224 ButtonUses:222 205 223 204Used by:Timeline
Symbol 225 GraphicUsed by:229 234 237 241 246 249 251 253 257 259 262
Symbol 226 GraphicUsed by:229
Symbol 227 GraphicUsed by:229 234 237 241
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClipUses:140 225 226 227 228Used by:242 316
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:234 237 241 249 251 253 257 259 262 272 274 276
Symbol 232 GraphicUsed by:233
Symbol 233 MovieClipUses:232Used by:234
Symbol 234 MovieClip {bumperboatrush_fla.Timeline_78}Uses:231 225 142 227 233Used by:242 321
Symbol 235 GraphicUsed by:236
Symbol 236 MovieClipUses:235Used by:237
Symbol 237 MovieClip {bumperboatrush_fla.Timeline_81}Uses:231 225 142 227 236Used by:242 322
Symbol 238 GraphicUsed by:240
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClipUses:238 239Used by:241
Symbol 241 MovieClip {bumperboatrush_fla.Timeline_83}Uses:231 225 142 227 240Used by:242 323
Symbol 242 MovieClipUses:229 234 237 241Used by:Timeline
Symbol 243 GraphicUsed by:246
Symbol 244 GraphicUsed by:246 249 251 253
Symbol 245 GraphicUsed by:246
Symbol 246 MovieClipUses:140 225 243 244 245Used by:254 317
Symbol 247 GraphicUsed by:249
Symbol 248 GraphicUsed by:249
Symbol 249 MovieClip {bumperboatrush_fla.Timeline_87}Uses:231 225 142 244 247 248Used by:254 324
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClip {bumperboatrush_fla.Timeline_88}Uses:231 225 142 244 250Used by:254 325
Symbol 252 GraphicUsed by:253
Symbol 253 MovieClip {bumperboatrush_fla.Timeline_89}Uses:231 225 142 244 252Used by:254 326
Symbol 254 MovieClipUses:246 249 251 253Used by:Timeline
Symbol 255 GraphicUsed by:257
Symbol 256 GraphicUsed by:257
Symbol 257 MovieClip {bumperboatrush_fla.Timeline_91}Uses:231 225 142 143 255 256Used by:263 318
Symbol 258 GraphicUsed by:259
Symbol 259 MovieClip {bumperboatrush_fla.Timeline_92}Uses:231 225 142 143 258Used by:263 319
Symbol 260 GraphicUsed by:262
Symbol 261 GraphicUsed by:262
Symbol 262 MovieClip {bumperboatrush_fla.Timeline_93}Uses:231 225 142 143 260 261Used by:263 320
Symbol 263 MovieClipUses:145 257 259 262Used by:Timeline
Symbol 264 GraphicUsed by:269 272 274 276
Symbol 265 GraphicUsed by:269 272 274 276
Symbol 266 GraphicUsed by:269 272 274 276
Symbol 267 GraphicUsed by:269 272 274 276
Symbol 268 GraphicUsed by:269
Symbol 269 MovieClipUses:139 264 265 266 267 268Used by:277 312
Symbol 270 GraphicUsed by:272
Symbol 271 GraphicUsed by:272
Symbol 272 MovieClip {bumperboatrush_fla.Timeline_96}Uses:231 264 265 266 267 270 271Used by:277 313
Symbol 273 GraphicUsed by:274
Symbol 274 MovieClip {bumperboatrush_fla.Timeline_97}Uses:231 264 265 266 267 273Used by:277 314
Symbol 275 GraphicUsed by:276
Symbol 276 MovieClip {bumperboatrush_fla.Timeline_98}Uses:231 264 265 266 267 275Used by:277 315
Symbol 277 MovieClipUses:269 272 274 276Used by:Timeline
Symbol 278 GraphicUsed by:Timeline
Symbol 279 GraphicUsed by:281
Symbol 280 GraphicUsed by:281
Symbol 281 MovieClip {bumperboatrush_fla.Timeline_99}Uses:279 280Used by:Timeline
Symbol 282 GraphicUsed by:283
Symbol 283 MovieClipUses:282Used by:Timeline
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClipUses:284Used by:Timeline
Symbol 286 GraphicUsed by:287
Symbol 287 MovieClipUses:286Used by:Timeline
Symbol 288 GraphicUsed by:Timeline
Symbol 289 GraphicUsed by:Timeline
Symbol 290 GraphicUsed by:Timeline
Symbol 291 GraphicUsed by:Timeline
Symbol 292 GraphicUsed by:293
Symbol 293 MovieClipUses:292Used by:Timeline
Symbol 294 BitmapUsed by:295 305 306
Symbol 295 GraphicUses:294Used by:Timeline
Symbol 296 GraphicUsed by:298
Symbol 297 GraphicUsed by:298
Symbol 298 ButtonUses:296 110 297 109Used by:Timeline
Symbol 299 ButtonUses:122 110 123 109Used by:Timeline
Symbol 300 GraphicUsed by:302
Symbol 301 GraphicUsed by:302
Symbol 302 ButtonUses:300 110 301 109Used by:Timeline
Symbol 303 GraphicUsed by:304
Symbol 304 MovieClipUses:303Used by:Timeline
Symbol 305 GraphicUses:294Used by:Timeline
Symbol 306 GraphicUses:294Used by:Timeline
Symbol 307 BitmapUsed by:308 309 310
Symbol 308 GraphicUses:307Used by:Timeline
Symbol 309 GraphicUses:307Used by:Timeline
Symbol 310 GraphicUses:307Used by:Timeline
Symbol 311 GraphicUsed by:Timeline
Symbol 312 MovieClipUses:269Used by:Timeline
Symbol 313 MovieClipUses:272Used by:Timeline
Symbol 314 MovieClipUses:274Used by:Timeline
Symbol 315 MovieClipUses:276Used by:Timeline
Symbol 316 MovieClipUses:229Used by:Timeline
Symbol 317 MovieClipUses:246Used by:Timeline
Symbol 318 MovieClipUses:257Used by:Timeline
Symbol 319 MovieClipUses:259Used by:Timeline
Symbol 320 MovieClipUses:262Used by:Timeline
Symbol 321 MovieClipUses:234Used by:Timeline
Symbol 322 MovieClipUses:237Used by:Timeline
Symbol 323 MovieClipUses:241Used by:Timeline
Symbol 324 MovieClipUses:249Used by:Timeline
Symbol 325 MovieClipUses:251Used by:Timeline
Symbol 326 MovieClipUses:253Used by:Timeline

Instance Names

"loading"Frame 1Symbol 58 MovieClip {bumperboatrush_fla.Timeline_1}
"easyBtn"Frame 6Symbol 112 Button
"hardBtn"Frame 6Symbol 115 Button
"playBtn"Frame 6Symbol 118 Button
"moreGameBtn"Frame 6Symbol 121 Button
"wedSiteBtn"Frame 6Symbol 124 Button
"startBtn"Frame 22Symbol 159 Button
"startBtn"Frame 23Symbol 159 Button
"whiteBtn"Frame 24Symbol 177 Button
"yellowBtn"Frame 24Symbol 183 Button
"blackBtn"Frame 24Symbol 189 Button
"circle"Frame 25Symbol 201 MovieClip
"soundBtn"Frame 25Symbol 211 MovieClip {bumperboatrush_fla.voice_67}
"pauseBtn"Frame 25Symbol 218 MovieClip {bumperboatrush_fla.pause_71}
"returnBtn"Frame 25Symbol 221 Button
"replayBtn"Frame 25Symbol 224 Button
"black"Frame 25Symbol 242 MovieClip
"white"Frame 25Symbol 254 MovieClip
"yellow"Frame 25Symbol 263 MovieClip
"player"Frame 25Symbol 277 MovieClip
"enemyOne"Frame 25Symbol 281 MovieClip {bumperboatrush_fla.Timeline_99}
"enemyTwo"Frame 25Symbol 281 MovieClip {bumperboatrush_fla.Timeline_99}
"enemyThree"Frame 25Symbol 281 MovieClip {bumperboatrush_fla.Timeline_99}
"playerOne"Frame 25Symbol 281 MovieClip {bumperboatrush_fla.Timeline_99}
"playerTwo"Frame 25Symbol 281 MovieClip {bumperboatrush_fla.Timeline_99}
"playerThree"Frame 25Symbol 281 MovieClip {bumperboatrush_fla.Timeline_99}
"blackGirl"Frame 25Symbol 283 MovieClip
"whiteGirl"Frame 25Symbol 285 MovieClip
"yellowGirl"Frame 25Symbol 287 MovieClip
"playAgainBtn"Frame 286Symbol 298 Button
"moreGameBtn"Frame 286Symbol 121 Button
"wedSiteBtn"Frame 286Symbol 299 Button
"backBtn"Frame 286Symbol 302 Button
"playAgainBtn"Frame 287Symbol 298 Button
"moreGameBtn"Frame 287Symbol 121 Button
"wedSiteBtn"Frame 287Symbol 299 Button
"backBtn"Frame 287Symbol 302 Button
"playAgainBtn"Frame 288Symbol 298 Button
"moreGameBtn"Frame 288Symbol 121 Button
"wedSiteBtn"Frame 288Symbol 299 Button
"backBtn"Frame 288Symbol 302 Button
"playAgainBtn"Frame 289Symbol 298 Button
"moreGameBtn"Frame 289Symbol 121 Button
"wedSiteBtn"Frame 289Symbol 299 Button
"backBtn"Frame 289Symbol 302 Button
"playAgainBtn"Frame 290Symbol 298 Button
"moreGameBtn"Frame 290Symbol 121 Button
"wedSiteBtn"Frame 290Symbol 299 Button
"backBtn"Frame 290Symbol 302 Button
"playAgainBtn"Frame 291Symbol 298 Button
"moreGameBtn"Frame 291Symbol 121 Button
"wedSiteBtn"Frame 291Symbol 299 Button
"backBtn"Frame 291Symbol 302 Button
"loadMC"Symbol 58 MovieClip {bumperboatrush_fla.Timeline_1} Frame 1Symbol 23 MovieClip {bumperboatrush_fla.loading_2}
"mc"Symbol 58 MovieClip {bumperboatrush_fla.Timeline_1} Frame 1Symbol 53 Button
"con"Symbol 58 MovieClip {bumperboatrush_fla.Timeline_1} Frame 12Symbol 57 Button
"mc"Symbol 101 MovieClip {bumperboatrush_fla.Timeline_23} Frame 1Symbol 53 Button

Special Tags

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




http://swfchan.com/24/117949/info.shtml
Created: 7/3 -2019 13:07:27 Last modified: 7/3 -2019 13:07:27 Server time: 26/04 -2024 00:19:45