package info.yukun
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Ball extends Sprite
{
private var radius:Number;
private var color:uint;
private var event_state:String;
public function Ball(radius:Number = 50, color:uint = 0xA3D5FF)
{
this.radius = radius;
this.color = color;
this.event_state = "";
init();
}
public function init():void
{
graphics.beginFill(color);
graphics.drawCircle(0, 0, radius);
graphics.endFill();
}
public function regEvent():void
{
addEventListener(MouseEvent.CLICK, onMouseEvent);
doubleClickEnabled = true;
addEventListener(MouseEvent.DOUBLE_CLICK, onMouseEvent);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseEvent);
addEventListener(MouseEvent.MOUSE_MOVE, onMouseEvent);
addEventListener(MouseEvent.MOUSE_OUT, onMouseEvent);
addEventListener(MouseEvent.MOUSE_OVER, onMouseEvent);
addEventListener(MouseEvent.MOUSE_UP, onMouseEvent);
addEventListener(MouseEvent.MOUSE_WHEEL, onMouseEvent);
}
public function onMouseEvent(event:MouseEvent):void
{
event_state = event.type;
trace(event_state);
switch(event_state) {
case MouseEvent.ROLL_OVER:
this.color = 0x0006FA;
init();
break;
case MouseEvent.ROLL_OUT:
this.color = 0xA3D5FF;
init();
break;
}
}
public function mousePosition():String
{
return "("+ Math.floor(mouseX) + ", " + Math.floor(mouseY) + ")";
}
public function getState():String
{
return event_state;
}
}
}