flash on 2010-3-24

by hashito
MainStage
♥0 | Line 64 | Modified 2010-03-24 23:41:37 | MIT License
play

ActionScript3 source code

/**
 * Copyright hashito ( http://wonderfl.net/user/hashito )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/6Xi4
 */

// MainStage
package {
	import flash.display.Sprite;
	[SWF(frameRate=60,width=456,height=456)]
	public class MainStage extends Sprite {
		public function MainStage(){
			addChild(new Main());
		}
	}
}

import flash.display.*;
import flash.filters.BlurFilter;
import flash.geom.Point;
import flash.geom.ColorTransform;
import flash.events.*;
import flash.text.TextField;
import flash.text.TextFormat;
import net.hires.debug.Stats;

//class debug{public static var out:TextField=new TextField();}
//
class MF{
	public static function AFFORD (x:Number,aim:Number,a:Number):Boolean{return (x<=(a+aim))&&(x>=(a-aim));}
	public static function RAN (n:Number=1):Number{return (Math.random()*n);}
	public static function ISPM (n:Number):Number{if(n<0){return -1;}else if(n>0){return 1;}return 0;}
}


class Main extends Sprite{
	public const H:Number = 456;
	public const W:Number = 456;
	private var b:Bit=new Bit(5,W/2,H/2,0);
	//Constructor
	public function Main() {addEventListener(Event.ADDED_TO_STAGE, init);}
	//init
	public function init(e:*):void{
		addChild(b);
		
		// debug
		///debug.out.autoSize=flash.text.TextFieldAutoSize.LEFT;
		///addChild(debug.out);
		///debug.out.text="0";
		stage.addEventListener(flash.events.KeyboardEvent.KEY_DOWN  ,keydown);
		addEventListener(Event.ENTER_FRAME ,update);
		stage.addEventListener(MouseEvent.MOUSE_DOWN ,reset);
	}
	public function update(e:Event=null):void{
		b.update();
	}
	public function reset(e:MouseEvent=null):void{
		b.setAim(mouseX,mouseY);
	}
	public function keydown(e:KeyboardEvent=null):void{
	}
}
class Bit extends Shape{
	public var ix:int,iy:int,k:int,color:uint;
	public var aimx:int,aimy:int;
	public var ax:Number=0,ay:Number=0,vx:Number=0,vy:Number=0;
	
	public function Bit(k:int,x:int,y:int,color:uint){
		this.x = aimx = ix = (x);
		this.y = aimy = iy = (y);
		this.k=k;this.color=color
		this.graphics.beginFill(color);
		this.graphics.drawCircle(0,0,k)
	}
	public function setAim(x:int,y:int):void{
		aimx=x;aimy=y;
	}
	public function update(t:Number=1):void{
		if((x==aimx) && (y==aimy)){
		}else{
			x+=MF.ISPM(aimx - x);
			y+=MF.ISPM(aimy - y);
		
		}
	}
	
}
//class Poop extends Shape{}