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

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM76299282-7DC&rnd=76299282" width="1" height="1"></div>

armorgames taberinos-5544.swf

This is the info page for
Flash #267766

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


Text
+1234567890

taberinos

<p align="left"><font face="tonypa5x5_8pt_st" size="8" color="#ffffff" letterSpacing="1.000000" kerning="0"><a href="http://www.tonypa.pri.ee" target = "_blank">GAME BY TONYPA WWW.TONYPA.PRI.EE</a></font></p>

V 3-2010 AG

hit lines
to remove them
clear all
before running
out of shots

node is
removed once
no more lines are
connected
to it

complete level
with fewer shots
to receive more
bonus points

you receive
extra shot
for every
5 levels

angry node
can generate
new line
when hit

hit overgrown
node to shrink it
back to
normal size

0

0

SHOTS

SCORE

0

LIVES

LEVEL

<p align="left"><font face="tonypa5x5_8pt_st" size="8" color="#ffffff" letterSpacing="1.000000" kerning="0"><a href="http://www.incompetech.com" target = "_blank">MUSIC BY KEVIN MACLEOD WWW.INCOMPETECH.COM</a></font></p>

ActionScript [AS3]

Section 1
//ads_mc_15 (taberinos_fla.ads_mc_15) package taberinos_fla { import flash.display.*; public dynamic class ads_mc_15 extends MovieClip { public function ads_mc_15(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package taberinos_fla
Section 2
//ag_intro_mc_1 (taberinos_fla.ag_intro_mc_1) package taberinos_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class ag_intro_mc_1 extends MovieClip { public var ag_but:SimpleButton; public function ag_intro_mc_1(){ addFrameScript(0, frame1, 81, frame82, 217, frame218); } function frame82(){ ag_but.addEventListener(MouseEvent.CLICK, openAG); } function frame218(){ ag_but.removeEventListener(MouseEvent.CLICK, openAG); MovieClip(this.parent).gotoAndStop(3); } function frame1(){ this.gotoAndPlay(2); } public function openAG(_arg1:Event){ navigateToURL(new URLRequest("http://www.armorgames.com"), "_blank"); } } }//package taberinos_fla
Section 3
//help_mc_7 (taberinos_fla.help_mc_7) package taberinos_fla { import flash.display.*; public dynamic class help_mc_7 extends MovieClip { public function help_mc_7(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package taberinos_fla
Section 4
//MainTimeline (taberinos_fla.MainTimeline) package taberinos_fla { import flash.display.*; public dynamic class MainTimeline extends MovieClip { public var main_mc:empty_mc; public var soundonoff_mc:MovieClip; public var domainLock:Array; public var myPre:Preloader; public var help_mc:MovieClip; public var ads_mc:MovieClip; public var currentDomain:String; public var txt_mc:MovieClip; public var mygame:Game; public var domainLockTo:Array; public function MainTimeline(){ addFrameScript(0, frame1, 2, frame3); } function frame3(){ domainLockTo = "armorgames.com".split("."); currentDomain = this.root.loaderInfo.url.toLowerCase().split("/")[2]; domainLock = currentDomain.split("."); if (((!((domainLock[(domainLock.length - 1)] == domainLockTo[(domainLockTo.length - 1)]))) || (!((domainLock[(domainLock.length - 2)] == domainLockTo[(domainLockTo.length - 2)]))))){ this.gotoAndStop(2); } else { mygame = new Game(this); }; stop(); } function frame1(){ myPre = new Preloader(this); stop(); } } }//package taberinos_fla
Section 5
//sound_mc_4 (taberinos_fla.sound_mc_4) package taberinos_fla { import flash.display.*; public dynamic class sound_mc_4 extends MovieClip { public function sound_mc_4(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package taberinos_fla
Section 6
//soundonoff_mc_13 (taberinos_fla.soundonoff_mc_13) package taberinos_fla { import flash.display.*; public dynamic class soundonoff_mc_13 extends MovieClip { public var soundonoff_but:SimpleButton; public function soundonoff_mc_13(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package taberinos_fla
Section 7
//txt_mc_12 (taberinos_fla.txt_mc_12) package taberinos_fla { import flash.display.*; import flash.text.*; public dynamic class txt_mc_12 extends MovieClip { public var lives_txt:TextField; public var score_txt:TextField; public var shots_txt:TextField; public function txt_mc_12(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package taberinos_fla
Section 8
//CircleCollision (vector2D.CircleCollision) package vector2D { public class CircleCollision { private var p1p2:Vector2D; private var EPSILON:Number;// = 1E-7 private var p1p2n:Vector2D; private var circle:Object; public var closestPointOnLine:Vector2D; public var mtd:Vector2D; public var collision:Boolean;// = false private var sap:Vector2D; private var saq:Vector2D; private var r:Number;// = 0 public var t:Number;// = 0 private var p1p2len:Number; public function CircleCollision(_arg1:Number=0, _arg2:Number=0){ EPSILON = 1E-7; r = 0; t = 0; collision = false; super(); } public function circle2Circle(_arg1:Object, _arg2:Object):void{ var _local3:Vector2D; var _local4:Vector2D; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; mtd = new Vector2D(0, 0); t = 0; collision = false; _local3 = _arg2.p.minus(_arg1.p); _local4 = _arg2.v.minus(_arg1.v); _local5 = (_arg1.r + _arg2.r); _local6 = (_local3.dot(_local3) - (_local5 * _local5)); if (_local6 < -(EPSILON)){ collision = true; if (_local3.len() < EPSILON){ _local3 = _local3.plus(new Vector2D(EPSILON, EPSILON)); }; mtd = _local3.n().times((_local5 - _local3.len())); return; }; _local7 = _local4.dot(_local4); if (_local7 < EPSILON){ return; }; _local8 = _local4.dot(_local3); if (_local8 >= 0){ return; }; _local9 = ((_local8 * _local8) - (_local7 * _local6)); if (_local9 < 0){ return; }; t = ((-(_local8) - Math.sqrt(_local9)) / _local7); if ((((t > 1)) || ((t < EPSILON)))){ return; }; collision = true; } public function line2MovingCircle(_arg1:Object, _arg2:Vector2D, _arg3:Vector2D):void{ var _local4:Vector2D; var _local5:Vector2D; var _local6:Vector2D; var _local7:Vector2D; var _local8:Vector2D; var _local9:Vector2D; var _local10:Vector2D; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; t = 0; collision = false; r = _arg1.r; circle = _arg1; _local4 = point2Line(_arg1.p, _arg2, _arg3); closestPointOnLine = _local4; _local5 = _local4.minus(_arg1.p); if ((r * r) > _local5.len2()){ mtd = _local5.n().times((r - _local5.len())); collision = true; return; }; if (_local5.dot(_arg1.v) < 0){ return; }; mtd = _arg3.minus(_arg2); mtd = new Vector2D(-(mtd.y), mtd.x); _local6 = _arg1.p; _local7 = _arg1.p.plus(_arg1.v); p1p2 = _local7.minus(_local6); p1p2n = p1p2.n(); p1p2len = p1p2.len(); sap = _local6.minus(_arg2); saq = _local6.minus(_arg3); _local8 = _arg3.minus(_arg2); _local9 = sap; _local10 = p1p2; _local11 = _local9.dot(_local8); _local12 = _local10.dot(_local8); _local13 = _local8.dot(_local8); if ((((_local11 < 0)) && (((_local11 + _local12) < 0)))){ line2Circle(sap, _arg2); return; }; if ((((_local11 > _local13)) && (((_local11 + _local12) > _local13)))){ line2Circle(saq, _arg3); return; }; _local14 = _local10.dot(_local10); _local15 = _local9.dot(_local10); _local16 = ((_local13 * _local14) - (_local12 * _local12)); _local17 = (_local9.dot(_local9) - (r * r)); _local18 = ((_local13 * _local17) - (_local11 * _local11)); if (Math.abs(_local16) < EPSILON){ if (_local18 > 0){ return; }; if (_local11 < 0){ line2Circle(sap, _arg2); return; }; if (_local11 > _local13){ line2Circle(saq, _arg3); return; }; t = 0; collision = true; return; }; _local19 = ((_local13 * _local15) - (_local12 * _local11)); _local20 = ((((_local13 * _local15) - (_local12 * _local11)) * _local19) - (_local16 * _local18)); if (_local20 < 0){ return; }; t = ((-(_local19) - Math.sqrt(_local20)) / _local16); if ((_local11 + (t * _local12)) < 0){ line2Circle(sap, _arg2); return; }; if ((_local11 + (t * _local12)) > _local13){ line2Circle(saq, _arg3); return; }; if ((((t < 0)) || ((t > 1)))){ return; }; if (_arg1.v.dot(mtd) < 0){ mtd = mtd.times(-1); }; collision = true; } private function line2Circle(_arg1:Vector2D, _arg2:Vector2D):void{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = _arg1.dot(p1p2n); _local4 = (_arg1.dot(_arg1) - (r * r)); if ((((_local4 > 0)) && ((_local3 > 0)))){ return; }; _local5 = ((_local3 * _local3) - _local4); if (_local5 < 0){ return; }; t = (-(_local3) - Math.sqrt(_local5)); if (t < 0){ t = 0; }; if (t > p1p2len){ return; }; t = (t / p1p2len); mtd = _arg2.minus(circle.p.plus(circle.v.n().times(t))); collision = true; } public function point2Line(_arg1:Vector2D, _arg2:Vector2D, _arg3:Vector2D):Vector2D{ var _local4:Vector2D; var _local5:Vector2D; var _local6:Number; _local4 = _arg3.minus(_arg2); _local5 = _arg1.minus(_arg2); _local6 = (_local5.dot(_local4) / _local4.dot(_local4)); _local6 = clamp(_local6, 0, 1); return (_arg2.plus(_local4.times(_local6))); } private function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 < _arg2){ _arg1 = _arg2; }; if (_arg1 > _arg3){ _arg1 = _arg3; }; return (_arg1); } } }//package vector2D
Section 9
//Collision (vector2D.Collision) package vector2D { public class Collision { public static function findAllCollisions(_arg1:Array, _arg2:Array):void{ var _local3:Number; var _local4:Vector2D; var _local5:int; var _local6:int; var _local7:int; var _local8:CircleCollision; var _local9:int; var _local10:*; var _local11:int; var _local12:Vector2D; var _local13:Vector2D; var _local14:*; _local3 = 1; _local4 = new Vector2D(0, 0); _local5 = -1; _local6 = -1; _local7 = -1; _local8 = new CircleCollision(); _local9 = 0; while (_local9 < 1) { _local10 = _arg1[_local9]; _local11 = 0; while (_local11 < _arg2.length) { _local12 = _arg2[_local11].p; _local13 = _arg2[(_local11 + 1)].p; _local8.line2MovingCircle(_local10, _local12, _local13); if (_local8.collision == true){ if (_local8.t == 0){ _local3 = 0; _local4 = _local8.mtd; _local5 = _local9; _local6 = -1; if (_local11 > 7){ _local10.linep1 = _arg2[_local11]; _local10.linep2 = _arg2[(_local11 + 1)]; _local10.linep = _local8.closestPointOnLine; _local10.lineV = _local4; _local7 = _local11; }; } else { if (_local8.t < _local3){ _local4 = _local8.mtd; _local3 = _local8.t; _local5 = _local9; _local6 = -1; if (_local11 > 7){ _local10.linep1 = _arg2[_local11]; _local10.linep2 = _arg2[(_local11 + 1)]; _local10.linep = _local8.closestPointOnLine; _local10.lineV = _local4; _local7 = _local11; }; }; }; }; _local11 = (_local11 + 2); }; _local11 = (_local9 + 1); while (_local11 < _arg1.length) { _local14 = _arg1[_local11]; if (_local14.r > 0){ _local8.circle2Circle(_local10, _local14); if (_local8.collision == true){ if (_local8.t == 0){ _local3 = 0; _local4 = _local8.mtd; _local6 = _local11; _local5 = _local9; } else { if (_local8.t < _local3){ _local3 = _local8.t; _local6 = _local11; _local5 = _local9; }; }; }; }; _local11++; }; _local9++; }; if (_local5 > -1){ _local10 = _arg1[_local5]; _local10.wall = true; if (_local6 == -1){ if (_local3 == 0){ _local4 = _local4.n().times((_local4.len() + 0.1)); _local10.p = _local10.p.minus(_local4); } else { if (_local3 > 0.001){ _local3 = (_local3 - 0.001); }; _local10.p = _local10.p.plus(_local10.v.times(_local3)); }; _local4 = new Vector2D(-(_local4.y), _local4.x).n(); _local10.v = resolveBallWall(_local10, _local4); if (_local7 > -1){ _local10 = _arg2.splice(_local7, 2); }; } else { _local10.lineV = 0; _local10.ball2 = _arg1[_local6]; _local14 = _arg1[_local6]; _local14.spr.gotoAndPlay(2); if (_local3 == 0){ _local4 = _local4.n().times((_local4.len() + 0.1)); _local10.p = _local10.p.minus(_local4); } else { if (_local3 > 0.001){ _local3 = (_local3 - 0.001); }; _local10.p = _local10.p.plus(_local10.v.times(_local3)); }; _local4 = _local14.p.minus(_local10.p).n(); _local4 = new Vector2D(-(_local4.y), _local4.x).n(); _local10.v = resolveBallWall(_local10, _local4); }; }; if (_local3 > 0){ _local9 = 0; while (_local9 < 1) { _local10 = _arg1[_local9]; _arg1[_local9].p = _local10.p.plus(_local10.v.times(_local3)); _local10.spr.x = _local10.p.x; _local10.spr.y = _local10.p.y; _local9++; }; }; } public static function resolveBallBall(_arg1:Object, _arg2:Object, _arg3:Vector2D):Object{ var _local4:*; var _local5:Vector2D; var _local6:Number; var _local7:Vector2D; var _local8:Vector2D; var _local9:Vector2D; var _local10:Vector2D; _local4 = new Object(); _local5 = new Vector2D(-(_arg3.y), _arg3.x); _local6 = _arg1.v.dot(_arg3); _local7 = _arg3.times(_local6); _local6 = _arg1.v.dot(_local5); _local8 = _local5.times(_local6); _local6 = _arg2.v.dot(_arg3); _local9 = _arg3.times(_local6); _local6 = _arg2.v.dot(_local5); _local10 = _local5.times(_local6); if (_local9.dot(_arg3) < 0){ _local9 = _local9.times(-1); }; if (_local7.dot(_arg3) > 0){ _local7 = _local7.times(-1); }; _local4.v1 = _local9.plus(_local8); _local4.v2 = _local7.plus(_local10); return (_local4); } public static function resolveBallWall(_arg1:Object, _arg2:Vector2D):Vector2D{ var _local3:Vector2D; var _local4:Number; var _local5:Vector2D; var _local6:Vector2D; _local3 = new Vector2D(-(_arg2.y), _arg2.x); _local4 = _arg1.v.dot(_arg2); _local5 = _arg2.times(_local4); _local4 = _arg1.v.dot(_local3); _local6 = _local3.times(_local4); if (_local6.dot(_local3) < 0){ _local6 = _local6.times(-1); }; _arg2 = _local5.plus(_local6); return (_arg2); } } }//package vector2D
Section 10
//Geom2D (vector2D.Geom2D) package vector2D { public class Geom2D { public static function Point2D(_arg1:Number=0, _arg2:Number=0):Vector2D{ return (new Vector2D(_arg1, _arg2)); } public static function Circle2D(_arg1:Vector2D, _arg2:Number):Object{ var _local3:Object; _local3 = new Object(); _local3.p = _arg1; _local3.r = _arg2; return (_local3); } public static function Box2D(_arg1:Vector2D, _arg2:Number, _arg3:Number):Object{ var _local4:Number; var _local5:Number; var _local6:Object; _local4 = (_arg2 / 2); _local5 = (_arg3 / 2); _local6 = new Object(); _local6.p1 = Geom2D.Point2D((_arg1.x - _local4), (_arg1.y - _local5)); _local6.p2 = Geom2D.Point2D((_arg1.x + _local4), (_arg1.y - _local5)); _local6.p3 = Geom2D.Point2D((_arg1.x + _local4), (_arg1.y + _local5)); _local6.p4 = Geom2D.Point2D((_arg1.x - _local4), (_arg1.y + _local5)); _local6.xmin = _local6.p1.x; _local6.xmax = _local6.p3.x; _local6.ymin = _local6.p1.y; _local6.ymax = _local6.p3.y; return (_local6); } public static function Triangle2D(_arg1:Vector2D, _arg2:Vector2D, _arg3:Vector2D):Object{ var _local4:Object; _local4 = new Object(); _local4.p1 = _arg1; _local4.p2 = _arg2; _local4.p3 = _arg3; return (_local4); } } }//package vector2D
Section 11
//Vector2D (vector2D.Vector2D) package vector2D { public class Vector2D { public var x:Number; public var y:Number; public function Vector2D(_arg1:Number=0, _arg2:Number=0){ x = _arg1; y = _arg2; } public function times(_arg1:Number):Vector2D{ return (new Vector2D((x * _arg1), (y * _arg1))); } public function dot(_arg1:Vector2D):Number{ return (((x * _arg1.x) + (y * _arg1.y))); } public function n():Vector2D{ var _local1:Number; _local1 = len(); if (_local1 == 0){ return (new Vector2D()); }; return (new Vector2D((x / _local1), (y / _local1))); } public function len():Number{ var _local1:Number; _local1 = ((x * x) + (y * y)); if (_local1 == 0){ return (0); }; return (Math.sqrt(_local1)); } public function minusEquals(_arg1:Vector2D):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function minus(_arg1:Vector2D):Vector2D{ return (new Vector2D((x - _arg1.x), (y - _arg1.y))); } public function plus(_arg1:Vector2D):Vector2D{ return (new Vector2D((x + _arg1.x), (y + _arg1.y))); } public function len2():Number{ return (((x * x) + (y * y))); } public static function parV(_arg1:Vector2D, _arg2:Vector2D):Boolean{ var _local3:Vector2D; var _local4:Vector2D; _local3 = Vector2D.dir(_arg1); _local4 = Vector2D.dir(_arg2); if ((((((_local3.x == _local4.x)) && ((_local3.y == _local4.y)))) || ((((_local3.x == -(_local4.x))) && ((_local3.y == -(_local4.y))))))){ return (true); }; return (false); } public static function minusV(_arg1:Vector2D, _arg2:Vector2D):Vector2D{ return (new Vector2D((_arg1.x - _arg2.x), (_arg1.y - _arg2.y))); } public static function bounce(_arg1:Vector2D, _arg2:Vector2D):Vector2D{ var _local3:Vector2D; var _local4:Vector2D; var _local5:Vector2D; _local3 = Vector2D.projectV(_arg1, _arg2); _local4 = new Vector2D(-(_arg2.y), _arg2.x); _local5 = Vector2D.projectV(_arg1, _local4); return (Vector2D.minusV(_local3, _local5)); } public static function multiplyN(_arg1:Vector2D, _arg2:Number):Vector2D{ return (new Vector2D((_arg1.x * _arg2), (_arg1.y * _arg2))); } public static function b2Line(_arg1:Object, _arg2:Object):Array{ var _local3:Array; var _local4:Vector2D; var _local5:Vector2D; var _local6:Number; var _local7:Vector2D; var _local8:Number; var _local9:Object; var _local10:Array; var _local11:Array; _local3 = [Number.MAX_VALUE]; _local4 = new Vector2D(-(_arg2.vel.y), _arg2.vel.x); _local4 = Vector2D.dir(_local4); _local5 = Vector2D.minusV(_arg2.pos, _arg1.pos); _local5 = Vector2D.projectV(_local5, _local4); _local6 = Vector2D.intersect(_arg1.pos, Vector2D.multiplyN(_local5, _arg1.r), _arg2.pos, _arg2.vel); if ((((Vector2D.len(_local5) < _arg1.r)) && (!((_local6 == Number.MAX_VALUE))))){ _local3[0] = -((_arg1.r - Vector2D.len(_local5))); _local3[1] = _arg2.vel; _local3[2] = Vector2D.inverse(_local4); if (Vector2D.dp(_local4, _local5) > 0){ _local3[2] = Vector2D.inverse(_local3[2]); if (Vector2D.dp(_local4, _arg1.vel) < 0){ _local3[4] = 1; }; } else { if (Vector2D.dp(_local4, _arg1.vel) > 0){ _local3[4] = 1; }; }; return (_local3); }; if (Vector2D.dp(_local4, _local5) > 0){ _local4 = Vector2D.inverse(_local4); }; _local4 = Vector2D.multiplyN(_local4, _arg1.r); _local7 = Vector2D.addV(_arg2.pos, _local4); _local8 = Vector2D.intersect(_arg1.pos, _arg1.vel, _local7, _arg2.vel); if ((((Vector2D.dp(_local4, _arg1.vel) < 0)) && (!((_local8 == Number.MAX_VALUE))))){ _local3[0] = _local8; _local3[1] = _arg2.vel; } else { if (_local6 == Number.MAX_VALUE){ _local9 = new Object(); _local9.r = 0; _local9.pos = new Vector2D(_arg2.pos.x, _arg2.pos.y); _local10 = Vector2D.b2b(_arg1, _local9); _local9.pos = Vector2D.addV(_local9.pos, _arg2.vel); _local11 = Vector2D.b2b(_arg1, _local9); if ((((_local10[0] == -(Number.MAX_VALUE))) || ((_local11[0] == -(Number.MAX_VALUE))))){ return (_local3); }; if (_local10[0] < _local11[0]){ _local3 = _local10; } else { if (_local11[0] != Number.MAX_VALUE){ _local3 = _local11; }; }; }; }; return (_local3); } public static function dp(_arg1:Vector2D, _arg2:Vector2D):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function dir(_arg1:Vector2D):Vector2D{ var _local2:Number; _local2 = Vector2D.len(_arg1); if (_local2 == 0){ return (new (Vector2D)); }; return (new Vector2D((_arg1.x / _local2), (_arg1.y / _local2))); } public static function inverse(_arg1:Vector2D):Vector2D{ return (new Vector2D(-(_arg1.x), -(_arg1.y))); } public static function b2b(_arg1:Object, _arg2:Object):Array{ var _local3:Array; var _local4:Vector2D; var _local5:Number; var _local6:Vector2D; var _local7:Vector2D; var _local8:Number; var _local9:Number; var _local10:Number; _local3 = [Number.MAX_VALUE]; _local4 = new Vector2D(_arg2.pos.x, _arg2.pos.y); _local4 = Vector2D.minusV(_local4, _arg1.pos); _local5 = (_arg1.r + _arg2.r); if (Vector2D.len(_local4) >= _local5){ if (Vector2D.dp(_local4, _arg1.vel) < 0){ return (_local3); }; _local6 = Vector2D.projectV(_local4, new Vector2D(-(_arg1.vel.y), _arg1.vel.x)); if (Vector2D.len(_local6) <= _local5){ _local7 = Vector2D.projectV(_local4, _arg1.vel); _local8 = Math.sqrt(((_local5 * _local5) - (Vector2D.len(_local6) * Vector2D.len(_local6)))); _local7 = Vector2D.multiplyN(Vector2D.dir(_local7), (Vector2D.len(_local7) - _local8)); _local9 = (Vector2D.len(_local7) / Vector2D.len(_arg1.vel)); _local10 = 0; if ((((_local9 < _local10)) || ((_local9 > (1 - _local10))))){ return (_local3); }; _local3[0] = _local9; _local4 = Vector2D.addV(_local4, Vector2D.multiplyN(_arg1.vel, -(_local9))); _local3[1] = new Vector2D(-(_local4.y), _local4.x); }; } else { _local3[0] = (-((_local5 - Vector2D.len(_local4))) - 1); _local3[1] = new Vector2D(_local4.y, -(_local4.x)); _local3[2] = Vector2D.dir(_local4); if (Vector2D.dp(_local4, _arg1.vel) < 0){ _local3[4] = 1; }; }; return (_local3); } public static function perP(_arg1:Vector2D, _arg2:Vector2D):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function addV(_arg1:Vector2D, _arg2:Vector2D):Vector2D{ return (new Vector2D((_arg1.x + _arg2.x), (_arg1.y + _arg2.y))); } public static function len(_arg1:Vector2D):Number{ var _local2:Number; _local2 = ((_arg1.x * _arg1.x) + (_arg1.y * _arg1.y)); if (_local2 == 0){ return (0); }; return (Math.sqrt(_local2)); } public static function projectV(_arg1:Vector2D, _arg2:Vector2D):Vector2D{ var _local3:Vector2D; var _local4:Number; _local3 = Vector2D.dir(_arg2); _local4 = Vector2D.dp(_arg1, _local3); return (new Vector2D((_local4 * _local3.x), (_local4 * _local3.y))); } public static function intersect(_arg1:Vector2D, _arg2:Vector2D, _arg3:Vector2D, _arg4:Vector2D):Number{ var _local5:Number; var _local6:Number; var _local7:Vector2D; _local5 = Number.MAX_VALUE; _local6 = Number.MAX_VALUE; if (Vector2D.parV(_arg2, _arg4) == false){ _local7 = Vector2D.minusV(_arg3, _arg1); _local5 = (Vector2D.perP(_local7, _arg4) / Vector2D.perP(_arg2, _arg4)); _local7 = Vector2D.inverse(_local7); _local6 = (Vector2D.perP(_local7, _arg2) / Vector2D.perP(_arg4, _arg2)); if ((((((((_local5 <= 0)) || ((_local6 <= 0)))) || ((_local5 > 1)))) || ((_local6 > 1)))){ _local5 = Number.MAX_VALUE; }; }; return (_local5); } } }//package vector2D
Section 12
//ball_mc (ball_mc) package { import flash.display.*; public dynamic class ball_mc extends MovieClip { } }//package
Section 13
//dot_mc (dot_mc) package { import flash.display.*; public dynamic class dot_mc extends MovieClip { public function dot_mc(){ addFrameScript(0, frame1, 39, frame40, 79, frame80); } function frame80(){ stop(); } function frame1(){ stop(); } function frame40(){ this.gotoAndStop(1); } } }//package
Section 14
//empty_mc (empty_mc) package { import flash.display.*; public dynamic class empty_mc extends MovieClip { } }//package
Section 15
//evildot_mc (evildot_mc) package { import flash.display.*; public dynamic class evildot_mc extends MovieClip { public function evildot_mc(){ addFrameScript(0, frame1, 39, frame40, 79, frame80); } function frame80(){ stop(); } function frame1(){ stop(); } function frame40(){ this.gotoAndStop(1); } } }//package
Section 16
//Game (Game) package { import flash.display.*; import flash.events.*; import vector2D.*; import flash.media.*; import flash.geom.*; import flash.net.*; import flash.system.*; public class Game extends Sprite { private var evilDots:int; private var agi; private var stageW:Number; private var emptyPosArr:Array; private var stageH:Number; private var lifeLeft:int; private var extraLife:int; private var linesOb:Object; private var deadLinesArr:Array; private var gridSize:int; private var bigDots:int; private var doEnterFrame:Function; private var colors:Object; private var ballsArr:Array; private var myParent; private var dotsMade:int; private var level:int; private var mySoundsCh:Object; private var score:int; private var bmp:Bitmap; private var myColT:ColorTransform; private var scoremc:MovieClip; private var gameMode:int; private var linesArr:Array; private var totalShots:int; private var numOfDots:int; private var powerDots:int; private var deadBallsArr:Array; public function Game(_arg1:Sprite){ var _local2:int; var _local3:String; var _local4:URLRequest; var _local5:Loader; var _local6:int; super(); myParent = _arg1; myParent.stage.scaleMode = "noScale"; stageW = 600; stageH = 450; gridSize = 40; colors = new Object(); colors.myColorWhite = 0xFFFFFF; colors.myColorBlack = 0; colors.myColorRed = 16750899; colors.myColorBlue = 6724095; colors.myColorGreen = 0x33CC00; myParent.main_mc.mouseChildren = false; myParent.main_mc.mouseEnabled = false; bmp = new Bitmap(new BitmapData(stageW, stageH, true, 0), "always", false); myParent.main_mc.addChild(bmp); scoremc = new score_mc(); myColT = new ColorTransform(1, 1, 1, 1, 0, 0, 0, -5); numOfDots = 25; ballsArr = []; emptyPosArr = []; deadLinesArr = []; deadBallsArr = []; linesOb = new Object(); drawWallVectors(); _local2 = 1; while (_local2 < 15) { _local6 = 2; while (_local6 < 11) { emptyPosArr.push(_local2); emptyPosArr.push(_local6); _local6++; }; _local2++; }; mySoundsCh = new Object(); mySoundsCh.soundCounter = 0; mySoundsCh.soundOn = 1; mySoundsCh.tr = new SoundTransform(0.4, 0); addLoop(); myParent.addEventListener(MouseEvent.MOUSE_DOWN, clickToStart); _local3 = "http://agi.armorgames.com/assets/agi/AGI.swf"; Security.allowDomain(_local3); _local4 = new URLRequest(_local3); _local5 = new Loader(); _local5.contentLoaderInfo.addEventListener(Event.COMPLETE, agiLoadComplete); _local5.load(_local4); } private function createLine(_arg1:Object, _arg2:Object):Object{ var _local3:*; var _local4:Number; _local3 = new Object(); _local3.b1 = _arg1; _local3.b2 = _arg2; _local3.mc = new line_mc(); _local4 = (_arg2.p.minus(_arg1.p).len() + 1); myParent.main_mc.addChildAt(_local3.mc, 1); drawVector(_local3, colors.myColorWhite); return (_local3); } private function rand(_arg1:int, _arg2:int):int{ var _local3:int; _local3 = (_arg1 + Math.floor((Math.random() * (_arg2 - _arg1)))); return (_local3); } function agiLoadComplete(_arg1:Event):void{ agi = _arg1.currentTarget.content; } public function setUpGame(){ var _local1:*; score = 0; lifeLeft = 3; level = 1; extraLife = 15000; ballsArr = []; deadLinesArr = []; deadBallsArr = []; _local1 = Geom2D.Circle2D(new Vector2D((stageW / 2), ((stageH / 2) - 5)), 12); _local1.spr = new ball_mc(); _local1.moving = false; placeBall(_local1); _local1.spr.gotoAndStop(2); dotsMade = 0; bigDots = 0; evilDots = 0; powerDots = 0; myParent.addEventListener(Event.ENTER_FRAME, update); doEnterFrame = startGame; addSound("s_levelup"); } private function closeHighScoreAndAd():void{ myParent.ads_mc.removeChild(agi); myParent.help_mc.gotoAndStop(1); myParent.help_mc.visible = true; mySoundsCh.soundCounter = 0; addLoop(); myParent.addEventListener(MouseEvent.MOUSE_DOWN, clickToStart); } private function soundLoop(_arg1:Event):void{ addLoop(); } private function startGame():void{ if (myParent.txt_mc.shots_txt != null){ showText(); }; addBall(); add2Lines(ballsArr[(ballsArr.length - 1)]); if (ballsArr.length > (numOfDots + level)){ doEnterFrame = mainloop; ballsArr[0].spr.gotoAndStop(1); myParent.addEventListener(MouseEvent.MOUSE_DOWN, mdown); if (level == 2){ myParent.help_mc.gotoAndStop(2); myParent.help_mc.visible = true; } else { if (level == 3){ myParent.help_mc.gotoAndStop(3); myParent.help_mc.visible = true; } else { if (level == 4){ myParent.help_mc.gotoAndStop(4); myParent.help_mc.visible = true; } else { if (level == 5){ myParent.help_mc.gotoAndStop(5); myParent.help_mc.visible = true; } else { if (level == 6){ myParent.help_mc.gotoAndStop(6); myParent.help_mc.visible = true; }; }; }; }; }; }; } private function endGame():void{ var _local1:String; var _local2:String; var _local3:int; var _local4:int; var _local5:*; if (linesArr.length > 8){ _local3 = linesArr.pop().n; _local4 = linesArr.pop().n; _local5 = linesOb[((_local4 + "_") + _local3)]; myParent.main_mc.removeChild(_local5.mc); return; }; if (ballsArr.length > 0){ _local5 = ballsArr.pop(); myParent.main_mc.removeChild(_local5.spr); return; }; evilDots--; if (evilDots > 0){ return; }; bmp.bitmapData = new BitmapData(stageW, stageH, true, 0); myParent.removeEventListener(Event.ENTER_FRAME, update); addLoop(true); myParent.ads_mc.addChild(agi); _local1 = "475c133c097733698945bf27d3fe4778"; _local2 = "taberinos"; agi.init(_local1, _local2); agi.initAGUI({onClose:closeHighScoreAndAd}); agi.showScoreboardSubmit(score); } private function drawWallVectors(){ var _local1:Vector2D; var _local2:Vector2D; var _local3:Vector2D; var _local4:Vector2D; var _local5:Vector2D; var _local6:*; myParent.graphics.clear(); linesArr = []; _local1 = new Vector2D((stageW / 2), (stageH / 2)); _local2 = _local1.minus(new Vector2D(280, 165)); _local3 = _local1.minus(new Vector2D(-280, 165)); _local4 = _local1.minus(new Vector2D(-280, -195)); _local5 = _local1.minus(new Vector2D(280, -195)); _local6 = new Object(); _local6.mc = myParent.main_mc; _local6.b1 = {p:_local2}; _local6.b2 = {p:_local3}; drawVector(_local6, colors.myColorWhite); _local6.b1 = {p:_local3}; _local6.b2 = {p:_local4}; drawVector(_local6, colors.myColorWhite); _local6.b1 = {p:_local4}; _local6.b2 = {p:_local5}; drawVector(_local6, colors.myColorWhite); _local6.b1 = {p:_local5}; _local6.b2 = {p:_local2}; drawVector(_local6, colors.myColorWhite); } private function mdown(_arg1:Event):void{ var _local2:*; var _local3:Vector2D; if (_arg1.target.name == "soundonoff_but"){ mySoundsCh.soundOn = (1 + (mySoundsCh.soundOn % 2)); myParent.soundonoff_mc.gotoAndStop(mySoundsCh.soundOn); addLoop(); return; }; if (myParent.help_mc.visible == true){ myParent.help_mc.visible = false; return; }; if (ballsArr.length == true){ return; }; _local2 = ballsArr[0]; if (_local2.moving == true){ return; }; if (gameMode == 1){ totalShots++; } else { totalShots--; }; _local2.linesKilled = 0; _local2.ballsKilled = 0; _local2.moving = true; _local2.spr.gotoAndStop(2); _local2.maxV = 8; _local3 = new Vector2D(myParent.mouseX, myParent.mouseY); _local2.v = _local3.minus(_local2.p); _local2.v = _local2.v.n().times(_local2.maxV); myParent.main_mc.addChild(ballsArr[0].spr); myParent.main_mc.addChild(bmp); bmp.bitmapData = new BitmapData(stageW, stageH, true, 0); addSound("s_shoot"); } private function placeBall(_arg1:Object){ myParent.main_mc.addChild(_arg1.spr); _arg1.spr.mouseEnabled = false; _arg1.spr.cacheAsBitmap = false; _arg1.v = new Vector2D(0, 0); ballsArr.push(_arg1); _arg1.spr.x = _arg1.p.x; _arg1.spr.y = _arg1.p.y; dotsMade++; } private function addBall():void{ var _local1:CircleCollision; var _local2:*; var _local3:Boolean; var _local4:int; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:*; var _local10:Boolean; var _local11:int; _local1 = new CircleCollision(); _local2 = ballsArr[0].p; _local3 = false; _local4 = 0; while ((((_local4 < 50)) && ((_local3 == false)))) { _local4++; _local5 = rand(0, (emptyPosArr.length / 2)); _local5 = (_local5 * 2); _local6 = (_local2.x - (emptyPosArr[_local5] * gridSize)); _local7 = (_local2.y - (emptyPosArr[(_local5 + 1)] * gridSize)); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); if (_local8 > (4 * ballsArr[0].r)){ _local9 = Geom2D.Circle2D(new Vector2D((emptyPosArr[_local5] * gridSize), (emptyPosArr[(_local5 + 1)] * gridSize)), 6); if (bigDots <= 0){ _local9.r = 0; } else { bigDots--; }; _local9.v = new Vector2D(0, 0); _local10 = true; _local11 = 0; while ((((_local11 < linesArr.length)) && ((_local10 == true)))) { _local1.line2MovingCircle(_local9, linesArr[_local11].p, linesArr[(_local11 + 1)].p); if (_local1.collision == true){ _local10 = false; }; _local11 = (_local11 + 2); }; if (_local10 == true){ _local6 = emptyPosArr.splice(_local5, 1); _local7 = emptyPosArr.splice(_local5, 1); _local9.xp = _local6; _local9.yp = _local7; if (_local9.r > 0){ if (powerDots > 0){ powerDots--; _local9.spr = new powerdot_mc(); _local9.power = true; _local9.r = 16; } else { if (evilDots <= 0){ _local9.spr = new dot_mc(); } else { if (evilDots > 0){ evilDots--; _local9.spr = new evildot_mc(); _local9.evil = true; }; }; }; _local9.spr.width = (_local9.r * 2); _local9.spr.height = (_local9.r * 2); } else { _local9.spr = new dot_mc(); _local9.spr.visible = false; }; _local9.n = dotsMade; _local9.lines = []; placeBall(_local9); _local3 = true; }; }; }; } private function drawScore(_arg1, _arg2:Vector2D, _arg3:Boolean=false):void{ if (_arg3 == false){ scoremc.txt.text = ("+" + _arg1); scoremc.x = _arg2.x; scoremc.y = _arg2.y; extraLife = (extraLife - _arg1); if ((((gameMode == 1)) && ((extraLife <= 0)))){ lifeLeft++; extraLife = 15000; bmp.bitmapData.draw(scoremc, scoremc.transform.matrix); scoremc.txt.text = "extra life"; scoremc.x = (stageW / 2); scoremc.y = ((stageH / 2) + 50); }; } else { scoremc.txt.text = String(_arg1); scoremc.x = (stageW / 2); scoremc.y = ((stageH / 2) + 100); }; bmp.bitmapData.draw(scoremc, scoremc.transform.matrix); } private function drawVector(_arg1:Object, _arg2:uint){ _arg1.mc.graphics.lineStyle(2, _arg2, 1, true, "none", null, null, 3); _arg1.mc.graphics.moveTo(_arg1.b1.p.x, _arg1.b1.p.y); _arg1.mc.graphics.lineTo(_arg1.b2.p.x, _arg1.b2.p.y); linesArr.push(_arg1.b1); linesArr.push(_arg1.b2); } private function update(_arg1:Event):void{ doEnterFrame(); } private function showText():void{ myParent.txt_mc.shots_txt.text = String(totalShots); myParent.txt_mc.score_txt.text = String(score); if (gameMode == 1){ myParent.txt_mc.lives_txt.text = String(lifeLeft); } else { myParent.txt_mc.lives_txt.text = String(level); }; } private function mainloop():void{ var _local1:*; var _local2:Boolean; var _local3:int; var _local4:Number; var _local5:Number; var _local6:Vector2D; var _local7:*; var _local8:*; var _local9:int; showText(); _local1 = ballsArr[0]; if (_local1.moving == false){ bmp.bitmapData.colorTransform(bmp.bitmapData.rect, myColT); _local6 = new Vector2D(myParent.mouseX, myParent.mouseY); _local6 = _local6.minus(_local1.p); _local1.spr.rotation = ((Math.atan2(_local6.y, _local6.x) * 180) / Math.PI); return; }; _local1.lineV = 0; _local1.ball2 = 0; _local1.wall = false; Collision.findAllCollisions(ballsArr, linesArr); if (_local1.lineV != 0){ _local7 = linesOb[((_local1.linep1.n + "_") + _local1.linep2.n)]; deadLinesArr.push(_local7); _local1.linesKilled++; score = (score + _local1.linesKilled); drawScore(_local1.linesKilled, _local1.linep); addSound("s_line"); } else { if (_local1.ball2 != 0){ if (_local1.ball2.evil == true){ add2Lines(_local1.ball2); addSound("s_angry"); } else { if (_local1.ball2.power == true){ _local1.ball2.r = 6; _local1.ball2.spr.width = (_local1.ball2.r * 2); _local1.ball2.spr.height = (_local1.ball2.r * 2); addSound("s_power"); } else { addSound("s_node"); }; }; } else { if (_local1.wall == true){ addSound("s_wall"); }; }; }; _local2 = true; _local3 = 0; while (_local3 < deadLinesArr.length) { _local7 = deadLinesArr[_local3]; if (_local7.mc.alpha > 0){ _local2 = false; _local7.mc.alpha = (_local7.mc.alpha - 0.02); } else { if (_local7.dead != true){ myParent.main_mc.removeChild(_local7.mc); _local7.dead = true; linesOb[((_local7.b1.n + "_") + _local7.b2.n)] = null; linesOb[((_local7.b2.n + "_") + _local7.b1.n)] = null; }; }; _local3++; }; if (_local2 == true){ _local3 = 1; while (_local3 < ballsArr.length) { _local1 = ballsArr[_local3]; _local8 = true; _local9 = 0; while (_local9 < _local1.lines.length) { if (linesOb[_local1.lines[_local9]] != null){ _local8 = false; }; _local9++; }; if (_local8 == true){ if (_local1.r > 0){ ballsArr[0].ballsKilled++; score = (score + (ballsArr[0].ballsKilled * 10)); drawScore((ballsArr[0].ballsKilled * 10), _local1.p); _local1.spr.gotoAndPlay("dead"); myParent.main_mc.addChildAt(_local1.spr, 1); addSound("s_pop"); } else { _local1.spr.gotoAndStop(_local1.spr.totalFrames); }; emptyPosArr.push(_local1.xp); emptyPosArr.push(_local1.yp); deadBallsArr.push(ballsArr.splice(_local3, 1)[0]); _local3--; }; _local3++; }; }; _local3 = 0; while (_local3 < deadBallsArr.length) { _local7 = deadBallsArr[_local3]; if (_local7.spr.currentFrame < _local7.spr.totalFrames){ _local2 = false; } else { if (_local7.dead != true){ myParent.main_mc.removeChild(_local7.spr); _local7.dead = true; }; }; _local3++; }; _local1 = ballsArr[0]; _local4 = 0.05; _local5 = _local1.v.len(); _local1.v = _local1.v.n().times((_local5 - _local4)); if (_local1.v.len() > 15){ _local1.v = _local1.v.n().times(15); }; if (_local1.v.len() < _local4){ _local1.v = new Vector2D(0, 0); if (_local2 == true){ if ((((gameMode == 1)) && ((_local1.ballsKilled == 0)))){ lifeLeft--; if (lifeLeft >= 0){ drawScore("life lost", _local1.p, true); }; }; if ((((gameMode == 2)) && ((ballsArr.length == 1)))){ score = (score + ((totalShots * 10) * level)); if (totalShots > 0){ drawScore(("level up bonus +" + ((totalShots * 10) * level)), _local1.p, true); }; level++; totalShots = (10 + Math.floor((level / 5))); bigDots = (level - 1); evilDots = Math.round(((level - 3) / 3)); powerDots = Math.floor((level / 6)); deadLinesArr = []; deadBallsArr = []; _local1.moving = false; _local1.spr.gotoAndStop(1); doEnterFrame = startGame; myParent.removeEventListener(MouseEvent.MOUSE_DOWN, mdown); addSound("s_levelup"); return; }; if ((((lifeLeft < 0)) || ((totalShots == 0)))){ lifeLeft = 0; drawScore("game over", _local1.p, true); showText(); doEnterFrame = endGame; evilDots = 100; myParent.removeEventListener(MouseEvent.MOUSE_DOWN, mdown); } else { deadLinesArr = []; deadBallsArr = []; _local1.moving = false; _local1.spr.gotoAndStop(1); if (gameMode == 1){ addBall(); add2Lines(ballsArr[(ballsArr.length - 1)]); _local3 = ballsArr.length; while (_local3 <= numOfDots) { if (rand(0, 2) == 0){ addBall(); add2Lines(ballsArr[(ballsArr.length - 1)]); }; _local3++; }; _local3 = 1; while (_local3 < rand(0, (score / 500))) { add2Lines(ballsArr[rand(1, ballsArr.length)]); _local3++; }; }; }; }; }; } private function addLoop(_arg1:Boolean=false):void{ var _local2:String; var _local3:Class; if (mySoundsCh.channel != null){ mySoundsCh.channel.stop(); mySoundsCh.channel.removeEventListener(Event.SOUND_COMPLETE, soundLoop); }; if ((((mySoundsCh.soundOn == 2)) || ((_arg1 == true)))){ return; }; mySoundsCh.soundCounter++; if (mySoundsCh.soundCounter > 6){ mySoundsCh.soundCounter = 1; }; _local2 = ("music" + mySoundsCh.soundCounter); _local3 = (myParent.loaderInfo.applicationDomain.getDefinition(_local2) as Class); mySoundsCh.sloop = new (_local3); mySoundsCh.channel = mySoundsCh.sloop.play(0, 2); mySoundsCh.channel.addEventListener(Event.SOUND_COMPLETE, soundLoop); } private function add2Lines(_arg1:Object):void{ var _local2:CircleCollision; var _local3:*; var _local4:Number; var _local5:Number; var _local6:int; var _local7:*; var _local8:Vector2D; var _local9:Boolean; var _local10:int; var _local11:Vector2D; var _local12:int; var _local13:Number; var _local14:String; var _local15:String; var _local16:*; var _local17:*; var _local18:*; var _local19:*; _local2 = new CircleCollision(); _local3 = ballsArr[0].p; _local4 = Number.MAX_VALUE; _local5 = Number.MAX_VALUE; _local6 = 1; while (_local6 < ballsArr.length) { _local7 = ballsArr[_local6]; if (_arg1 != _local7){ _local8 = _local2.point2Line(_local3, _arg1.p, _local7.p); if (_local8.minus(_local3).len() > (5 + ballsArr[0].r)){ _local9 = true; _local10 = 1; while ((((_local10 < ballsArr.length)) && ((_local9 == true)))) { _local16 = ballsArr[_local10]; if (((!((_local16 == _local7))) && (!((_local16 == _arg1))))){ _local2.line2MovingCircle(_local16, _arg1.p, _local7.p); if (_local2.collision == true){ _local9 = false; }; }; _local10++; }; _local11 = _arg1.p.minus(_local7.p).n(); _local12 = 0; while (_local12 < _local7.lines.length) { _local16 = _local7.lines[_local12]; _local17 = linesOb[_local16]; if (_local17 != null){ _local18 = _local17.b1.p.minus(_local17.b2.p).n(); if (Math.abs(_local11.dot(_local18)) >= 0.99999999){ _local9 = false; }; }; _local12++; }; _local12 = 0; while (_local12 < _arg1.lines.length) { _local16 = _arg1.lines[_local12]; _local17 = linesOb[_local16]; if (_local17 != null){ _local18 = _local17.b1.p.minus(_local17.b2.p).n(); if (Math.abs(_local11.dot(_local18)) >= 0.99999999){ _local9 = false; }; }; _local12++; }; _local13 = _arg1.p.minus(_local7.p).len2(); _local14 = ((_arg1.n + "_") + _local7.n); _local15 = ((_local7.n + "_") + _arg1.n); if ((((((linesOb[_local14] == null)) && ((linesOb[_local15] == null)))) && ((_local9 == true)))){ if ((((_local13 < _local4)) || ((rand(0, 20) == 0)))){ _local4 = _local13; _local19 = _local7; }; }; }; }; _local6++; }; if (_local19 != null){ _local14 = ((_arg1.n + "_") + _local19.n); _local15 = ((_local19.n + "_") + _arg1.n); if ((((linesOb[_local14] == null)) && ((linesOb[_local15] == null)))){ linesOb[_local14] = createLine(_arg1, _local19); linesOb[_local15] = linesOb[_local14]; _arg1.lines.push(_local14); _local19.lines.push(_local15); }; }; } private function addSound(_arg1:String):void{ var _local2:Class; if (mySoundsCh.soundOn == 2){ return; }; _local2 = (myParent.loaderInfo.applicationDomain.getDefinition(_arg1) as Class); mySoundsCh.sloop = new (_local2); mySoundsCh.sch = mySoundsCh.sloop.play(0, 1); mySoundsCh.sch.soundTransform = mySoundsCh.tr; } private function clickToStart(_arg1:Event):void{ if (_arg1.target.name == "soundonoff_but"){ mySoundsCh.soundOn = (1 + (mySoundsCh.soundOn % 2)); myParent.soundonoff_mc.gotoAndStop(mySoundsCh.soundOn); addLoop(); return; }; if (_arg1.target.name == "mode1"){ myParent.txt_mc.gotoAndStop(2); gameMode = 1; totalShots = 0; numOfDots = 25; } else { if (_arg1.target.name == "mode2"){ myParent.txt_mc.gotoAndStop(3); gameMode = 2; totalShots = 10; numOfDots = 10; } else { myParent.txt_mc.gotoAndStop(3); gameMode = 2; totalShots = 10; numOfDots = 10; }; }; myParent.help_mc.visible = false; myParent.removeEventListener(MouseEvent.MOUSE_DOWN, clickToStart); setUpGame(); } } }//package
Section 17
//line_mc (line_mc) package { import flash.display.*; public dynamic class line_mc extends MovieClip { } }//package
Section 18
//music1 (music1) package { import flash.media.*; public dynamic class music1 extends Sound { } }//package
Section 19
//music2 (music2) package { import flash.media.*; public dynamic class music2 extends Sound { } }//package
Section 20
//music3 (music3) package { import flash.media.*; public dynamic class music3 extends Sound { } }//package
Section 21
//music4 (music4) package { import flash.media.*; public dynamic class music4 extends Sound { } }//package
Section 22
//music5 (music5) package { import flash.media.*; public dynamic class music5 extends Sound { } }//package
Section 23
//music6 (music6) package { import flash.media.*; public dynamic class music6 extends Sound { } }//package
Section 24
//powerdot_mc (powerdot_mc) package { import flash.display.*; public dynamic class powerdot_mc extends MovieClip { public function powerdot_mc(){ addFrameScript(0, frame1, 39, frame40, 79, frame80); } function frame80(){ stop(); } function frame1(){ stop(); } function frame40(){ this.gotoAndStop(1); } } }//package
Section 25
//Preloader (Preloader) package { import flash.display.*; import flash.events.*; public class Preloader { private var stageH:Number; private var lb:Sprite; private var stageW:Number; private var myColors:Object; private var myParent; public function Preloader(_arg1:Sprite){ myParent = _arg1; prepareGame(); } private function prepareGame(){ stageW = 600; stageH = 450; myColors = new Object(); myColors.white = 0xFFFFFF; myColors.black = 0; myParent.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress, false, 0, true); myParent.loaderInfo.addEventListener(Event.COMPLETE, loadDone, false, 0, true); lb = new Sprite(); lb.y = ((stageH / 2) - 5); lb.x = ((stageW / 2) - 50); myParent.addChild(lb); } private function loadProgress(_arg1:ProgressEvent):void{ var _local2:Number; _local2 = (_arg1.bytesLoaded / _arg1.bytesTotal); lb.graphics.clear(); lb.graphics.lineStyle(2, myColors.white, 1, true, "none", null, null, 3); lb.graphics.drawRect(0, 0, 100, 10); lb.graphics.beginFill(myColors.white); lb.graphics.drawRect(0, 0, (_local2 * 100), 10); } private function loadDone(_arg1:Event):void{ myParent.removeChild(lb); myParent.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadProgress); myParent.loaderInfo.removeEventListener(Event.COMPLETE, loadDone); myParent.gotoAndStop(2); } } }//package
Section 26
//s_angry (s_angry) package { import flash.media.*; public dynamic class s_angry extends Sound { } }//package
Section 27
//s_levelup (s_levelup) package { import flash.media.*; public dynamic class s_levelup extends Sound { } }//package
Section 28
//s_line (s_line) package { import flash.media.*; public dynamic class s_line extends Sound { } }//package
Section 29
//s_node (s_node) package { import flash.media.*; public dynamic class s_node extends Sound { } }//package
Section 30
//s_pop (s_pop) package { import flash.media.*; public dynamic class s_pop extends Sound { } }//package
Section 31
//s_power (s_power) package { import flash.media.*; public dynamic class s_power extends Sound { } }//package
Section 32
//s_shoot (s_shoot) package { import flash.media.*; public dynamic class s_shoot extends Sound { } }//package
Section 33
//s_wall (s_wall) package { import flash.media.*; public dynamic class s_wall extends Sound { } }//package
Section 34
//score_mc (score_mc) package { import flash.display.*; import flash.text.*; public dynamic class score_mc extends MovieClip { public var txt:TextField; } }//package

Library Items

Symbol 1 GraphicUsed by:3
Symbol 2 GraphicUsed by:3
Symbol 3 MovieClip {ball_mc}Uses:1 2
Symbol 4 MovieClip {line_mc}
Symbol 5 FontUsed by:6 57 62 65 66 67 68 69 71 72 75
Symbol 6 EditableTextUses:5Used by:7
Symbol 7 MovieClip {score_mc}Uses:6
Symbol 8 GraphicUsed by:13
Symbol 9 ShapeTweeningUsed by:13
Symbol 10 GraphicUsed by:13 17 21
Symbol 11 ShapeTweeningUsed by:13
Symbol 12 GraphicUsed by:13 17 21
Symbol 13 MovieClip {powerdot_mc}Uses:8 9 10 11 12Used by:70
Symbol 14 GraphicUsed by:17
Symbol 15 ShapeTweeningUsed by:17
Symbol 16 ShapeTweeningUsed by:17
Symbol 17 MovieClip {evildot_mc}Uses:14 15 10 16 12Used by:70
Symbol 18 GraphicUsed by:21
Symbol 19 ShapeTweeningUsed by:21
Symbol 20 ShapeTweeningUsed by:21
Symbol 21 MovieClip {dot_mc}Uses:18 19 10 20 12Used by:70
Symbol 22 MovieClip {empty_mc}Used by:Timeline
Symbol 23 GraphicUsed by:Timeline
Symbol 24 GraphicUsed by:39
Symbol 25 GraphicUsed by:39
Symbol 26 GraphicUsed by:39
Symbol 27 SoundUsed by:39
Symbol 28 SoundUsed by:39
Symbol 29 GraphicUsed by:39
Symbol 30 GraphicUsed by:31
Symbol 31 MovieClipUses:30Used by:39
Symbol 32 SoundUsed by:39
Symbol 33 SoundUsed by:39
Symbol 34 SoundUsed by:39
Symbol 35 GraphicUsed by:36
Symbol 36 ButtonUses:35Used by:39
Symbol 37 SoundUsed by:39
Symbol 38 SoundUsed by:39
Symbol 39 MovieClip {taberinos_fla.ag_intro_mc_1}Uses:24 25 26 27 28 29 31 32 33 34 36 37 38Used by:Timeline
Symbol 40 Sound {s_wall}Used by:54
Symbol 41 Sound {s_shoot}Used by:54
Symbol 42 Sound {s_power}Used by:54
Symbol 43 Sound {s_pop}Used by:54
Symbol 44 Sound {s_node}Used by:54
Symbol 45 Sound {s_line}Used by:54
Symbol 46 Sound {s_levelup}Used by:54
Symbol 47 Sound {s_angry}Used by:54
Symbol 48 Sound {music1}Used by:54
Symbol 49 Sound {music2}Used by:54
Symbol 50 Sound {music3}Used by:54
Symbol 51 Sound {music4}Used by:54
Symbol 52 Sound {music5}Used by:54
Symbol 53 Sound {music6}Used by:54
Symbol 54 MovieClip {taberinos_fla.sound_mc_4}Uses:40 41 42 43 44 45 46 47 48 49 50 51 52 53Used by:Timeline
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:Timeline
Symbol 57 TextUses:5Used by:Timeline
Symbol 58 FontUsed by:59 60 73 74 76 77 79
Symbol 59 EditableTextUses:58Used by:Timeline
Symbol 60 TextUses:58Used by:Timeline
Symbol 61 GraphicUsed by:70
Symbol 62 TextUses:5Used by:70
Symbol 63 GraphicUsed by:64
Symbol 64 ButtonUses:63Used by:70
Symbol 65 TextUses:5Used by:70
Symbol 66 TextUses:5Used by:70
Symbol 67 TextUses:5Used by:70
Symbol 68 TextUses:5Used by:70
Symbol 69 TextUses:5Used by:70
Symbol 70 MovieClip {taberinos_fla.help_mc_7}Uses:61 62 64 65 21 66 67 68 17 69 13Used by:Timeline
Symbol 71 EditableTextUses:5Used by:78
Symbol 72 EditableTextUses:5Used by:78
Symbol 73 TextUses:58Used by:78
Symbol 74 TextUses:58Used by:78
Symbol 75 EditableTextUses:5Used by:78
Symbol 76 TextUses:58Used by:78
Symbol 77 TextUses:58Used by:78
Symbol 78 MovieClip {taberinos_fla.txt_mc_12}Uses:71 72 73 74 75 76 77Used by:Timeline
Symbol 79 EditableTextUses:58Used by:Timeline
Symbol 80 BitmapUsed by:81
Symbol 81 GraphicUses:80Used by:86
Symbol 82 GraphicUsed by:83
Symbol 83 ButtonUses:82Used by:86
Symbol 84 BitmapUsed by:85
Symbol 85 GraphicUses:84Used by:86
Symbol 86 MovieClip {taberinos_fla.soundonoff_mc_13}Uses:81 83 85Used by:Timeline
Symbol 87 GraphicUsed by:Timeline
Symbol 88 GraphicUsed by:89
Symbol 89 MovieClip {taberinos_fla.ads_mc_15}Uses:88Used by:Timeline

Instance Names

"main_mc"Frame 3Symbol 22 MovieClip {empty_mc}
"help_mc"Frame 3Symbol 70 MovieClip {taberinos_fla.help_mc_7}
"txt_mc"Frame 3Symbol 78 MovieClip {taberinos_fla.txt_mc_12}
"soundonoff_mc"Frame 3Symbol 86 MovieClip {taberinos_fla.soundonoff_mc_13}
"ads_mc"Frame 3Symbol 89 MovieClip {taberinos_fla.ads_mc_15}
"txt"Symbol 7 MovieClip {score_mc} Frame 1Symbol 6 EditableText
"ag_but"Symbol 39 MovieClip {taberinos_fla.ag_intro_mc_1} Frame 82Symbol 36 Button
"shots_txt"Symbol 78 MovieClip {taberinos_fla.txt_mc_12} Frame 2Symbol 71 EditableText
"score_txt"Symbol 78 MovieClip {taberinos_fla.txt_mc_12} Frame 2Symbol 72 EditableText
"lives_txt"Symbol 78 MovieClip {taberinos_fla.txt_mc_12} Frame 2Symbol 75 EditableText
"soundonoff_but"Symbol 86 MovieClip {taberinos_fla.soundonoff_mc_13} Frame 1Symbol 83 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 256, ScriptTimeout: 2 seconds

Labels

"dead"Symbol 13 MovieClip {powerdot_mc} Frame 41
"dead"Symbol 17 MovieClip {evildot_mc} Frame 41
"dead"Symbol 21 MovieClip {dot_mc} Frame 41




https://swfchan.com/54/267766/info.shtml
Created: 7/6 -2026 07:03:27 Last modified: 7/6 -2026 07:03:27 Server time: 07/06 -2026 19:11:20