The circle dynamically drawn at mouse starting point and its size varies based on the mouse movement. In below example is for draw the circle dynamically in action script code in flex
private var _cir:Sprite;
private var _rect:Rectangle;
private function onDrawCircle():void
{
var ui:UIComponent = new UIComponent();
var drawPanel:Sprite = new Sprite();
drawPanel.graphics.clear();
drawPanel.graphics.lineStyle(2, 0xFF0000);
drawPanel.graphics.beginFill(0xDEFACE);
drawPanel.graphics.drawRect(0,0,300,300);
drawPanel.graphics.endFill();
ui.addChild(drawPanel);
addChild(ui);
ui.x = 20;
ui.y = 20;
_cir = new Sprite();
_cir.graphics.clear();
_cir.graphics.beginFill(0x00FF00,0.5);
_cir.graphics.drawCircle(0,0,0);
_cir.graphics.endFill();
drawPanel.addChild(_cir);
_cir.x = 10;
_cir.y = 10;
_rect = new Rectangle();
addEventListener(MouseEvent.MOUSE_DOWN,onCircleDown);
addEventListener(MouseEvent.MOUSE_UP,onCircleUp);
}
private function onCircleDown(evt:MouseEvent):void
{
var spr:Sprite = evt.target as Sprite;
_rect = spr.getBounds(spr.parent);
addEventListener(MouseEvent.MOUSE_MOVE,onCircleMove);
}
private function onCircleMove(evt:MouseEvent):void
{
var spr:Sprite = evt.target.parent as Sprite;
_rect.bottomRight = new Point(spr.mouseX,spr.mouseY);
_cir.graphics.clear();
_cir.graphics.beginFill(0x00FF00,0.5);
_cir.graphics.drawCircle(_rect.width/2, _rect.width/2, _rect.width/2);
_cir.graphics.endFill();
}
private function onCircleUp(evt:MouseEvent):void
{
removeEventListener(MouseEvent.MOUSE_MOVE,onCircleMove);
}
Hi not working when added inside a script tag of a flex application. Any thing I have to do.
ReplyDeleteDo give live demo for your source code, would attract many developers.
ReplyDelete