Trabalhando com Shape em ActionScript 3.0

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 :

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 :

[flash https://www.fellyph.com.br/blog/wp-content/uploads/2008/10/formas.swf w=450 h=400]

2 respostas para “Trabalhando com Shape em ActionScript 3.0”

Deixe uma resposta

This site uses Akismet to reduce spam. Learn how your comment data is processed.