referencia do actionscript 2.0
TRANSCRIPT
-
Guia de referncia do ActionScript
-
Marcas comerciais
Add Life to the Web, Afterburner, Aftershock, Andromedia, Allaire, Animation PowerPack, Aria, Attain, Authorware, Authorware Star, Backstage, Bright Tiger, Clustercats, ColdFusion, Contribute, Design In Motion, Director, Dream Templates, Dreamweaver, Drumbeat 2000, EDJE, EJIPT, Extreme 3D, Fireworks, Flash, Fontographer, FreeHand, Generator, HomeSite, JFusion, JRun, Kawa, Know Your Site, Knowledge Objects, Knowledge Stream, Knowledge Track, LikeMinds, Lingo, Live Effects, MacRecorder Logo and Design, Macromedia, Macromedia Action!, Macromedia Flash, Macromedia M Logo and Design, Macromedia Spectra, Macromedia xRes Logo and Design, MacroModel, Made with Macromedia, Made with Macromedia Logo and Design, MAGIC Logo and Design, Mediamaker, Movie Critic, Open Sesame!, Roundtrip, Roundtrip HTML, Shockwave, Sitespring, SoundEdit, Titlemaker, UltraDev, Web Design 101, what the web can be e Xtra so marcas comerciais registradas ou marcas comerciais da Macromedia, Inc. e podem estar registradas nos Estados Unidos ou em outras jurisdies, publicao ppodem estar
Informae
Este guia co responsveestar assumlink no sig
Tecnologia d
Navegador O
Iseno de
A APPLE CPACOTE DADEQUAPERMITIDCASO. ESTQUE VARI
Copyright reproduzidem parte, se
Agradecime
Diretor: EriGerenciameRedao: JoTim StatlerEditor respoEdio: MarGerenciameDesign de mLocalizao:Primeira edi
Macromedi600 TownseSo Franciscinclusive internacionais. Outros nomes de produtos, logotipos, designs, ttulos, palavras ou frases mencionados nesta odem ser marcas comerciais, marcas de servio ou nomes comerciais da Macromedia, Inc. ou de outras entidades e registrados em certas jurisdies, inclusive internacionais.
s de terceiros
ntm links para sites da Web de terceiros que no esto sob o controle da Macromedia. Neste caso, a Macromedia no l pelo contedo de nenhum site vinculado. Se voc acessar um dos sites da Web de terceiros mencionados neste guia, indo os riscos inerentes. A Macromedia oferece esses links apenas por questo de convenincia, e a incluso de um
nifica que a Macromedia apie ou aceite qualquer responsabilidade pelo contedo apresentado em sites de terceiros.
e compactao e descompactao de voz licenciada da Nellymoser, Inc. (www.nellymoser.com).
Tecnologia Sorenson Spark de compactao e descompactao de vdeo licenciada da Sorenson Media, Inc.
pera Copyright 1995-2002 Opera Software ASA e seus fornecedores. Todos os direitos reservados.
responsabilidade da Apple
OMPUTER, INC. NO CONCEDE GARANTIAS, EXPLCITAS OU IMPLCITAS, RELATIVAS AO E SOFTWARES PARA COMPUTADORES EM ANEXO, BEM COMO SUA COMERCIALIZAO OU O A QUALQUER FINALIDADE ESPECFICA. A EXCLUSO DE GARANTIAS IMPLCITAS NO A EM CERTOS ESTADOS. PORTANTO, A EXCLUSO ACIMA TALVEZ NO SE APLIQUE AO SEU A GARANTIA CONCEDE DIREITOS LEGAIS ESPECFICOS. VOC PODE TER OUTROS DIREITOS AM CONFORME O ESTADO.
2003 Macromedia, Inc. Todos os direitos reservados. Este manual no pode ser copiado, fotocopiado, o, traduzido ou convertido em nenhum formato eletrnico ou que possa ser lido por mquina, por inteiro ou m o consentimento prvio por escrito da Macromedia, Inc. Nmero da pea: ZFL70M400PO
ntos
ck Veranto de projeto: Stephanie Gowin, Barbara Nelson dy Bleyle, Mary Burger, Kim Diezel, Stephanie Gowin, Dan Harris, Barbara Herbert, Barbara Nelson, Shirley Ong,
nsvel: Rosana Francescatoy Ferguson, Mary Kraemer, Noreen Maher, Antonio Padial, Lisa Stanziano, Anne Szablanto de produo: Patrice ONeilldia e produo: Adam Barnett, Christopher Basmajian, Aaron Begley, John Francis, Jeff Harmon Tim Hussey, Seungmin Lee, Masayo Noda, Simone Pux, Yuko Yagi, Heloisa Kindero: Agosto de 2003
a, Inc.nd St.o, CA 94103
-
3CONTEDO
INTRODU
PblicoRequisiUsandoConvenTermosRecurso
PARTE
CAPTUL
ElemenNovo mTransfeAlteraAlteraNovo m
CAPTUL
DiferenSuporteTerminSintaxeSobre tiAtribuiSobre vUsandoEspecifUsandoCriandoO: Guia de introduo ao ActionScript. . . . . . . . . . . . . . . . . . . . . . . . 9
-alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9tos do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 a documentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9es tipogrficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 usados neste documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10s adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
I: Bem-vindo ao ActionScript
O 1: Novidades do ActionScript no Flash MX 2004 . . . . . . . . . . . . . . . 13
tos de linguagem novos e alterados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13odelo de segurana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
rindo scripts existentes para o Flash Player 7. . . . . . . . . . . . . . . . . . . . . . . . 15es do editor do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16es de depurao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18odelo de programao orientado a objeto . . . . . . . . . . . . . . . . . . . . . . . . . 18
O 2: Conceitos bsicos do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . 21
as entre o ActionScript e o JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 a Unicode para ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21ologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25pos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31ndo tipos de dados a elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34ariveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 operadores para manipular valores em expresses . . . . . . . . . . . . . . . . . . . 41icando o caminho de um objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 funes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 funes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
-
4 Co
CAPTULO 3: Escrevendo e depurando scripts . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Controlando o momento em que o ActionScript executado . . . . . . . . . . . . . . . . 52Usando o painel Actions e a janela Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Usando o editor do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Depurando scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Usando o painel Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Atualizando o Flash Player para teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
PARTE II: Manipulando eventos e criando interao
CAPTUL
UsandoUsandoUsandoCriandoEscopoEscopo
CAPTUL
Sobre eControCriandoDescon
PARTE
CAPTUL
Sobre cViso g
CAPTUL
Sobre oChamaCarregaEspecifCarregaAlteranArrastanCriandoAdicionGerencDesenhntedo
O 4: Manipulando eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
mtodos de manipuladores de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ouvintes de eventos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 manipuladores de eventos de boto e clipe de filme . . . . . . . . . . . . . . . . . 82 clipes de filme com estados de boto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
do manipulador de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 da palavra-chave this. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
O 5: Criando interao com o ActionScript . . . . . . . . . . . . . . . . . . . . . . 87
ventos e interao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87lando a reproduo do SWF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 interatividade e efeitos visuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
struindo um script de exemplo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
III: Trabalhando com objetos e classes
O 6: Usando as classes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
lasses e instncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111eral das classes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
O 7: Trabalhando com clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . 119
controle de clipes de filme com o ActionScript . . . . . . . . . . . . . . . . . . . . 120ndo vrios mtodos em um nico clipe de filme. . . . . . . . . . . . . . . . . . . . 121ndo e descarregando arquivos SWF adicionais . . . . . . . . . . . . . . . . . . . . . 121icando uma Timeline raiz para arquivos SWF carregados . . . . . . . . . . . . . 122ndo JPEGs em clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123do a posio e a aparncia de um clipe de filme . . . . . . . . . . . . . . . . . . . . 123do clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 clipes de filme durante a execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124ando parmetros aos clipes de filme criados dinamicamente . . . . . . . . . . 127
iando profundidades do clipe de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . 128ando formas com o ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
-
Usando clipes de filme como mscaras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Identificando eventos do clipe de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131Atribuindo uma classe a um smbolo de clipe de filme. . . . . . . . . . . . . . . . . . . . . 131Inicializando as propriedades de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
CAPTULO 8: Trabalhando com texto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Usando a classe TextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Criando campo de texto durante a execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137Usando a classe TextFormat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Formatando o texto com Cascading Style Sheet. . . . . . . . . . . . . . . . . . . . . . . . . . 139UsandoCriandoExibind
CAPTUL
PrincpUsandoCriandoMembrCriandoNoesUsandoImportaMtodoCriandoComo a
PARTE
CAPTUL
EnviandEnviandRecurso
CAPTUL
Viso gCarregaCarregaLendo mReprodPr-carrContedo 5
o texto em formato HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 texto de rolagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155o as propriedades do campo de texto para depurao. . . . . . . . . . . . . . . . 157
O 9: Criando classes com o ActionScript 2 . . . . . . . . . . . . . . . . . . . . . 159
ios da programao orientada a objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 classes: um exemplo simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 e usando classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
os de instncias e classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 e usando interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
bsicas de caminho de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175ndo classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175s get/set implcitos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 classes dinmicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178s classes so compiladas e exportadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
IV: Trabalhando com mdia e dados externos
O 10: Trabalhando com dados externos . . . . . . . . . . . . . . . . . . . . . . . 183
o e carregando variveis para/de uma origem remota . . . . . . . . . . . . . . . 183o mensagens para/do Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192s de segurana do Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
O 11: Trabalhando com mdia externa. . . . . . . . . . . . . . . . . . . . . . . . . . 201
eral de carregamento de mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . 202ndo SWFs e JPEGs externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202ndo arquivos MP3 externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204arcas de ID3 em arquivos MP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
uzindo arquivos FLV externos dinamicamente . . . . . . . . . . . . . . . . . . . . . 206egando mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
-
6 Co
PARTE V: Referncia
CAPTULO 12: Dicionrio do ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Exemplo de entrada da maioria dos elementos do ActionScript . . . . . . . . . . . . . . 215Exemplo de entrada de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Contedo do dicionrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217Classe Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288Classe Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292Classe Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293Classe BClasse BClasse CClasse CClasse CClasse CClasse CClasse DClasse EClasse FClasse kClasse LClasse LClasse MClasse MClasse MClasse MClasse MClasse NClasse NClasse NClasse OClasse PClasse SClasse SClasse SClasse SClasse SClasse TClasse TClasse VClasse XClasse XClasse Xntedo
oolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307utton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311amera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333olor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358ontextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363ontextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371ustomActions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377ate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381rror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413unction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427ey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449oadVars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468ocalConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479ath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490icrophone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507ouse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524ovieClip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531ovieClipLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602etConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606etStream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607umber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614bject. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
rintJob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645election . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660haredObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671ound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681tring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709ystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723extField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741extFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783ideo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808ML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816MLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841MLSocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
-
APNDICE A: Mensagens de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
APNDICE B: Associatividade e precedncia de operadores . . . . . . . . . . . . . . 857
APNDICE C: Teclas do teclado e valores de cdigos de teclas . . . . . . . . . . . . 859
Letras de A a Z e nmeros padro de 0 a 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859Teclas do teclado numrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861Teclas de funo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862Outras teclas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
APNDIC
Sobre aUsando
APNDIC
Sobre o
NDICE RContedo 7
E D: Criando Scripts para verses anteriores do Flash Player . . . . . . 865
especificao de verses anteriores do Flash Player. . . . . . . . . . . . . . . . . . 865 o Flash MX 2004 para criar contedo para o Flash Player 4 . . . . . . . . . . 866
E E: Programao orientada a objeto com o ActionScript 1 . . . . . . . . 869
ActionScript 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
EMISSIVO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879
-
8 Contedo
-
INTRODUOGuia de introduo ao ActionScript
O MpadlingActidifeoutr
Pblic
Estequelos nActicom
Requi
O AProfconSe vdocu
Usand
Esteo Accadano rna pCap
Antscripformtrab(Co9
ts com ActionScript) e Create a Form with Conditional Logic and Send Data (Criar um ulrio com lgica condicional e enviar dados), que oferecem uma introduo prtica ao
alho com ActionScript. Para localizar essas sees, selecione Help (Ajuda) > How Do I mo) > Quick Tasks (Tarefas rpidas).acromedia Flash MX 2004 e o Flash MX Professional 2004 so as ferramentas de criao ro profissionais para a produo de experincias de grande impacto na Web. ActionScript a uagem usada para desenvolver um aplicativo em Flash. Para usar o Flash, no necessrio onScript mas, se voc desejar fornecer interatividade com o usurio, trabalhar com objeto rentes daqueles contidos no Flash (como botes e clipes de filme) ou transformar de qualquer o modo um arquivo SWF em uma experincia de usurio mais eficiente, use ActionScript.
o-alvo
manual pressupe que o Flash MX 2004 ou Flash MX Professional 2004 esteja instalado e voc saiba como us-lo. necessrio saber como colocar objeto no Stage (Palco) e manipul-o ambiente de criao do Flash. Se voc j tiver escrito programas anteriormente, o
onScript parecer familiar. Caso contrrio, no ser difcil aprender a us-lo. fcil comear comandos bem simples e aumentar a complexidade medida que voc avana.
sitos do sistema
ctionScript no tem qualquer requisito de sistema alm do Flash MX 2004 ou Flash MX essional 2004. Entretanto, a documentao pressupe que voc esteja utilizando as figuraes de publicao padro para os arquivos do Flash: Flash Player 7 e ActionScript 2. oc alterar alguma dessas configuraes, as explicaes e os exemplos de cdigo mostrados na mentao podero no funcionar corretamente.
o a documentao
documento oferece uma viso geral da sintaxe do ActionScript, informaes sobre como usar tionScript ao trabalhar com diferentes tipos de objeto e detalhes sobre a sintaxe e o uso de elemento da linguagem. Comece aprendendo a terminologia e os conceitos bsicos usados estante do documento (consulte o Captulo 2, Conceitos bsicos do ActionScript, gina 21). Em seguida, aprenda o mecanismo para escrever e depurar scripts Flash (consulte o tulo 3, Escrevendo e depurando scripts, na pgina 51).
es de escrever seus prprios scripts, leia as sees Write Scripts with ActionScript (Criar
-
10 Int
Depois de entender os conceitos bsicos, voc estar pronto para usar as informaes no restante deste documento que se aplicarem ao efeito especfico a ser obtido. Por exemplo, para saber como escrever um script que execute uma certa ao quando o usurio clica com o mouse, consulte o Captulo 4, Manipulando eventos, na pgina 79.
Para localizar informaes sobre um certo comando que voc deseja usar, procure a respectiva entrada no Captulo 12, Dicionrio do ActionScript, na pgina 215; cada elemento de linguagem est listado ali em ordem alfabtica.
Convenes tipogrficas
As s
F F
d
Termo
Os s
V O T TTermActi
Recur
H sepa
PUc
PCaC
PU
O sicomtpisabe
O CTechroduo: Guia de introduo ao ActionScript
eguintes convenes tipogrficas so usadas neste manual:
onte de cdigo indica cdigo do ActionScript.onte de cdigo em itlico indica um elemento, como um parmetro ou nome de objeto o ActionScript, substitudo por um texto especfico quando voc escreve um script.
s usados neste documento
eguintes termos so usados neste manual:
oc refere-se ao desenvolvedor que escreve um script ou aplicativo. usurio refere-se pessoa que executar os scripts e aplicativos.empo de compilao o momento em que voc publica, exporta, testa ou depura o documento. empo de execuo o momento em que o script executado no Flash Player.
os do ActionScript como mtodo e objeto so definidos no Captulo 2, Conceitos bsicos do onScript, na pgina 21.
sos adicionais
uma documentao especfica sobre o Flash e produtos relacionados disponvel radamente.
ara obter informaes sobre como trabalhar no ambiente de criao do Flash, consulte sando a Ajuda do Flash. Para obter informaes sobre como trabalhar com componentes,
onsulte Usando a Ajuda de componentes.ara obter informaes sobre como criar aplicativos de comunicao com o Flash ommunication Server, consulte Developing Communications Applications (Desenvolvendo
plicativos de comunicao) e Managing Flash Communication Server (Gerenciando o Flash ommunication Server). ara obter informaes sobre como acessar servios da Web com aplicativos do Flash, consulte sing Flash Remoting (Usando o Flash Remoting).
te Macromedia DevNet na Web (www.macromedia.com/devnet) atualizado periodicamente as informaes mais recentes sobre o Flash, alm de recomendaes de usurios experientes, cos avanados, exemplos, dicas e outras atualizaes. Visite com freqncia o site da Web para r das ltimas novidades sobre o Flash e como obter o mximo do programa.
entro de Suporte do Macromedia Flash (www.macromedia.com/support/flash) fornece Notes, atualizaes de documentao e links para recursos adicionais na comunidade Flash.
-
PARTE IBem-vindo ao ActionScript
Esta
O CPlay
Se ebaseseus
Cap
Cap
Cap
Parte I parte inclui informaes bsicas sobre a linguagem ActionScript.
aptulo 1 contm informaes sobre as novidades ou as alteraes no ActionScript e no Flash er 7. Se voc j tiver usado o ActionScript antes, verifique essas informaes com ateno.
stiver usando o ActionScript pela primeira vez, leia os Captulos 2 e 3 a fim de obter uma boa para entender a terminologia e a sintaxe do ActionScript e para aprender a criar e depurar scripts.
tulo 1: Novidades do ActionScript no Flash MX 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
tulo 2: Conceitos bsicos do ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
tulo 3: Escrevendo e depurando scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
-
CAPTULO 1Novidades do ActionScript no Flash MX 2004
O MaperActilingActimodorie
Eleme
Paraguia
Esta200docu
Oee
Aco
Aco
Am
Oaa
A (
u13
Somente Windows) O ouvinte de eventos Mouse.onMouseWheel gerado quando o usurio sa a esfera do mouse para rolagem. acromedia Flash MX 2004 e o Macromedia Flash MX Professional 2004 oferecem vrios feioamentos que facilitam a criao de scripts mais eficientes com uso da linguagem onScript. Esses novos recursos, analisados neste captulo, incluem novos elementos de uagem, ferramentas de edio e depurao melhoradas (consulte Alteraes do editor do onScript na pgina 16 e Alteraes de depurao na pgina 18) e a introduo a um elo de programao mais orientado a objeto (consulte Novo modelo de programao
ntado a objeto na pgina 18).
ntos de linguagem novos e alterados
obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na Help (Ajuda).
seo descreve os elementos da linguagem ActionScript novos ou alterados no Flash MX 4. Para incluir esses elementos em seus scripts, use o Flash Player 7 (o padro) ao publicar mentos.
s mtodos Array.sort() e Array.sortOn() permitem adicionar parmetros para specificar opes de classificao adicionais, como ordem crescente e decrescente, distino ntre maisculas e minsculas e assim por diante. s propriedades Button.menu, MovieClip.menu e TextField.menu funcionam com as novas lasses ContextMenu e ContextMenuItem para permitir associar itens de menus de contexto a bjeto Button, MovieClip ou TextField. Classe ContextMenu e a Classe ContextMenuItem permitem personalizar o menu de ontexto exibido quando um usurio clica com o boto direito do mouse (Microsoft Windows) u clica e pressiona Control (Macintosh) no Flash Player. Classe Error e os comandos throw e try..catch..finally permitem implementar uma anipulao de excees mais eficiente. s mtodos LoadVars.addRequestHeader() e XML.addRequestHeader() adicionam ou
lteram cabealhos de solicitao HTTP (como Content-Type ou SOAPAction) enviados com es POST. funo MMExecute() permite emitir comandos de API do Flash JavaScript no ActionScript.
-
14 Ca
O mtodo MovieClip.getNextHighestDepth() permite criar instncias de MovieClip durante a execuo e garantir que seus objeto sejam renderizados na frente dos outros objeto no espao de ordem z de um clipe de filme pai. O mtodo MovieClip.getInstanceAtDepth() permite acessar dinamicamente instncias de MovieClip criadas usando a profundidade como ndice de pesquisa.
O mtodo MovieClip.getSWFVersion() permite determinar qual verso do Flash Player um SWF carregado suporta.
O mtodo MovieClip.getTextSnapshot() e o Objeto TextSnapshot permitem trabalhar com texto em campos de texto estticos de um clipe de filme.
A propriedade MovieClip._lockroot permite especificar que um clipe de filme funcione cd
Ac
Alo
AF
OS
A A
p A
c A
cu
Afo
Ac
Oc
OHptulo 1: Novidades do ActionScript no Flash MX 2004
omo _root para os clipes de filme carregados nele, ou que o significado de _root em um clipe e filme no seja alterado se o clipe de filme for carregado em outro clipe. Classe MovieClipLoader permite monitorar o progresso de arquivos conforme eles so arregados em clipes de filme. Classe NetConnection e a Classe NetStream permitem transmitir em fluxo arquivos de vdeo cais (arquivos FLV). Classe PrintJob fornece a voc (e ao usurio) mais controle sobre a impresso a partir do lash Player. manipulador de eventos Sound.onID3 fornece acesso a dados ID3 associados a um objeto
ound que contm um arquivo MP3. propriedade Sound.ID3 fornece acesso aos metadados que fazem parte de um arquivo MP3. Classe System tem novos objeto e mtodos, e o System.capabilities object tem vrias novas ropriedades. propriedade TextField.condenseWhite permite remover o espao em branco extra de ampos de texto HTML renderizados em um navegador. propriedade TextField.mouseWheelEnabled permite especificar se o contedo de um ampo de texto deve rolar quando o ponteiro do mouse posicionado sobre o campo e o surio rola a esfera do mouse. classe Classe TextField.StyleSheet permite criar um objeto de folha de estilos com regras de rmatao de texto, como tamanho de fonte, cor e outros estilos de formatao. propriedade TextField.styleSheet permite anexar um objeto de folha de estilos a um ampo de texto. mtodo TextFormat.getTextExtent() aceita um novo parmetro, e o objeto retornado
ontm um novo membro. mtodo XML.addRequestHeader() permite adicionar ou alterar cabealhos de solicitao TTP (como Content-Type ou SOAPAction) enviados com aes POST.
-
Novo modelo de segurana
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
As regras do Flash Player que determinam se dois domnios so idnticos ou diferentes mudaram no Flash Player 7. Alm disso, regras que determinam se e como um arquivo SWF servido de um domnio HTTP pode acessar um SWF ou carregar dados de um domnio HTTPS foram alteradas. Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 195.
Na maioria dos casos, essas alteraes no o afetam, a menos que voc esteja transferindo arquivos SWPlaychamhavidilParaante
Transf
Paraguia
AssiActimaidisso Flatenso
Conform
ForapropAlmNoadicvoctipoinfona pus-aperTransferindo scripts existentes para o Flash Player 7 15
F existentes para o Flash Player 7. Entretanto, se voc possuir SWFs publicados para o Flash er 6 ou anterior que carreguem dados de um arquivo armazenado em um servidor, e o SWF ador for executado no Flash Player 7, o usurio poder ver uma caixa de dilogo que no
a aparecido antes, perguntando se o acesso deve ser permitido. Para evitar que essa caixa de ogo aparea, implemente um arquivo de diretivas no site onde os dados esto armazenados. obter mais informaes, consulte Sobre compatibilidade com os modelos de segurana riores do Flash Player na pgina 199.
erindo scripts existentes para o Flash Player 7
obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na Help (Ajuda).
m como em qualquer nova verso, o Flash Player 7 oferece suporte a mais comandos do onScript do que verses anteriores; voc pode usar esses comandos para implementar scripts s eficientes. (Consulte Elementos de linguagem novos e alterados na pgina 13.) Alm o, o comportamento de alguns recursos existentes foi alterado. Se possuir scripts escritos para ash Player 6 ou anterior que deseja publicar no Flash Player 7, modifique os scripts para que dam implementao do Flash Player 7 e funcionem como determinado. Essas modificaes analisadas nesta seo.
idade com ECMA-262 edio 4
m implementadas diversas alteraes no Flash Player 7 para atender mais exatamente osta do padro ECMA-262 edio 4 (consulte www.mozilla.org/js/language/es4/index.html). das tcnicas de programao baseadas em classes disponveis no ActionScript 2 (consulte
vo modelo de programao orientado a objeto na pgina 18), outros recursos foram ionados e certos comportamentos foram alterados. Alm disso, ao publicar no Flash Player 7, pode declarar o tipo de objeto de uma varivel ao cri-la; esse recurso chama-se definio de
s de dados estritos. Voc tambm pode converter um tipo de objeto em outro. Para obter mais rmaes, consulte Atribuio estrita de tipos de dados na pgina 35 e Convertendo objeto gina 36. Esses recursos no exigem a atualizao de scripts existentes; entretanto, voc pode los ao publicar seus scripts em Flash Player 7 e, posteriormente, continuar a revis-los e feio- los.
-
16 Ca
Lembre-se de que as alteraes a seguir, que tambm aumentam a conformidade com ECMA, podem fazer com que scripts existentes passem a funcionar de forma diferente. Se tiver usado esses recursos em scripts existentes que deseja publicar no Flash Player 7, revise as alteraes feitas para garantir que o cdigo ainda funcione como desejado ou para determinar se preciso reescrev-lo.
Altera
O eusar
QueScriquepopCom
Exiblingitemelem
Impno pcdexis
SWF publicado para Flash Player 7 SWF publicado para verses anteriores do Flash Player
Suporte para distino entre maisculas e minsculas (nomes de variveis que diferem somente no uso de maisculas so interpretados como variveis diferentes). Ess#inLoaDis
No h suporte para distino entre maisculas e minsculas (nomes de variveis que diferem somente no uso
Ava
O v
Quavalocomumaptulo 1: Novidades do ActionScript no Flash MX 2004
es do editor do ActionScript
ditor do ActionScript foi atualizado de vrias formas para torn-lo mais eficiente e fcil de . Essas alteraes so resumidas nesta seo.
bra automtica de linha Voc pode usar o menu pop-up Options (Opes) no painel pt, no painel Debugger (Depurador) e no painel Output (Sada) para ativar ou desativar a bra automtica de linha. Pode tambm alternar a quebra automtica de linha usando o menu -up no painel Actions (Aes). O atalho de teclado Control+Shift+W (Windows) ou mand+Shift+W (Macintosh).
indo a ajuda contextual Quando o ponteiro posicionado sobre um elemento da uagem ActionScript na caixa de ferramentas Actions ou no painel Script, voc pode usar o View Help (Exibir Ajuda) no menu de contexto para exibir uma pgina de ajuda sobre esse ento.
ortando scripts Quando voc seleciona Import Script (Importar script) no menu pop-up ainel Actions, o script importado copiado para o script no ponto de insero do arquivo de
igo. Em verses anteriores do Flash, a importao de um script substitua o contedo do script tente.
a alterao tambm afeta arquivos carregados com clude e variveis externas carregadas com dVars.load(). Para obter mais informaes, consulte tino entre maisculas e minsculas na pgina 25.
de maisculas so interpretados como sendo a mesma varivel).
liar undefined em um contexto numrico retorna NaN. Avaliar undefined em um contexto numrico retorna 0.
alor de undefined.toString() undefined. O valor de undefined.toString() "" (uma seqncia de caracteres vazia).
ndo voc converter uma seqncia de caracteres em um r booleano, o resultado ser true se a seqncia tiver primento superior a zero; o resultado ser false para seqncia vazia.
Quando voc converter uma seqncia de caracteres em um valor booleano, a seqncia ser convertida primeiro em um nmero; o resultado ser true se o nmero for diferente de zero; caso contrrio, ser false.
-
Pontos de interrupo de clique nico Para adicionar um ponto de interrupo de depurao antes de uma linha de cdigo no painel Debugger ou no painel Script do painel Actions, clique na margem esquerda. Nas verses anteriores do Flash, clicar na margem esquerda selecionava uma linha de cdigo. A nova forma de selecionar uma linha de cdigo clicar e pressionar Control (Windows) ou clicar e pressionar Command (Macintosh).
Os modos normal e especialista no esto mais no painel Actions Em verses anteriores do Flash, voc podia trabalhar no painel Actions no modo normal, em que preenchia as opes e os parmetros para criar o cdigo, ou no modo especialista, em que adicionava comandos diretamente ao painel Script. No Flash MX 2004 e no Flash MX Professional 2004, voc s pode trabalhar no painel Actions adicionando comandos diretamente ao painel Script. Voc ainda pode arra(Ad
Prepartpren
NavconScriFLA
Janpodescrsinttamtipoos nsomAlteraes do editor do ActionScript 17
star comandos da caixa de ferramentas Actions para o painel Script ou usar o boto Add (+) icionar) acima do painel Script para adicionar comandos a um script.
ndendo vrios scripts Voc pode prender vrios scripts em um arquivo FLA ao longo da e inferior do painel Script no painel Actions. Em verses anteriores do Flash, s era possvel der um script por vez.
egador Script (somente Flash Professional) O lado esquerdo do painel Actions agora tm dois painis: a caixa de ferramentas Actions e um novo navegador Script. O navegador pt uma representao visual da estrutura do arquivo FLA; voc pode navegar pelo arquivo aqui para localizar cdigo ActionScript.
ela Script integrada para editar arquivos externos (somente Flash Professional) Voc e usar o editor do ActionScript em uma janela Script (separada do painel Actions) para ever e editar arquivos de script externos. Na janela Script, h suporte para a sinalizao da axe por cores, referncias de cdigo e outras preferncias; a caixa de ferramentas Actions bm est disponvel. Para exibir a janela Script, use File (Arquivo) > New (Novo) e selecione o de arquivo externo a ser editado. possvel abrir vrios arquivos externos ao mesmo tempo; omes dos arquivo so exibidos em guias na parte superior da janela Script. (As guias aparecem ente no Windows.)
-
18 Ca
Alteraes de depurao
Esta seo descreve as alteraes que melhoram a depurao de scripts.
Janela Output alterada para painel Output Agora voc pode mover e acoplar o painel Output da mesma forma que qualquer outro painel do Flash.
Relatrio de erros aperfeioado no tempo de compilao Alm de fornecer uma manipulao de excees mais eficiente, o ActionScript 2 exibe diversos novos erros durante a compilao. Para obter mais informaes, consulte Apndice A, Mensagens de erro, na pgina 851.
Mantry
Novo
A lincadaadic200impComActi
O AelemintrparaNovling
O Asimplingprinprectipona pde eptulo 1: Novidades do ActionScript no Flash MX 2004
ipulao de excees melhorada A classe Error e os comandos throw e ..catch..finally permitem implementar uma manipulao de excees mais eficiente.
modelo de programao orientado a objeto
guagem ActionScript cresceu e desenvolveu-se desde sua introduo, h vrios anos. Com nova verso do Flash, mais palavras-chave, objeto, mtodos e outros elementos so ionados linguagem. Entretanto, ao contrrio de verses anteriores do Flash, o Flash MX 4 e o Flash MX Professional 2004 apresentam diversos novos elementos de linguagem que lementam a programao orientada a objeto de uma forma mais padronizada do que antes. o esses elementos de linguagem representam um aperfeioamento significativo da linguagem
onScript bsica, eles representam uma nova verso do prprio ActionScript 2.
ctionScript 2 no uma nova linguagem. Em vez disso, ele abrange um conjunto bsico de entos de linguagem que facilitam desenvolver programas orientados a objeto. Com a
oduo de palavras-chave como class, interface, extends e implements, agora mais fcil os programadores familiarizados com outras linguagens aprender a sintaxe do ActionScript. os programadores aprendem uma terminologia mais padronizada que podem aplicar a outras uagens orientadas a objeto que venham a estudar no futuro.
ctionScript 2 oferece suporte a todos os elementos padro da linguagem ActionScript; ele lesmente permite escrever scripts que atendam melhor aos padres usados em outras
uagens orientadas a objeto, como JavaScript e Java. O ActionScript 2 deve interessar cipalmente a desenvolvedores de Flash intermedirios ou avanados que criem aplicativos que isam da implementao de classes e subclasses. O ActionScript 2 tambm permite declarar o de objeto de uma varivel quando voc a cria (consulte Atribuio estrita de tipos de dados gina 35) e fornece erros de compilador bem aprimorados (consulte Apndice A, Mensagens rro, na pgina 851).
-
Os novos elementos de linguagem do ActionScript 2 esto listados abaixo.
class extends implements interface dynamic static public p g s iAs p
OaAc
Vloee
Opimddm
Paraa obNovo modelo de programao orientado a objeto 19
rivate
et
et
mport
rincipais consideraes sobre o ActionScript 2 incluem os seguintes pontos:
s scripts que usam elementos de linguagem do ActionScript 2 devem ser armazenados como rquivos de script externos, com uma nica classe definida em cada script; ou seja, o painel ctions no oferece suporte para a terminologia do ActionScript 2. (A nica exceo o omando import, que suportado no painel Actions.)oc pode importar arquivos de classes individuais implicitamente (armazenando-os em um cal especificado por caminhos de pesquisa globais ou especficos de documentos) ou
xplicitamente (usando o comando import); possvel importar (colees de arquivos de classe m um diretrio) usando caracteres curingas.s aplicativos desenvolvidos com o ActionScript 2 so suportados pelo Flash Player 6 e verses
osteriores. Entretanto, os arquivos que usam o ActionScript 2 e especificam o Flash Player 6 plementam a distino entre maisculas e minsculas durante a compilao, mas no
urante a execuo; isso pode causar conflitos de tempo de execuo, cujo diagnstico pode ser ifcil. Para obter mais informaes, consulte ActionScript 2, Flash Player 6 e distino entre aisculas e minsculas na pgina 26.
obter mais informaes sobre como usar o ActionScript 2 para escrever programas orientados jeto no Flash, consulte o Captulo 9, Criando classes com o ActionScript 2, na pgina 159.
-
20 Captulo 1: Novidades do ActionScript no Flash MX 2004
-
CAPTULO 2Conceitos bsicos do ActionScript
O Apalaingl
As rtamentr
Difere
Parapart
Supor
O Mcoddifeingl
Vocna i(Cocodtrad
Em UTpref
Se oalterarqupref21ctionScript possui regras de gramtica e pontuao que determinam quais caracteres e vras so usados para criar significado e em que ordem eles podem ser escritos. Por exemplo, no s, um ponto encerra uma frase. No ActionScript, um ponto-e-vrgula encerra um comando.
egras gerais a seguir aplicam-se a todo o ActionScript. A maioria dos termos do ActionScript bm tem requisitos individuais; para ver as regras de um termo especfico, consulte sua ada no Captulo 12, Dicionrio do ActionScript, na pgina 215.
nas entre o ActionScript e o JavaScript
obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na e superior da guia Help (Ajuda).
te a Unicode para ActionScript
acromedia Flash MX 2004 e o Macromedia Flash MX Professional 2004 oferecem suporte ificao de texto Unicode para o ActionScript. Isso significa que possvel incluir texto em rentes idiomas em um arquivo do ActionScript. Por exemplo, voc pode incluir texto em s, japons e francs no mesmo arquivo.
pode definir as preferncias do ActionScript para especificar o tipo de codificao a ser usada mportao ou exportao de arquivos do ActionScript. Selecione UTF-8 ou Default Encoding dificao padro). UTF-8 o formato Unicode de 8 bits; Default Encoding a forma de ificao suportada pelo idioma que seu sistema utiliza, chamada tambm pgina de cdigo icional.
geral, ao importar ou exportar arquivos do ActionScript em formato UTF-8, use a preferncia F-8. Se importar ou exportar arquivos na pgina de cdigo tradicional do sistema, use a erncia Default Encoding.
texto dos scripts no tiver a aparncia esperada quando voc abrir ou importar um arquivo, e a preferncia de codificao de importao. Se receber uma mensagem de aviso ao exportar ivos do ActionScript, altere a preferncia de codificao de exportao ou desative o aviso nas erncias do ActionScript.
-
22 Ca
Para selecionar opes de codificao de texto para importao ou exportao de arquivos do ActionScript:
1 Na caixa de dilogo Preferences (Preferncias), em Edit (Editar) > Preferences, clique na guia ActionScript.
2 Em Editing Options (Opes de edio), siga uma ou ambas as instrues: Em Open/Import (Abrir/importar), selecione UTF-8 para abrir ou importar usando a
codificao Unicode, ou selecione Default Encoding para abrir ou importar usando a forma de codificao do idioma usado do seu sistema.
Em Save/Export (Salvar/exportar), selecione UTF-8 para salvar ou exportar usando a codificao Unicode, ou selecione Default Encoding para salvar ou exportar usando a forma
Par
1 N2 S
(
Termi
Comforn
APorNes
Boo
Clasdefiescr
Conmesvalo
ConPorclasscon// cla
pp
// f
}}ptulo 2: Conceitos bsicos do ActionScript
de codificao do idioma do seu sistema.
a ativar ou desativar o aviso de codificao de exportao:
a caixa de dilogo Preferences, em Edit > Preferences, clique na guia Warnings (Avisos).elecione ou cancele a seleo de Warn on Encoding Conflicts When Exporting .as Files Avisar em conflitos de codificao ao exportar arquivos .as).
nologia
o em toda linguagem de script, o ActionScript usa sua prpria terminologia. A lista a seguir ece uma introduo aos termos importantes do ActionScript.
es so comandos que instruem um arquivo SWF a fazer algo enquanto reproduzido. exemplo, gotoAndStop() envia a reproduo para um quadro ou identificador especfico. te manual, os termos ao e comando so equivalentes.
leano um valor true (verdadeiro) ou false (falso).
ses so tipos de dados que podem ser criados para definir um novo tipo de objeto. Para nir uma classe, use a palavra-chave class em um arquivo de script externo, no em um script ito no painel Actions (Aes).
stantes so elementos que no se alteram. Por exemplo, a constante Key.TAB sempre tem o mo significado: ela indica a tecla Tab em um teclado. Constantes so teis para comparar res.
strutores so funes usadas para definir as propriedades e os mtodos de uma classe. definio, construtores so funes em uma definio de classe que tm o mesmo nome que a e. Por exemplo, o cdigo abaixo define uma classe Circle (Crculo) e implementa uma funo
strutora : arquivo Circle.asss Circle {rivate var radius:Numberrivate var circumference:Numberconstrutorunction Circle(radius:Number) {circumference = 2 * Math.PI * radius;
-
O termo construtor tambm usado quando voc cria (instancia) um objeto baseado em uma classe especfica. Os comandos abaixo so construtores para a classe Array interna e a classe Circle personalizada:my_array:Array = new Array();my_circle:Circle = new Circle();
Tipos de dados descrevem que tipos de informaes um elemento do ActionScript ou varivel pode conter. Os tipos de dados do ActionScript so String (Seqncia de caracteres), Number (Nmero), Boolean (Booleano), Object (Objeto), MovieClip (Clipe de filme), Function (Funo), null (nulo) e undefined (indefinido). Para obter mais informaes, consulte Sobre tipos de dados na pgina 31.
Evegeraum
ManExisevenonCferraouvAlgue so
Expexproper
FunPara
Idenfun($). exem
Instas pclasscom
Nomclipno Se as scosco
_ro_ro
VocUsobteTerminologia 23
ntos so aes que ocorrem enquanto um arquivo SWF reproduzido. Por exemplo, so dos eventos diferentes quando um clipe de filme carregado, quando a reproduo entra em quadro, quando o usurio clica em um boto ou clipe de filme, ou quando digita no teclado.
ipuladores de eventos so aes especiais que gerenciam eventos como mouseDown ou load. tem dois tipos de manipuladores de eventos do ActionScript: mtodos de manipulador de tos e ouvintes de eventos. (Existem tambm dois manipuladores de eventos, on() e lipEvent(), que voc pode atribuir diretamente a botes e clipes de filme.) Na caixa de mentas Actions, cada objeto do ActionScript com mtodos de manipulador de eventos ou
intes de eventos tem uma subcategoria chamada Events (Eventos) ou Listeners (Ouvintes). ns comandos podem ser usados como manipuladores de eventos e como ouvintes de eventos includos nas duas subcategorias.
resses so combinaes legais de smbolos do ActionScript que representam um valor. Uma esso consiste em operadores e operandos. Por exemplo, na expresso x + 2, x e 2 so andos e + um operador.
es so blocos de cdigo reutilizveis que podem receber parmetros e retornar um valor. obter mais informaes, consulte Criando funes na pgina 48.
tificadores so nomes usados para indicar uma varivel, uma propriedade, um objeto, uma o ou um mtodo. O primeiro caractere deve ser uma letra, um sublinhado (_) ou um cifro Cada caractere seguinte deve ser uma letra, um nmero, um sublinhado ou um cifro. Por plo, firstName o nome de uma varivel.
ncias so objeto que pertencem a certas classes. Cada instncia de uma classe contm todas ropriedades e mtodos dessa classe. Por exemplo, todos os clipes de filme so instncias da e MovieClip, portanto voc pode usar qualquer mtodo ou propriedade da classe MovieClip qualquer instncia de clipe de filme.
es de instncia so nomes exclusivos que permitem fazer referncia a instncias de botes e es de filme em scripts. Use o inspetor Property (Propriedades) para atribuir nomes a instncias tage (Palco). Por exemplo, um smbolo principal na biblioteca pode ser chamado de counter duas instncias desse smbolo no arquivo SWF podem ter os nomes de instncia rePlayer1_mc e scorePlayer2_mc. O seguinte cdigo define uma varivel denominada re em cada instncia de clipe de filme por meio de nomes de instncias:ot.scorePlayer1_mc.score += 1;ot.scorePlayer2_mc.score -= 1;
pode usar sufixos especiais ao nomear instncias para que referncias de cdigo (consulte ando referncias de cdigo na pgina 60) apaream medida que voc digita o cdigo. Para r mais informaes, consulte Usando sufixos para ativar referncias de cdigo na pgina 58.
-
24 Ca
Palavras-chave so palavras reservadas que tm significado especial. Por exemplo, var uma palavra-chave usada para declarar variveis locais. No possvel usar uma palavra-chave como um identificador. Por exemplo, var no um nome de varivel legal.
Mtodos so funes associadas a uma classe. Por exemplo, getBytesLoaded() um mtodo interno associado classe MovieClip. Voc tambm pode criar funes que funcionem como mtodos, para objeto baseados em classes internas ou objeto baseados nas classes criadas por voc. Por exemplo, no cdigo abaixo, clear() torna-se um mtodo de um objeto controller que voc j definiu: function reset(){
this.x_pos = 0;t
}concon
ObjinstPor
Opeoperman
Parvaloparfun
w}
Prode t
Camvariinsp_roou pde d_ro
Parapath
As valterscripvarvarvar
Paraptulo 2: Conceitos bsicos do ActionScript
his.x_pos = 0;
troller.clear = reset; troller.clear();
eto so colees de propriedades e mtodos; cada objeto tem seu prprio nome e uma ncia de uma classe especfica. Objeto internos so predefinidos na linguagem ActionScript. exemplo, o objeto interno Date fornece informaes sobre o relgio do sistema.
radores so termos que calculam um novo valor de um ou mais valores. Por exemplo, o ador de adio (+) adiciona dois ou mais valores para produzir um novo valor. Os valores ipulados pelos operadores so denominados operandos.
metros (tambm denominados argumentos) so espaos reservados que permitem passar res para funes. Por exemplo, a seguinte funo welcome() usa dois valores que recebe nos metros firstName e hobby: ction welcome(firstName, hobby) {elcomeText = "Hello, " + firstName + "I see you enjoy " + hobby;
priedades so atributos que definem um objeto. Por exemplo, _visible uma propriedade odos os clipes de filme que define se eles esto visveis ou ocultos.
inhos de destino so endereos hierrquicos de nomes de instncias de clipes de filme, veis e objeto em um SWF. Voc pode dar um nome a uma instncia de clipe de filme no etor Property do clipe de filme. (A Timeline (Linha de tempo) principal sempre tem o nome ot.) Voc pode usar um caminho de destino para direcionar uma ao em um clipe de filme, ara obter ou definir o valor de uma varivel. Por exemplo, o seguinte comando o caminho estino da varivel volume dentro do clipe de filme stereoControl: ot.stereoControl.volume
obter mais informaes sobre caminhos de destino, consulte Absolute and relative target s (Caminhos de destino absolutos e relativos) em Usando a Ajuda do Flash.
ariveis so identificadores que contm valores de qualquer tipo de dado. possvel criar, ar e atualizar variveis. Os valores que elas armazenam podem ser recuperados para uso em ts. No exemplo a seguir, os identificadores no lado esquerdo dos sinais de igual so variveis: x = 5; name = "Lolo"; c_color = new Color(mcinstanceName);
obter mais informaes sobre variveis, consulte Sobre variveis na pgina 36.
-
Sintaxe
Como em qualquer linguagem, o ActionScript tem regras de sintaxe a serem seguidas para criar scripts que possam ser compilados e executados corretamente. Esta seo descreve os elementos que compem a sintaxe do ActionScript.
Distino entre maisculas e minsculas
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Em uma linguagem de programao que distingue maisculas e minsculas, nomes de variveis quea didepindemaide n
Qualingobtena p
Flash
QuaentrActinom// // //// catCAT
// varvarvar
// varvarSintaxe 25
diferem somente em sua primeira letra (book e Book) so considerados diferentes. No Flash, stino entre maisculas e minsculas implementada de forma um pouco diferente, endendo da verso do Flash Player especificada e da sua verso do ActionScript. Assim, pendentemente do Flash Player especificado, recomendvel seguir convenes de sculas e minsculas consistentes, como as usadas neste manual, para facilitar a identificao omes de funes e variveis no cdigo do ActionScript.
ndo Syntax coloring (Sinalizao da sintaxe por cores) estiver ativada, os elementos de uagem escritos corretamente em maisculas ou minsculas ficaro azuis por padro. Para r mais informaes, consulte Palavras-chave na pgina 30 e Realce de sintaxe gina 57.
Player 7 ou posterior e distino entre maisculas e minsculas
ndo voc publica arquivos para Flash Player 7 ou posterior, o Flash implementa a distino e maisculas e minsculas durante a compilao e a execuo, independentemente do uso do onScript 1 ou ActionScript 2. Isso significa que palavras-chave, nomes de classes, variveis, es de mtodos e outros distinguem maisculas e minsculas. Por exemplo:Em arquivo que especifique o Flash Player 7e o ActionScript 1 ou o ActionScript 2
Define propriedades de dois objeto diferentes.hilite = true;.hilite = true;
Cria trs variveis diferentes myVar=10; myvar=10; mYvAr=10;
No gera um erro array = new Array(); date = new Date();
-
26 Ca
Alm disso, a distino entre maisculas e minsculas implementada durante a compilao e a execuo para scripts externos, como arquivos de classe do ActionScript 2 ou scripts que voc importa com o comando #include. Assim, se voc fizer upgrade do Flash MX ou anterior para o Flash MX 2004 e j tiver criado arquivos externos adicionados aos scripts com o comando #include, ser necessrio revisar cada arquivo e confirmar o uso consistente de maisculas ou minsculas em todos eles. Uma forma de fazer isso abrir o arquivo na janela Script (somente Flash Professional) ou, em um novo arquivo FLA, definir as configuraes de publicao para o Flash Player 7 e copiar o contedo do arquivo para o painel Actions. Em seguida, use o boto Check Syntax (Verificar sintaxe) (consulte Verificando sintaxe e pontuao na pgina 63) ou publique o arquivo; os erros causados por conflitos de nomeao aparecero no painel Output (Sada).
Actio
Qua(Copalaessaimpcomde dfalhcom// // //// // catCAT
// // varvarvar
// varvarptulo 2: Conceitos bsicos do ActionScript
nScript 2, Flash Player 6 e distino entre maisculas e minsculas
ndo voc especifica ActionScript 2 e Flash Player 6 na caixa de dilogo Publish Settings nfiguraes de publicao), a distino entre maisculas e minsculas de variveis (mas no de vras-chave) implementada durante a compilao, mas no durante a execuo. Na prtica, implementao significa que erros de distino entre maisculas e minsculas, que podem edir os programas de funcionarem corretamente durante a execuo, no aparecem durante a pilao. Por exemplo, no sero exibidos erros durante a compilao em funo da existncia uas variveis score e Score em um script, embora elas possam estar em conflito e causar a a silenciosa do script durante a execuo. Como o conflito no aparente durante a pilao, voc dever diagnosticar esse tipo de problema sozinho.Em arquivo que especifica o Flash Player 6e usa o ActionScript 2
Define propriedades de dois objeto diferentes durante a compilaomas trata os dois como o mesmo objeto durante a execuo.hilite = true;.hilite = true;
Cria trs variveis diferentesmas trata as trs como a mesma varivel durante a execuo myVar=10; myvar=10; mYvAr=10;
Gera erros durante a compilao array = new Array(); date = new Date();
-
ActionScript 1, Flash Player 6 ou anterior e distino entre maisculas e minsculas
Se voc usar o ActionScript 1 e especificar o Flash Player 6 ou anterior, a distino entre maisculas e minsculas no ser implementada. Os nomes de variveis que diferirem somente quanto ao uso de maisculas ou minsculas sero considerados idnticos. Alm disso, nomes de variveis no podero ser iguais a palavras-chave, mesmo se houver distino entre maisculas e minsculas.// Em arquivo que especifica o Flash Player 6 ou anterior// e usa o ActionScript 1//// catCAT
// varvarvar
// varvar
Sintaxe
No a umum coma ser
Por A ex
Outde fsub
A exo mbal
bal
A siTimPorfun
_ro
Vocaninse oinst_paSintaxe 27
Define propriedades de um nico objeto.hilite = true;.hilite = true;
Cria uma varivel myVar=10; myvar=10; mYvAr=10;
Gera erros durante a compilao array = new Array(); date = new Date();
de ponto
ActionScript, um ponto (.) usado para indicar as propriedades ou os mtodos relacionados objeto ou clipe de filme. O ponto tambm usado para identificar o caminho de destino at
clipe de filme, uma varivel, uma funo ou um objeto. Uma expresso de sintaxe de ponto ea com o nome do objeto ou clipe de filme seguido de um ponto e termina com o elemento especificado.
exemplo, a propriedade _x do clipe de filme indica a posio no eixo x desse clipe no Stage. presso ballMC._x se refere propriedade _x da instncia ballMC do clipe de filme.
ro exemplo: submit uma varivel definida no clipe de filme form, que aninhado no clipe ilme shoppingCart. A expresso shoppingCart.form.submit = true define a varivel mit da instncia form como true.
presso do mtodo de um objeto ou clipe de filme segue o mesmo padro. Por exemplo, todo play() da instncia de clipe de filme ball_mc move a reproduo na Timeline de l_mc, como mostrado no comando abaixo:l_mc.play();
ntaxe de ponto tambm usa dois aliases especiais, _root e _parent. O alias _root refere-se eline principal. Voc pode usar o alias _root para criar um caminho de destino absoluto. exemplo, o seguinte comando chama a funo buildGameBoard() no clipe de filme ctions na Timeline principal:ot.functions.buildGameBoard();
pode usar o alias _parent para se referir a um clipe de filme no qual o objeto atual esteja hado. Pode tambm usar _parent para criar um caminho de destino relativo. Por exemplo,
clipe de filme dog_mc estiver aninhado no clipe de filme animal_mc, o seguinte comando na ncia dog_mc informar que animal_mc deve parar:rent.stop();
-
28 Ca
Chaves
No ActionScript, manipuladores de eventos, definies de classes e funes so agrupados em blocos com chaves ({}). A chave inicial pode ser colocada na mesma linha que a declarao ou na prxima linha, como mostrado nos exemplos a seguir. Para tornar o cdigo mais legvel, recomendvel escolher um formato e us-lo de forma consistente.// Manipulador de eventoson (release) {
myDate = new Date();currentMonth = myDate.getMonth();
}
on({
mc
}
// cla}
cla{}
// cir
r}
squ{
r}
Vocsint
Pontos
Umnestvarvar
Se oPorptulo 2: Conceitos bsicos do ActionScript
release)
yDate = new Date();urrentMonth = myDate.getMonth();
Classess Circle(radius) {
ss Square(side)
Funo cleArea = function(radius) {eturn radius * radius * MATH.PI;
areArea = function(side)
eturn side * side;
pode verificar a existncia de chaves correspondentes nos scripts; consulte Verificando axe e pontuao na pgina 63.
-e-vrgulas
comando do ActionScript terminado por um ponto-e-vrgula (;), como mostrado es exemplos: column = passedDate.getDay(); row = 0;
ponto-e-vrgula de terminao for omitido, o Flash ainda assim compilar o script com xito. m, o uso do ponto-e-vrgula uma prtica recomendvel na criao de scripts.
-
Parnteses
Ao definir uma funo, coloque os parmetros entre parnteses:function myFunction (name, age, reader){
// Insira seu cdigo aqui}
Ao chamar uma funo, inclua os parmetros passados para ela entre parnteses da seguinte forma:myFunction (Steve, 10, true);
Tambm possvel usar parnteses para substituir a ordem de precedncia do ActionScript ou para facilitar a leitura dos comandos do ActionScript. (Consulte Associatividade e precedncia de o
Usepone crionC
(}
Se vonC
mm
}
Vocsint
Comen
baso vocmai
Paraduaon
/mc/myc
}
QuacomarquActiSintaxe 29
peradores na pgina 41.)
parnteses tambm para avaliar uma expresso esquerda de um ponto em uma sintaxe de to. Por exemplo, no seguinte comando, os parnteses fazem com que new Color(this) avalie e um novo objeto Color:lipEvent (enterFrame){new Color(this)).setRGB(0xffffff);
oc no usar parnteses, adicione um comando para avaliar a expresso:lipEvent (enterFrame){yColor = new Color(this);yColor.setRGB(0xffffff);
pode verificar a existncia de parnteses correspondentes nos scripts; consulte Verificando axe e pontuao na pgina 63.
trios
stante recomendvel usar comentrios para adicionar observaes a scripts. Os comentrios teis para registrar as suas intenes e passar informaes para outros desenvolvedores, caso esteja trabalhando em um ambiente de colaborao ou fornecendo amostras. Ser muito
s fcil entender um script, por mais simples que ele seja, se voc fizer observaes ao cri-lo:
indicar que uma linha ou parte de uma linha um comentrio, anteceda o comentrio com s barras (//):(release) {/ cria um novo objeto DateyDate = new Date();urrentMonth = myDate.getMonth();/ converte o nmero do ms no nome do msonthName = calcMonth(currentMonth);ear = myDate.getFullYear();urrentDate = myDate.getDate();
ndo Syntax coloring estiver ativada (consulte Realce de sintaxe na pgina 57), os entrios ficaro em cinza por padro. O tamanho dos comentrios no afeta o tamanho do ivo exportado e eles no precisam seguir as regras de palavras-chave ou sintaxe do onScript.
-
30 Ca
Para comentar uma parte inteira do script, coloque o comentrio em bloco, em vez de adicionar // ao incio de cada linha. Essa tcnica mais fcil e til quando voc deseja testar somente partes de um script comentando grandes sees dele.
Para criar um bloco de comentrio, coloque /* no incio das linhas comentadas e */ no fim. Por exemplo, quando o seguinte script executado, a parte do cdigo contida no bloco no executada:// O cdigo abaixo executadovar x:Number = 15;var y:Number = 20;// O cdigo abaixo no executado/*on
/mc/myc
}*/// varvar
Palavra
O Acompala
Consta
Um
Por objeEntif(
ac
}
bre
def
ext
if
ins
pub
swi
voiptulo 2: Conceitos bsicos do ActionScript
(release) {/ cria um novo objeto DateyDate = new Date();urrentMonth = myDate.getMonth();/ converte o nmero do ms no nome do msonthName = calcMonth(currentMonth);ear = myDate.getFullYear();urrentDate = myDate.getDate();
O cdigo abaixo executado name:String = My name is; age:Number = 20;
s-chave
ctionScript reserva palavras para uso especfico na linguagem, portanto voc no pode us-las o identificadores, como nomes de variveis, funes ou rtulos. A tabela seguinte lista todas as vras-chave do ActionScript:
ntes
a constante uma propriedade cujo valor nunca alterado.
exemplo, as constantes BACKSPACE, ENTER, QUOTE, RETURN, SPACE e TAB so propriedades do to Key e se referem s teclas do teclado. Para testar se o usurio est pressionando a tecla er, voc pode usar o seguinte comando:Key.getCode() == Key.ENTER) {lert = "Are you ready to play?";ontrolMC.gotoAndStop(5);
ak case class continue
ault delete dynamic else
ends for function get
implements import in
tanceof interface new private
lic return set static
tch this typeof var
d while with
-
Sobre tipos de dados
Os tipos de dados descrevem que tipos de informaes um elemento do ActionScript ou varivel pode conter. Existem dois tipos de dados internos no Flash: primitivo e referncia. Os dados do tipo primitivo String, Number e Boolean tm um valor constante e, portanto, podem manter o valor real do elemento que representam. Os de referncia MovieClip e Object tm valores que podem ser alterados e, portanto, contm referncias ao valor real do elemento. Em determinadas situaes, as variveis que contm tipos de dados primitivos comportam-se de maneira diferente das que contm tipos de dados de referncia. (Consulte Usando variveis em um programa na pgina 39.) Existem tambm dois tipos de dados especiais: null e undefined.
No com
Cad
Ao dparaDe
VocArr
String
Umseqdupexemfav
VocO ApartgreSobre tipos de dados 31
Flash, qualquer objeto interno que no seja do tipo de dado primitivo ou de clipe de filme, o Array ou Math (Matemtica), ser do tipo de dado Object.
a tipo de dado possui suas prprias regras e descrito nos seguintes tpicos:
String na pgina 31Number na pgina 32Boolean na pgina 32Object na pgina 33MovieClip na pgina 33Null na pgina 33Undefined na pgina 33
epurar scripts, talvez voc precise determinar os tipos de dados de uma expresso ou varivel entender seu comportamento. Isso pode ser feito com o operador typeof (consulte terminando o tipo de dados de um item na pgina 34).
pode converter um tipo de dado em outro usando uma das seguintes funes de converso: ay(), Boolean(), Number(), Object(), String().
a seqncia de caracteres uma seqncia de letras, nmeros e sinais de pontuao. Insira ncias de caracteres em comandos do ActionScript colocando-as entre aspas simples ou las. As seqncias de caracteres so tratadas como caracteres e no como variveis. Por plo, no seguinte comando, "L7" uma seqncia de caracteres:
oriteBand = "L7";
pode usar o operador de adio (+) para concatenar, ou unir, duas seqncias de caracteres. ctionScript trata os espaos no comeo ou no final de uma seqncia de caracteres como uma e literal dessa seqncia. A seguinte expresso inclui um espao depois da vrgula: eting = "Welcome," + firstName;
-
32 Ca
Para incluir aspas em uma seqncia de caracteres, coloque uma barra invertida (\) antes dessas aspas. Isso chamado de caractere de escape. H outros caracteres que s podem ser representados no ActionScript por seqncias de escape especiais. A tabela seguinte fornece todos os caracteres de escape do ActionScript:
Numbe
O tinm(/), inte(squMat
Para
Boolea
Umem lgiscriponC
i
}}
Con
Seqncia de escape Caractere
\b Caractere Backspace (ASCII 8)
\f Caractere de alimentao de formulrio (ASCII 12)
\n Caractere de alimentao de linha (ASCII 10)
\r
\t
\"
\'
\\
\00
\x0
\u0ptulo 2: Conceitos bsicos do ActionScript
r
po de dados number um nmero de dupla preciso e ponto flutuante. possvel manipular eros usando os operadores aritmticos de adio (+), subtrao (-), multiplicao (*), diviso mdulo (%), incremento (++) e decremento (--). Tambm possvel usar mtodos das classes rnas Math e Number para manipular nmeros. O seguinte exemplo usa o mtodo sqrt() are root - raiz quadrada) para retornar a raiz quadrada do nmero 100: h.sqrt(100);
obter mais informaes, consulte Operadores numricos na pgina 42.
n
valor booleano true ou false. O ActionScript tambm converte os valores true e false 1 e 0 quando apropriado. Os valores booleanos so freqentemente usados com operadores cos em comandos do ActionScript que fazem comparaes para controlar o fluxo de um t. Por exemplo, no seguinte script, o SWF ser reproduzido se a varivel password for true: lipEvent (enterFrame){f (userName == true && password == true){play();
sulte Usando funes internas na pgina 47 e Operadores lgicos na pgina 43.
Caractere de retorno de carro (ASCII 13)
Caractere Tab (ASCII 9)
Aspas duplas
Aspas simples
Barra invertida
0 - \377 Um byte especificado em octal
0 - \xFF Um byte especificado em hexadecimal
000 - \uFFFF Um caractere Unicode de 16 bits especificado em hexadecimal
-
Object
Um objeto uma coleo de propriedades. Cada propriedade possui um nome e um valor. O valor de uma propriedade pode ser qualquer tipo de dado do Flash, at mesmo um tipo de dado de objeto. Isso permite aninhar os objeto, ou seja, organiz-los uns dentro dos outros. Para especificar os objeto e suas propriedades, use o operador ponto (.). Por exemplo, no seguinte cdigo, hoursWorked uma propriedade de weeklyStats, que por sua vez uma propriedade de employee:employee.weeklyStats.hoursWorked
possvel usar os objeto internos do ActionScript para acessar e manipular tipos especficos de infocomsqu
O ode smcImc2
VocFlasinfodos ltiminfo
MovieC
Clipdadde cponmy_par
Null
O tifalta
P P C
r C
Undefin
O tiatribSobre tipos de dados 33
rmaes. Por exemplo, o objeto Math possui mtodos que executam operaes matemticas nmeros passados para eles. Este exemplo usa o mtodo sqrt():areRoot = Math.sqrt(100);
bjeto MovieClip do ActionScript possui mtodos que permitem controlar instncias mbolos de clipes de filme no Stage. Este exemplo usa os mtodos play() e nextFrame(): nstanceName.play();InstanceName.nextFrame();
tambm pode criar objeto personalizados para organizar informaes em seu aplicativo h. Para adicionar interatividade a um aplicativo com ActionScript, voc precisar de muitas rmaes diferentes: por exemplo, o nome de um usurio, a velocidade de uma bola, os nomes itens de um carrinho de compras, o nmero de quadros carregados, o CEP do usurio ou a
a tecla pressionada. A criao de objeto personalizados permite que voc organize essas rmaes em grupos, simplifique e reutilize os scripts.
lip
es de filme so smbolos que podem reproduzir animaes em um aplicativo Flash. O tipo de o MovieClipe o nico que faz referncia a elementos grficos. Ele permite controlar smbolos lipes de filme com os mtodos da classe MovieClip. Chame os mtodos usando o operador to (.), conforme o exemplo a seguir:mc.startDrag(true);ent_mc.getURL("http://www.macromedia.com/support/" + product);
po de dado null s possui um valor: null. Esse valor significa no h valor ou seja, uma de dados. possvel usar o valor null em diversas situaes. Veja a seguir alguns exemplos:
ara indicar que uma varivel ainda no recebeu um valorara indicar que uma varivel no contm mais um valoromo valor de retorno de uma funo, para indicar que no havia valor disponvel a ser
etornado pela funoomo parmetro de uma funo, para indicar a omisso de um parmetro
ed
po de dado undefined tem um valor, undefined, e usado para uma varivel que no recebeu uio de valor.
-
34 Ca
Determinando o tipo de dados de um item
Ao testar e depurar seus programas, voc pode descobrir problemas que parecem estar relacionados aos tipos de dados de itens diferentes. Nesses casos, voc pode determinar o tipo de dado de um item. Para isso, use o operador typeof, como mostrado neste exemplo:trace(typeof(variableName));
Para obter mais informaes sobre testes e depurao, consulte Captulo 3, Escrevendo e depurando scripts, na pgina 51.
Atribuindo tipos de dados a elementos
O Fcom
V P V OEntevitestri
Atribuin
No strinvar
Na etipox =valo
O Aexemvalooperusadseq"Ne
O Aprim"Neptulo 2: Conceitos bsicos do ActionScript
lash atribui automaticamente tipos de dados aos seguintes tipos de elementos de linguagem, o analisado na seo a seguir, Atribuindo tipos de dados automaticamente.
ariveisarmetros passados a uma funo, mtodo ou classealores retornados de uma funo ou mtodobjeto criados como subclasses de classes existentes
retanto, voc tambm pode atribuir explicitamente tipos de dados a itens, o que pode ajudar a ar ou diagnosticar certos erros nos scripts. Para obter mais informaes, consulte Atribuio ta de tipos de dados na pgina 35.
do tipos de dados automaticamente
Flash, no preciso definir explicitamente um item que tenha um tipo de dados number, g ou outro. O Flash determina o tipo de dados de um item quando ele atribudo: x = 3;
xpresso var x = 3, o Flash avalia o elemento direita do operador e determina que ele do de dado number. Uma atribuio posterior pode alterar o tipo de x; por exemplo, o comando "hello" altera o tipo de x para string. Uma varivel qual no tenha sido atribudo um
r tem o tipo undefined.
ctionScript converte tipos de dados automaticamente sempre que uma expresso exige. Por plo, quando voc passa um valor para a ao trace(), trace() converte automaticamente o
r em uma seqncia de caracteres e o envia para o painel Output. Em expresses com adores, o ActionScript converte tipos de dados conforme a necessidade; por exemplo, quando o com uma seqncia de caracteres, o operador + prev que o outro operando seja uma ncia de caracteres:xt in line, number " + 7
ctionScript converte o nmero 7 na seqncia de caracteres "7" e o adiciona ao final da eira seqncia de caracteres, o que resulta na seguinte seqncia de caracteres:xt in line, number 7"
-
Atribuio estrita de tipos de dados
O ActionScript 2 permite declarar explicitamente o tipo de objeto de uma varivel quando voc a cria; isso se chama Atribuio estrita de tipos de dados. Como erros de tipos de dados causam erros do compilador, a Atribuio estrita de tipos de dados ajuda a evitar atribuir o tipo de dados errado a uma varivel existente. Para atribuir um tipo de dados especfico a um item, defina seu tipo usando a sintaxe ps-dois-pontos:// atribuio de tipo de dados estrita de varivelvar x:Number = 7;
// atribuio de tipo de dados estrita de parmetrofun}
// fun
vr
}
// var
VocMovStudcriavar
Voc
Usaincocom// var// varstu
Qua
Outautoeles para
O AcomActiActide ddo trefeAtribuindo tipos de dados a elementos 35
ction welcome(firstName:String, age:Number){
atribuio de tipo de dados de parmetro estrita e valor de retornoction square(x:Number):Number {ar squared = x*x;eturn squared;
atribuio de tipo de dados estrita de objeto my_date:Date = new Date();
pode declarar o tipo de dado de objeto baseado em classes internas (Button, Date, ieClip etc) e em classes e interfaces criadas por voc. Por exemplo, se houver um arquivo ent.as no qual voc define a classe Student (Aluno), voc poder especificar que os objeto que
r sejam do tipo Student: student:Student = new Student();
tambm poder especificar que os objeto sejam do tipo Function.
r a atribuio de tipo estrita ajuda a garantir que voc no atribua inadvertidamente um tipo rreto de valor a um objeto. O Flash verifica erros de tipo de dados incorreto durante a pilao. Por exemplo, suponha que voc defina o seguinte cdigo:na definio do constutor para a classe Student status:Boolean; // propriedade de objeto Studentem um script studentMaryLago:Student = new Student();dentMaryLago.status = "enrolled";
ndo o Flash compila esse script, gerado um erro Type mismatch (Erro de tipo).
ra vantagem da atribuio de tipo de dados estrita que o Flash MX 2004 exibe maticamente referncias de cdigo para objeto internos quando o tipo de dados atribudo a estritamente. Para obter mais informaes, consulte Atribuindo tipo a objeto estritamente ativar referncias de cdigo na pgina 58.
ctionScript 1 no oferece suporte para a atribuio de tipo de dados estrita. Embora um script comandos de atribuio de tipo de dados estrita possa parecer ser compilado corretamente no onScript 1, o SWF talvez no funcione como desejado. Alm disso, quando voc usa o onScript 2 e especifica Flash Player 6, o suporte durante a execuo para a atribuio de tipo ados estrita no est presente. O resultado pode ser a atribuio de um objeto a uma varivel ipo incorreto, fazendo com que o compilador permita que chamadas de mtodo ilegais e rncias de propriedade no definidas sejam passadas sem serem relatadas.
-
36 Ca
Convertendo objeto
O operador de converso usado pelo Flash tem a forma de uma chamada de funo e simultneo coero explcita, conforme especificado na proposta ECMA-262 edio 4. Ele permite afirmar que um objeto seja de um certo tipo, para que, quando a verificao de tipo ocorrer, o compilador possa ver o objeto com um conjunto de propriedades que o tipo inicial no contm.
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Sobre variveis
Umcontvocmud
redefiprimda v
Varina pvari
Os tum ocorvariou c
ParaOutOutDebcomptulo 2: Conceitos bsicos do ActionScript
a varivel um recipiente que contm informaes. O recipiente sempre o mesmo, mas o edo pode mudar. Ao alterar o valor de uma varivel quando o SWF estiver sendo reproduzido, poder registrar e salvar informaes sobre as atividades do usurio, gravar valores que am medida que o SWF reproduzido ou avaliar se uma condio true ou false.
comendvel atribuir sempre um valor conhecido a uma varivel na primeira vez que voc ni-la. Esse procedimento conhecido como inicializar uma varivel e geralmente feito no eiro quadro do SWF. A inicializao de variveis facilita o controle e a comparao do valor
arivel durante a reproduo do SWF.
veis podem armazenar qualquer tipo de dados (consulte Sobre tipos de dados gina 31). Os tipos de dados que uma varivel contm afetam a forma como o valor da
vel alterado quando atribudo em um script.
ipos mais comuns de informaes que voc pode armazenar em uma varivel so um URL, nome de usurio, o resultado de uma operao matemtica, o nmero de vezes que um evento reu ou se um boto foi clicado. Cada SWF e instncia de clipe de filme tem um conjunto de
veis, no qual cada varivel tem um valor independentemente das variveis em outros SWFs lipes de filme.
testar o valor de uma varivel, use a ao trace() a fim de enviar o valor para o painel put. Por exemplo, trace(hoursWorked) envia o valor da varivel hoursWorked para o painel put no modo de teste. Tambm possvel verificar e definir os valores da varivel no ugger (Depurador) no modo de teste. Para obter mais informaes, consulte Usando o ando trace na pgina 75 e Exibindo e modificando variveis na pgina 68.
-
Nomeando uma varivel
O nome de uma varivel deve seguir estas regras:
Ele deve ser um identificador (consulte Terminologia na pgina 22). No pode ser uma palavra-chave nem um literal do ActionScript como true, false, null ou
undefined. Ele deve ser exclusivo em seu escopo (consulte Atribuindo um escopo e declarando variveis
na pgina 37).
Alm disso, no use qualquer elemento na linguagem ActionScript como um nome de varivel; isso variindeheltra
Stri
heltra
O equeobjeusan
Por varmem
Assipararefe
Atribuin
O esrefe
Vc
V VObspbacesSobre variveis 37
pode causar erros de sintaxe ou resultados inesperados. Por exemplo, se voc nomear uma vel String e depois tentar criar um objeto String usando new String(), o novo objeto ser finido.lo_str = new String();ce(hello_str.length); // retorna 0
ing = "hello"; // Fornecendo a uma varivel o mesmo nome que uma classe nternalo_str = new String();ce(hello_str.length); // retorna indefinido
ditor do ActionScript oferece suporte a referncias de cdigo para classes internas e variveis se baseiem nessas classes. Se desejar que o Flash fornea referncias de cdigo para um tipo de to especfico atribudo a uma varivel, voc poder definir estritamente a varivel ou nome-la do um sufixo especfico.
exemplo, suponha que voc defina o seguinte cdigo: members:Array = new Array();bers.
m que voc digita o ponto (.), o Flash exibe uma lista de mtodos e propriedades disponveis objeto Array. Para obter mais informaes, consulte Escrevendo cdigo para ativar rncias de cdigo na pgina 57.
do um escopo e declarando variveis
copo de uma varivel refere-se rea na qual a varivel conhecida e na qual pode ser renciada. H trs tipos de escopo de varivel no ActionScript:
ariveis locais esto disponveis no corpo da funo em que so declaradas (delineado por haves).ariveis de Timeline esto disponveis para qualquer script nessa Timeline.ariveis globais e funes esto disponveis para cada Timeline e escopo do documento. ervao: As classes do ActionScript 2 criadas por voc oferecem suporte para escopos licos, particulares e estticos de variveis. Para obter mais informaes, consulte Controlando o so de membros na pgina 168 e Criando membros de classe na pgina 169.
-
38 Ca
Variveis locais
Para declarar variveis locais, use o comando var dentro do corpo de uma funo. O escopo de uma varivel local o bloco e expira ao final desse bloco. Uma varivel local no declarada dentro de um bloco expira ao final de seu script.
Por exemplo, as variveis i e j so usadas com freqncia para contagem de repeties. No exemplo seguinte, i usado como uma varivel local; ela s existe dentro da funo makeDays(): function makeDays() {
var i;for( i = 0; i < monthArray[month]; i++ ) {
}}
As vaplio nocom
bocdSe ualter
Vari
Varide Tantequavariptulo 2: Conceitos bsicos do ActionScript
_root.Days.attachMovie( "DayDisplay", i, i + 2000 );
_root.Days[i].num = i + 1;_root.Days[i]._x = column * _root.Days[i]._width;_root.Days[i]._y = row * _root.Days[i]._height;
column = column + 1;
if (column == 7 ) {
column = 0;row = row + 1;
}
ariveis locais tambm ajudam a impedir conflitos de nomes, que podem causar erros no cativo. Por exemplo, se usar name como uma varivel local, voc poder us-la para armazenar me de um usurio em um contexto e o nome de uma instncia de clipe de filme em outro; o essas variveis so executadas em escopos separados, no h conflitos.
m usar variveis locais no corpo de uma funo para que a funo possa atuar como um igo independente. Uma varivel local s pode ser alterada no seu prprio bloco de cdigo. ma expresso em uma funo usar uma varivel global, algum fator fora da funo poder ar seu valor, o que ir alterar a funo.
veis de Timeline
veis de Timeline esto disponveis para qualquer script nessa Timeline. Para declarar variveis imeline, inicialize-as em qualquer quadro da Timeline. Certifique-se de inicializar a varivel s de acess-la em um script. Por exemplo, se voc colocar o cdigo var x = 10; no dro 20, um script anexado a qualquer quadro antes do Quadro 20 no poder acessar essa vel.
-
Variveis globais
Variveis globais e funes esto disponveis para cada Timeline e escopo do documento. Para criar uma varivel com escopo global, use o identificador _global antes do nome da varivel e no use a sintaxe var =. Por exemplo, o cdigo a seguir cria a varivel global myName:var _global.myName = "George"; // erro de sintaxe_global.myName = "George";
Entretanto, se voc inicializar uma varivel local com o mesmo nome de uma varivel global, no ter acesso varivel global enquanto estiver no escopo da varivel local:_global.counter = 100;coutrafun
ft}
}coucoutra
Usando
Vocvariund
vartravar
No possvarvartra
Ocomtgetvarvarget
Vocvariseqvari
No 30 nvalovarvarvarSobre variveis 39
nter++;ce(counter); // exibe 101ction count(){or( var counter = 0; counter
-
40 Ca
Outro exemplo: a varivel inValue contm um valor primitivo 3; sendo assim, o valor real passado para a funo sqrt() e o valor retornado 9: function sqrt(x){
return x * x;}
var inValue = 3;var out = sqrt(inValue);
O valor da varivel inValue no alterado.
O tipo de dados de objeto pode conter informaes to numerosas e complexas que uma varivel comum a ref
O evarvarmyAtra
O cnew alttom
No zer
funvf
}}
varmyAmyAmyAzer
A fudessptulo 2: Conceitos bsicos do ActionScript
esse tipo no armazenar o valor real, mas uma referncia a esse valor. Essa referncia como alias que aponta para o contedo da varivel. Quando a varivel precisa saber seu valor, erncia solicita o contedo e responde sem transferir o valor para a varivel.
xemplo seguinte mostra como passar por referncia: myArray = ["tom", "josie"]; newArray = myArray;rray[1] = "jack";ce(newArray);
digo acima cria um objeto Array chamado myArray com dois elementos. A varivel Array criada e passa uma referncia para myArray. Quando o segundo elemento de myArray erado, todas as variveis com uma referncia a ele so afetadas. A ao trace() envia , jack para o painel Output.
exemplo abaixo, myArray contm um objeto Array, portanto, ela passada para a funo oArray() por referncia. A funo zeroArray() altera o contedo do array em myArray.ction zeroArray (theArray){ar i;or (i=0; i < theArray.length; i++) {theArray[i] = 0;
myArray = new Array();rray[0] = 1;rray[1] = 2;rray[2] = 3;oArray(myArray);
no zeroArray() aceita um objeto Array como um parmetro e define todos os elementos e array como 0. Ela pode modificar o array porque passada por referncia.
-
Usando operadores para manipular valores em expresses
Uma expresso qualquer comando que o Flash possa avaliar e que retorne um valor.