A classe Graphics contém métodos específicos para trabalhar com vetores. a Classes Graphics da suporte a classes Sprite e Shape que possuem a propriedade graphics que auxiliam na criação de imagens vetoriais.
A classe Shape é usada para criar objetos leves, o Shape é mais leve que o Sprite por não possuir eventos de clique e lista de DisplayObject como o Sprite. Nos posts anteriores eu já tinha utilizado a propriedade graphics em um Sprite e nesse post vamos trabalhar alguns métodos da classe Shape.
No desenvolvimento vou utilizar o Flash Develop mas, também pode ser feito no Flash.
Nesse post anterior mostra como utilizar o flash Develop com flex SDK
Vamos programar :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | package classes { import flash.display.Shape; import flash.display.Sprite; /** * ... * @author Fellyph Cintra */ public class Formas extends Sprite { // vou criar tres shapes public var bola :Shape; public var rect :Shape; public var rect2 :Shape; public function Formas() { //vou utilizar 3 metodos , um para cada shape // 1º - para criar um quadrado // 2º - cria um losango // 3º - cria um circulo, como sugere o nome criaQuadrado(); criaLosango(); criaBola(); } // essa função é responsável por criar um retangulo public function criaQuadrado():void { // inicializamos o shape rect = new Shape(); // beginFill serve para iniciar o preenchimento do shape // passamos como parâmetro a cor do preenchimento rect.graphics.beginFill(0x008300); // lineStyle define o estilo da linha //o primeiro parâmetro é a espessura da linha o segundo é a cor rect.graphics.lineStyle(1, 0x008300); // drawRect serve para desenhar formas retangulares // os parâmentros passados sao a posição x , y , largura e altura rect.graphics.drawRect(0,0,330,240); addChild(rect); } // essa função é específica para criar um losango // nesse caso vamos utilizar uma função diferente public function criaLosango():void { rect2 = new Shape(); rect2.graphics.beginFill(0xFCFF00); rect2.graphics.lineStyle(1, 0xFCFF00); // as linhas anteriores já foram comentadas // moveTo é utilizada para mover o ponto que eu vou iniciar minha forma // os parâmentro passados são os pontos x e y; rect2.graphics.moveTo( 165, 10); rect2.graphics.lineTo( 310, 120); // lineTo desenha uma linha do ponto atual até o ponto passado como parâmetro // e isso se repete nas linhas seguintes rect2.graphics.lineTo( 165, 230); rect2.graphics.lineTo( 20, 120); rect2.graphics.lineTo( 165, 10); rect2.graphics.endFill(); addChild(rect2); } // essa função é responsável por criar um circulo public function criaBola():void { bola = new Shape(); bola.graphics.beginFill(0x00027F); bola.graphics.lineStyle(1, 0x00027F); // em drawCircle passamos como parâmetro bola.graphics.drawCircle(165, 120, 70); bola.graphics.endFill(); addChild(bola); } } } } |
o resultado é o seguinte :

Puts, bem interessante veio!
Flw”
Pingback: PaperVision Materials - Parte 2 | Fellyph Cintra Flash Developer