Escolar Documentos
Profissional Documentos
Cultura Documentos
Actionscript 3 Tutorial PDF
Actionscript 3 Tutorial PDF
Esse tutorial dever para um leitor dar uma vaga ideia de como comear a
desenvolver aplicativos no Flash usando ActionScript. Esse tutorial foi
elaborado para rpida leitura e, para conhecimento aprofundado, assim como
para aplicaes especficas, novas pesquisas devero ser realizadas. O prprio
flash tem um grande base da dados de ajuda, que pode ser utilizada ao lado
desse tutorial.
Esse tutorial foi pensado para pessoas de nvel bsico. Caso voc j programa,
pule as partes de Sintaxe, Variveis e Operadores e Funes.
O que Actionscript
Fonte: Wikipedia
Sintaxe
O cdigo lido pelo computador linha a linha. Para maior entendimento (mas
no necessrio), usual ao final de cada linha colocar o ponto-e-vrgula(;).
O ponto-e-vrgula tambm pode ser usado para terminar uma instruo no
meio de uma linha, pra colocar outra na mesma linha.
Cada linha aqui, uma instruo. Instruo pode ser a declarao de uma
varivel, a manipulao de variveis de dados, uma chamada de uma funo.
(Veremos tudo adiante). Enfim, saiba que o computador lida com o cdigo
instruo aps instruo, uma a uma.
Veja:
//Comentrio
instruo1;
instruo2;
instruo3; instruo4; instruo5;
//...
Use e abuse de comentrios, uma boa prtica. Sempre indique o que vai
fazer em um prximo trecho de comentrio. Fica mais fcil de lembrar o que
esse cdigo faz para voc, e fica mais fcil pra todo mundo que abrir para ler o
seu cdigo entender o que voc fez.
Cada vez que voc testa sua aplicao (CTRL+ENTER) o cdigo que voc
escreveu nos frames e nas classes importadas so compiladas. Ou seja, elas
so transformadas de cdigo entendvel por voc, ser humano, para cdigo
que pode ser entendido pelo computador. Aps isso, o cdigo pronto (que
chamamos de binrio) executado. As duas coisas ocorrem rapidamente, uma
aps a outra.
Variveis e Operadores
var nome_da_varivel:Tipo;
Onde nome_da_varivel pode ser o nome que quiser (a, b, banana, bla). S
no pode ser uma palavra reservada da linguagem (var, class, etc...). A
palavra reservada var indica que ali ser declarada uma nova varivel.
Mais um exemplo:
var a:b;
Agora que uma varivel foi declarada, possvel us-la de vrias formas.
Como no exemplo:
var a:int = 5;
var b:int = 10;
a = b;
b = a + b;
a = a b + 42;
i++;
i = i + 1;
Como j dito acima, o fluxo de execuo vai lendo as instrues uma a uma,
linha a linha. Mas ele no precisa ser totalmente linear. possvel fazer ele
saltar para vrias outras partes do seu cdigo. Mas voc no deveria fazer
livremente.
Veja:
// seu cdigo..
if(condio)
{
//se a condio for satisfeita executa as instrues daqui
instrucao1;
instrucao3;
}
else
{
//caso contrario executa as daqui
instrucao2;
}
//mais cdigo..
Usando esses operadores voc ter no final uma expresso booleana tambm.
Voc pode substituir o condio no if acima por uma expresso booleana.
while(condio)
{
//cdigo aqui
}
//mais cdigo..
Esse while determina um loop. Ou seja, esse cdigo dentro do corpo do while
(entre os {}) ser rodado infinitamente, at que a condio no seja mais
satisfeita. Quando no for mais satisfeita, o fluxo de execuo sai do loop e
continua normalmente.
Muito cuidado com o loop infinito: o loop infinito quando por algum erro seu
o while nunca para Isso significa que o flash do usurio vai travar caso
acontea isso. Voc no quer que isso acontea.
Funes
medida que o cdigo fica muito grande, fica necessrio fazer partes de
cdigo que sejam reutilizveis. A que entram as funes. Ver que funes
so nada mais nada menos que fazer o fluxo de execuo pular para uma certo
trecho de cdigo.
Dentro do corpo da funo (entre os {}) fica o cdigo dela. Esse cdigo ser
rodado toda vez que funo for chamada. Para chamar uma funo, veja
adiante...
var a:int;
var b:Number;
// ....cdigo.......
nome_da_funcao();
//mais cdigo..
Procure separar seu cdigo em funes o mximo possvel. Alm dele ficar
mais fcil de entender, fica muito mais fcil de encontrar erros.
Exemplo:
//cdigo
var a:int = 2;
fun(a,4);
Exemplo:
function fun():int
{
var b:int = 2;
return b;
}
var a:int = fun();
Como voc pde ver acima, quando voc chama uma funo que retorna
alguma coisa, voc pode pegar esse resultado. E colocar em uma varivel,
como feito acima. Existem muitas utilidades. Uma funo pode retornar um
valor do tipo Boolean e ser colocada dentro de uma condio de um if, por
exemplo. As utilidades so infinitas.
Classes e Instncias
Voc tambm pode at definir os seus prprios tipos. a que classes entram
em ao.
Veja o exemplo:
class nome_da_classe
{
//Variaveis
//Mtodos
}
Uma classe define um tipo. Por exemplo, int, Boolean, Number, String, todas
essas so classes. Toda classe s tem duas modalidades de coisas: campos e
mtodos.
A primeira coisa sobre classes que voc ir fazer como instanciar uma classe.
Voc faz isso a partir da palavra reservada new:
class minhaClasse
{
//Variaveis
//Construtor
function minhaClasse()
{
}
//Mtodos
}
Detalhe que o construtor no pode retornar nada. Ele j retorna o tipo da
prpria classe. Mas voc pode usar o return sem nada caso queira que a
funo acabe no meio.
Agora que voc j tem uma instncia da sua classe (ou varivel do tipo da sua
classe, chame-a do que quiser), voc j pode us-la. Veja no exemplo:
class minhaClasse
{
//Variaveis
public var a:int = 2;
public var blabla:tipo_blabla;
//Construtor
function minhaClasse()
{
}
//Mtodos
function foo(x:int):Number
{
return x*x;
}
}
Quando voc chama um mtodo de uma instncia, diz-se que voc est
chamando o mtodo sobre essa instncia.
class Carro
{
var rodas;
var volante;
var motor;
function acelerar()
{
trace(acelerei);
}
function freiar()
{
trace(frear);
}
}
Defini uma classe carro que tem vrias coisas que um carro tem (campos), e o
que um carro faz (mtodos).
Agora sabemos que existem tipos mais especficos de carro, que ainda so
carros. Um exemplo: o fusca:
Esse fusca tem tudo o que o carro tem (volante, rodas, etc). Mas ele tem umas
coisas a mais, que so especficas dele(idade de carro velho, se est estragado
ou no...). Ele tambm pode fazer mais coisa que um carro comum (ele pode
estragar) e ele tambm pode alterar o jeito como um carro comum faz as
coisas (agora ele no acelera to bem).
Dentro dos mtodos, voc tambm pode usar a palavra reservada this. Essa
palavra se refere instncia da qual o mtodo est sendo chamado. Por
exemplo, voc pode acessar campos e outros mtodos dentro de um mtodo,
chamar uma outra funo com a instncia como parmetro, entre outros.
Cada DisplayObject tem sua posio, ou seja, o seu X (sua posio horizontal)
e seu Y (sua posio vertical). Algebricamente, um vetor. Aumentando o X
voc arrasta o DisplayObject para a direita, diminuindo para esquerda. O
aumento do Y arrasta o DisplayObject para baixo.
Exemplo:
Caso no saiba o que seja smbolo, pesquise flash new symbol ou o que
quiser na internet.
Agora sim, voc sabe como colocar imagens dentro do cdigo actionscript.
Eventos e Interatividade
Mas e sobre interatividade, como fazer? O Flash foi feito para ser interativo
com o seu usurio, e no uma coisa em que apenas assistido. Fazer alguma
coisa acontecer quando se movimenta o mouse ou aperta-se uma tecla, por
exemplo, importantssimo.
addEventListener(Event.ENTER_FRAME,foo);
Outras Classes
Existem muitas outras classes que podem ser usadas para explorar toda a
funcionalidade do Flash. Como por exemplo Sound para sons, Mouse para o
mouse, Accelerometer para acelermetro de dispositivos mveis, entre outros.
Muitas dessas classes tm seus prprios tipos de eventos.