Você não têm qualquer instrução dada para ele criar uma cópia da
imagem, tente assim:

private function dragDropHandler(event:DragEvent):void {
              var img:Image=new Image;
              img.source=Image(evt.dragInitiator).source;
              img.x=event.currentTarget.mouseX;
              img.y=event.currentTarget.mouseY;
              Canvas(event.currentTarget).addChild(img);
           }


Desta forma ele cria uma cópia da sua imagem no destino do Drop.

Seria isso?!?



On 28 nov, 20:10, Fernando <[EMAIL PROTECTED]> wrote:
> Pessoal eu tenho um código que funciona perfeitamente no Flex, mas no
>
> AIR não funciona, simplismente ele coloca a imagem no lugar errado.
> O que eu quero? Tem uma imagem dentro da aplicação AIR, o que eu quero é
> que quando o usuário clique e arraste ela para um determinado lugar ela
> seja copiada e colada naquele lugar, encontrei vários exemplos na net de
> como fazer drag in drop do sistema para o AIR (isso eu não quero).
> Abaixo segue o código que funciona no Flex mas não no AIR. Detalhe que
> nesse código ele só move não copia.
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml";
> layout="absolute" width="859">
> <mx:Script>
>        <![CDATA[
>            //Import classes so you don't have to use full names.
>            import mx.managers.DragManager;
>            import mx.core.DragSource;
>            import mx.events.DragEvent;
>            import flash.events.MouseEvent;          
>
>            // Embed icon image.
>           // [Embed(source='assets/globe.jpg')]
>            public var globeImage:Class;
>
>            // The mouseMove event handler for the Image control
>            // initiates the drag-and-drop operation.
>            private function mouseMoveHandler(event:MouseEvent):void
>            {              
>                var dragInitiator:Image=Image(event.currentTarget);
>                var ds:DragSource = new DragSource();
>                ds.addData(dragInitiator, "img");              
>
>                DragManager.doDrag(dragInitiator, ds, event);
>            }
>
>            // The dragEnter event handler for the Canvas container
>            // enables dropping.
>            private function dragEnterHandler(event:DragEvent):void {
>                if (event.dragSource.hasFormat("img"))
>                {
>                    DragManager.acceptDragDrop(Canvas(event.currentTarget));
>                }
>            }
>
>            // The dragDrop event handler for the Canvas container
>            // sets the Image control's position by
>            // "dropping" it in its new location.
>            private function dragDropHandler(event:DragEvent):void {
>                Image(event.dragInitiator).x =
>                    Canvas(event.currentTarget).mouseX;
>                Image(event.dragInitiator).y =
>                    Canvas(event.currentTarget).mouseY;
>            }
>        ]]>
>    </mx:Script>
>
>    <!-- The Canvas is the drag target -->
>    <mx:Canvas id="v1"
>        width="500" height="500"
>        borderStyle="solid"
>        backgroundColor="#DDDDDD"
>        dragEnter="dragEnterHandler(event);"
>        dragDrop="dragDropHandler(event);">
>
>        <!-- The image is the drag initiator. -->
>        <mx:Image id="myimg"
>            source="file:///C|/Documents and
> Settings/Derkoski/Desktop/teste2.png"
>            mouseMove="mouseMoveHandler(event);" />
>    </mx:Canvas>
> </mx:WindowedApplication>
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a