Buscar

EDO0417_12

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROGRAMAÇÃO PARA INTERNET RICA - EDO0417
Semana Aula: 12
Flash AS3 - Parte I
Tema
Flash AS3 - Parte I
Palavras-chave
Objetivos
Entender a evolução da linguagem actionscript
 
Conhecer as principais mudanças do AS3 em relação ao AS2
 
Familiarizar-se com a sintaxe do AS3
 
 
Estrutura de Conteúdo
A partir da versão CS3 do Flash temos suporte para ActionScript 3.0 - a mais nova linguagem de 
programação baseada em padrões para o Adobe Flash (SWF), filmes e aplicativos. Você pode achar difícil 
começar com o ActionScript 3,0, quando comparados às versões anteriores do ActionScript. A transição 
para o ActionScript 2 do ActionScript 1, por exemplo, foi relativamente mais suave comparado ao salto 
para ActionScript 3.0, especialmente para alguém que está propenso a trabalhar e a codificar com a IDE 
do Flash (Integrated Development Environment).
 
 
Um Breve Histórico do ActionScript no Flash
Inicialmente a sintaxe do ActionScript 1 no o Flash 3, foi simples e concisa, a funcionalidade era baseada 
principalmente em torno do frame de navegação e a interação básica do mouse. Permaneceu assim, 
consistente até a versão 5 do Flash, onde o ActionScript assumiu uma forma mais parecida com o 
JavaScript. Isso proporcionou uma grande funcionalidade. O ActionScript também se tornou uma 
linguagem protótipo que permita a funcionalidades de OOP simples similar à que está disponível em 
JavaScript. Isto foi reforçado na versão seguinte do Flash, Flash MX (6).
 
Na versão Flash MX 2004 (7) é apresentado o ActionScript 2.0. Havia dois grandes melhorias que vieram 
com o ActionScript 2: tipagem de dados e uma nova classe syntax. Tipagem de dados permitiu-lhe 
especificar o tipo de valor de suas variáveis e constantes, seja um número, uma string, ou qualquer outro 
tipo de objeto ou valor. Esta associação de tipo era estritamente para depuração. 
 
A nova classe syntax foi utilizada para definir classes em ActionScript 2 semelhantes as definidas para 
linguagens como Java. Embora Flash ainda não tivesse suporte a classes, além disso, sob a forma de 
protótipos (no final, ActionScript 2 ainda basicamente é compilado para ActionScript 1), esta nova sintaxe 
desde um estilo familiar que era útil para pessoas que migram de outras línguas, e desde uma forma mais 
concreta de organizar as definições de classe em arquivos separados como e pacotes.
 
Depois disso pulamos para o Flash CS3 (versão 9, não temos tantos avanços em ActionScript na versão 
Flash 8) .
Aqui nós temos uma linguagem ActionScript nova que não só recebeu um novo número de versão, mas 
também uma nova máquina virtual ( o software subjacente no Flash Player que executa ActionScript 
durante a reprodução).
 
Ambos ActionScript 1 e 2 usam ActionScript AVM1 (ActionScript Virtual Machine 1), que são 
essencialmente os mesmos em termos das necessidades de reprodução. Lembre-se, principalmente 
ActionScript 2 acrescentou apenas uma verificação de tipo em tempo de execução e uma nova sintaxe que 
se tornou essencialmente ActionScript 1 quando compilado. ActionScript 3 é executado em uma nova 
máquina virtual chamada AVM2 (ou às vezes AVM +) projetada especificamente, a partir do zero. para 
executar ActionScript 3 e só código ActionScript 3. Como resultado, 
Um filme em ActionScript 3 não pode se comunicar diretamente com filmes em ActionScript 1 ou 2.
 
 
O ActionScript 3 é muito diferente? 
 
ActionScript 3 é diferente. Muito diferente. Tão diferente, de fato, que exige uma máquina virtual 
completamente nova para executá-lo. Mas em sua essência, ainda é ActionScript e como você vai notar 
que muitos dos comandos e conceitos de programação aplicada aos ActionScript 1 e 2 ainda se aplica a 
ActionScript 3. Às vezes o ActionScript 3 e o ActionScript 2 podem ter códigos equivalentes. No entanto, 
isso nem sempre é o caso. E no final, há mudanças suficiente para fazer uma conversão direta entre as 
duas freqüentemente é muito difícil. 
 
Essas mudanças eram necessárias, no entanto. ActionScript 3 foi construído com eficiência e 
produtividade na mente. Não apenas a eficácia no desenvolvimento, mas também o desempenho de 
reprodução onde o código em ActionScript 3 pode ser reproduzido no Flash Player até 10 vezes (se não 
mais) mais rápido do que código do ActionScript 2. Sim, você vai descobrir que muitas das mesmas tarefas 
braçais em ActionScript 1 e ActionScript 2 e agora parece ter o dobro do tempo para o código em 
ActionScript 3, mas no final a velocidade extra e funcionalidade. O programador casual se desesperar, 
colocar as mãos na cabeça e querer arrancar os cabelos, mas o programador avançado vai saltar de 
alegria em alegria.
 
 
Vamos ver agora as principais mudanças do AS3 em relação ao AS2, assim vamos conhecendo a sintaxe 
do AS3.
 
Constantes
São campos cujos valores são definidos e não podem ser alterados em tempo de execução.
 
const ALTURA_MAXIMA:Number = 900;
 
Obs.: É um convenção em qualquer linguagem de programação declarar as constantes com caixa alta 
(letras maiúsculas).
 
 
 
 
Variáveis
Os tipos já existentes não sofreram alteração visíveis, somente internamente para melhorar o desempenho, 
as novidades são 2 novos tipos de variáveis numéricas: 
int e uint
 
Variáveis Numéricas
 
Nome Tipo de valores Faixa de valores
int Inteiros, negativos e positivos de -2.147.483.648 à 2.147.483.647 (32 bits)
uint Inteiros, apenas positivos de 0 à 4.294.967.295 (32 bits)
Number ponto flutuante, negativos e positivos
de -9,007,199,254,740,992 à 9,007,199,254,740,992 
(52 bits)
 
 
Alteração no nome das propriedades
um detalhe importantíssimo no nome das propriedades é que agora não existe mais 
o _ (underline) antes do nome dela, veja como utilizar:
objeto_mc.x = 0;
objeto_mc.y = 0;
objeto_mc.width = 200;
objeto_mc.height = 200;
As propriedades _xmouse e _ymouse mudaram de nome, agora 
são mouseX e mouseY respectivamente o mesmo para as 
propriedades _xscale e _yscale que agora são scaleX e scaleY respectivamente, outra 
alteração é nos valores permitidos nesses atributos, antes você deveria colocar um valor 
entre 0 e 100, a nova maneira esses valores vão de 0 à 1.
veja a diferença:
antes:
mcSprite._xscale = 50;
mcSprite._yscale = 100;
agora:
mcSprite.scaleX = 0.5;
mcSprite.scaleY = 1;
o mesmo vale para a propriedade _alpha os valores vão de 0 à 1.
// atribuindo 50% de alpha
mcSprite.alpha = 0.5;
 
 
 
Funções com parâmetros opcionais
 
Agora você especificar parâmetros opcionais para seus métodos. Esta característica não esta 
disponível no AS2. Parâmetros opcionais têm que ser obrigatoriamente os últimos parâmetros e devem ter 
um valor padrão definido. O exemplo abaixo demonstra a utilização de parâmetros opcionais.
 
function exibeTexto(numero:Number, texto:String = "abacaxi"){
 trace(numero, texto );
}
exibeTexto(1); //saída 1, abacaxi
exibeTexto(2, "abacate"); //saída 2, abacate
 
Adicionando ações em botões
Uma grande alteração feita no AS3 é que não se pode mais colocar actionscript 
diretamente no objeto, isso mesmo, as ações agora só podem ser colocadas na time-line, 
para quem usava o flash para fazer coisas simples como banner´s e apresentações, e que 
as únicas ações que usavam eram um play(), stop() ou getURL(), para essas pessoas a 
nova sintaxe talvez assuste no começo, mas não é nenhum bicho de 7 cabeças.
Essa estrutura não pode ser feito no AS3:
ACTIONSCRIPT 2
on(press){
 
 trace("clicou");
}
 
O que antes era feito assim:
ACTIONSCRIPT 2
btnProximo.onPress = function(){
 trace("clicou");
}
 
 
 
Agora no AS3 deve ser feito desta maneira:
ACTIONSCRIPT 3
 
//criar a função que será executada no click do mouse
function onclick(event:MouseEvent):void {
 trace("clicou");
}
// adiciona ao botão um ouvinte, especificando que no
// evento CLICK a função onclick deve ser chamada
btnProximo.addEventListener(MouseEvent.CLICK, onclick);
Parâmetros
function onclick(event:MouseEvent):void {
}
O parâmetrorecebido varia dependendo de qual evento o listener foi adicionado, nesse 
parâmetro (que pode ter qualquer nome, no meu caso eu coloquei "event") o objeto 
possui algumas informações sobre o evento que foi chamado, o que varia novamente de 
evento para evento no caso dos eventos ligados ao mouse, esse objeto possui as seguintes 
propriedades:
Atributos do objeto MouseEvent
 
Atributo Valor
buttonDown true se o botão primário do mouse estiver pressionado, false caso não esteja (pode ser mais útil no evento mouseMove)
ctrlKey true se a tecla CRTL estiver pressionada quando o botão foi clicado, false caso não esteja
shiftKey true se a tecla SHIFT estiver pressionada quando o botão foi clicado, false caso não esteja
altKey true se a tecla ALT estiver pressionada quando o botão foi clicado, false caso não esteja
currentTarget é a instancia do objeto que o listener foi adicionado
localX posição na horizontal em que o objeto foi clicado pelo mouse (equivale a propriedade _xmouse)
localY posição na vertical em que o objeto foi clicado pelo mouse (equivale a propriedade _ymouse )
stageX posição na horizontal em que o objeto foi clicado, em relação ao Stage (equivale a propriedade _root._xmouse do AS2)
stageY posição na vertical em que o objeto foi clicado, em relação ao Stage (equivale a propriedade _root._ymouse do AS2)
Target é a instancia do objeto que ativou o evento, nem sempre ela será o mesmo objeto do qual o listener foi adicionado, para isso use o currentTarget
 
 
 
 
Estratégias de Aprendizagem
Indicação de Leitura Específica
Aplicação: articulação teoria e prática
Links:
 
http://www.adobe.com/devnet/actionscript/articles/actionscript3_overview.html
 
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
 
http://ihmbr.blogspot.com/2009/06/historia-da-animacao.html
 
http://ihmbr.blogspot.com/2009/07/principios-de-animacao-parte-ii.html
 
 
 
Considerações Adicionais
http://www.adobe.com/devnet/actionscript/articles/actionscript3_overview.html
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
http://ihmbr.blogspot.com/2009/06/historia-da-animacao.html
http://ihmbr.blogspot.com/2009/07/principios-de-animacao-parte-ii.html

Continue navegando