18

May 09

Classe – LineDashed

Bom Galera,

 

Como todos falam, faz tempo que não posto, pois ando um pouco ocupado..

e ao desenvolver um projeto, precisei de linhas pontilhadas, então resolvi

criar uma classe para desenhar uma Line Dashed, que coloquei o nome de 

LineDashed.. enfim, vou começar a explicar, primeiramente vou deixar um exemplo

da classe

Lembrando que é uma classe simples, sem muito recurso, por enquanto, estou postando mais pra galera que precisa de uma simples linha pontilhada!!!
 

 

bom galera, vou começar colocando o código do swf a cima

package
{
	import fl.controls.ColorPicker
	import fl.events.ColorPickerEvent
	import flash.events.MouseEvent
	import flash.events.Event
	import flash.display.Sprite
	import br.com.tavernari.graphics.LineDashed
public class LineTeste extends Sprite
{
	private var myLine:LineDashed = new LineDashed();
	private var mySprite:Sprite = new Sprite()
	private var containerLine:Sprite
	private var colorLine:* = 0x000000
	public function LineTeste():void
	{
		cor.addEventListener(ColorPickerEvent.CHANGE, changeColor)
		adicionar_btn.addEventListener(MouseEvent.CLICK, addLine)
		apaga_btn.addEventListener(MouseEvent.CLICK, deleteLine)
		/*mySprite = myLine.lineDraw(2,stage.stageHeight - 20,"height",0xFFFFFF,0.75,0.5);
		addChild(mySprite)
		mySprite.x = 10
		mySprite.y = 10
		mySprite.rotation = -45*/
	}
	private function changeColor(e:ColorPickerEvent):void{
		colorLine ="0x"+e.currentTarget.hexValue
		trace(colorLine)
	}
	private function deleteLine(e:MouseEvent):void{
		trace("deletar linhas é "+containerLine)
		if(containerLine != null){
			removeChild(containerLine)
			containerLine = null
			trace("deletou")
		}
	}
 
	private function addLine(e:Event):void {
		trace(containerLine)
		if(containerLine == null){
			containerLine = new Sprite();
			addChild(containerLine)
			containerLine.x = 50
			containerLine.y = 154
			trace(containerLine)
		}
 
		mySprite = new Sprite();
 
		var distancia:Number = Number(distancia.text)
		var tamanho:Number = Number(tamanho.text)
		var espessura:Number = Number(espessura.text)
		mySprite = myLine.lineDraw(distancia,tamanho,"width",colorLine,1,espessura)
 
		trace(">>"+distancia)
		trace(">>"+tamanho)
		trace(">>"+colorLine)
		containerLine.addChild(mySprite)
 
		mySprite.rotation = Number(rotacao.text)
 
	}
 
}
}

Este código simples é o exemplo do uso da classe.

Esta classe é básica, e usa-se apenas 1 linha para chamar a linha pontilhada. e lembrando que ela sempre retorna um Sprite, o método que monta a linha é lineDraw!

por exemplo

1
2
3
4
5
6
7
8
//Estou dizendo que instancia myLine é o meu objeto LinhaDashed
var myLine:LineDashed = new LineDashed();
//Nesta parte crio um sprite
var mySprite:Sprite = new Sprite()
//Aqui digo que meu Sprite, recebe a minha linha myLine, myLine.lineDraw retorna um Sprite
mySprite = myLine.lineDraw(1,500,"width",0x000000,1,2)
//aqui adiciono mySprite no palco
addChild(mySprite)

O que fiz neste exemplo, um básico para adicionar uma linha pontilhada no palco
e para mudar posicao dela, basta apenas mudar as propriedades do mySprite, ele agora é sua linha
e a vantagem é, vc so precisa criar um myLine e usar em varios Sprites!

1
2
3
mySpriteBranco = myLine.lineDraw(1,500,"width",0xFFFFFF,1,2)
mySpriteCinza = myLine.lineDraw(1,500,"width",0x333333,1,2)
mySpritePreto = myLine.lineDraw(1,500,"width",0x000000,1,2)

Então percebe-se que com apenas um myLine posso construir varias linhas pelo projeto…

para deletar o projeto basta apenas deletar seu sprite!

Dica que dou é, se quiser deletar muitas Sprites, coloque elas dentro de um container, um Sprite Pai, e dele o Sprite Pai!

Bom agora vou deixar uma breve documentação do método

——– Documentação pacote br.com.tavernari.graphics.LineDashed

myLine.lineDraw(pointSize:Number = 5, lineSize:Number = 400, orientation:String = “width”,color:* = 0xFFFFFF,alpha:Number = 0.5, thickness:Number = 2 )

pointSize = tamanho da distancia entre os pontos na linha
lineSize = tamanho da Linha
orientation = Duas opções “width” ou “height”, caso use width ele faz a linha horizontal, caso use height ele cria linha vertical
color = Cor da Linha em Hexadecimal
alpha = Transparencia da linha
Thickness = Espessura da linha

Bom Galera

Vou dormir e deixo aqui uma classe pra ajudar a galera a fazer linha pontilhada dinamicamente!

Ahh faltou o link para download da classe

então vai.. CLICK AQUI PARA BAIXAR A CLASSE

att

Vote em mim!

Related Posts


Comments

Name

Email

Website

Share your wisdom

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Come in and find...

Search

Recomendo!

Visit Sponsored Links