Oi, Anderson...
Olha só: se me lembro bem, falaste que isso é pro teu TCC... Se é, acho que
deves arrumar tempo pra estudar... Sei lá, o teu nome tá ali, entende...
De qualquer forma, porque eu te mandei olhar aquela lib que, talvez seja
complicada demais por enquanto, achei que nao ia custar muito apontar para
outra solucao.
Veja que eu quis dizer apontar: nao e a solucao pronta.
Nao tem bugs, mas tem coisas que tem que melhorar.
Eu, como o Mario e a maioria aqui nao pode ajudar com coisas tao especificas,
que exigem um conhecimento grande do problema, dos casos e do codigo... Isso e
pra te dizer que, eu, pelo menos, dificilmente vou poder te dar uma mao com
codigo.
Ja se as duvidas forem mais simples, diretas e objetivas, tudo bem... Dai vais
ver que um monte de gente vai ajudar...
Segue:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="initApp()">
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
private var c1:UIComponent;
private var c2:UIComponent;
private var line:UIComponent=new UIComponent;
private var dict:Dictionary=new Dictionary();
private function drawCircle(cor:Number):UIComponent{
var ui:UIComponent=new UIComponent;
ui.graphics.beginFill(cor);
ui.graphics.drawCircle(0,30,30);
ui.graphics.endFill();
return ui;
}
private function initApp():void{
addChild(line);
c1=UIComponent(addChild(drawCircle(0x007733)));
c1.x=30;
c1.y=30;
c1.addEventListener(MouseEvent.MOUSE_MOVE, dragMe);
c2=UIComponent(addChild(drawCircle(0xAAFF99)));
c2.x=200;
c2.y=200;
c2.addEventListener(MouseEvent.MOUSE_MOVE, dragMe);
dict[c1]=c2;
dict[c2]=c1;
}
private function drawLine(xTo:Number, xFrom:Number,
owner:UIComponent):void{
owner.graphics.clear();
owner.graphics.lineStyle(2,0);
owner.graphics.moveTo(xFrom, 50)
owner.graphics.lineTo(xTo, 50);
}
private function dragMe(evt:MouseEvent):void{
var target:UIComponent=UIComponent(evt.currentTarget);
target.startDrag();
var xFrom:Number=target.x;
var xTo:Number=UIComponent(dict[target]).x;
drawLine(xTo, xFrom, line);
}
]]>
</mx:Script>
</mx:Application>
Gabriela Trindade Perry - http://www.gabriela.trindade.nom.br
Date: Tue, 11 Nov 2008 15:27:55 -0300
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [flexdev] Conexões de imagens
CC: [EMAIL PROTECTED]
Ae pessoal!! To com um probleminha aqui.. ó só... to com diversas imagens para
poder ligar em um canvas.. essas imagens são os "nós". E eu terei que fazer
conexões dessas imagens.. Eu escolho quais imagens eu quero ligar (img1, img2)
... isso dinamicamente... depois escolho outras duas e faço a mesma coisa... aí
tava aqui conversando com o Mário mas ele tá meio ocupado agora não tá podendo
me responder... então vou enviar minha dúvida pra vocês já que tenho certa
urgência em resolver isso... havia pesquisado sobre como fazer isso.. e me
falaram sobre a API as3ds.. só que não estou com um "tempo certo" pra poder me
dedicar a isso, pretendo fazer depois que acabar minha agonia, digamos que para
um upgrade do meu projeto.. dentre as pesquisas encontrei a classe Graphics eu
conseguia fazer isso.. então falei com Mário ele deu uns toques .. só que
empacamos na seguinte questão: digamos que a img1 esteja em cima no ponto (10,
10) e a img2 (100, 100) quando mexo a img2 a conexão acompanha... mas quando
mexo na img1 a linha vai junto e não diminui ou aumenta dinamicamente. Outra
coisa que reparei é que se eu tento trocar de lugar a img1 com a img2 dá merda,
pois, a linha nao sobe!!
Meu código tá assim...
private function dragDropHandler(event:DragEvent):void {
Image(event.dragInitiator).x =
Canvas(event.currentTarget).mouseX;
Image(event.dragInitiator).y =
Canvas(event.currentTarget).mouseY;
desenhaLinha(myimg1, myimg2);
}
private function dragEnterHandler(event:DragEvent):void {
if (event.dragSource.hasFormat("img"))
{
clearAllGraphics(Image(event.dragInitiator));
DragManager.acceptDragDrop(Canvas(event.currentTarget));
}
}
private function clearAllGraphics(obj : Image):void{
obj.graphics.clear();
}
private function desenhaLinha(source: Image, target: Image):void{
clearAllGraphics(source);
source.graphics.lineStyle(1);
source.graphics.lineTo(target.x, target.y);
}
<mx:Button x="80" y="20" label="Adicionar link" click="desenhaLinha(myimg1,
myimg2)"/>
Ah! depois que eu conseguir fazer funcionar sem bug nenhum.. vou ter que fazer
a comunicação disso. Quando eu adicionar um link mostra no outro browser... mas
acho que isso seja mais fácil!!
Abraço e agradeço desde já a todos que puderem me ajudar!
_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---