ACSobjetos

/ Tutoriais

Actionscript 3 Básico – Objetos

Tutorial actionscript 3

No tutorial anterior falamos sobre variáveis, que são elementos utilizados para armazenarmos e acessarmos valores simples (números, textos e valores verdadeiro/falso) durante a execução de um programa. Mas o que fazer quando desejamos representar entidades complexas, como pessoas? Por exemplo, na criação de sites frequentemente precisamos representar um carrinho de compras. No desenvolvimento de jogos precisaremos representar inimigos, armas, fases, etc.

Nesse tutorial ActionScript 3 falaremos sobre objetos. Variáveis isoladamente não conseguem representar conceitos complexos. Por exemplo, vimos que através de uma variável textual podemos representar o nome de uma pessoa, mas o que fazer quando desejo representar a própria pessoa?

Em uma visão simplificada, objetos são um conjunto de variáveis e funções (falaremos sobre funções mais a frente, apenas registre essa informação). No contexto de objetos convencionou-se chamar de propriedade uma variável pertencente a um objeto, e de método uma função pertencente a um objeto.

Objetos são definidos através de classes. Uma classe nada mais é que o tipo de um objeto. Assim como em variáveis temos os tipos String, int, number e Boolean no Action Script, para um objeto também teremos um tipo, tipo esse que será especificado através de uma classe, e que inclusive poderá ser definida por nós.

Nesse artigo não abordarei como criar classes, nem conceitos de orientação a objetos. Apenas tentarei explicar o que são, para que você possa utilizar as classes já existentes do flash e componentes já prontos que encontramos na Internet. Isso já lhe possibilitará desenvolver projetos bem interessantes. Em artigos futuros, abordaremos mais detalhadamente classes e orientação a objetos.

Voltando ao exemplo da pessoa, poderíamos então ter uma classe Pessoa. Essa classe poderia ter as propriedades nome, nascimento, sexo, altura, peso e os métodos calcularIdade() e calcularIMC().

A classe Pessoa permitiria a nós criarmos objetos do tipo Pessoa. Pessoa é uma conceito abstrato, e é isso que uma classe representa. Um objeto dessa classe representará uma pessoa específica, que é algo concreto.

Para criarmos objetos a partir de uma classe usamos a sintaxe a seguir:

ou simplesmente

Utilizamos o operador “.” para acessar as propriedades e métodos de uma classe. Novamente destaco: não se preocupe com métodos agora, falaremos deles mais a frente. Então, se desejássemos criar variáveis que representem pessoas em ActionScript 3 podemos utilizar:

Relembrando que é necessário, para que esse código funcione, a definição da classe Pessoa, que não mostrarei aqui como é feita. O objetivo aqui é abordar a utilização de classes já prontas. Caso você deseje executar o código, o exemplo exibido aqui (completo) está disponível para download no fim do artigo.

Ao criarmos um objeto a partir de uma classe dizemos que estamos instanciando um objeto e que o objeto é uma instancia de uma classe. No exemplo anterior o objeto jamesKirk representa uma pessoa que se chama James Tiberius Kirk, possui 38 anos e 1.78 de altura. jamesKirk é uma instância da classe Pessoa.

É interessante percebermos que tudo que criamos em um projeto Flash através das ferramentas de desenho ou tween do Flash, também será representado internamente como uma instancia de uma determinada classe.

Assim, quando adicionamos um MovieClip, uma forma desenhada, uma imagem ou um som ao stage no Flash, na verdade estamos instanciando objetos dos tipos MovieClip, Shape, Bitmap ou Sound respectivamente. Só que estamos fazendo isso através da interface do Flash ao invés de fazer através de código ActionScript 3.

Essa informação nos abre portas para entendermos que tudo que podemos fazer através da interface do flash (desenho, criação de movie clips, tweens, etc) poderá também ser feito através de ActionScript 3, bastando para isso conhecermos as classes correspondentes.

MovieClip é sem dúvida a classe mais importante do ActionScript 3. Quando arrastamos um MovieClip para o nosso stage, estamos na verdade criando (instanciando) um objeto do tipo MovieClip. Esse objeto, conforme já foi falado, possuirá propriedades (variáveis) e métodos (funções).

Em artigos futuros veremos como manipular MovieClips através de ActionScript 3, acessando suas propriedades e métodos. Em caso de dúvidas, sinta-se a vontade em perguntar!

Baixar código-fonte do exemplo.



Arivan Bastos

Analista de sistemas, desenvolvedor Web e de games. Possui domínio de PHP, SQL e ActionScript 3. Possui conhecimentos avançados em Starling Framework, Corona SDK e Yii Framework. Atua na Virtualize na criação de sites, desenvolvimento de jogos, desenvolvimento de aplicativos mobile e desenvolvimento de aplicativos para redes sociais.