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