uau... você está se grafos... está tudo bem?? você sabia que existe uma
biblioteca com isso pronto??
procura por as3ds
enfim...
tu tá me dizendo que tua função está assim e não está dando certo...
private function adicionarImage():void{
var novo:Image = new Image;
var efeito:Effect = new Blur;
novo.x = 50;
novo.y = 50;
novo.id = "telefone";
novo.source = "../img/arma/revolver.png";
efeito.target = novo;
v1.addChild(novo); //Porque usas o this eu ainda nao consigo
entender, se tu mesmo disse que queria adicionar a imagem no Canvas...
efeito.play();
novo.addEventListener(MouseEvent.MOUSE_MOVE,mouseOverHandler)
//tu fez isso aqui???
}
Se não der dessa vez eu compilo o código da primeira mensagem, mas nao parece
ter problemas
Gabriela Trindade Perry - http://www.gabriela.trindade.nom.br
Date: Mon, 3 Nov 2008 14:08:59 -0300
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [flexdev] Re: DragDrop dinãmico
o this.addChild(novo) seria para uma nova instância do "nó"... é que to fazendo
um Sistema de Conexões aí vai funcionar tipo um grafo com "vértices" e "nós".
Tanto os nós quanto os vértices terão atributos. Aí estou fazendo dos nós as
imagens! Entendeu?
Sendo uma nova instância daquele tipo de "nó" eu acho que teria um
this.addChild(novo), já tentei colocar o mouseOverHandler mas não funcionou!
Fiz da seguinte forma: Adicionei um <mx:Button> que ao clicar disparava o
evento de adicionar e disparar o evento mouseOverHandler, mas não funcionou!
2008/11/3 gabriela perry <[EMAIL PROTECTED]>
Eu não sei o que é "um nó na minha aplicação", mas acredito que isso nao seja
importante para eu te ajudar a resiolver teu problema...
Enfim, se queres adicionar a imagem no Canvas, porque tu está fazendo
this.addChild(novo);???
E outra coisa, enquanto o teu Image não "escutar" o MOUSE_MOVE e disparar
mouseOverHandler, não vai funcionar mesmo....
No mais, parece estar tudo certo...
Gabriela Trindade Perry - http://www.gabriela.trindade.nom.br
Date: Mon, 3 Nov 2008 13:47:58 -0300
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [flexdev] Re: DragDrop dinãmico
Eu estou querendo adicionar uma imagem (que será um nó na minha aplicação)
direto no canvas, e logo depois eu já poder movimentá-la... acho que esse
metódo não irá me servir não..
Entendeu agora??
2008/11/3 gabriela perry <[EMAIL PROTECTED]>
Olha, não entendi direito...
Tu quer adicionar a imagem no canvas??
Porque tu tá adicionando no (eu acho) Application.
Coloca v1.addChild(novo);
Agora, tu quer movimentar uma imagem que está fora do canvas para dentro dele?
E quando ela ficar dentro dele tu pode arrastar dentro da área do Canvas??
Testa pra ver se ele está dentro do Canvas e, se não estiver, coloca ela ali
dentro...
private function dragDropHandler(event:DragEvent):void {
var
container:DisplayObjectContainer=DisplayObjectContainer(event.currentTarget);
var img:DisplayObject=DisplayObject(event.dragInitiator);
//Testa se o Image está dentro do Canvas ou não
if(img.parent!=container){
container.addChild(img);
}
img.x =container.mouseX;
img.y = container.mouseY;
}
Gabriela Trindade Perry - http://www.gabriela.trindade.nom.br
Date: Mon, 3 Nov 2008 11:41:21 -0300
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [flexdev] DragDrop dinãmico
Ae pessoal!! To com a seguinte dúvida... to querendo adicionar imagens em um
Canvas para poder movimentá-la. Agora é o seguinte!
Eu consigo adicionar a imagem.. só que não dentro do canvas.
meu código de adicionar uma nova imagem é esse:
private function adicionarImage():void{
var novo:Image = new Image;
var efeito:Effect = new Blur;
novo.x = 50;
novo.y = 50;
novo.id = "telefone";
novo.source = "../img/arma/revolver.png";
efeito.target = novo;
this.addChild(novo);
efeito.play();
}
CÓDIGO DE MOVIMENTAR É DAQUI PRA BAIXO:
private function mouseOverHandler(event:MouseEvent):void {
var dragInitiator:Image=Image(event.currentTarget);
var ds:DragSource = new DragSource();
ds.addData(dragInitiator, "img");
// The drag manager uses the Image control
// as the drag proxy and sets the alpha to 1.0 (opaque),
// so it appears to be dragged across the Canvas.
var imageProxy:Image = new Image();
imageProxy.source = globeImage;
imageProxy.height=15;
imageProxy.width=15;
DragManager.doDrag(dragInitiator, ds, event,
imageProxy, -15, -15, 1.00);
}
private function dragEnterHandler(event:DragEvent):void {
if (event.dragSource.hasFormat("img")){
DragManager.acceptDragDrop(Canvas(event.currentTarget));
}
}
private function dragDropHandler(event:DragEvent):void {
Entidade(event.dragInitiator).x =
Canvas(event.currentTarget).mouseX;
Entidade(event.dragInitiator).y =
Canvas(event.currentTarget).mouseY;
}
Aí to sem saber como adicionar no meu canvas:
<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="@Embed(source='../img/arma/revolver.png')"
mouseMove="mouseOverHandler(event);" />
</mx:Canvas>
Já tentei um monte de coisa e nada funcionou...
Agradeço a ajuda de vocês ae!!
Get news, entertainment and everything you care about at Live.com. Check it out!
Explore the seven wonders of the world Learn more!
_________________________________________________________________
Connect to the next generation of MSN Messenger
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---