flash on 2014-10-13
♥0 |
Line 66 |
Modified 2014-10-13 18:09:24 |
MIT License
archived:2017-03-30 11:53: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/qnZa
*/
package {
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
stage.addEventListener(MouseEvent.CLICK, onClick);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public function onClick(e:MouseEvent):void
{
vx = Math.cos(ang) * -5;
vy = Math.sin(ang) * -5;
}//onclick
public var cx:Number = 230;
public var cy:Number = 230;
public var vx:Number = 0;
public var vy:Number = 0;
public var ang:Number = 0;
public function onEnter(e:Event):void
{
var mx:Number;
var my:Number;
mx = stage.mouseX;
my = stage.mouseY;
graphics.clear();
graphics.lineStyle(2,0);
graphics.drawCircle(mx,my,16);
graphics.drawCircle(cx,cy, 16);
graphics.moveTo(cx,cy); graphics.lineTo(cx+Math.cos(ang)*16,cy+Math.sin(ang)*16);
var ax:Number; var ay:Number;
var aw:Number; var ah:Number;
ax = 128; ay = 128;
aw = 128; ah = 128;
graphics.drawRect(ax,ay,aw,ah);
if (!(cx<ax))
if (!(cy<ay))
if (!(cx>ax+aw))
if (!(cy>ay+ah))
{
vx -=0.4;
}
ang = Math.atan2(my-cy,mx-cx);
var d:Number;
var kx:Number; var ky:Number;
var ms:Number; var ac:Number;
ms = 2; //movespeed
ac = 0.1; //accelration
kx = 0; ky = 0;
d = Math.abs(cx-mx)+Math.abs(cy-my);
if (d > 60)
{
//set target speed
kx = Math.cos(ang) * ms;
ky = Math.sin(ang) * ms;
}
if (vx > kx) { vx -= ac; if (vx <kx) {vx=kx;}}
else if (vx < kx) { vx+=ac; if (vx>kx) { vx= kx;} }
if (vy > ky) { vy -= ac; if (vy <ky) {vy=ky;}}
else if (vy < ky) { vy+=ac; if (vy>ky) { vy= ky;} }
vx *= 0.95;
vy *= 0.95;
cx += vx;
cy += vy;
}//onenter
}//classend
}