Não consigo criar linha dentro de um Canvas em Flex

7 respostas
fbahia32

Olá pessoal,

estou precisando de uma ajuda em relação ao Flex.

To tentando criar uma linha usando a Classe Sprite usando os métodos MoveTo e LineTo para entao criar essa linha, só que não consigo, já procurei em

alguns sites como que cria, so que não ta funcionando, vou colocar abaixo o código que estou utilizando. Estou usando o Adobe Flex Builder 4.

<?xml version="1.0" encoding="utf-8" ?> 
- <mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx">
- <fx:Declarations>
- <!--  Place non-visual elements (e.g., services, value objects) here 
  --> 
  </fx:Declarations>



<fx:Script>
- <![CDATA[ 


           var linha:Sprite;

               public function criaConector(event:MouseEvent):void{	
				if(linha==null){
					linha = new Sprite();
								
				linha.graphics.beginFill(0x000000);
				linha.graphics.moveTo(20,20); //x,y
				linha.graphics.lineTo(40, 60);  //x,y
				linha.graphics.endFill();
				
				v1.addChild(linha);	//adiciono o objeto linha dentro do canvas v1	

                         }
		
  ]]> 
  </fx:Script>


<s:BorderContainer id="bordaPrincipal" left="0" width="100%" height="100%" borderStyle="solid" borderWeight="5">

    <mx:Canvas id="v1" width="1030" height="605" borderStyle="solid">

    </mx:Canvas>


   <mx:Button id="btConector" width="70" height="20" x="440" y="5" label="Conector" toggle="true" textAlign="center" fontSize="13"        click="criaConector(event)" /> 

</s:BorderContainer>


 </mx:Application>

Gostaria de saber por favor se alguem pode me ajudar descobrindo aonde que está errado, e como que eu teria q fazer pra criar uma linha dentro do canvas.

Muito Obrigado..

Fico no aguardo

7 Respostas

prog.tiago

Bom dia,

Por gentiliza, coloque seu código dentro da tag CODE.

Assim, podemos ajudar de forma mais rápida.

Abraço

fbahia32

Bom dia prog.tiago.

Como foi solicitado, coloquei o código dentro da Tag CODE.

Qualquer ajuda será bem vinda.

Obrigado.

Cabazzo

O método addChild do Canvas (UIComponent), só aceita objetos que extendem a classe UIComponent, nesse caso você tem quem que encapsular o Sprite dentro dele:

var ui:UIComponent = new UIComponent();

linha = new Sprite();   
linha.graphics.beginFill(0x000000);   
linha.graphics.moveTo(20,20); //x,y   
linha.graphics.lineTo(40, 60);  //x,y   
linha.graphics.endFill();

ui.addChild(linha);
v1.addChild(ui);
fbahia32

Muito Obrigado Cabazzo.

Funcionou. :smiley:

Abração.

AUser

Pergunta: voce esta querendo fazer um editor BPM? Se for, tenho o codigo de uns ja prontos e funcionais.

[]'s

fbahia32

Olá AUser.

Na verdade estou fazendo algo parecido.

To fazendo uma ferramenta de Croqui de Redes de computadores parecido com o programa SmartDraw so que meu programa terá o código fonte aberto usando Flex e pretendo utilizar a API BlazeDS para conexão com banco, ou seja, vou ter uma grid de itens(computador, switch, roteador e etc) em que o usuario irá clicar no item desejado, e o mesmo será adicionado dentro de um Canvas permitindo que o usuário possa usar o drag and drop desses itens, ou seja, poderá arrastar e soltar o item dentro do canvas que será a area destinada ao croqui ficando do lado esquerdo da tela. Nisso vou ter q utilizar conectores(linhas) para representar a ligacao dos itens. A parte de adicionar os itens no croqui já está funcionando, to tentando implementar agora a parte de conectar os itens(imagens) um ao outro. Já consegui criar a linha no croqui usando o mouse que ao clicar no canvas e arrastar o mouse ele cria a linha, só nao to conseguindo que ao conectar dois itens com essa linha e ao arrastar a imagem a linha terá que movimentar junto com as imagens.

Você tem alguma susgestão para poder me ajudar?

Se você poder me passar esses códigos prontos e funcionais que você ja tem, vai me ajudar e muito.

Desculpa se eu exagerei no tamanho do texto, o que escrevi é o básico da minha ferramenta. :smiley:

Muito Obrigado

Fico no aguardo

fbahia32

AUser:
Pergunta: voce esta querendo fazer um editor BPM? Se for, tenho o codigo de uns ja prontos e funcionais.

[]'s

Baa Tarde AUser.

Esse editor BPM no qual você falou, ele faz basicamente o que?

pq talvez o código que você utilizou para construir esse editor pode me ajudar a construir a minha ferramenta.

Obrigado.

Criado 25 de outubro de 2011
Ultima resposta 26 de out. de 2011
Respostas 7
Participantes 4