ActionScript/Sintaxe
Os programadores JavaScript não terão grandes dificuldades para se adaptarem à programação ActionScript. São grandes as semelhanças entre elas devido ao uso do padrão ECMAScript (veja no link sobre o padrão Ecma-262). Aliás, a adaptação do padrão Ecma-262 pelo ActionScript é mais próxima da especificação do que o JavaScript.
Sobre a sintaxe
editarEm ActionScript, é recomendável você separar cada linha do código por um ponto-e-vírgula (;). Não é obrigatório o seu uso, mas no entanto é extremamente recomendável para separar comandos. Além do mais, diferentemente da versão 2.0, o ActionScript 3.0 não permite tipagem fraca: todas os tipos de variáveis devem ser declaradas (tipagem forte), com o intuito de gerenciar melhor a memória. Exemplo:
// Se 'nome' abarcará um tipo String, isso deve ser discriminado
var nome:String = new String();
// Modo errado
var nome = "Fulano";
A versão 3 também traz dois novos tipos primitivos: int e uint
, que economizam memória se comparado ao tipo Number (são úteis em loops, etc.). A lista inteira de tipos vem com:
Tipo | Descrição | Valores |
---|---|---|
Boolean | Booleano | true, false |
int | número de 32 bits | 2.147.483.647 até -2.147.483.648 |
Null | nulo | null |
Number | Número de dupla precisão (64 bits) | 1.79e+308 até 5e-324 |
String | Texto string | |
uint | número inteiro sem sinal | 0 a 4.294.967.295 |
void | vazio | utilizado em funções que não devem retornar nada |
A nova versão também pôs abaixo várias funções referentes a eventos, como onRelease
, entre outras. Propriedades que usavam underscore ( _ ) como _x e _width, perderam esse caractere para serem representadas apenas como x e width.
O modo de se escrever as funções em ActionScript 3.0 também difere da versão 2.0 e do JavaScript. Toda função deve ter um valor com que irá retornar, mesmo que seja um valor vazio (void
). Por exemplo:
// Modo errado
function Adeus(){
trace("Adeus!");
}
// Modo correto, no caso de não retornar nenhum valor, por exemplo, em clique de mouse...
function Adeus(evt:MouseEvent):void {
trace("Adeus!");
}
// Modo correto, quando queremos que a função retorne uma String, por exemplo...
function exibeNome(nome:String):String {
var frase:String = new String();
frase = "Seu nome é " + nome;
return frase;
}
Todos os comandos de uma função, cláusula condicinal, loops, classes e pacotes devem estar inseridos dentro de chaves ({}). A indentação não é obrigatória, mas é extremamente recomendável, assim como na maioria das linguagens. Variáveis e funções não devem ter nomes que iniciam com números, nem os caracteres "_" ou "$", não existir uma variável ou função com esse nome já declarada ou ter o nome de uma função/variável reservada do AS3 (como true, private, entre outras).
Comentários
editarOs comentários são úteis tanto para inserir lembretes e informações sobre o código como para tirar linhas de código que numa compilação não sejam executados (útil para testes). Há duas maneiras de comentar em ActionScript:
// Comentário apenas uma linha
/* Comentário que
ocupa várias linhas.
Aqui é o fim */
Fim de _global
editarNa nova versão do ActionScript a variável global _global
foi abandonada. Para emular o uso de variáveis globais você deve criar um objeto Singleton.