package { import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; import flash.geom.ColorTransform; public class Oval extends MovieClip { public var isSelected:Boolean = false; public function Oval():void { outlineHovered.visible = false; outline.visible = true; addEventListener(MouseEvent.MOUSE_OVER, MouseOver); addEventListener(MouseEvent.MOUSE_OUT, MouseOut); addEventListener(MouseEvent.CLICK, Clicked); } public function set colour(colour:int):void { var colorInfo:ColorTransform = new ColorTransform(); colorInfo.color = colour; mainFill.transform.colorTransform = colorInfo; } public function get colour():int { return mainFill.transform.colorTransform.color; } public function set selected(value:Boolean):void { if (isSelected == value) { return; // nothing to do } isSelected = value; if (value) { var selectedEvent:Event = new Event("selected"); this.dispatchEvent(selectedEvent); scaleX = 1.9; scaleY = 1.9; } else { scaleX = 1.512; scaleY = 1.512; } } private function MouseOver(myEvent:MouseEvent):void { outlineHovered.visible = true; outline.visible = false; } private function MouseOut(myEvent:MouseEvent):void { outlineHovered.visible = false; outline.visible = true; } private function Clicked(myEvent:MouseEvent):void { selected = true; } } }