flash on 2016-6-8
♥0 |
Line 92 |
Modified 2016-06-08 04:47:11 |
MIT License
archived:2017-03-20 16:23:43
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/wXRX
*/
package {
import flash.text.TextField;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
deb = new TextField();
deb.width=320;
deb.height=240;
deb.mouseEnabled=false;
addChild(deb);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMdown);
stage.addEventListener(MouseEvent.MOUSE_UP, onMup);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public function onMdown(e:MouseEvent):void { mbutton =1; }
public function onMup(e:MouseEvent):void { mbutton = 0; }
public var mbutton:int = 0;
public var camx:Number=0;
public var camy:Number = 0;
public var cx:Number = 235;
public var cy:Number = 235;
public var reload:int = 0;
public var gt:int = 0;
public var mode:int = 0;
public var gx:Number = 235;
public var gy:Number = 235;
public var rx:Number = 0;
public var ry:Number = 0;
public var rw:Number=32;
public var rh:Number=64;
public var rdmg:Number = 0;
public var deb:TextField;
public function getMag(ax:Number,ay:Number):Number
{ return Math.sqrt(ax*ax+ay*ay); }
public function onEnter(e:Event):void
{
var mx:Number; var my:Number;
var wmx:Number; var wmy:Number;
mx =stage.mouseX; my=stage.mouseY;
wmx=mx+camx; wmy=my+camy;
graphics.clear();
graphics.lineStyle(2, 0);
// graphics.drawRect(0-camx,0-camy,512,512);
graphics.drawEllipse(0-camx,0-camy+16,640,320);
graphics.beginFill(0xFFffFF,1);
graphics.drawEllipse(0-camx,0-camy,640,320);
graphics.endFill();
graphics.drawCircle(cx-camx,cy-camy,16);
var ta:Number; var ms:Number; ms = 8;
ta = Math.atan2(wmy-cy,wmx-cx);
graphics.moveTo(cx-camx,cy-camy);
graphics.lineTo(cx-camx+Math.cos(ta)*16,cy-camy+Math.sin(ta)*16);
graphics.beginFill(0xFFffFF,1);
graphics.drawEllipse(cx-camx-16,cy-camy-48,32,64);
graphics.endFill();
graphics.drawRect(rx-camx,ry-camy,rw,rh);
camx += ((cx-235)-camx)*0.2;
camy += ((cy-235)-camy)*0.2;
deb.x=rx+rw*0.5-camx;
deb.y=ry+rh*0.5-camy;
var over:Boolean;
over = (wmx<rx||wmx>rx+rw||wmy<ry||wmy>ry+rh)==false;
if (mode==1 && getMag(cx-(rx+rw*0.5),cy-(ry+rh*0.5))<64) {
ms = 0;
if (reload<gt)
{
reload =gt+16;
rdmg+=8
if (rdmg>16)
{
rdmg=0;
rx = Math.random()*256;
ry = Math.random()*256;
mode=0;
}
deb.text=""+int(rdmg);
}//endif2
}//endif
if (mbutton >0)
{ gx=wmx; gy=wmy; if (over){mode=1;}else{mode=0;} }
if (mode==1)
{ gx=rx+rw*0.5; gy=ry+rh*0.5; }
ta = Math.atan2(gy-cy,gx-cx);
ms=8;
if (getMag(cx-gx,cy-gy)<32) { ms=0;}
cx += Math.cos(ta)*ms;
cy += Math.sin(ta)*ms;
gt+=1;
}//onenter
}//classend
}