Flash AS2 01: O que é ActionScript

1. O que é actionscript

Para quem ainda não sabe, o Flash tem uma linguagem de programação chamada actionscript. Na medida em que você deseja enriquecer a forma como interage com o usuário, vai precisar programar um pouco através desta linguagem.

Mas quando sei que preciso usar programação?

Vários problemas do Flash se resolvem simplesmente com animação, isto é, com objetos sobre a linha do tempo. Mas outros não! Por exemplo: imagine que você quer disponibilizar uma pequena calculadora para seu usuário. Uma que multiplique dois valores. Como resolver isso com a linha do tempo? Pois é…. não dá.

Sempre que você precisa de interação (na verdade, quase sempre, pois você consegue interagir com o usuário usando somente os estados de um botão) você vai ter que usar um pouco de programação.

2. Objetos e propriedades

O actionscript é uma linguagem que lida com objetos. Objetos são, por exemplo, instâncias de movie clips na sua tela. São instâncias de botões, caixas de texto… E não só isso. Mas por enquanto está bom.

Estes objetos têm propriedades. Uma instância de um movie clip tem uma posição na tela. Tem uma certa opacidade, uma largura, etc. Todas estas “qualidades” do objeto serão chamadas, daqui pra frente, de propriedades.

3. Instâncias

Vamos primeiro fazer uma distinção muito importante. A distinção entre o objeto da biblioteca (library) e o objeto inserido na cena.

Um objeto na biblioteca é apenas o registro da definição de um objeto, ou seja, o registro de como é o objeto criado. Ao modificar a definição de um objeto, você estará modificando todas as suas inserções.

Já um objeto inserido na cena é uma instância de um objeto. Se você decide modificar uma instância de um objeto, as outras instâncias não sofrem mudança.

Se você pretende agir sobre um determinado objeto em cena, você estará agindo sobre uma instância de um objeto. Para ser manipulada pelo programa, esta instância deve, necessariamente, ter um nome único.

Opa! Mas repare também que instâncias de símbolos gráficos não podem receber nome… logo, não podem ser manipuladas através de actionscript.

4. A primeira tentativa

A idéia é produzir uma maneira mais rica de interação com o usuário. Para isso, vamos começar deixando o usuário alterar uma propriedade de um objeto do tipo movie clip. É possível, por exemplo, alterar as propriedades de um certo objeto a partir da interação com outro objeto. Vejamos um exemplo.

Imagine que eu quero possibilitar ao usuário alterar a opacidade (o valor alpha) de um certo movie clip. Você deve se lembrar que o valor de alpha varia de zero (um objeto transparente) a 100 (um objeto opaco). Eu quero que o usuário possa digitar o valor de alpha do movie clip numa caixa de texto do tipo input box. Clicando num botão, um comando actionscript deve atribuir o valor digitado no box à propriedade alpha da instância do movie clip.

A propriedade que mostra qual o texto dentro de uma caixa de texto é text. Se a minha instância do input box se chama valor1, a expressão que guarda o texto dentro dele é valor1.text.

Bem, veja o Flash abaixo. Digite na caixa de texto um valor entre 0 e 100 e depois clique no botão preto.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

O único código presente neste exemplo é o colocado na instância do botão preto:

Vamos ver o que este código significa.

Em primeiro lugar, a parte onRelease declara qual é o evento que dispara o comando. O evento onRelease é disparado quando o usuário solta o botão do mouse depois de clicar num botão do Flash. Neste caso, o botão do Flash tem o nome de instância botao.

Neste exemplo, ao clicar no botão, o comando pega a propriedade text da caixa de texto “valor1” e joga para a propriedade _alpha do movie clip “cara”. Se você digitar 30, a carinha fica 30% opaca, se digitar 70, fica 70% opaca…

Depois de ter feito o exemplo funcionar, tente outras propriedades ligadas à movieclips.

 unidadeActionScript
altera
_alpha % opacidade
_x px posição na horizontal
_y px posição na vertical
_height px altura
_width px largura
_xscale % escala (no sentido horizontal ou vertical) em relação ao objeto na library
_yscale %
_rotation graus rotação

Conclusão

Você pode captar um valor de uma propriedade de um objeto e atribuir a outra propriedade de outro objeto. É assim que se pode criar várias formas de interação com o usuário: manipulando propriedades de objetos.

5. Video

Social media & sharing icons powered by UltimatelySocial