Drag and Drop with multiple targets

I'm having a problem find a solution to my drag and drop problem.  Here is what this flash piece is basically supposed to do:
9 dragable items on the stage
5 targets, numbers 1 - 5, where the items can be placed
5 of the 9 dragable items are the correct answer and the user needs to drag them to the correct target, and have to be in order from 1-5. (eg. let's say the instructions are:
Please place the, in the correct order, the 5 steps to getting ready in the morning
Drag items                                               Targets
Brush teeth                                       1.                     
Change oil in car                                2.                    
Wash face                                         3.                   
Put pants on                                      4.                    
Shower                                              5.                     
Get out of bed  
Do tax's
So far I have it so if you drop the correct answer into its correct target it snaps to it and disable it's eventListeners.  If you drop the drag item on the other targets they snap to it and disable it as well.  They only problem is if the user accidentally drops the item anywheres else on the stage it locks it in place.  Instead I want it to return to the orginal x and y position.  Can anyone help?!?
Here is my code
DragDrop.as
package
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.filters.DropShadowFilter;
public class DragDrop extends MovieClip
  public var _targetPiece:*;
  public function DragDrop()
   this.addEventListener(MouseEvent.MOUSE_DOWN, dragMovie);
   this.addEventListener(MouseEvent.MOUSE_UP, dropMovie);
   this.buttonMode = true;
  private function dragMovie(event:MouseEvent):void
   this.startDrag();
   this.filters = [new DropShadowFilter(0.5)];
   this.parent.addChild(this);
  private function dropMovie(event:MouseEvent):void
   this.stopDrag();
   this.filters = [];
  public function disable():void
   this.buttonMode = false;
   this.removeEventListener(MouseEvent.MOUSE_DOWN, dragMovie);
   this.removeEventListener(MouseEvent.MOUSE_UP, dropMovie);
DragGame.as
package
import flash.display.MovieClip;
import flash.events.MouseEvent;
import DragDrop;
import BL;
import BR;
import BM;
import TL;
import TR;
import TM;
import BC;
import TC;
import BA;
public class DragGame extends MovieClip
  private var bl:BL;
  private var br:BR;
  private var bm:BM;
  private var tl:TL;
  private var tr:TR;
  private var tm:TM;
  private var bc:BC;
  private var tc:TC;
  private var ba:BA;
  private var _totalPieces:Number;
  private var _currentPieces:Number;
  private var _submit:Number;
  private var _reveal:Number;
  public function DragGame()
   _totalPieces = 5;
   _currentPieces = 0;
   createPieces();
   _submit = 6;
   _reveal = 1;
  private function createPieces():void
   bl = new BL();
   addChild(bl);
   bl._targetPiece = blt_mc;
   bl.addEventListener(MouseEvent.MOUSE_UP, checkTarget);
   piecePosition1(bl);
   br = new BR();
   addChild(br);
   br._targetPiece = brt_mc;
   br.addEventListener(MouseEvent.MOUSE_UP, checkTarget);
   piecePosition2(br);
   bm = new BM();
   addChild(bm);
   bm._targetPiece = bmt_mc;
   bm.addEventListener(MouseEvent.MOUSE_UP, checkTarget);
   piecePosition3(bm);
   tl = new TL();
   addChild(tl);
   tl._targetPiece = tlt_mc;
   tl.addEventListener(MouseEvent.MOUSE_UP, checkTarget);
   piecePosition4(tl);
   tr = new TR();
   addChild(tr);
   tr._targetPiece = trt_mc;
   tr.addEventListener(MouseEvent.MOUSE_UP, checkTarget);
   piecePosition5(tr);
   tm = new TM();
   addChild(tm);
   tm._targetPiece = tmt_mc;
   tm.addEventListener(MouseEvent.MOUSE_UP, checkTarget);
   piecePosition6(tm);
   bc = new BC();
   addChild(bc);
   bc._targetPiece = trt_mc;
   bc.addEventListener(MouseEvent.MOUSE_UP, checkTarget);
   piecePosition7(bc);
   tc = new TC();
   addChild(tc);
   tc._targetPiece = trt_mc;
   tc.addEventListener(MouseEvent.MOUSE_UP, checkTarget);
   piecePosition8(tc);
   ba = new BA();
   addChild(ba);
   ba._targetPiece = trt_mc;
   ba.addEventListener(MouseEvent.MOUSE_UP, checkTarget);
   piecePosition9(ba);
  private function checkTarget(event:MouseEvent):void
   if(event.currentTarget.hitTestObject(event.currentTarget._targetPiece))
    event.currentTarget.x = event.currentTarget._targetPiece.x;
    event.currentTarget.y = event.currentTarget._targetPiece.y;
    event.currentTarget.removeEventListener(MouseEvent.MOUSE_UP, checkTarget);
    event.currentTarget.disable();
    _currentPieces ++;
    _submit --;
    if(_currentPieces >= _totalPieces)
     wrong_txt.visible = false;
     answer_txt.visible = true;
    if(_submit <= _reveal)
     submit_mc.visible = true;
     submit_mc.buttonMode = true;
   else
    event.currentTarget.x= event.currentTarget.dropTarget.parent.x;
    event.currentTarget.y= event.currentTarget.dropTarget.parent.y;
    event.currentTarget.disable();
    if(_submit <= _reveal)
     submit_mc.visible = true;
     submit_mc.buttonMode = true;
  private function piecePosition1(piece:*):void
   piece.x = 50.2;
   piece.y = 87.2;
   piece._origX = 50.2;
   piece._origY = 87.1;
  private function piecePosition2(piece:*):void
   piece.x = 50.2;
   piece.y = 109.2;
   piece._origX = 50.2;
   piece._origY = 109.2;
  private function piecePosition3(piece:*):void
   piece.x = 50.2;
   piece.y = 131.2;
   piece._origX = 50.2;
   piece._origY = 131.2;
  private function piecePosition4(piece:*):void
   piece.x = 50.2;
   piece.y = 153.3;
   piece._origX = 50.2;
   piece._origY = 153.3;
  private function piecePosition5(piece:*):void
   piece.x = 50.2;
   piece.y = 175.3;
   piece._origX = 50.2;
   piece._origY = 175.3;
  private function piecePosition6(piece:*):void
   piece.x = 50.2;
   piece.y = 197.3;
   piece._origX = 50.2;
   piece._origY = 197.3;
  private function piecePosition7(piece:*):void
   piece.x = 50.2;
   piece.y = 219.4;
   piece._origX = 50.2;
   piece._origY = 219.4;
  private function piecePosition8(piece:*):void
   piece.x = 50.2;
   piece.y = 241.4;
   piece._origX = 50.2;
   piece._origY = 241.4;
  private function piecePosition9(piece:*):void
   piece.x = 50.2;
   piece.y = 263.7;
   piece._origX = 50.2;
   piece._origY = 263.7;

create an array of your droptargets (eg, droptargetA) and check if the object is dropped on a droptarget.  you don't even need the if-branch of the following if-else unless you do something that depends on whether the correct droptarget is hit.
function checkTarget(event:MouseEvent):void
   if(event.currentTarget.hitTestObject(event.currentTarget._targetPiece ))
    event.currentTarget.x = event.currentTarget._targetPiece.x;
    event.currentTarget.y = event.currentTarget._targetPiece.y;
    event.currentTarget.removeEventListener(MouseEvent.MOUSE_UP, checkTarget);
    event.currentTarget.disable();
   else
var x:Number=event.currentTarget.dropTarget._origX;
var y:Number=event.currentTarget.dropTarget._origY;
for(var i:uint=0;i<droptargetNum;i++){
    if(event.currentTarget.hitTestObject(droptargetA[i] )){
x=droptargetA[i].x;
y=droptargetA[i].y;
break
event.currentTarget.x=x;
event.currentTarget.y=y;

Similar Messages

  • Drag and drop to multiple targets

    Hi
    Im trying to create a simple drag and drop app where you can drap a movieclip into multiple areas.
    This is the code i have so far (taken from a tutorial i found) thats works perfectly for 1 target but not for multiples. I initially tried giving the targets the same instance name but that didnt work.
    stop();
    var startX:Number;
    var startY:Number;
    square_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
    square_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
    function pickUp(event:MouseEvent):void {
    square_mc.gotoAndStop (2);
    event.target.startDrag(true);
    event.target.parent.addChild(event.target);
    startX = event.target.x;
    startY = event.target.y;
    function dropIt(event:MouseEvent):void {
    event.target.stopDrag();
    var myTargetName:String = "target" + event.target.name;
    var myTarget:DisplayObject = getChildByName(myTargetName);
    if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget){
      reply_txt.text = "you have 5 days left";
      event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickUp);
      event.target.removeEventListener(MouseEvent.MOUSE_UP, dropIt);
      event.target.buttonMode = false;
      event.target.x = myTarget.x;
      event.target.y = myTarget.y;
       } else {
      square_mc.gotoAndStop (1);
      event.target.x = startX;
      event.target.y = startY;
    if(counter == 4){
            reply_txt.text = "Congrats, you're finished!";
    square_mc.buttonMode = true;
    does anyone have any ideas?
    Many thanks
    Simon

    Here you go, I changed a couple things. First, I made the "decision" that all your drop targets would be named 'target'.
    stop();
    var startX:Number;
    var startY:Number;
    square_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
    square_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
    square_mc.buttonMode = true;
    function pickUp(event:MouseEvent):void
         square_mc.gotoAndStop (2);
         event.target.startDrag()//true);
         event.target.parent.addChild(event.target);
         startX = event.target.x;
         startY = event.target.y;
    function dropIt(event:MouseEvent):void
            // changed the bit here to set 'myTarget' after the null and name checks are made
         event.target.stopDrag();
         if (event.target.dropTarget != null && event.target.dropTarget.parent.name == "target")
              var myTarget = event.target.dropTarget.parent;
              reply_txt.text = "you have 5 days left";
              event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickUp);
              event.target.removeEventListener(MouseEvent.MOUSE_UP, dropIt);
              event.target.buttonMode = false;
              event.target.x = myTarget.x;
              event.target.y = myTarget.y;
              } else {
              square_mc.gotoAndStop (1);
              event.target.x = startX;
              event.target.y = startY;
         if(counter == 4)
            reply_txt.text = "Congrats, you're finished!";
    HTH!
    -Ted

  • Drag and drop of multiple nodes between 2 trees

    Hi,
    I am trying to implement a drag and drop of multiple nodes between two different trees. A simple drag drop written on the lines of the demo code RSDEMO_DRAG_DROP_TREE_MULTI works perfectly fine. But my requirement is, when a child (leaf) node is dragged, if its parent is not present in the target tree, that too has to be dragged and dropped from left to right. When I try to manually add nodes to the target tree, it dumps because the node key table and drag drop object have fewer nodes than what I am trying to add. So it always dumps in the drag_drop_complete method.
    I have also tried putting this code in the PBO of my screen, calling a subroutine to refresh my tree with all nodes required. But I realise that the PBO does not get called after a drag drop. Is there a way to achieve this? Any help would be greatly appreciated. Thank you.
    Regards,
    Nithya

    There's a Multi-Select TreeView sample on the WindowsClient.com, you can download it. Then you can drag multi nodes as follows:
    Code Snippet
    private void Form2_Load(object sender, EventArgs e)
                this.listBox1.AllowDrop = true;
                this.listBox1.DragOver += new DragEventHandler(listBox1_DragOver);
                this.listBox1.DragDrop += new DragEventHandler(listBox1_DragDrop);
                this.multiSelectTreeView1.ItemDrag += new
                     ItemDragEventHandler(multiSelectTreeView1_ItemDrag);
            void multiSelectTreeView1_ItemDrag(object sender, ItemDragEventArgs e)
                this.multiSelectTreeView1.DoDragDrop(this.multiSelectTreeView1.SelectedNodes,
                     DragDropEffects.Move);
            void listBox1_DragDrop(object sender, DragEventArgs e)
                ArrayList selectNodes = e.Data.GetData(
                    e.Data.GetFormats()[0]) as ArrayList;
                foreach (TreeNode node in selectNodes)
                    this.listBox1.Items.Add(node.Text);
            void listBox1_DragOver(object sender, DragEventArgs e)
                 e.Effect = DragDropEffects.Move;

  • [SOLVED] Thunar 1.6 doesn't drag-and-drop with the right mouse button

    Hallo all.
    It might be something I've done (though I did delete my ~/.config/Thunar directory before upgrading), but Thunar doesn't let me drag-and-drop with the right mouse button, thus stopping me from copying something instead of moving it, etc. Has anyone else had that too?
    Last edited by GordonGR (2012-12-28 14:34:20)

    Joel wrote:
    anonymous_user wrote:Is it supposed to be with the right-mouse button? I always thought drag and drop was done with the left button?
    Could be right-hand user
    Come on! Read what GordonGR wrote!
    Microsoft Windows, Nautilus, the Haiku Tracker, and probably many other file managers have a feature where, when you right-click or middle-click and drag an icon to a new location, a pop-up menu appears and asks what you'd like to do (Move, Copy, Link). I thought I used to use this feature in Thunar too but it seems to have stopped working in recent versions. Has anyone else had any experience with it?
    EDIT: Here's random blogger talking about the feature in an older version of Thunar: http://jeromeg.blog.free.fr/index.php?p … and-tricks So that's good, I wasn't just imagining the feature.
    Last edited by drcouzelis (2012-12-12 03:45:05)

  • Can't Drag and Drop with a Double Tap using Single Finger in Lion?

    I installed the Mac OS X Lion two days. But I can't drag and drop with a Double tap using Single Finger, which I used to do in Snow Leopard.
    If I choose Three Finger Move, then Swap Between Pages goes back to "Scroll left or right with Two Fingers" that only works with Safari, but doesn't work with Chrome or Firefox.
    I tried literally every setting in Trackpad and also checked if there was a override settings and there is no overrride setting.
    Would be thankful, if you guys could suggest me what to do?
    ======================================
    My Machine Configuration:
    Macbook Pro 13" (mid 2010)
    Intel Core 2 Duo 2.4GHz
    4GB Ram
    Nvidia Geforce 320m
    Mac OS X Lion (Installe on a updated Snow Leopard 10.6.8)

    Hey Serge many thanks for telling me how to do. now its working like previously
    I just cheked the Dragging under Trackpad option and unchecked Three Finger Moves. now I can drag and drop with a double tap using single finger.
    Thank you guys. You are the best

  • Error in drag and drop with a Tree component

    Hello, everybody.
    I'm doing a drag and drop with two trees.
    But, when I drag from a tree to another show this error:
    "oracle.job.RowNotFoundException:JBO25020: View line of oracle.jbo.Key[4.4] key not found in ViewTreeNodeRepository13_71."
    Besides that, in my property SelectionListerner, when I have this line: "#{bindings.TreeNodeRepository.treeModel.makeCurrent}" there is a warning that says: "Reference makeCurrent not found".
    Anyone can help me?
    Thanks!

    Hi,
    +Besides that, in my property SelectionListerner, when I have this line: "#{bindings.TreeNodeRepository.treeModel.makeCurrent}" there is a warning that says: "Reference makeCurrent not found".+
    Don't worry, its a designtime warning because the EL cannot be resolved. MakeCurrent is a method on the FacesCtrl binding equivalent to ADF, which is applied at runtime and not available at design time
    +But, when I drag from a tree to another show this error: "oracle.job.RowNotFoundException:JBO25020: View line of oracle.jbo.Key[4.4] key not found in ViewTreeNodeRepository13_71."+
    In drag and drop, ADF Faces performs the drag. However, the rest of the drop handling is up to the developer. Without any more information of what yur drop handler is doing, this question cannot be answered
    Frank

  • How do you drag and drop/move multiple emails from the inbox or mail archive folder to a file folder in your finder?

    I would like to archive hundreds of my emails that currently exist in my apple mail email filing system by moving them into file folders in the finder. I can do this easily with a single email but it wont let me do it with multiple emails or a complete folder. Is there any way of do this easily?

    Thanks very much for this. However, I understand how dragging and dropping files normally works. It just seems the it wont work when you do it with emails when you are transfering them into a normal finder system folder. If you highlight one file and drag it to a finder folder it works, but when you drag multiple, it just wont let you do it.
    Is there any work around for this? Thank you once again for  your time.

  • Drag and Drop with a response in Flash..please help

    Hi
    I have just started with flash and actionscript3 about 5 weeks ago. I'm in my first year uni and I have a drag and drop assignment (for a kindergarten class). Its "little Red Hen" and they have place the correct picture in right holder.
    I have gotten the drag and drop working but I can't seem to figure out how to display a tick when they have place it in the correct holder.
    Please help....
    This is my script (it may seem messy...still new)
    import flash.events.MouseEvent;
    /*Mouse Event that ensures the function of hen movieclip to start dragging
      when mouse is pressed*/
    hen1_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
    hen2_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
    hen3_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
    hen4_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
    hen5_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
    hen6_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
    function dragStart (event: MouseEvent):void
        event.target.startDrag();
    /*Mouse Event that ensures the function of hen movieclip to drop
    when the mouse button is realeased with Condition statement, if
    hen = holder, hen snaps into place*/
    hen1_mc.addEventListener(MouseEvent.MOUSE_UP, dragStop1);
    function dragStop1 (event:MouseEvent):void
        hen1_mc.stopDrag();
        if (hen1_mc.hitTestObject (holder1_mc)==true)
            hen1_mc.x=holder1_mc.x;
            hen1_mc.y=holder1_mc.y;
    hen2_mc.addEventListener(MouseEvent.MOUSE_UP, dragStop2);
    function dragStop2 (event:MouseEvent):void
        hen2_mc.stopDrag();
        if(hen2_mc.hitTestObject (holder2_mc)==true)
            hen2_mc.x=holder2_mc.x;
            hen2_mc.y=holder2_mc.y;
    hen3_mc.addEventListener(MouseEvent.MOUSE_UP, dragStop3);
    function dragStop3 (event:MouseEvent):void
        hen3_mc.stopDrag();
        if(hen3_mc.hitTestObject (holder3_mc)==true)
            hen3_mc.x=holder3_mc.x;
            hen3_mc.y=holder3_mc.y;
    hen4_mc.addEventListener(MouseEvent.MOUSE_UP, dragStop4);
    function dragStop4 (event:MouseEvent):void
        hen4_mc.stopDrag();
        if(hen4_mc,hitTestObject (holder4_mc)==true)
            hen4_mc.x=holder4_mc.x;
            hen4_mc.y=holder4_mc.y;
    hen5_mc.addEventListener(MouseEvent.MOUSE_UP, dragStop5);
    function dragStop5 (event:MouseEvent):void
        hen5_mc.stopDrag();
        if(hen5_mc.hitTestObject (holder5_mc)==true)
            hen5_mc.x=holder5_mc.x;
            hen5_mc.y=holder5_mc.y;
    hen6_mc.addEventListener(MouseEvent.MOUSE_UP, dragStop6);
    function dragStop6 (event:MouseEvent):void
        hen6_mc.stopDrag();
        if(hen6_mc.hitTestObject (holder6_mc)==true)
            hen6_mc.x=holder6_mc.x;
            hen6_mc.y=holder6_mc.y;

    Ok so I figured it out, thank you Ned.
    I have made the tick_mc alpha 0 in the beginning of the script and then in my conditional I have made the alpha = 100
    So it works...yay!
    Now all I have left, if the piece is placed in the wrong holder then it needs to go back into its orignal position.
    I have tried
    Written above the script
    var startX:Number;
    var startY:Number;
    then just below my dragStart code
    startX = event.target.x = startX;
    startY = event.target.y = startY;
    then after each if statement I placed an else statement
    else
          hen1_mc.x = startX;
          hen1_mc.y = startY;
    Its clearly not working, please could you tell me what I am doing wrong?
    thank you

  • Drag and Drop with snap and response

    Ok, first of all I'm new to all of this as I'm just doing some parttime work. I'm trying to make a drag and drop game where the images (imported and made into movie clips with instance names "peg1 - peg7") are to be dragged onto targets (images, made into movie clips with instance names "targetpeg1-targetpet7").
    Here's my code and it comes up with two errors -
    ReferenceError: Error #1069: Property parent not found on builtin.as$0.MethodClosure and there is no default value.
    at Gametake1_fla::MainTimeline/fl_ReleaseToDrop()
    Please help!!! Thanks a bunch!
    Amy
    peg1.buttonMode = true;
    peg2.buttonMode = true;
    peg3.buttonMode = true;
    peg3.buttonMode = true;
    peg4.buttonMode = true;
    peg5.buttonMode = true;
    peg6.buttonMode = true;
    peg7.buttonMode = true;
    peg1.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg2.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg3.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg4.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg5.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg6.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg7.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    function fl_ClickToDrag(event:MouseEvent):void
    event.currentTarget.startDrag();
    reply_txt.text = "Drag the image to its correct location"
    peg1.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg2.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg3.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg4.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg5.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg6.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg7.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    function fl_ReleaseToDrop(event:MouseEvent):void
    event.currentTarget.stopDrag();
    var myTargetName:String = "target" + event.target.name;
    var myTarget:DisplayObject = getChildByName("myTargetName");
    if (event.target.stopDrag != null && event.target.stopDrag.parent == myTarget){
        reply_txt.text = "Good Job!";
    } else {
        reply_txt.text = "Try Again!";
    function checkTarget(drag){
    if (drag.hitTest(targetpeg1)) {
    trace(drag+" has been dropped on greyCircle");
    } else {
    trace("you missed the target");

    use:
    peg1.buttonMode = true;
    peg2.buttonMode = true;
    peg3.buttonMode = true;
    peg3.buttonMode = true;
    peg4.buttonMode = true;
    peg5.buttonMode = true;
    peg6.buttonMode = true;
    peg7.buttonMode = true;
    peg1.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg2.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg3.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg4.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg5.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg6.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    peg7.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
    function fl_ClickToDrag(event:MouseEvent):void
    event.currentTarget.startDrag();
    reply_txt.text = "Drag the image to its correct location"
    peg1.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg2.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg3.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg4.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg5.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg6.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    peg7.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
    function fl_ReleaseToDrop(event:MouseEvent):void
    event.currentTarget.stopDrag();
    var myTargetName:String = "target" + event.currentTarget.name;
    var myTarget:DisplayObject = getChildByName("myTargetName");
    if (event.currentTarget.dropTarget){
    if(event.currentTarget.dropTarget.parent == myTarget){
        reply_txt.text = "Good Job!";
    } else {
        reply_txt.text = "Try Again!";

  • Drag and Drop with mx.effects.SoundEffect

    I am trying to get a soundeffect to play after a successful
    drag and drop operation. Unfortunately, there is no dragDropEffect,
    so I cannot use mxml for adding sound when a drop is completed.
    (However a sound effect can be used when the user first clicks on
    something before drag occurs by using mouseDownEffect.)
    Below is my code which attempts doing this from one tile to
    another with an image. For debugging purposes I have added an Alert
    to show where the sound effect fails to play. Can anyone see what
    is wrong with my code?
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    creationComplete="createSoundEffects();" layout="horizontal">
    <mx:Script>
    <![CDATA[
    import mx.managers.DragManager;
    import mx.core.DragSource;
    import mx.events.DragEvent;
    import mx.effects.SoundEffect;
    import mx.controls.Alert;
    [Embed(source="C:/FLEX_PROJECTS/photos/bin/openWind-Mark_E_B-8076_hifi.mp3")]
    private var soundFxOpenSwoosh:Class;
    [Embed(source="C:/FLEX_PROJECTS/photos/bin/closeWin-Mark_E_B-8077_hifi.mp3")]
    private var soundFxCloseSwoosh:Class;
    private var dropSound:SoundEffect;
    //create the sound effect when first loaded (see
    mx:Application tag) for the creationComplete attribute
    private function createSoundEffects():void {
    dropSound = new SoundEffect();
    dropSound.useDuration = false;
    dropSound.loops = 0;
    dropSound.source = soundFxCloseSwoosh;
    // Drag initiator event handler, called by
    // the image's mouseMove event.
    private function dragMe(event:MouseEvent, img1:Image,
    format:String):void {
    var dragInitiator:Image=Image(event.currentTarget);
    var ds:DragSource = new DragSource();
    ds.addData(img1, format);
    var imageProxy:Image = new Image();
    imageProxy.source = img1.source;
    imageProxy.height = img1.height;
    imageProxy.width = img1.width;
    imageProxy.alpha=.8;
    //Call the drag method from the manager
    DragManager.doDrag(dragInitiator, ds, event, imageProxy, 0,
    0, 1.00);
    private function doDragEnter(event:DragEvent):void {
    DragManager.acceptDragDrop(Tile(event.target));
    private function doDragDrop():void {
    dropSound.end(); //see page 569 in flex2_devguide.pdf for
    why .end() is called here
    dropSound.play();
    Alert.show("dropSound.source is:" + dropSound.source);
    ]]>
    </mx:Script>
    <mx:SoundEffect id="dragStartSound" useDuration="false"
    loops="0" source="{soundFxOpenSwoosh}"/>
    <mx:HDividedBox width="100%" height="100%">
    <mx:Tile width="100%" height="100%"
    backgroundColor="#999999">
    <mx:Image id="myimg" mouseDownEffect="{dragStartSound}"
    source=".\2.png" mouseMove="dragMe(event, myimg, 'img');" />
    </mx:Tile>
    <mx:Tile width="100%" height="100%"
    dragEnter="doDragEnter(event)" dragDrop="doDragDrop()"
    backgroundColor="#999999">
    </mx:Tile>
    </mx:HDividedBox>
    </mx:Application>

    Merci beaucoup!!
    it is also posible in AWT ?
    Message was edited by: roshca181
    [email protected]

  • Drag and Drop with Capture feature

    I would like to set up a drag and drop interaction. The user
    will drag several icons and place them on a map. They do not have
    to use all the icons provided to them. The map is a rectangle and I
    need to capture the icons placed on the map and there locations.
    Several pages later I would like the final layout of the map and
    icons to appear automatically for them to continue with the
    exercise. I’ve set up target interactions before but each
    icon had a specific place to complete the drag and drop. Please
    advise. The best example I can think of is you have a lot of
    players on the side line of a football field. You drag out the
    players you want to use. Then in the future in order to make the
    next move you need to reference how u set up the field. Does anyone
    have an example i can look at?

    You need to switch previews on for that. More info:
    http://docs.info.apple.com/article.html?artnum=304499

  • Drag and drop between multiple instances of an executable

    I want to know if there is a special way (not using Windows API) to drag and drop data between multiple instances of a same executable. 
    I have an application built in LabVIEW, where the main window can open a child window. Each window has a plot control. Between the two windows, a plot data of main window can be copied by drag and drop. 
    And I open another instance of the same executable. Now there are two executables(A and B).
    I want to drag and drop a plot data from the main window of B to the child window of A. But in this case, Drag Enter Event is not fired. I think that the event seems to be fired only inside an executable.
    http://digital.ni.com/public.nsf/allkb/AB268878693EF4B586257037004A6725 says that Queue or Semaphore is working only inside an executable. Is drag operation also valid only inside a process?

    Hi,
    Placed images (as opposed to pasted images) in Indesign are by their very nature pointers to an external image file, so there is no way to slim down the size of your exported PDF other than by playing with the export settings. Other than that, ensure that your file is placed in Indesign at 100% and at the correct resolution for your desired output. If you open the PDF in Acrobat, you can also save as a reduced size PDF which may help.
    Good luck!
    Malcolm

  • Flash drag and drop not finding targets in Captivate

    I created a drag and drop game in Flash CS4 using Actionscript 2 which allows you to pull clothing onto a stick figure. If you get the clothes in the right place, over the target, then they stick, if not they return to their original position. It works fine but when I open it in Captivate 4 the targets no longer hold the objects. No matter where you place the clothes icons they will return to their original position.
    I have captivate set up for the correct Actionscript and the fps in captivate and the swf are the same. I've included the code I wrote below. Please help if you have any answers as to why this is happening.
    shirt_mc.onPress=function(){
    startDrag(this);
    shirt_mc.onRelease=shirt_mc.onReleaseOutside=function(){
    stopDrag();
    if (this._droptarget == "/targetShirt") {
    this.onTarget=true;
    _root.targetShirt.gotoAndStop(2);
    }else{
    this.onTarget=false;
    _root.targetShirt.gotoAndStop(1)
    shirt_mc.myHomeX=shirt_mc._x;
    shirt_mc.myHomeY=shirt_mc._y;
    shirt_mc.onMouseDown=function(){
    //this variable tells us if the mouse is up or down
    mousePressed=true;
    shirt_mc.onMouseUp=function(){
    mousePressed=false;
    shirt_mc.onEnterFrame=function(){
    //all these actions basically just say "if the mouse is up (in other words - the clip is not being dragged)
    // then move the MC back to its original starting point (with a smooth motion)
    if(mousePressed==false&&this.onTarget==false){
    this._x-=(this._x-this.myHomeX)/5;
    this._y-=(this._y-this.myHomeY)/5;
    pants_mc.onPress=function(){
    startDrag(this);
    pants_mc.onRelease=pants_mc.onReleaseOutside=function(){
    stopDrag();
    if (this._droptarget == "/targetPants") {
    this.onTarget=true;
    _root.targetPants.gotoAndStop(2);
    }else{
    this.onTarget=false;
    _root.targetPants.gotoAndStop(1)
    pants_mc.myHomeX=pants_mc._x;
    pants_mc.myHomeY=pants_mc._y;
    pants_mc.onMouseDown=function(){
    //this variable tells us if the mouse is up or down
    mousePressed=true;
    pants_mc.onMouseUp=function(){
    mousePressed=false;
    pants_mc.onEnterFrame=function(){
    //all these actions basically just say "if the mouse is up (in other words - the clip is not being dragged)
    // then move the MC back to its original starting point (with a smooth motion)
    if(mousePressed==false&&this.onTarget==false){
    this._x-=(this._x-this.myHomeX)/5;
    this._y-=(this._y-this.myHomeY)/5;

    Hi all,
    Thanks for the informative replies.  My main issue seems to be when adding animations.  For example (I have included one below
    ).  I add this animation to my project and it runs perfectly.  I then add another, very similar animation, and the sound dissapears completely in the previous one! I remove the one added, preview the project again and the first animation works again!
    The only access I make to Root is through the successful click on the otherTARGET, that tells captivate to move to the next slide.  Could this be the root (exuse the pun) of my problems?
    Any help appreciated!
    stop();
    var target:Array=new Array(likelyTARGET,otherTARGET,other1TARGET);
    addListners();
    var more:Sound = new consequencefocuspeople();
    var less:Sound = new consequencemoreserious();
    function addListners(){
    for (var i in target) {   
    target[i].addEventListener(MouseEvent.CLICK, onClick);
    function onClick(event:MouseEvent):void
    var item:String = event.target.name;
    switch(item)
      case "otherTARGET":
         var mainmov:MovieClip = MovieClip(root);
          mainmov.rdcmndNextSlide = 1;
      break;
      case "other1TARGET":
      removeAllEventListner()
      var soundChannel:SoundChannel = more.play();
      soundChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete);
      break;
      case "likelyTARGET":
      removeAllEventListner()  
      var soundChannel2:SoundChannel = less.play();
      soundChannel2.addEventListener(Event.SOUND_COMPLETE, soundComplete);
      break;
    function soundComplete(event:Event):void {
    addListners()
    function removeAllEventListner()
    for (var i in target)
      target[i].removeEventListener(MouseEvent.CLICK, onClick); 
    thanks,
    tristan

  • New and need help - drag and drop with dynamic text

    So I'm doing this project and as an animator I'm not familiar with the whole action script side of flash
    Okay so far I've managed to create the whole Drag and Drop feature and it works well, the thing is I want to make it so when you drag in object in the correct spot and new text appears, and I need like six different object with the dynamic text. but I have no idea how to integrated it in my code or where I should start!
    So i based myself on some tutorial so theres some code in there that had dynamic text, but not exactly what i wanted
    Your help would be much appreciated!
    This is my code:
    var counter:Number = 0;
    var startX:Number;
    var startY:Number;
    six_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
    six_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
    five_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
    five_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
    four_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
    four_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
    three_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
    three_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
    two_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
    two_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
    one_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
    one_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
    function pickUp(event:MouseEvent):void {
        event.target.startDrag(true);
    reply_txt.text = "";
    event.target.parent.addChild(event.target);
    startX = event.target.x;
    startY = event.target.y;
    function dropIt(event:MouseEvent):void {
        event.target.stopDrag();
    var myTargetName:String = "target" + event.target.name;
    var myTarget:DisplayObject = getChildByName(myTargetName);
    if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget){
        reply_txt.text = "Good Job!";
    event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickUp);
    event.target.removeEventListener(MouseEvent.MOUSE_UP, dropIt);
    event.target.buttonMode = false;
    event.target.x = myTarget.x;
    event.target.y = myTarget.y;
    } else {
    reply_txt.text = "Try Again!";
    event.target.x = startX;
    event.target.y = startY;
        if(counter == 6){
            reply_txt.text = "Congrats, you're finished!";
    six_mc.buttonMode = true;
    five_mc.buttonMode = true;
    four_mc.buttonMode = true;
    three_mc.buttonMode = true;
    two_mc.buttonMode = true;
    one_mc.buttonMode = true;

    where you have
    xxx.text = ....
    is where you're assigning text.

  • Old Drag and Drop With Toast Issue:

    I found this link to an old discussion, but it does not resolve my issue:
    http://discussions.apple.com/message.jspa?messageID=9282890#9282890
    I burnt two nice LightScribe labels, (nice because I cooked 'em twice for extra darkness, which takes time,) and then, after assuming that if I dragged and dropped my iTunes files to the desk top and then to Toast, as the above thread recommended, that since the files were accepted by toast doing things that way, that things were back to normal. I finished two beautiful CD's (I had a lot of work into the design of the labels,) by burning the music on to the disks. Well, my car cd player wouldn't play them, that is not normal, and I have two beautifully useless CD's which were the product of a lot of time and labor not to mention the cost of the disks... I've always been able to play back using the old process, (without the desktop drag and drop step,) - I'm running an iTunes version way beyond when this bug was supposed to be fixed. What do I do? How do I get back to being able to go directly from iTunes to Toast with successful playback? Thanks for your help with this!
    Message was edited by: probassist

    To anselmo Stiffan:
    Which problem did you solve: the double click with one tap or three finger drag? I too have aluminum 2008 MacBook, and I found the preferences and accessibility section but seem to fail in finding the right combo of preferences I'm used to or like. Ok, so the three finger drag is good, but click or tab... drives me bonkers!!! Everything was fine for me even after updating to Mountin Lion back in July 2012, but then all of a sudden in October 'my trackpad doesn't work the same. I don't even want to get on the computer anymore, because I'm annoyed and I cannot click on my user account to login with plugging in a mouse or using keyboard shortcut functions. It's hit or miss with my trackpad working, it freezes after awhile, then I have to plug in the darn mouse. I checked my trackpad firmware, it said up to date....I may have to actually start a new discussion??? But to continue venting... Some menu's need one tap, some require double tap... I cannot use one click unless its set to left or right for alternate menu's. Its just bad in my carpel tunnel and frustrating... I've been searching discussions for similar issues and I saw this. I saw you had an older Mac? It's funny how I switched over 4 years to Mac and mine is almost obsolete? I'm afraid to take it in only to pay more money. I guess my real question besides double clicking option would be if other folks with "the older Aluminum" 2008  MacBook models are having similar problems?

Maybe you are looking for

  • Internal server error while trying to run testfwktutorial.jsp

    dear all i am new to jdeveloper with OA extention i am tryibg to run the tutorial.jpr and i am getting this error in my browser. 500 Internal Server Error oracle.apps.fnd.cache.CacheException     at oracle.apps.fnd.cache.AppsCache.get(AppsCache.java:

  • Why doesn't Java3d applets work for everyone?

    I have a site with java3d applets: http://www.psyanimations.com Quite often, the visitors to the site can't get Java3d-applets to start even if they have installed Java3d. Eventhough they have modern PC's with new operating systems and hardware. Why

  • Landed Costs Journal Entry

    My customer created a Purchase Order, then a GRPO based on the PO.(both in USD) for different items of different item groups. They then created Landed Costs based on the GRPO in ZAR. The journal created the following transactions : Item Group A to Pr

  • How to resolve this query ?

    Guys, How do i get the below output ? I have the following data 12/6/2008     EGG      12/6/2008     CHICKEN 12/6/2008     LAMB 13/6/2008     LAMB 13/6/2008     LAMB 13/6/2008     LAMB 14/6/2008     EGG 14/6/2008     EGG 14/6/2008     CHICKEN 14/6/20

  • Error message on Iphoto when emailing says it doesn't recognize email password combination

    I just purchased an updated Iphoto and it no longer will let me email photos because it doesn't recognize my username password combination. How do I fix that