flash on 2016-6-13
♥0 |
Line 78 |
Modified 2016-06-13 06:55:12 |
MIT License
archived:2017-03-20 16:23:38
ActionScript3 source code
/**
* Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/SPnB
*/
package {
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
vecThing = new Vector.<xThing>(0, false);
var a:xThing;
a = new xThing(); vecThing.push(a); a.cx=235; a.cy=235; a.xrad=64;a.yrad=32; a.spec=1;
a = new xThing(); vecThing.push(a); a.parent = vecThing[0]; a.px=-8; a.py=32; a.spec=2;
a = new xThing(); vecThing.push(a); a.parent = vecThing[0]; a.px=8; a.py=32; a.spec=3;
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var vecThing:Vector.<xThing>;
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2, 0);
var i:int; var num:int; var a:xThing;
num = vecThing.length;
for(i=0;i<num;i+=1)
{
a = vecThing[i];
if (a.spec==1)
{
if (a.wait<=0)
{
if (a.cmd==1){ a.cx-=2; if (a.cx<100){a.cx=100; a.cmd=2; } }
if (a.cmd==4){ a.cx+=2; if (a.cx>300){a.cx=300; a.cmd=5; }}
}//endif2
a.wait -=1;
if (a.wait<=0)
{
a.wait=0;
if (a.cmd == 0) { a.cmd = 1; }
else if (a.cmd==2) { a.cmd=3; a.wait=70; }
else if (a.cmd==3) { a.cmd=4; a.wait=40; }
else if (a.cmd==5){ a.cmd=6; a.wait=70; }
else if (a.cmd==6) { a.cmd= 1; a.wait=40; }
} //endif2
}//endif
if (a.parent != null)
{
if (a.spec==2)
{
if (a.parent.wait<60)
if (a.parent.cmd ==3 || a.parent.cmd==6) { a.px-=1; if(a.px<-24){a.px=-24;} }
else { a.px+=1; if (a.px>-8){a.px=-8; } }
}
if (a.spec==3)
{
if (a.parent.wait<60)
if (a.parent.cmd ==3 || a.parent.cmd==6) { a.px+=1; if(a.px>24){a.px=24;} }
else { a.px-=1; if (a.px<8){a.px=8; } }
}
a.cx = a.parent.cx + a.px;
a.cy = a.parent.cy + a.py;
}
graphics.drawCircle(a.cx,a.cy,4);
graphics.drawRect(a.cx-a.xrad,a.cy-a.yrad,a.xrad*2,a.yrad*2);
if (a.spec==1)
{ graphics.drawRect(a.cx-a.xrad-4,a.cy-a.yrad-4,a.xrad*2+8,a.yrad*2+8);}
}//nexti
}//onenter
}//classend
}
internal class xThing
{
public var cx:Number = 0;
public var cy:Number = 0;
public var xrad:Number = 8;
public var yrad:Number = 8;
public var parent:xThing = null;
public var px:Number = 0;
public var py:Number = 0;
public var spec:int = 0;
public var wait:int = 0;
public var cmd:int =0;
}//xthing