Programando em ActionScript 3.0 – Variáveis

Programando em ActionScript 3.0 – Variáveis

Salve comunidade!

Depois de um bom tempo sem escrever, devido ao trabalho constante na gestão do MXSTUDIO e principalmente nas dezenas de treinamentos de Flash ministrados, eu volto a escrever sobre essa ferramenta incrível que é o Flash.

Nesse meu retorno eu escolhi um assunto bem atual, mas que ainda não possui muita referência na Internet brasileira, o ActionScript 3.0.

Para aqueles que não sabem ActionScript 3.0 é a nova versão de programação do Flash que foi criada no Flex e depois utilizada no Flash CS3.

Eu vou criar uma série de artigos para comentar das novidades e formas de trabalho com o AS 3 e nesse primeiro artigo eu vou falar sobre variáveis.

Variáveis são espaços na memória do computador reservados para alocar dados.

No ActionScript 3, nós temos novos tipos de dados e eu vou listar alguns deles:

uint e int

Na programação em AS 2.0 todo o dado numérico era trabalhado como Number dentro do Flash. Fosse o número inteiro, negativo, ponto flutuante ou o que quer que fosse era pertencente ao datatype Number.

Como um dos pilares do AS 3 é a performance otimizada, a Adobe criou novos tipos de dados numéricos, o uint e o int.

int é um tipo numérico de dados, mas que suporta apenas valores inteiros sendo eles positivos ou negativos.
Exemplo: -1, 10, -2008

uint é um tipo numérico de dados que suporta apenas valores inteiros positivos.
Exemplo: 1, 10, 2008

Esses tipos de dados são particularmente úteis em situações onde não teríamos valores quebrados e o uso desses novos tipos de dados otimizam a performance da aplicação.

Em linhas gerais o ActionScript possui, 2 datatypes mais utilizados, o de texto e o de números.

Os tipos de números são exatamente o uint, int e Number (esse último para situações onde precisamos de suporte a números quebrados).

O datatype para textos é o mesmo do AS 2, String. Onde os valores das variáveis string devem estar contidos entre aspas que são os delimitadores de caracteres.

Ainda no quesito performance, o ActionScript 3.0 está ainda mais exigente no que diz respeito a tipagem de dados, ou seja, é sempre recomendado que nós digamos qual o tipo de dado do variável utilizada.

A declaração de variáveis segue a seguinte estrutura:

var nome:Tipo = valor

A palavra chave var define que estamos criando uma variável no escopo atual, o nome da variável define o identificador pelo qual poderemos resgatar o conteúdo armazenado (esse nome não pode começar com número nem com caracteres especiais).
O dois pontos (:) é o operador para definição do datatype da variável, depois dele dizemos qual o datatype da variável.

Atenção: Por trabalharem em função de classes, os datatypes tem suas iniciais em maiúsculas, porém os tipos int e uint são escritos sem iniciar com maiúsculas.

E o operador de atribuição (=) nos possibilita definir o que a variável vai armazenar.

Vamos a um exemplo:

Em um novo documento do Flash CS3 versão de programação ActionScript 3.0 eu vou criar a seguinte interface:

Onde eu tenho 3 campos de texto dinâmicos com as suas respectivas instâncias:

nome_txt
idade_txt
altura_txt

Em uma nova camada chamada ações eu vou inserir o seguinte código:

// Declaração das variáveis
var nome:String=”Danilo Santana”;
var idade:uint=23;
var altura:Number=1.75;

Como o nome é uma variável que vai conter texto, o seu datatype é String.
Já idade irá conter sempre números inteiros e positivos, logo, seu tipo será uint.
E no caso de altura que é numérico mas pode conter valores fracionados, eu utilizo Number.

No ActionScript 2.0 para atribuir isso nos campos de texto bastava utilizar o seguinte código:

nome_txt.text=nome;
idade_txt.text=idade;
altura_txt.text=altura;

Mas no ActionScript 3.0 isso gera um erro, pois estamos querendo atribuir na propriedade de texto valores numéricos no caso de idade e altura.

Para evitar esse problema temos que fazer uma operação chamada casting, que nada mais é do que moldar o dado para um outro tipo dependendo da necessidade.

A operação de cast é obtida usando o datatype desejado e entre parênteses o valor a ser convertido para esse datatype.

Exemplo: String(12) >> Retorna o número 12 convertido em String. >> “12”

Então o código para atribuir os valores aos campos, mas com as operações de casting necessárias é o seguinte:

// Atribuição esses valores para serem exibidos no campos
nome_txt.text=nome;
idade_txt.text=String(idade);
altura_txt.text=String(altura);

O tipo de dado da propriedade text é String por isso temos de moldar os valores numéricos para string, no caso da variável nome isso não é preciso uma vez que ela já é do tipo String.

Nosso código final é o seguinte:

// Declaração das variáveis
var nome:String=”Danilo Santana”;
var idade:uint=23;
var altura:Number=1.75;
// Atribuição desses valores para serem exibidos no campos
nome_txt.text=nome;
idade_txt.text=String(idade);
altura_txt.text=String(altura);

Exemplo prático:

Nesse artigo eu apresentei os novos tipos de datatype para variáveis numéricas e mostrei operações para moldar valores a outros tipos para exibí-los em campos de textos.

Nos próximos artigos, irei detalhar mais elementos do ActionScript 3.0 como operadores, condicionais e loops para depois criamos aplicativos práticos.

Até a próxima.

Em caso de dúvidas utilize nosso fórum.

Abraço,

Danilo Santana
Administrador do Portal MXSTUDIO

Escrito por Danilo Santana on abril 22, 2008. Arquivado em Flash. Você pode seguir as respostas a esse artigo pelo RSS 2.0. Você pode deixar respostas para esse artigo

6 respostas a Programando em ActionScript 3.0 – Variáveis

  1. Olá Danilo ótimo tutorial, para mim foi muito bom e educativo, visto que estou começando na aréa de Actionscript olha muito obrigado mesmo valeu tudo de bom…Fique com Deus…Abraços…

  2. Pingback: Programando em ActionScript 3.0 - Operadores - Flash | MXStudio

  3. Pingback: Programando em ActionScript 3.0 - Condicionais - Flash | MXStudio

  4. Pingback: Programando em ActionScript 3.0 - Loops - Flash | MXStudio

  5. Olá, preciso de uma ajuda se possível, estou com um trabalho pra entregar na faculdade, mas falta um item q não estou conseguindo.

    Em Flash usando o ActionScrip 3, criamos um tipo de navegação por rótulos, em uma tela tenho o login, com nome e senha do usuário, qdo ele entra, preciso armazenar o nome digitado em uma variável e exibi-lo em uma outra tela, já logado.
    como faço isso? Qual a sintaxe correta? Como faço pra utilizar variáveis tipo Global eu acho?

    Segue trecho de código com minhas tentativas:

    Tela do login:
    b_entrar.addEventListener(MouseEvent.CLICK, b_entrar1);
    function b_entrar1(event:MouseEvent):void {
    var variaveis:URLVariables = new URLVariables();
    variaveis.varnome = usuario.text;
    variaveis.varsenha = senha.text;
    var vnome:String = usuario.text;

    if (usuario.text ==”Alex” && senha.text==”01″) {
    gotoAndStop(“pagina”);
    }
    else{
    gotoAndStop(“erro”);
    }
    }

    Na tela logado: (nesta tela tenho um label nome_usuario)
    nome_usuario.text = variaveis.varnome;

  6. no techo de código acima, favor ignorar a linha:
    var vnome:String=usuario,text;
    pois essa foi apenas uma outra tentativa mas tb não deu certo.

    Obrigado

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>