The Language for Motion
ActionScript
Motivação
Linguagem de fácil
manipulação para
objetos gráficos.
Atualmente Orientada a
Objetos.
Executada sobre uma
máquina virtual que está
“instalada em 98% das
maquinas com acesso a
internet” (Millward
Brown). Grande
capacidade de
portabilidade.
Breve História
2000 - Lançamento do Flash Player 5 com
ActionScript.
2002 - Lançamento do Flash Player 6 com
ActionScript 1.0 e a inclusão de manipuladores de
eventos e primitivas gráficas.
2003 - Lançamento do Flash Player 7 veio com a
atualização. ActionScript 2.0.
2005 - Liberação do Flash Player 8 que extende o
ActionScript 2.0 adicionando novas bibliotecas.
2007 - Lançamento do Flash Player 9 que vem com
o novo ActionScript 3.0 e o advento da nova
máquina virtual, chamado AVM2.
Paradigma de Programação
ActionScript 1.0 - programação
procedural, baseada em protótipos,
conceitos básicos de OO;
ActionScript 2.0 - programação
procedural e com mais conceitos de
OO;
ActionScript 3.0 - programação OO
(100%)
Sintaxe
Aplicativo servidor sem while;
Comandos onEnterFrame (tipo diferente
de laço);
Comandos eval(str:String);
Objeto Boolean;
Array extensível em tamanho;
Array extensível em tipos;
Tipo Function;
Especificação
ActionScript 3 Bible by Roger Braunstein,
Mims Wright, Joey Lott, and Josh Noble
(Paperback - Sep 18, 2007)
ActionScript 3 in Adobe Flash CS3
Professional Hands-On Training by Todd
Perkins (Paperback - Sep 10, 2007)
Beginning ActionScript 2.0 (Wrox Beginning
Guides) by Nathan Derksen and Jeff Berg
(Paperback - April 24, 2006)
Utilização
Aplicativos Web
Jogos Web
Jogos para Dispositivos Móveis (utiliza-se o
Flash Lite que é o ActionScript 2.0 adaptado
para Mobiles)
Aplicativos RIA (Rich Internet Aplications),
indicado apenas para ActionScript 3.0
Sites com grande interatividade
Animações programadas
Manipulação de Vídeos (YouTube)
Implementação
Flash Player: Único compilador para
ActionScript;
AVM1;
AVM2;
JIT – Just In Time;
Player 5 e 6;
Player 7 e 8;
Player 9.
Ambiente de Desenvolvimento
As principais ferramentas de
desenvolvimentos atualmente são:
Flash CS3
Ambiente de Desenvolvimento
Flex Builder
Exemplos de Programa (1/3)
Exemplo actionScript 1.0
on(rollOver){
gotoAndStop(15);
}
on(rollOut){
setProperty(“myMovieClip”, _alpha, 40);
}
Exemplos de Programa (2/3)
Exemplo actionScript 2.0
var myArray:Array = new Array ("Hello", "ActionScript", 3, 7, 11, "Flash");
Array.prototype.pickNumber = function():Number {
var rand:Number = random(this.length);
return (typeof (this[rand]) == "number") ? this[rand] : this.pickNumber();
};
Array.prototype.pickString = function():String {
var rand:Number = random(this.length);
return (typeof (this[rand]) == "string") ? this[rand] : this.pickString();
};
var num:Number = myArray.pickNumber();
var str:String = myArray.pickString();
_root.createTextField ("txt", 1, 10, 10, 530, 390);
txt.text = "Array = "+myArray+"\nRandom Number = "+num+"\nRandom
String = "+str;
Exemplos de Programa (3/3)
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.filters.DropShadowFilter;
public class HelloWorld2 extends Sprite {
public function HelloWorld2() {
var shad:DropShadowFilter = new DropShadowFilter (2, 45, 0x000000,
25, 3, 3, 2, 2);
var txt:TextField = new TextField();
txt.textColor = 0xFFFFFF;
txt.filters = [shad];
txt.width = 120;
txt.x = Math.random()*300;
txt.y = Math.random()*300;
txt.selectable = false;
txt.text = "Hello World welcome!
["+Math.round(txt.x)+","+Math.round(txt.y)+"]";
addChild(txt);
}
}
}
Vantagens
Desenvolvimento flexível e dinâmico;
Leveza dos aplicativos;
Fácil aprendizado por iniciantes;
Praticidade em interfaces gráficas;
Portabilidade para dispositivos móveis;
Desvantagens
Códigos não legíveis;
Falta de laços seguros;
‘Variáveis Persistentes’;
Segurança no compilador;
Conclusão
Notável evolução;
Desde protótipo até OO
Cada vez mais procurado pelo mercado;
Expansão na Web;
Crescimento em robustez;
Aumento de performance (10 vezes);
Expansão para softwares corporativos
(Adobe Flex);