flash on 2014-11-7
♥0 |
Line 65 |
Modified 2014-11-07 05:58:17 |
MIT License
archived:2017-03-30 11:52:54
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/bWkP
*/
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.mouseEnabled = false;
deb.width=320;
deb.height=240;
addChild(deb);
vecNode = new Vector.<xNode>(0,false);
var i:int;
for (i = 0; i < 8; i++)
{
vecNode.push(new xNode() );
}//nexti
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var vecNode:Vector.<xNode>;
public var deb:TextField;
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2,0);
deb.text ="";
var mx:Number;
var my:Number;
mx = stage.mouseX;
my = stage.mouseY;
var i:int; var num:int; var a:xNode;
var b:xNode;
var kx:Number;
num = vecNode.length;
kx = 80+ num*16-16
deb.appendText("kx "+ kx+"\n");
for (i = 0; i < num; i++)
{
a = vecNode[i];
a.cx = 80 + i * 32;
a.cy = 200;
//a.vy += (i-(num*0.5));
//if (a.cx < mx && a.cx+32 > mx) {a.vy+=4;}
//if (a.cx-32 < mx && a.cx+32+32 > mx) {a.vy+=2;}
// a.vy += Math.abs(mx - a.cx)*-0.15;
// a.vy = Math.abs(kx - a.cx)*-0.15;
var u:Number;
if (mx > 80 && mx < num*32+80)
{
u =(1-(Math.abs((kx-a.cx-16)/(num*32))));
//u-=0.5;
a.vy += ((num*32)- Math.abs(mx - a.cx-16))*0.03 *u;
}
deb.appendText(" " +(1-(Math.abs((kx-a.cx)/(num*32))))+"\n");
//deb.appendText(" " +a.vy+"\n");
// deb.appendText(""+a.cx+" "+(a.cx-kx)+"\n");
}//nexti
/*
for (i = 0; i < num; i++)
{
a = vecNode[i];
if (i > 0)
{
b = vecNode[i-1];
a.vy += (b.cy-a.cy)*0.1;
}
if (i < num-1)
{
b = vecNode[i+1];
a.vy += (b.cy-a.cy)*0.1;
}
}//nexti
*/
for (i = 0; i < num; i++)
{
a = vecNode[i];
a.vy *=0.8;
a.cy += a.vy;
graphics.drawRect(a.cx,a.cy, 32,32);
}//nexti
}//onenter
}//classend
}
internal class xNode
{
public var cx:Number = 0;
public var cy:Number = 0;
public var vy:Number = 0;
}//xnode