Olá pessoal, hoje gostaria de compartilhar com vocês uma pequena classe que escrevi em AS 3.0 para desenhar gráficos dinâmicamente. Um amigo meu acabou de me pedir ajuda sobre um trabalho que ele está fazendo, no qual consiste de alguns itens desenhados dinâmicamente. O problema é que este meu amigo não fez nenhum planejamento antes de começar a codificar e logo ele se viu no meio de um emaranhado de funções actionscript em timeline.

Então para reduzir um pouco o código pedi a ele que usasse uma classe que tinha aqui na mão para criar formas geométricas, e ele então pode eliminar boa parte das linhas de código. Vejam como funciona a classe.

Faça o import da classe

import utils.DrawGraphics;

Depois é só usar a função que desenha o objeto que você precisa

Para desenhar círculos:

//
// DrawCircle(raio:uint, corFundo:uint, corBorda:uint, larguraBorda:uint):Shape
//
var _circulo:Shape = DrawGraphics.DrawCircle(20, 0xFF0000, 0x000000, 2);

Para desenhar quadrados:

//
// DrawRectangle(largura:uint, altura:uint, corFundo:uint, corBorda:uint = 0, larguraBorda:uint = 0):Shape
//
var _quadrado:Shape = DrawGraphics.DrawRectangle(5000, 625, 0xFF0000);

Para desenhar quadrados com cantos arredondados:

//
// DrawRoundedRectangle(largura:uint, altura:uint, curva:uint, corFundo:uint, corBorda:uint, larguraBorda:uint):Shape
//
var _quadradoArredondado:Shape = DrawGraphics.DrawRoundedRectangle(30, 30, 40, 0xFFFF00, 0xCCCCCC, 2);

Para desenhar quadrados com cantos arredondados:

//
// DrawTriangle(largura:uint, altura:uint, corFundo:uint, rotacao:Number, corBorda:uint = 0, larguraBorda:uint = 0):MovieClip
//
var _triangulo:MovieClip = DrawGraphics.DrawTriangle(40, 50, 0xFFFF00, 45, 0xCCCCCC, 2);

É um classe simples, mas ajuda bastante. Quem quizer fazer o download, o arquivo vai anexo aqui no post.

Abraço a todos!