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 :

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 :

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Esta entrada foi publicada em Flash, Games, Portfólio, Tutoriais e marcada com a tag , , , . Adicione o link permanente aos seus favoritos.

2 respostas a Trabalhando com Shape em ActionScript 3.0

  1. Marcos_Paiva disse:

    Puts, bem interessante veio!

    Flw”

  2. Pingback: PaperVision Materials - Parte 2 | Fellyph Cintra Flash Developer

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">