You need to call your draw function via mouseMove, but have the drawing algo clear() each time. Additionally, add an updateAfterEvent() at the end of your function since mouseMoves can happen faster than the screen can redraw. The mouseUp function will then call the same function, only once.
----- Original Message ----- From: "Tracy Spratt" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Wednesday, September 21, 2005 12:34 PM Subject: RE: [flexcoders] Question about "mouseMove" I am not sure how to implement this or how this would affect your performance, but you probably need to use a doLater() to let the screen update. Tracy -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Prasad Dhananjaya Sent: Wednesday, September 21, 2005 7:21 AM To: FlexML Subject: [flexcoders] Question about "mouseMove" Hi, I have a small question about mouseMove action. Below code draws an arrow between mouseDown point and mouseUp point. It works well. But arrow displays only after mouseUp event.I want to display arrow during moving of mouse (before I do mouseUp). I think I have to add "something" to mouseMoveHandler(). But didn't know what? Can someone tell me how can I do this? Thanks, --------------------------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" backgroundColor="#FFFFFF"> <mx:Script> <![CDATA[ var isPointerStarted = false; var tmp_canvas:Object; var bx:Number=20; var by:Number=20; function mouseMoveHandler(event) { if (!isPointerStarted) return; } function pointerStart() { if (isPointerStarted) return; isPointerStarted = true; bx = mycanvas1.mouseX; by = mycanvas1.mouseY; } function pointerReleased() { if (!isPointerStarted) return; mycanvas1.lineStyle(2, 0x000000, 100); var w = mycanvas1.mouseX - bx; var h = mycanvas1.mouseY - by; var l = Math.sqrt(w * w + h * h); var size=6; var sharpness=0.5; var s = Math.sin(sharpness); var c = Math.cos(sharpness); //Drawing arrow if (w>10 || h>10){ w *= size / l; h *= size / l; mycanvas1.moveTo(bx,by); mycanvas1.lineTo(mycanvas1.mouseX, mycanvas1.mouseY); mycanvas1.lineTo(mycanvas1.mouseX - w * c - s * h, mycanvas1.mouseY + w * s - h * c); mycanvas1.moveTo(mycanvas1.mouseX, mycanvas1.mouseY); mycanvas1.lineTo(mycanvas1.mouseX - w * c + s * h, mycanvas1.mouseY - w * s - h * c); } isPointerStarted = false; } ]]> </mx:Script> <mx:Canvas id="mycanvas1" mouseDown="pointerStart()" mouseUpSomewhere="pointerReleased()" width="700" height="400" borderStyle="solid" backgroundColor="#DDEEFF" backgroundAlpha="0" mouseMove="mouseMoveHandler(event)"> </mx:Canvas> </mx:Application> -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links ------------------------ Yahoo! Groups Sponsor --------------------~--> Get Bzzzy! (real tools to help you find a job). Welcome to the Sweet Life. http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/nhFolB/TM --------------------------------------------------------------------~-> -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

