flash on 2016-11-25
♥0 |
Line 62 |
Modified 2016-11-25 05:52:02 |
MIT License
archived:2017-03-20 16:21:56
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/8iVY
*/
package {
import flash.text.TextField;
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
deb = new TextField();
deb.width=320;
deb.height=230;
deb.mouseEnabled=false;
addChild(deb);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var deb:TextField;
public var ang:Number = 0;
public var va:Number = 0.1;
public function getMag(ax:Number, ay:Number):Number
{ return (ax*ax +ay*ay); }
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2, 0);
var cx:Number; var cy:Number;
cx = 230; cy = 230;
graphics.drawCircle(cx,cy, 16);
var ax:Number; var ay:Number;
ax = cx + Math.cos(ang) * 96;
ay = cy + Math.sin(ang) * 96;
// graphics.drawCircle(ax,ay, 4);
graphics.moveTo(cx,cy);
graphics.lineTo(ax,ay);
var nx:Number; var ny:Number;
nx = Math.cos(ang+va); ny = Math.sin(ang+va);
var kx:Number; var ky:Number;
if (va > 0)
{
kx = ax + -ny *8; ky = ay + nx*8;
}
else
{
kx = ax + ny *8; ky = ay + -nx*8;
}
graphics.drawCircle(kx,ky,4);
graphics.drawRect(100,300, 300, 40);
ang += va;
if (ky > 300)
{
graphics.drawCircle(kx,ky, 8);
// va = -va;
var d:Number;
d = getMag(kx-cx,ky-cy);
if (d==0){d=0.001;}
var ta:Number;
ta = (kx-cx) * -1;
ta /=d;
ang -= va;
ang += ta;
va -= va;
va += ta;
//ta *= 1/va;
//ta *= 0.01;
//va += ta;
deb.text = "ta " + ta;
}
}//onenter
}//classend
}