Variáveis
são uma parte básica de quase todo "script" de programação. Elas são,
de fato, o que torna dinâmicos os softwares que utilizamos hoje em dia.
Têm a mesma função quando se cria interatividade com o "ActionScripting".
Uma variável é basicamente um contêiner que guarda um valor. Embora você
nem sempre se dê conta, sua vida é composta de variáveis.
Por
exemplo:
X
=25
Nome = Rodrigo
Idade = 20
Dinheiro = 0 |
.....
hehehe
"X", "nome", "idade" e "dinheiro" são nomes de variáveis e as informações
que se seguem ao sinal igual são os valores de cada uma delas. Em "ActionScripting",
os mesmos princípios se aplicam. A ação "Set Variable" pode criar variáveis
diversas, como indicado abaixo.

Ao criar variáveis no Flash, tenha em mente o seguinte:
Todos
os nomes de variáveis devem iniciar com uma letra. Os caracteres seguintes
podem ser letras, dígitos ou "underlines". Não há diferença entre maiúsculas
e minúsculas. "Myvariable" é o mesmo que "myvariable". Os nomes não podem
conter espaços. Os nomes das variáveis só aparecem entre aspas quando
se utiliza a ação "Set Variable" para atribuí-los (o Flash as insere automaticamente.
Nomes de variáveis utilizados em expressões são escritos sem aspas;
Cada
filme ou clip de filme tem um conjunto único de variáveis. Enquanto
uma determinada linha do tempo estiver ativa, suas variáveis continuam
a existir e seus valores podem ser configurados ou recuperados.
A
variável de uma caixa de texto editável é definida de maneira diferente
de todas as outras variáveis. Embora você utilize a ação "Set Variable"
para atribuir a maioria dos nomes de variáveis, os campos de texto recebem
nomes como uma de suas propriedades. O valor de um "campo de texto" (o
texto que ele exibe) é determinado pelo texto que o usuário insere enquanto
o filme está reproduzindo ou pode ser gerado dinamicamente por meio da
ação "Set Variable". Para mais informações, veja "Trabalhando com campos
de texto", mais adiante.
O
valor de uma variável pode ser alterado, e seu nome permanecerá sempre
o mesmo. Por exemplo, o valor de "X" pode ser 25 num ponto de seu
filme e 720 mais adiante.
Um
nome de variável deve fazer sentido. Se uma variável armazena um valor
correspondente ao número de vezes que um usuário clicou um botão do mouse,
você deve nomear essa variável "MouseClicks" ou algo semelhante.
Valores.
No Flash, os valores de variáveis podem assumir as seguintes formas:
Números.
Um valor numérico refere-se a qualquer coisa entre 0 e 999.999. Uma variável
"Idade" com valor 20, em "ActionScript" seria:
Set
Variable: "Idade" = 20 |
Strings
(literal). O termo "string" é comumente utilizado em linguagens de
programação para indicar valores de texto. Valores "string" típicos podem
incluir qualquer coisa de "a" a "Oi, como vai vc?" Um valor "string" pode
conter quase qualquer número de letras e pode incluir texto, espaços,
pontuação e até números. O valor de "345" ainda pode ser considerado um
valor "string", apesar de envolver somente números. Os valores "string"
que contêm números diferenciam-se de valores numéricos reais pelo uso
de aspas, ou seja, o "ActionScripting" utiliza aspas para indicar "strings".
Portanto, embora 1966 seja considerado um valor numérico, "1966" é considerado
um valor "string". São exemplos de variáveis que contêm valores "string":
Set
Variable: "Rodrigo Amaral" = "Bonitão"
Set Variable: "Idade Favorita" = "20 para sempre" |
Booleano.
Esse tipo de valor indica se uma condição existe ou não. Os dois valores
"booleanos" possíveis são "True" e "False". No Flash, "False" tem o equivalente
numérico de 0 e "True" pode ser qualquer número diferente de zero. São
exemplos de valor "booleano" em variáveis do Flash:
Set
Variable: "Macromedia" = True
Set Variable: "Macromedia" = 1 |
Vazio.
Embora não seja realmente um valor, define a ausência de um valor "string".
Por exemplo, se você não consegue se lembrar do nome de alguém, isso expresso
como variável do ActionScript seria:
Set
Variable: "Memoria" = "" |
O
vazio pode ser utilizado num botão que "limpa" um formulário.
Atribuindo
Valores. Um valor é atribuído a uma variável de duas maneiras: como
"string" ou como uma "expressão". Veja a seguir atribuição "string":
Set
Variable: "Preco" = 25
ou:
Set Variable: "Nome" = " Rodrigo Amaral" |
Note
que os valores atribuídos às variáveis não são dinâmicos. Se você quiser
utilizar a variável "Preco" em outra parte do seu "ActionScript", terá
sempre o valor 25. Da mesma forma, o valor da variável "Nome" sempre será
Rodrigo Amaral. Não é muito animador, não é ? Para criar valores atribuídos
mais dinamicamente, você poderia utilizar outra expressão, como:
Set
Variable: "Produto" = 20
Set Variable: "Taxa" = 5
Set Variable "Custo" = Produto + Taxa |
No
"script" acima, o valor da variável de "Custo" é "Produto" + "Taxa". Dividindo
"Custo" em suas partes mais básicas, poderíamos ler: "Custo = 20 + 5",
num total de 25. Entretanto, se o valor "Produto" se alterasse para 22
e o valor "Taxa" se tornasse 6, o valor de "Custo" automaticamente se
tornaria 28, uma vez que está baseado no valor "Produto + Taxa".
Exemplo de criação de variável com atribuição de valor:
1-
Dê um duplo clique em um keyframe na linha do tempo.
2
- Clique na guia "Actions".
3
- Clique no botão de adição (+) e escolha "Set Variable" no menu que aparece.
Os parâmetros "Set Variable" aparecem no lado direito da caixa de diálogo
"Action".


4
- Na caixa "Variable" insira o nome da variável. Não inclua aspas, o Flash
faz isso automaticamente. Na Caixa "Value", você precisa escolher:
para
valores de texto, digite sem aspas na caixa. O botão à direita mostra
"abc", o que significa que esse botão trata qualquer coisa que você insira
como um valor "string";
para
valores numéricos, clique no botão "abc" e escolha "=". Se você olhar
no painel "Action" enquanto estiver executando essa tarefa, verá que as
aspas serão removidas da parte do valor da atribuição.
5.
Clique em OK.
Configurando
e obtendo valores de variáveis para linhas do tempo diferentes. Pode-se
utilizar a ação "Set Variable" para criar ou atualizar uma variável para
qualquer filme na janela do Flash Player. Basta prefixar o nome da variável
com o caminho da linha do tempo ao inserir o nome da variável, como descrito
no passo 4 do exercício acima. Por exemplo:
Um
código para endereçar uma variável em um filme pai a partir de um de seus
"filhos" poderia ser algo assim:
Aplica-se
exatamente o mesmo princípio quando se utilizam valores de variáveis de
diversas linhas do tempo em expressões. Se quiser criar uma expressão
em uma linha do tempo e utilizar o valor de uma de suas variáveis em outra
linha do tempo, simplesmente utilize a mesma sintaxe do exemplo anterior.
Por exemplo:
If
(/MeuFilme:Rodrigo +50 = 300)
Go to and Play (20)
End If |
A
passagem de valores de variáveis entre filmes é uma parte integrante da
ação Call. Às vezes permite que um conjunto de ações em uma linha do tempo
avalie e manipule valores de variáveis de outra linha do tempo e envie
os valores avaliados e manipulados de volta para o filme que os originou.
Quando se utiliza essa ação, a transferência de valores de variáveis entre
linhas do tempo não é automática. É necessário enviar dados das variáveis
de um lado para outro utilizando a ação "Set Variable" e a sintaxe adequada.
Atualizando
valores de variáveis. Vamos supor que queremos monitorar quantas vezes
um botão foi clicado ou em que determinado momento uma mensagem diferente
aparece. Para isso, precisamos atualizar o valor da variável a cada vez
que o botão é clicado. Observe o "script" a seguir:
On
(Release)
Set Variable: "Contador" = Contador + 1
End On |
O
"Script" mostrado atualiza o valor de "Contador" somando uma unidade a
cada vez que o evento de mouse ocorre. Isso ocorre porque o valor de "Contador"
é uma expressão e a lógica por trás da expressão é algo como: Quando o
mouse for clicado, o valor de "Contador" será igual a seu valor atual
mais 1.
Trabalhando
com campos de texto. Campos de texto são blocos dinâmicos de texto
identificados por um nome de variável. O programa reconhece o que um usuário
digitou num "campo de texto". Exemplo:
On
(Release)
If (Comida eq "Hamburger")
Go to And Play ("Dieta")
Else if (Comida eq "Salada")
Go to And Play ("Comida Saudavel")
End if
End On |
Ou
seja, se o texto digitado no campo "Comida" for "Hamburger", a linha do
tempo irá para o quadro "Dieta". E se o texto digitado no campo "Comida"
for "Salada", a linha do tempo irá para o quadro "Comida Saudavel".
|