Muito obrigado, mas não seria esse o meu maior problema, o problema é que aquele código não funciona direito no AIR, ele simplesmente coloca a imagem na posição errada na tela.

Mário Santos escreveu:
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