*Below is the code what i have used  for drag and drop of  the multiple
canvas .
Consider  " this " as OutcomeElement which is a class creating the notepad
(canvas).

this.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDownClick);
this.addEventListener(MouseEvent.MOUSE_UP,targetMouseUp);

public static var arr:Array = new Array();
        public var flag:Boolean = false;
        public static var i:int = 0;
        public var selectedX:Number = 0;
        public var selectedY:Number = 0;
        public var tempElement:OutcomeElement;
        public function onMouseDownClick(event:MouseEvent):void
        {
            selectedX = mouseX;
            selectedY = mouseY;

            if(event.shiftKey)
            {
                if (event.currentTarget is OutcomeElement)
                {
                    if(arr.length == 0)
                    {
                        arr.push(event.currentTarget as OutcomeElement);

                        event.currentTarget.alpha = 0.5;
                        //trace("id:",arr[i].outcome.id+"i:"+i);
                        i++;
                    }
                    else
                    {
                        for each(var objElement:OutcomeElement in arr)
                        {
                            if(objElement == event.currentTarget as
OutcomeElement)
                            {
                                flag = true;
                                break;
                            }
                        }
                        if(flag == false)
                        {
                            arr.push(event.currentTarget as OutcomeElement);
                            event.currentTarget.alpha = 0.5;
                            i++;
                        }
                        else
                        {
                            flag = false;
                        }
                    }

                }

            }
            else
            {

event.currentTarget.addEventListener(MouseEvent.MOUSE_MOVE,targetMouseMove)

event.currentTarget.addEventListener(MouseEvent.MOUSE_UP,targetMouseUp)
            }

        }

        public function targetMouseUp(event:MouseEvent):void
        {
            //(event.currentTarget as OutcomeElement).stopDrag();
            //(event.currentTarget as OutcomeElement).dragging = false;

event.currentTarget.removeEventListener(MouseEvent.MOUSE_MOVE,targetMouseMove);
        }

        public function targetMouseMove(event:MouseEvent):void
        {

            for each(var ex:OutcomeElement in arr)
            {
                if(mouseX < selectedX)
                {
                    ex.x = ex.x - mouseX + 2;
                    trace("X>")
                }
                else if(mouseX > selectedX)
                {
                    ex.x = ex.x + mouseX + 2;
                    trace("X<")
                }
                else if(mouseY < selectedY)
                {
                    ex.y = ex.y - mouseY + 2;
                    trace("Y>")
                }
                else if(mouseY > selectedY)
                {
                    ex.y = ex.y + mouseY + 2;
                    trace("Y<")
                }
                /*ex.x = ex.x + event.currentTarget.mouseX;
                ex.y = ex.y + event.currentTarget.mouseY;*/
                //ex.startDrag();
                //ex.dragging = true;
                ex.addEventListener(MouseEvent.MOUSE_UP,targetMouseUp);
            }


//this.parent.addEventListener(MouseEvent.MOUSE_UP,targetMouseUp)
        }



Thanks &  Regards,*
*
*
*N.V.S.Sarada Prasad*

-- 
You received this message because you are subscribed to the Google Groups "Flex 
India Community" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/flex_india?hl=en.

Reply via email to