flash on 2010-1-2

by yama3
♥0 | Line 65 | Modified 2010-01-02 02:46:55 | MIT License
play

ActionScript3 source code

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

package {
	import flash.display.Sprite;
	public class FlashTest extends Sprite {
		public function FlashTest() {
			var ball:Sprite = new BallSprite(0xff9933);
			ball.x = 50;
			ball.y = 50;
			addChild(ball);
			
			var moveBall:Sprite = new MoveBallSprite(0x000066);
			moveBall.x = 100;
			moveBall.y = 50;
			addChild(moveBall);
			
			var dropBall:Sprite = new DropBallSprite(0x006600);
			dropBall.x = 150;
			dropBall.y = 50;
			addChild(dropBall);
			
			var mouseTraceBall:Sprite = new MouseTracerBallSprite(0xff3300);
			mouseTraceBall.x = 200;
			mouseTraceBall.y = 50;
			addChild(mouseTraceBall);
		}
	}
}

import flash.display.*;
import flash.events.*;
class BallSprite extends Sprite {
	public function BallSprite(color:uint) {
		super();
		
		graphics.beginFill(color);
		graphics.drawCircle(0, 0, 10);
		graphics.endFill();
	}
}

class MoveBallSprite extends BallSprite {
	public var velocityX:Number = 8;
	public var velocityY:Number = 6;
	public function MoveBallSprite(color:uint) {
		super(color);
		addEventListener(Event.ENTER_FRAME, updatePosition);
	}
	private function updatePosition(e:Event):void {
		x += velocityX;
		y += velocityY;
	}
}

class DropBallSprite extends MoveBallSprite {
	public var gravity:Number = 0.6;
	public function DropBallSprite(color:uint) {
		super(color);
		addEventListener(Event.ENTER_FRAME, updateVelocity);
	}
	private function updateVelocity(e:Event):void {
		velocityY += gravity;
	}
}
class MouseTracerBallSprite extends MoveBallSprite {
	public function MouseTracerBallSprite(color:uint) {
		super(color);
		addEventListener(Event.ENTER_FRAME, updateVelocity);
	}
	private function updateVelocity(e:Event):void {
		velocityX = (root.mouseX - x) * 0.1;
		velocityY = (root.mouseY - y) * 0.1;
	}
}