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
-~----------~----~----~----~------~----~------~--~---