• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

drag and drop set position

New Here ,
Oct 15, 2012 Oct 15, 2012

Copy link to clipboard

Copied

Hi im trying to make a drag and drop quiz. Where i have multiple drag and a few drops.

But i can't set the position of the dropplace.

var dragArray:Array = [DragOne,DragTwo,DragThree,DragFour,DragFive,DragSix,DragSeven];

var matchArray:Array = [DropOne,DropOne,DropOne,DropTwo,DropTwoDropThree,DropThree];

var goodArray:Array = [0,0,0,0,0,0,0];

var startX:Number;

var startY:Number;

var counter:Number = 0;

btn_control.visible = false;

mc_mark.visible = false;

for (var i:int = 0; i < dragArray.length; i++)

{

          dragArray.buttonMode = true;

          dragArray.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);

          dragArray.addEventListener(MouseEvent.MOUSE_UP, dropIt);

          dragArray.startX = dragArray.x;

          dragArray.startY = dragArray.y;

}

function pickUp(event:MouseEvent):void

{

          event.currentTarget.startDrag(true);

          event.currentTarget.parent.addChild(event.target);

          startX = event.currentTarget.x;

          startY = event.currentTarget.y;

          trace("click + " + event.target.name);

}

function dropIt(event:MouseEvent):void

{

          txt_hint.visible = false;

          event.currentTarget.stopDrag();

          trace("drop + " + event.target.name);

          var currentClip = event.currentTarget;

          var len:uint = Math.min(dragArray.length,matchArray.length,goodArray.length);

          for (var i:int = 0; i<len; i++)

          {

                    if (currentClip.hitTestObject(matchArray) && (goodArray == 0))

                    {

                              currentClip.removeEventListener(MouseEvent.MOUSE_DOWN, pickUp);

                              currentClip.removeEventListener(MouseEvent.MOUSE_UP, dropIt);

                              currentClip.buttonMode = false;

                              counter++;

                              currentClip.x = matchArray.x;

                              currentClip.y = matchArray.y;

               goodArray++;

                              trace("stop + " + event.target.name);

                              if (counter == 7)

                              {

                                        btn_control.visible = true;

                                        btn_control.addEventListener(MouseEvent.CLICK, controll);

                              }

                              return;

                    }

          }

          event.currentTarget.x = startX;

          event.currentTarget.y = startY;

}

function controll(event:MouseEvent):void

{

          var done:Number = 0;

          var len:uint = Math.min(dragArray.length,matchArray.length,goodArray.length);

          for (var i:int = 0; i<len; i++)

          {

                    if (matchArray.x != dragArray.x || dragArray.y != matchArray.y)

                    {

                              ready= 0;

                              matchArray.ID--;

                              dragArray.x = dragArray.startX;

                              dragArray.y = dragArray.startY;

                              dragArray.buttonMode = true;

                              dragArray.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);

                              dragArray.addEventListener(MouseEvent.MOUSE_UP, dropIt);

                              txt_hint.visible = true;

                              txt_hint.text = "Try again!";

               goodArray--;

                              counter--;

                              btn_control.visible = false;

                    }

                    if (matchArray.x == dragArray.x || (dragArray.y == matchArray.y))

                    {

                              ready++;

                              if (ready==7)

                              {

                                        btn_control.visible = false;

                                        mc_mark.visible = true;

                                        txt_hint.visible = true;

                                        txt_hint.text = "Correct!";

                              }

                    }

          }

}

TOPICS
ActionScript

Views

472

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 15, 2012 Oct 15, 2012

Copy link to clipboard

Copied

LATEST

If I run a makeshift version using your code all dropped objects stick to the targets. 

Just in case it matters, your matchArray is missing a comma between two of the elements.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines