flash on 2014-11-11
♥0 |
Line 68 |
Modified 2014-11-12 04:46:59 |
MIT License
archived:2017-03-30 11:52:49
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/1wR6
*/
package {
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
deb = new TextField();
deb.mouseEnabled = false;
deb.width = 320;
deb.height = 240;
addChild(deb);
stage.addEventListener(MouseEvent.CLICK, onClick);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public function onClick(e:MouseEvent):void
{
ang2 = Math.random()*6.28;
}//onclick
public var ang2:Number = 1.57;
public var nx:Number = 0;
public var ny:Number = 1;
public var deb:TextField;
public var vx:Number = 0;
public var vy:Number = 0;
public function onEnter(e:Event):void
{
deb.text ="";
graphics.clear();
graphics.lineStyle(2,0);
var ang:Number;
ang = -1.57;
var wx:Number; var wy:Number;
wx = 230; wy = 230;
ang = Math.atan2(stage.mouseY-wy, stage.mouseX-wx);
nx = Math.cos(ang);
ny = Math.sin(ang);
graphics.moveTo(wx,wy);
graphics.lineTo(wx+ny*-256,wy+nx*256);
graphics.moveTo(wx,wy);
graphics.lineTo(wx+ny*256,wy+nx*-256);
graphics.moveTo(wx,wy);
graphics.lineTo(wx+nx*16,wy+ny*16);
var ms:Number; ms = 10;
var dot:Number;
vx = 0; vy = 8;
vx = Math.cos(ang2)*8;
vy = Math.sin(ang2)*8;
graphics.drawCircle(300, 100, 8);
graphics.moveTo(300, 100);
graphics.lineTo(300+vx*ms,100+vy*ms);
dot = nx*vx + ny *vy;
var kx:Number;
var ky:Number;
kx = nx * dot;
ky = ny * dot;
deb.appendText("\n"+vx+"\n"+vy);
deb.appendText("\n"+nx+"\n"+ny);
deb.appendText("\n"+kx+"\n"+ky);
vx -= kx;
vy -= ky;
deb.appendText("\n"+vx+"\n"+vy);
graphics.lineStyle(2,0xFF0000);
graphics.moveTo(300, 100);
graphics.lineTo(300+vx*ms,100+vy*ms);
}//onenter
}//classend
}