Sie sind auf Seite 1von 938

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, inclusive internacionais. Outros nomes de produtos, logotipos, designs, ttulos, palavras ou frases mencionados nesta publicao podem ser marcas comerciais, marcas de servio ou nomes comerciais da Macromedia, Inc. ou de outras entidades e podem estar registrados em certas jurisdies, inclusive internacionais. Informaes de terceiros Este guia contm links para sites da Web de terceiros que no esto sob o controle da Macromedia. Neste caso, a Macromedia no responsvel pelo contedo de nenhum site vinculado. Se voc acessar um dos sites da Web de terceiros mencionados neste guia, estar assumindo os riscos inerentes. A Macromedia oferece esses links apenas por questo de convenincia, e a incluso de um link no significa que a Macromedia apie ou aceite qualquer responsabilidade pelo contedo apresentado em sites de terceiros. Tecnologia de 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. Navegador Opera Copyright 1995-2002 Opera Software ASA e seus fornecedores. Todos os direitos reservados. Iseno de responsabilidade da Apple A APPLE COMPUTER, INC. NO CONCEDE GARANTIAS, EXPLCITAS OU IMPLCITAS, RELATIVAS AO PACOTE DE SOFTWARES PARA COMPUTADORES EM ANEXO, BEM COMO SUA COMERCIALIZAO OU ADEQUAO A QUALQUER FINALIDADE ESPECFICA. A EXCLUSO DE GARANTIAS IMPLCITAS NO PERMITIDA EM CERTOS ESTADOS. PORTANTO, A EXCLUSO ACIMA TALVEZ NO SE APLIQUE AO SEU CASO. ESTA GARANTIA CONCEDE DIREITOS LEGAIS ESPECFICOS. VOC PODE TER OUTROS DIREITOS QUE VARIAM CONFORME O ESTADO. Copyright 2003 Macromedia, Inc. Todos os direitos reservados. Este manual no pode ser copiado, fotocopiado, reproduzido, traduzido ou convertido em nenhum formato eletrnico ou que possa ser lido por mquina, por inteiro ou em parte, sem o consentimento prvio por escrito da Macromedia, Inc. Nmero da pea: ZFL70M400PO Agradecimentos Diretor: Erick Vera Gerenciamento de projeto: Stephanie Gowin, Barbara Nelson Redao: Jody Bleyle, Mary Burger, Kim Diezel, Stephanie Gowin, Dan Harris, Barbara Herbert, Barbara Nelson, Shirley Ong, Tim Statler Editor responsvel: Rosana Francescato Edio: Linda Adler, Mary Ferguson, Mary Kraemer, Noreen Maher, Antonio Padial, Lisa Stanziano, Anne Szabla Gerenciamento de produo: Patrice ONeill Design de mdia e produo: Adam Barnett, Christopher Basmajian, Aaron Begley, John Francis, Jeff Harmon Localizao: Tim Hussey, Seungmin Lee, Masayo Noda, Simone Pux, Yuko Yagi, Heloisa Kinder Primeira edio: Outubro de 2003 Macromedia, Inc. 600 Townsend St. So Francisco, CA 94103

CONTEDO

INTRODUO: Guia de introduo ao ActionScript .

....................... 9

Pblico-alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Requisitos de sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Usando a documentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Convenes tipogrficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Termos usados neste documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Recursos adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

PARTE I: Bem-vindo ao ActionScript


CAPTULO 1: Novidades do ActionScript no Flash MX 2004

. . . . . . . . . . . . . . . 15 15 17 17 23 24 25

Elementos de linguagem novos e alterados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Novo modelo de segurana e arquivos SWF herdados . . . . . . . . . . . . . . . . . . . . . . Portando scripts existentes para o Flash Player 7 . . . . . . . . . . . . . . . . . . . . . . . . . . Alteraes do editor do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alteraes de depurao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Novo modelo de programao orientada a objeto . . . . . . . . . . . . . . . . . . . . . . . . .
CAPTULO 2: Conceitos bsicos do ActionScript

. . . . . . . . . . . . . . . . . . . . . . . . 27

Diferenas entre o ActionScript e o JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Suporte a Unicode para ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Terminologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Sobre tipos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Atribuindo tipos de dados a elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Sobre variveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Usando operadores para manipular valores em expresses . . . . . . . . . . . . . . . . . . . 48 Especificando o caminho de um objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Usando funes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Criando funes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

CAPTULO 3: Escrevendo e depurando scripts

. . . . . . . . . . . . . . . . . . . . . . . . . . 59

Controlando o momento em que o ActionScript executado . . . . . . . . . . . . . . . 59 Usando o painel Actions e a janela Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Usando o editor do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Depurando scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Usando o painel Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Atualizando o Flash Player para teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

PARTE II: Manipulando eventos e criando interao


CAPTULO 4: Manipulando eventos .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Usando mtodos manipuladores de eventos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Usando ouvintes de eventos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Usando manipuladores de eventos de boto e clipe de filme . . . . . . . . . . . . . . . . . 92 Criando clipes de filme com estados de boto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Escopo do manipulador de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Escopo da palavra-chave this. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
CAPTULO 5: Criando interao com o ActionScript .

. . . . . . . . . . . . . . . . . . . . . 97

Sobre eventos e interao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Controlando a reproduo de arquivos SWF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Criando interatividade e efeitos visuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Desconstruindo um script de exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

PARTE III: Trabalhando com objetos e classes


CAPTULO 6: Usando as classes internas

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Sobre classes e instncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Viso geral das classes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
CAPTULO 7: Trabalhando com clipes de filme

. . . . . . . . . . . . . . . . . . . . . . . . . 129

Sobre o controle de clipes de filme com o ActionScript . . . . . . . . . . . . . . . . . . . . 129 Chamando vrios mtodos em um nico clipe de filme. . . . . . . . . . . . . . . . . . . . 130 Carregando e descarregando arquivos SWF adicionais . . . . . . . . . . . . . . . . . . . . . 131 Especificando uma Timeline raiz para arquivos SWF carregados . . . . . . . . . . . . . 131 Carregando arquivos JPEG em clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Alterando a posio e a aparncia de um clipe de filme . . . . . . . . . . . . . . . . . . . . 133 Arrastando clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Criando clipes de filme durante a execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Adicionando parmetros aos clipes de filme criados dinamicamente . . . . . . . . . . 136 Gerenciando profundidades do clipe de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Desenhando formas com o ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Usando clipes de filme como mscaras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Contedo

Manipulando eventos de clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Atribuindo uma classe a um smbolo de clipe de filme. . . . . . . . . . . . . . . . . . . . . 141 Inicializando as propriedades de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
CAPTULO 8: Trabalhando com texto .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 144 145 146 147 156 163

Usando a classe TextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando campos de texto durante a execuo. . . . . . . . . . . . . . . . . . . . . . . . . . . . Usando a classe TextFormat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatando o texto com Cascading Style Sheets . . . . . . . . . . . . . . . . . . . . . . . . . Usando o texto em formato HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando texto de rolagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CAPTULO 9: Criando classes com o ActionScript 2.0

. . . . . . . . . . . . . . . . . . . 165 166 167 171 175 177 179 181 182 183 184 185

Princpios da programao orientada a objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . Usando classes: um exemplo simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando e usando classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Membros de instncias e classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando e usando interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noes bsicas de caminho de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usando pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importando classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mtodos get/set implcitos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando classes dinmicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Como as classes so compiladas e exportadas . . . . . . . . . . . . . . . . . . . . . . . . . . . .

PARTE IV: Trabalhando com mdia e dados externos


CAPTULO 10: Trabalhando com dados externos

. . . . . . . . . . . . . . . . . . . . . . . 189

Enviando e carregando variveis para/de uma origem remota . . . . . . . . . . . . . . . 189 Enviando mensagens para/do Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Recursos de segurana do Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
CAPTULO 11: Trabalhando com mdia externa. . . . . .

. . . . . . . . . . . . . . . . . . . . 207 207 208 209 210 211 212

Viso geral de carregamento de mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . Carregando arquivos SWF e JPEG externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carregando arquivos MP3 externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lendo marcas de ID3 em arquivos MP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reproduzindo arquivos FLV externos dinamicamente . . . . . . . . . . . . . . . . . . . . . Pr-carregando mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Contedo

PARTE V: Referncia
CAPTULO 12: Dicionrio do ActionScript

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Exemplo de entrada da maioria dos elementos do ActionScript . . . . . . . . . . . . . . 219 Exemplo de entrada de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Contedo do dicionrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Classe Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Classe Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Classe Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Classe Boolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Classe Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Classe Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Classe Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Classe ContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Classe ContextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Classe CustomActions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Classe Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 Classe Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Classe Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Classe Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 Classe LoadVars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 Classe LocalConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 Classe Math. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 Classe Microphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 Classe Mouse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 Classe MovieClip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 Classe MovieClipLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627 Classe NetConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641 Classe NetStream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 Classe Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657 Classe Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662 Classe PrintJob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685 Classe Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699 Classe SharedObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711 Classe Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 Classe Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737 Classe String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748 Classe System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763 Objeto System.capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769 Objeto System.security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 Classe TextField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 Classe TextField.StyleSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812 Classe TextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 Objeto TextSnapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 Classe Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860 Classe XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868 Classe XMLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893 Classe XMLSocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894

Contedo

APNDICE A: Mensagens de erro

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 . . . . . . . . . . . . . . 909 . . . . . . . . . . . . 911 911 913 914 914 917

APNDICE B: Associatividade e precedncia de operadores

APNDICE C: Teclas do teclado e valores de cdigos de teclas

Letras de A a Z e nmeros padro de 0 a 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Teclas do teclado numrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Teclas de funo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outras teclas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APNDICE D: Criando scripts para verses anteriores do Flash Player . . . . . . .

Sobre a especificao de verses anteriores do Flash Player. . . . . . . . . . . . . . . . . . 917 Usando o Flash MX 2004 para criar contedo para o Flash Player 4 . . . . . . . . . . 918
APNDICE E: Programao orientada a objeto com o ActionScript 1

. . . . . . . . 921

Sobre o ActionScript 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921


NDICE REMISSIVO

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929

Contedo

Contedo

INTRODUO Guia de introduo ao ActionScript

O Macromedia Flash MX 2004 e o Flash MX Professional 2004 so as ferramentas de criao padro profissionais para a produo de experincias de grande impacto na Web. ActionScript a linguagem usada para desenvolver um aplicativo em Flash. Para usar o Flash, no necessrio ActionScript mas, se voc desejar fornecer interatividade com o usurio, trabalhar com objetos diferentes daqueles contidos no Flash (como botes e clipes de filme) ou transformar de qualquer outro modo um arquivo SWF em uma experincia de usurio mais eficiente, dever usar o ActionScript.

Pblico-alvo
Este manual pressupe que o Flash MX 2004 ou Flash MX Professional 2004 esteja instalado e que voc saiba como us-lo. necessrio saber como colocar objetos no Stage (Palco) e manipul-los no ambiente de criao do Flash. Se voc j tiver escrito programas anteriormente, o ActionScript parecer familiar. Caso contrrio, no ser difcil aprender a us-lo. fcil comear com comandos bem simples e aumentar a complexidade medida que voc avana.

Requisitos de sistema
O ActionScript no tem qualquer requisito de sistema alm do Flash MX 2004 ou Flash MX Professional 2004. Entretanto, a documentao pressupe que voc esteja utilizando as configuraes de publicao padro para os arquivos do Flash: Flash Player 7 e ActionScript 2.0. Se voc alterar qualquer uma dessas configuraes, as explicaes e exemplos de cdigo apresentados na documentao podero no funcionar corretamente.

Usando a documentao
Este documento oferece uma viso geral da sintaxe do ActionScript, informaes sobre como usar ActionScript ao trabalhar com tipos de diferentes de objetos e detalhes sobre a sintaxe e o uso de cada elemento da linguagem. Comece aprendendo a terminologia e os conceitos bsicos usados no restante do documento (consulte o Captulo 2, Conceitos bsicos do ActionScript, na pgina 27). Em seguida, aprenda o mecanismo para escrever e depurar scripts Flash (consulte o Captulo 3, Escrevendo e depurando scripts, na pgina 59).

Antes de escrever seus prprios scripts, leia as lies Write Scripts with ActionScript (Criar scripts com ActionScript) e Create a Form with Conditional Logic and Send Data (Criar um formulrio com lgica condicional e enviar dados), que oferecem uma introduo prtica ao trabalho com ActionScript. Para localizar essas lies, selecione Help (Ajuda) > How Do I (Como) > Quick Tasks (Tarefas rpidas). 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 89. Para localizar informaes sobre um certo comando que voc deseja usar, procure a respectiva entrada no Captulo 12, Dicionrio do ActionScript, na pgina 219; cada elemento de linguagem est listado ali em ordem alfabtica.

Convenes tipogrficas
As seguintes convenes tipogrficas so usadas neste manual:

cdigo do ActionScript. Fonte Code em itlico indica um elemento, como um parmetro ou nome de objeto do ActionScript, substitudo por um texto especfico quando voc escreve um script.

Fonte Code indica

Termos usados neste documento


Os seguintes termos so usados neste manual:

Voc refere-se ao desenvolvedor que escreve um script ou aplicativo. O usurio refere-se pessoa que executar os scripts e aplicativos. Tempo de compilao o momento em que voc publica, exporta, testa ou depura o documento. Tempo de execuo o momento em que o script executado no Flash Player.

Termos do ActionScript como mtodo e objeto so definidos no Captulo 2, Conceitos bsicos do ActionScript, na pgina 27.

Recursos adicionais
H uma documentao especfica sobre o Flash e produtos relacionados disponvel separadamente.

Para obter informaes sobre como trabalhar no ambiente de criao do Flash, consulte o
Using Flash Help (Ajuda de Usando o Flash). Para obter informaes sobre como trabalhar com componentes, consulte o Using Components Help (Ajuda de Usando componentes). Para obter informaes sobre como criar aplicativos de comunicao com o Flash Communication Server, consulte Developing Communications Applications (Desenvolvendo aplicativos de comunicao) e Managing Flash Communication Server (Gerenciando o Flash Communication Server). Para obter informaes sobre como acessar servios da Web com aplicativos do Flash, consulte Using Flash Remoting (Usando o Flash Remoting).

10

Introduo: Guia de introduo ao ActionScript

O site do Macromedia DevNet na Web (www.macromedia.com/devnet) atualizado periodicamente com as informaes mais recentes sobre o Flash, alm de recomendaes de usurios experientes, tpicos avanados, exemplos, dicas e outras atualizaes. Visite com freqncia o site da Web para saber das ltimas novidades sobre o Flash e como obter o mximo do programa. O Macromedia Flash Support Center (Centro de suporte do Macromedia Flash), em www.macromedia.com/go/flash_support_br, fornece TechNotes (Notas Tcnicas), atualizaes de documentao e links para recursos adicionais na comunidade Flash.

Recursos adicionais

11

12

Introduo: Guia de introduo ao ActionScript

PARTE I Bem-vindo ao ActionScript

PARTE I

Esta parte inclui informaes bsicas sobre a linguagem ActionScript. O Captulo 1 contm informaes sobre as novidades ou as alteraes no ActionScript e no Flash Player 7. Se voc j tiver usado o ActionScript antes, verifique essas informaes com ateno. Se voc est usando o ActionScript pela primeira vez, leia os Captulos 2 e 3 a fim de obter uma boa base para entender a terminologia e a sintaxe do ActionScript e para aprender a criar e depurar seus scripts. Captulo 1: Novidades do ActionScript no Flash MX 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Captulo 2: Conceitos bsicos do ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Captulo 3: Escrevendo e depurando scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

CAPTULO 1 Novidades do ActionScript no Flash MX 2004

O Macromedia Flash MX 2004 e o Macromedia Flash MX Professional 2004 oferecem vrios aperfeioamentos que facilitam a criao de scripts mais eficientes com uso da linguagem ActionScript. Esses novos recursos, analisados neste captulo, incluem novos elementos de linguagem, ferramentas de edio e depurao melhoradas (consulte Alteraes do editor do ActionScript na pgina 23 e Alteraes de depurao na pgina 24) e a introduo a um modelo de programao mais orientada a objeto (consulte Novo modelo de programao orientada a objeto na pgina 25). Este captulo tambm contm uma longa seo que voc dever ler cuidadosamente se desejar publicar para Flash Player 7 quaisquer de seus arquivos Flash MX existentes ou anteriores (consulte Portando scripts existentes para o Flash Player 7 na pgina 17).

Elementos de linguagem novos e alterados


Esta seo descreve os elementos da linguagem ActionScript que so novos ou foram alterados no Flash MX 2004. Para incluir esses elementos em seus scripts, use o Flash Player 7 (o padro) ao publicar documentos.

Os mtodos Array.sort() e Array.sortOn() permitem adicionar parmetros para


especificar opes de ordenao adicionais, como ordem crescente e decrescente, distino entre maisculas e minsculas, e assim por diante. As propriedades Button.menu, MovieClip.menu e TextField.menu funcionam com as novas classes ContextMenu e ContextMenuItem para permitir associar itens de menus de contexto a objetos Button, MovieClip ou TextField. A Classe ContextMenu e a Classe ContextMenuItem permitem personalizar o menu de contexto exibido quando um usurio clica com o boto direito do mouse (Microsoft Windows) ou clica e pressiona Control (Macintosh) no Flash Player. A Classe Error e os comandos throw e try..catch..finally permitem implementar uma manipulao de excees mais eficiente. Os mtodos LoadVars.addRequestHeader() e XML.addRequestHeader() adicionam ou alteram cabealhos de solicitao HTTP (como Content-Type ou SOAPAction) enviados com aes POST. A funo MMExecute() permite emitir comandos de API do Flash JavaScript no ActionScript.

15

(Somente Windows) O ouvinte de eventos Mouse.onMouseWheel gerado quando o usurio


usa a esfera do mouse para rolagem.

O mtodo MovieClip.getNextHighestDepth() permite criar instncias de MovieClip


durante a execuo e garantir que seus objetos sejam renderizados na frente dos outros objetos 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 que voc determine a verso de Flash Player que suportada por um arquivo SWF carregado. 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 como _root para os clipes de filme carregados nele, ou que o significado de _root em um clipe de filme no seja alterado se o clipe de filme for carregado em outro clipe. A Classe MovieClipLoader permite monitorar o progresso de arquivos conforme eles so carregados em clipes de filme. A Classe NetConnection e a Classe NetStream permitem transmitir em fluxo arquivos de vdeo locais (arquivos FLV). A Classe PrintJob fornece a voc (e ao usurio) mais controle sobre a impresso a partir do Flash Player. O manipulador de eventos Sound.onID3 fornece acesso a dados ID3 associados a um objeto Sound que contm um arquivo MP3. A propriedade Sound.ID3 fornece acesso aos metadados que fazem parte de um arquivo MP3. A Classe System tem novos objetos e mtodos, e o Objeto System.capabilities tem vrias novas propriedades. A propriedade TextField.condenseWhite permite remover o espao em branco extra de campos de texto HTML renderizados em um navegador. A propriedade TextField.mouseWheelEnabled permite especificar se o contedo de um campo de texto dever rolar quando o ponteiro do mouse for posicionado sobre o campo e o usurio rolar a esfera do mouse. A classe Classe TextField.StyleSheet permite criar um objeto de folha de estilos com regras de formatao de texto, como tamanho de fonte, cor e outros estilos de formatao. A propriedade TextField.styleSheet permite anexar um objeto de folha de estilos a um campo de texto. O mtodo TextFormat.getTextExtent() aceita um novo parmetro, e o objeto retornado contm um novo membro. O mtodo XML.addRequestHeader() permite adicionar ou alterar cabealhos de solicitao HTTP (como Content-Type ou SOAPAction) enviados com aes POST.

16

Captulo 1: Novidades do ActionScript no Flash MX 2004

Novo modelo de segurana e arquivos SWF herdados


As regras que definem como o Flash Player descobre se dois domnios so o mesmo mudaram no Flash Player 7. Alm disso, tambm foram alteradas as regras que determinam se e como um arquivo SWF de um domnio HTTP pode acessar um arquivo SWF ou carregar dados de um domnio HTTPS. Na maioria dos casos, estas alteraes no afetam voc, a menos que esteja portando arquivos SWF existentes para o Flash Player 7. Entretanto, se voc tiver arquivos SWF publicados para Flash Player 6 ou verso anterior, que carregam dados de um arquivo armazenado em um servidor, e o SWF que faz a chamada estiver sendo reproduzido no Flash Player 7, o usurio poder ver uma caixa de dilogo, que no aparecia antes, solicitando autorizao para acesso. Para evitar que essa caixa de dilogo aparea, implemente um arquivo de diretivas no site onde os dados esto armazenados. Para obter mais informaes sobre esta caixa de dilogo, consulte Sobre compatibilidade com os modelos de segurana anteriores do Flash Player na pgina 205. Tambm poder ser necessrio implementar um arquivo de diretivas se voc estiver usando bibliotecas compartilhadas em tempo de execuo. Se o arquivo SWF carregado ou em carga for publicado para Flash Player 7 e os arquivos em carga ou carregados no vierem exatamente do mesmo domnio, voc dever usar um arquivo de diretivas para permitir o acesso. Para obter mais informaes sobre arquivos de diretivas, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.

Portando scripts existentes para o Flash Player 7


Assim como em qualquer nova verso, o Flash Player 7 oferece suporte a mais comandos do ActionScript do que verses anteriores; voc pode usar esses comandos para implementar scripts mais eficientes. (Consulte Elementos de linguagem novos e alterados na pgina 15.) Entretanto, se voc tiver usado quaisquer destes comandos em seus scripts existentes, o script poder no funcionar corretamente se for publicado para Flash Player 7. Por exemplo, se voc tiver um script com uma funo denominada Error, poder parecer que o script est compilando corretamente, mas possvel que ele no esteja sendo executado conforme o esperado no Flash Player 7, porque Error agora uma classe interna (e portanto uma palavra reservada) do ActionScript. possvel corrigir seu script renomeando a funo Error, por exemplo, para ErrorCondition. Alm disso, o Flash Player 7 implementa algumas alteraes que afetam a forma como um arquivo SWF pode acessar outro, como dados externos podem ser carregados e como configuraes e dados locais (tais como configuraes de privacidade e objetos compartilhados com persistncia local) podem ser acessados. Por fim, o comportamento de alguns recursos existentes mudou. Se voc possuir scripts escritos para Flash Player 6 ou verses anteriores e que deseja publicar para Flash Player 7, poder ser necessrio modific-los para que atendam implementao do Flash Player 7 e funcionem conforme o planejado. Essas modificaes so analisadas nesta seo.

Portando scripts existentes para o Flash Player 7

17

Conformidade com ECMA-262 edio 4 Foram implementadas diversas alteraes no Flash Player 7 para atender mais exatamente proposta do padro ECMA-262, edio 4 (consulte www.mozilla.org/js/language/es4/ index.html). Alm das tcnicas de programao baseadas em classes disponveis no ActionScript 2.0 (consulte Novo modelo de programao orientada a objeto na pgina 25), outros recursos foram adicionados e certos comportamentos foram alterados. Alm disso, ao publicar para Flash Player 7 e usar ActionScript 2.0, possvel converter um tipo de objeto em outro. Para obter mais informaes, consulte Convertendo objetos na pgina 42. Esses recursos no exigem a atualizao de scripts existentes; entretanto, voc pode us-los ao publicar seus scripts para Flash Player 7 e, posteriormente, continuar a revis-los e aperfeio-los. Ao contrrio das alteraes mencionadas acima, as alteraes relacionadas na prxima tabela (algumas delas tambm aumentam a conformidade com o padro ECMA) podem fazer com que os scripts existentes tenham um funcionamento diferente do anterior. Se tiver usado esses recursos em scripts existentes que deseja publicar para Flash Player 7, dever revisar as alteraes feitas para garantir que o cdigo ainda funcione como desejado ou para verificar se preciso reescrev-lo. Em especial, voc deve inicializar todas as variveis nos scripts que portar para o Flash Player 7 porque o valor undefined avaliado de forma diferente em certos casos.
Arquivo SWF publicado para Flash Player 7 Suporte para distino entre maisculas e minsculas (nomes de variveis que diferem somente no uso de maisculas so interpretados como variveis diferentes). Essa alterao tambm afeta arquivos carregados com #include e variveis externas carregadas com LoadVars.load(). Para obter mais informaes, consulte Distino entre maisculas e minsculas na pgina 32. Avaliar undefined em um contexto numrico retorna NaN. myCount +=1; trace(myCount); // NaN Quando undefined convertido em uma seqncia de caracteres, o resultado undefined.
firstname = "Joan "; lastname = "Flender"; trace(firstname + middlename + lastname); // Joan undefinedFlender

Arquivo SWF publicado para verses anteriores de Flash Player No h suporte para distino entre maisculas e minsculas (nomes de variveis que diferem somente no uso de maisculas so interpretados como sendo a mesma varivel).

Avaliar undefined em um contexto numrico retorna 0.


myCount +=1; trace(myCount); // 1

Quando undefined convertido em uma seqncia de caracteres, o resultado "" (uma seqncia de caracteres vazia).
firstname = "Joan "; lastname = "Flender"; trace(firstname + middlename + lastname); // Joan Flender

18

Captulo 1: Novidades do ActionScript no Flash MX 2004

Arquivo SWF publicado para Flash Player 7 Se voc converter uma seqncia de caracteres em um valor booleano, o resultado ser true se a seqncia tiver comprimento superior a zero; o resultado ser false para uma seqncia vazia. Ao definir o tamanho de um array, somente uma seqncia de caracteres numricos vlida define esse tamanho. Por exemplo, "6" funciona, mas " 6" e "6xyz" no.
my_array=new Array(); my_array[" 6"] ="x"; trace(my_array.length); // 0 my_array["6xyz"] ="x"; trace(my_array.length); // 0 my_array["6"] ="x"; trace(my_array.length); // 7

Arquivo SWF publicado para verses anteriores de Flash Player Se 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. Ao definir o tamanho de um array, at mesmo uma seqncia de caracteres numricos mal-formada pode ser utilizada:
my_array=new Array(); my_array[" 6"] ="x"; trace(my_array.length); // 7 my_array["6xyz"] ="x"; trace(my_array.length); // 7 my_array["6"] ="x"; trace(my_array.length); // 7

Regras relativas a nomes de domnio para configuraes e dados locais No Flash Player 6, as regras de correspondncia de domnio superior so usadas, por padro, ao acessar configuraes locais (tais como permisses de acesso a uma cmera ou microfone) ou dados com persistncia local (objetos compartilhados). Ou seja, as configuraes e dados para arquivos SWF hospedados em here.xyz.com, there.xyz.com e xyz.com so compartilhados e armazenados em xyz.com. No Flash Player 7, as regras de correspondncia de domnio exato so usadas por padro. Ou seja, as configuraes e dados de um arquivo hospedado em aqui.xyz.com so armazenados em here.xyz.com, as configuraes e dados de um arquivo hospedado em there.xyz.com so armazenados em there.xyz.com e assim sucessivamente. Uma nova propriedade, System.exactSettings, permite que voc especifique quais regras usar. Esta propriedade suportada por arquivos publicados para Flash Player 6 ou verses posteriores. Para arquivos publicados para Flash Player 6, o valor padro false, significando que as regras de correspondncia de domnio superior esto sendo usadas. Para arquivos publicados para Flash Player 7, o valor padro true, significando que as regras de correspondncia de domnio exato esto sendo usadas. Se voc estiver usando configuraes ou dados locais persistentes e quiser publicar um arquivo SWF do Flash Player 6 para Flash Player 7, poder ser necessrio definir este valor como false no arquivo portado. Para obter mais informaes, consulte System.exactSettings na pgina 764.

Portando scripts existentes para o Flash Player 7

19

Acesso entre domnios e a subdomnios entre arquivos SWF Ao desenvolver uma srie de arquivos SWF que se comunicam entre si por exemplo, ao usar ou objetos Local Connection voc poder hospedar os filmes em diferentes domnios ou em diferentes subdomnios de um mesmo domnio superior.
loadMovie(), MovieClip.loadMovie(), MovieClipLoader.LoadClip()

Nos arquivos publicados para Flash Player 5 e verses anteriores, no havia restries em relao ao acesso entre domnios e a subdomnios. Nos arquivos publicados para Flash Player 6, voc podia utilizar o manipulador LocalConnection.allowDomain ou o mtodo System.security.allowDomain() para especificar o acesso entre domnios (por exemplo, para permitir que um arquivo em someSite.com pudesse ser acessado por um arquivo em someOtherSite.com), e no era necessrio nenhum comando para autorizar acesso ao subdomnio (por exemplo, um arquivo em www.someSite.com podia ser acessado por um arquivo em store.someSite.com). Arquivos publicados para Flash Player 7 implementam acesso entre arquivos SWF de forma diferente das verses anteriores, de duas maneiras. Primeiro, o Flash Player 7 implementa as regras de correspondncia de domnio exato, em vez das regras de correspondncia de domnio superior. Portanto, o arquivo que est sendo acessado (mesmo se publicado para uma verso anterior ao Flash Player 7) deve autorizar explicitamente o acesso entre domnios ou a um subdomnio. Este assunto discutido mais adiante. Segundo, um arquivo hospedado em um site que usa um protocolo seguro (HTTPS) deve autorizar explicitamente o acesso de um arquivo hospedado em um site que usa um protocolo inseguro (HTTP ou FTP). Este assunto discutido na prxima seo (consulte Acesso de protocolo HTTP para HTTPS entre arquivos SWF na pgina 21). Como o Flash Player 7 implementa regras de correspondncia de domnio exato, em vez das regras de correspondncia de domnio superior, poder ser necessrio modificar os scripts que j existam se voc desejar acess-los a partir de arquivos publicados para Flash Player 7. Voc tambm pode publicar para Flash Player 6 os arquivos modificados. Se tiver utilizado alguma instruo LocalConnection.allowDomain() ou System.security.allowDomain() em seus arquivos e definido permisso para sites de domnios superiores, voc precisar alterar seus parmetros para especificar domnios exatos. O cdigo a seguir mostra um exemplo dos tipos de alteraes que voc provavelmente ter de fazer:
// Comandos Flash Player 6 em uma arquivo SWF em www.anyOldSite.com // permitem acesso a arquivos SWF hospedados em www.someSite.com // ou em store.someSite.com System.security.allowDomain("someSite.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="someSite.com"); } // Os comandos correspondentes que permitem acesso a arquivos SWF // publicados para Flash Player 7 System.security.allowDomain("www.someSite.com", "store.someSite.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="www.someSite.com" || sendingDomain=="store.someSite.com"); }

Talvez voc precise adicionar instrues como estas em seus arquivos, se ainda no as estiver utilizando. Por exemplo, se o seu arquivo SWF estiver hospedado em www.someSite.com e voc desejar autorizar o acesso por um arquivo SWF publicado para Flash Player 7 que est em store.someSite.com, dever incluir instrues como as a seguir no arquivo em www.someSite.com (voc ainda poder publicar para Flash Player 6 o arquivo em www.someSite.com):

20

Captulo 1: Novidades do ActionScript no Flash MX 2004

System.security.allowDomain("store.someSite.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="store.someSite.com"); }

Em resumo, poder ser necessrio modificar os seus arquivos para incluir ou alterar instrues allowDomain se voc publicar arquivos para Flash Player 7 que atendam s seguintes condies:

Voc implementou scripts SWF com acesso cruzado (usando loadMovie(),


MovieClip.loadMovie(), MovieClipLoader.LoadClip()

ou objetos Local Connection).

O arquivo SWF chamado (de qualquer verso) no est hospedado em site com protocolo
seguro (HTTPS), ou os arquivos SWF chamado e de chamada esto ambos hospedados em sites HTTPS. Se somente o arquivo SWF chamado estiver em HTTPS, consulte Acesso de protocolo HTTP para HTTPS entre arquivos SWF na pgina 21. Os arquivos SWF no esto no mesmo domnio (por exemplo, um arquivo est em www.domain.com e o outro em store.domain.com).

Voc ter de fazer as seguintes alteraes:

Se o arquivo SWF chamado estiver publicado para Flash Player 7, inclua


System.security.allowDomain ou LocalConnection.allowDomain nesse arquivo SWF, usando a correspondncia de nome de domnio exato. Se o arquivo SWF chamado estiver publicado para Flash Player 6, modifique-o para adicionar ou alterar uma instruo System.security.allowDomain ou LocalConnection.allowDomain, usando a correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Voc pode publicar o arquivo modificado tanto para Flash Player 6 quanto para 7. Se o arquivo SWF chamado estiver publicado para Flash Player 5 ou verses anteriores, porte o arquivo chamado para Flash Player 6 ou 7 e adicione uma instruo System.security.allowDomain, usando a correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Objetos LocalConnection no so suportados no Flash Player 5 e verses anteriores.

Acesso de protocolo HTTP para HTTPS entre arquivos SWF Como discutido na seo anterior, as regras para acesso entre domnios ou a subdomnios foram alteradas no Flash Player 7. Alm da implementao das regras de correspondncia de domnio exato, voc deve autorizar explicitamente o acesso de arquivos hospedados em sites que utilizem um protocolo inseguro a arquivos hospedados em sites que utilizem um protocolo seguro (HTTPS). Se o arquivo chamado estiver publicado para Flash Player 7 ou Flash Player 6, voc dever implementar uma das instrues allowDomain (consulte Acesso entre domnios e a subdomnios entre arquivos SWF na pgina 20) ou utilizar as novas instrues LocalConnection.allowInsecure Domain ou System.security.allowInsecureDomain().
Aviso: A implementao de uma instruo allowInsecureDomain() compromete a segurana oferecida pelo protocolo HTTPS. Voc dever efetuar estas alteraes somente se no puder reorganizar o seu site de forma que todos os arquivos SWF sejam disponibilizados atravs de protocolos HTTPS.

Portando scripts existentes para o Flash Player 7

21

O cdigo a seguir mostra um exemplo dos tipos de alteraes que voc provavelmente ter de fazer:
// Comandos em um arquivos SWF para Flash Player 6 em https://www.someSite.com // permitindo acesso a arquivos SWF para Flash Player 7 SWF hospedados // em http://www.someSite.com ou em http://www.someOtherSite.com System.security.allowDomain("someOtherSite.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="someOtherSite.com"); } // Comandos correspondentes em um arquivo SWF para Flash Player 7 // permitindo acesso a arquivos SWF para Flash Player 7 SWF hospedados // em http://www.someSite.com ou em http://www.someOtherSite.com System.security.allowInsecureDomain("www.someSite.com", "www.someOtherSite.com"); my_lc.allowInsecureDomain = function(sendingDomain) { return(sendingDomain=="www.someSite.com" || sendingDomain=="www.someOtherSite.com"); }

Poder ser necessrio adicionar instrues como estas em seus arquivos, se ainda no as estiver utilizando. Poder ser necessria uma modificao mesmo se ambos os arquivos estiverem no mesmo domnio (por exemplo, um arquivo em http://www.domain.com est chamando um arquivo em https://www.domain.com). Em resumo, poder ser necessrio modificar os seus arquivos para incluir ou alterar instrues se voc publicar arquivos para Flash Player 7 que atendam s seguintes condies:

Voc implementou scripts SWF com acesso cruzado (usando loadMovie(),


MovieClip.loadMovie(), MovieClipLoader.LoadClip()

ou objetos Local Connection).

O arquivo de chamada no est hospedado em um servidor com protocolo HTTPS e o arquivo


chamado est em HTTPS. Voc deve realizar as seguintes alteraes:

Se o arquivo chamado estiver publicado para Flash Player 7, inclua


System.security.allowInsecureDomain ou LocalConnection.allowInsecureDomain no

arquivo chamado, usando correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Essa instruo ser necessria mesmo se os arquivos SWF chamado e de chamada estiverem no mesmo domnio. Se o arquivo chamado estiver publicado para Flash Player 6 ou verses anteriores e os arquivos chamado e de chamada estiverem no mesmo domnio (por exemplo, um arquivo em http://www.domain.com chama um arquivo em https://www.domain.com), nenhuma modificao ser necessria. Se o arquivo chamado estiver publicado para Flash Player 6, os arquivos no estiverem no mesmo domnio e voc no desejar portar o arquivo chamado para Flash Player 7, modifique o arquivo chamado adicionando ou alterando uma instruo System.security.allowDomain ou LocalConnection.allowDomain, usando correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Se o arquivo chamado estiver publicado para Flash Player 6 e voc desejar port-lo para Flash Player 7, dever incluir System.security.allowInsecureDomain ou LocalConnection.allowInsecureDomain nesse arquivo, usando correspondncia de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Essa instruo ser necessria mesmo se ambos os arquivos estiverem no mesmo domnio.

22

Captulo 1: Novidades do ActionScript no Flash MX 2004

Se o arquivo chamado estiver publicado para Flash Player 5 ou verses anteriores e os arquivos
no estiverem no mesmo domnio, voc poder optar por uma destas duas aes. Poder portar o arquivo chamado para Flash Player 6 e adicionar ou alterar uma instruo System.security.allowDomain, usando correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo, ou portar o arquivo chamado para Flash Player 7 e incluir uma instruo System.security.allowInsecureDomain nesse arquivo, usando correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Arquivos de diretivas no servidor para autorizar o acesso a dados Um documento do Flash pode carregar dados de uma origem externa usando uma das seguintes chamadas de carregamento de dados: XML.load(), XML.sendAndLoad(), LoadVars.load(), LoadVars.sendAndLoad(), loadVariables(), loadVariablesNum(), MovieClip.loadVariables(), XMLSocket.connect() e Macromedia Flash Remoting (NetServices.createGatewayConnection). Alm disso, um arquivo SWF pode importar RSLs (Runtime Shared Libraries, Bibliotecas compartilhadas em tempo de execuo) ou recursos definidos em outro arquivo SWF durante a execuo. Por padro, os dados ou a RSL devem residir no mesmo domnio que o arquivo SWF que estiver carregando dados ou mdia externos. Para disponibilizar dados e recursos de bibliotecas compartilhadas em tempo de execuo para arquivos SWF em diferentes domnios, voc deve usar um arquivo de diretivas entre domnios. Um arquivo de diretivas entre domnios um arquivo XML que fornece ao servidor um modo para indicar que seus dados e documentos esto disponveis para arquivos SWF atendidos por determinados domnios ou por todos os domnios. Todos os arquivos SWF disponveis a partir de um domnio especificado no arquivo de diretivas do servidor tero permisso para acessar os dados ou RSLs desse servidor. Se voc estiver carregando dados externos, dever criar arquivos de diretivas mesmo se no planejar portar nenhum dos arquivos para Flash Player 7. Se estiver utilizando RSLs, dever criar arquivos de diretivas se o arquivo de chamada ou o arquivo chamado estiver publicado para Flash Player 7. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.

Alteraes do editor do ActionScript


O editor do ActionScript foi atualizado de vrias formas para torn-lo mais eficiente e fcil de usar. Essas alteraes so resumidas nesta seo.
Quebra automtica de linha Voc pode usar o menu pop-up Options (Opes) no painel Script, no painel Debugger (Depurador) e no painel Output (Sada) para ativar ou desativar a quebra automtica de linha. Pode tambm alternar a quebra automtica de linha usando o menu pop-up no painel Actions (Aes). O atalho de teclado Control+Shift+W (Windows) ou Command+Shift+W (Macintosh). Exibindo a ajuda contextual Quando o ponteiro posicionado sobre um elemento da linguagem ActionScript na caixa de ferramentas Actions ou no painel Script, voc pode usar o item View Help (Exibir Ajuda) no menu de contexto para exibir uma pgina de ajuda sobre esse elemento.

Alteraes do editor do ActionScript

23

Importando scripts

Quando voc seleciona Import Script (Importar script) no menu pop-up no painel Actions, o script importado copiado para o script no ponto de insero do arquivo de cdigo. Em verses anteriores do Flash, a importao de um script substitua o contedo do script existente.

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 arrastar comandos da caixa de ferramentas Actions para o painel Script ou usar o boto Add (+) (Adicionar) acima do painel Script para adicionar comandos a um script.

Prendendo vrios scripts Voc pode prender vrios scripts em um arquivo FLA ao longo da parte inferior do painel Script no painel Actions (Aes). Em verses anteriores do Flash, s era possvel prender um script por vez. Navegador Script

O lado esquerdo do painel Actions agora contm dois painis: A caixa de ferramentas Actions e um novo navegador Script. O navegador Script uma representao visual da estrutura do arquivo FLA; voc pode navegar pelo arquivo FLA aqui para localizar cdigo ActionScript.

Janela Script integrada para editar arquivos externos (somente Flash Professional)

Voc pode usar o editor do ActionScript em uma janela Script (separada do painel Actions) para escrever e editar arquivos de script externos. Na janela Script, h suporte para a sinalizao da sintaxe por cores, referncias de cdigo e outras preferncias; a caixa de ferramentas Actions tambm est disponvel. Para exibir a janela Script, use File (Arquivo) >New (Novo) e selecione o tipo de arquivo externo a ser editado. possvel abrir vrios arquivos externos ao mesmo tempo; os nomes dos arquivo so exibidos em guias na parte superior da janela Script. (As guias aparecem somente no Windows.)

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 durante a compilao

Alm de fornecer uma manipulao de excees mais eficiente, o ActionScript 2.0 exibe diversos novos erros durante a compilao. Para obter mais informaes, consulte Apndice A, Mensagens de erro, na pgina 903. eficiente.

Manipulao de excees melhorada A classe Error e os comandos throw e try..catch..finally permitem implementar uma manipulao de excees mais

24

Captulo 1: Novidades do ActionScript no Flash MX 2004

Novo modelo de programao orientada a objeto


A linguagem ActionScript cresceu e desenvolveu-se desde sua introduo, h vrios anos. Com cada nova verso do Flash, mais palavras-chave, objetos, mtodos e outros elementos so adicionados linguagem. Entretanto, ao contrrio de verses anteriores do Flash, o Flash MX 2004 e o Flash MX Professional 2004 apresentam diversos novos elementos de linguagem que implementam a programao orientada a objeto de uma forma mais padronizada do que antes. Como esses elementos de linguagem representam um aperfeioamento significativo da linguagem ActionScript bsica, eles representam uma nova verso do prprio ActionScript. ActionScript 2.0. O ActionScript 2.0 no uma nova linguagem. Em vez disso, ele abrange um conjunto bsico de elementos de linguagem que facilitam desenvolver programas orientados a objeto. Com a introduo de palavras-chave como class, interface, extends e implements, agora mais fcil para os programadores familiarizados com outras linguagens aprender a sintaxe do ActionScript. Novos programadores aprendem uma terminologia mais padronizada que podem aplicar a outras linguagens orientadas a objeto que venham a estudar no futuro. O ActionScript 2.0 oferece suporte a todos os elementos padro da linguagem ActionScript; ele simplesmente permite escrever scripts que atendem melhor aos padres usados em outras linguagens orientadas a objeto, como Java. O ActionScript 2.0 deve interessar principalmente a desenvolvedores de Flash intermedirios ou avanados que criem aplicativos que precisam da implementao de classes e subclasses. O ActionScript 2.0 tambm permite declarar o tipo de objeto de uma varivel quando voc a cria (consulte Atribuio estrita de tipos de dados na pgina 41) e fornece erros de compilador bem aprimorados (consulte Apndice A, Mensagens de erro, na pgina 903). Os novos elementos de linguagem do ActionScript 2.0 esto listados a seguir.

class extends implements interface dynamic static public private get set import

As principais consideraes sobre o ActionScript 2.0 incluem os seguintes pontos:

Scripts que usem ActionScript 2.0 para definir classes ou interfaces devem ser armazenados
como arquivos de scripts externos, com uma nica classe definida em cada script. Ou seja, classes e interfaces no podem ser definidas no painel Actions (Aes).

Novo modelo de programao orientada a objeto

25

Voc pode importar arquivos de classes individuais implicitamente (armazenando-os em um


local especificado por caminhos de pesquisa globais ou especficos de documentos e depois utilizando-os em um script) ou explicitamente (usando o comando import). possvel importar pacotes (colees de arquivos de classe em um diretrio) usando caracteres curinga. Os aplicativos desenvolvidos com o ActionScript 2.0 so suportados pelo Flash Player 6 e verses posteriores.

Ateno: A configurao padro de publicao para os novos arquivos criados no Flash MX 2004 ActionScript 2.0. Se voc planeja modificar um arquivo FLA existente para usar a sintaxe do ActionScript 2.0, verifique se o arquivo FLA especifica ActionScript 2.0 em suas configuraes de publicao. Caso contrrio, seu arquivo ser compilado incorretamente, apesar de o Flash no gerar erros de compilao.

Para obter mais informaes sobre como usar o ActionScript 2.0 para escrever programas orientados a objeto no Flash, consulte o Captulo 9, Criando classes com o ActionScript 2.0, na pgina 165.

26

Captulo 1: Novidades do ActionScript no Flash MX 2004

CAPTULO 2 Conceitos bsicos do ActionScript

O ActionScript possui regras de gramtica e pontuao que determinam quais caracteres e palavras so usados para criar significado e em que ordem eles podem ser escritos. Por exemplo, no ingls, um ponto encerra uma frase. No ActionScript, um ponto-e-vrgula encerra uma instruo. As regras gerais a seguir aplicam-se a todo o ActionScript. A maioria dos termos do ActionScript tambm tem requisitos individuais; para ver as regras de um termo especfico, consulte sua entrada no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Diferenas entre o ActionScript e o JavaScript


O ActionScript semelhante linguagem de programao JavaScript bsica. No preciso conhecer JavaScript para usar e aprender ActionScript; porm, se voc conhec-lo, o ActionScript lhe parecer familiar. Este manual no objetiva ensinar programao. H vrios recursos que fornecem mais informaes sobre conceitos gerais de programao e sobre a linguagem JavaScript.

O documento ECMA-262 da ECMA (European Computers Manufacturers Association,


Associao europia de fabricantes de computadores) baseado no JavaScript e serve como padro internacional para a linguagem JavaScript. O ActionScript tem como base a especificao ECMA-262. O Netscape DevEdge Online apresenta o site JavaScript Developer Central (Central do desenvolvedor JavaScript) (http://developer.netscape.com/tech/javascript/index.html) que contm documentao e artigos teis para compreender o ActionScript. O recurso mais valioso o Core JavaScript Guide (Guia principal de JavaScript).

Estas so algumas das diferenas entre o ActionScript e o JavaScript:

O ActionScript no oferece suporte a objetos especficos de navegadores, como Document,


Window e Anchor. O ActionScript no oferece suporte completo a todos os objetos internos do JavaScript. O ActionScript no oferece suporte a algumas construes sintticas do JavaScript, como rtulos de instruo. No ActionScript, a ao eval() pode efetuar somente referncias a variveis.

27

Suporte a Unicode para ActionScript


O Macromedia Flash MX 2004 e o Macromedia Flash MX Professional 2004 oferecem suporte codificao de texto Unicode para o ActionScript. Isso significa que possvel incluir texto em diferentes idiomas em um arquivo do ActionScript. Por exemplo, voc pode incluir texto em ingls, japons e francs no mesmo arquivo. Voc pode definir as preferncias do ActionScript para especificar o tipo de codificao a ser usada na importao ou exportao de arquivos do ActionScript. Selecione UTF-8 ou Default Encoding (Codificao padro). UTF-8 o formato Unicode de 8 bits; Default Encoding a forma de codificao suportada pelo idioma que seu sistema utiliza, chamada tambm pgina de cdigo tradicional. Em geral, ao importar ou exportar arquivos do ActionScript em formato UTF-8, use a preferncia UTF-8. Se voc estiver importando ou exportando arquivos na pgina de cdigo tradicional do sistema, dever usar a preferncia Default Encoding. Se o texto dos scripts no tiver a aparncia esperada quando voc abrir ou importar um arquivo, altere a preferncia de codificao de importao. Se receber uma mensagem de aviso ao exportar arquivos do ActionScript, dever alterar a preferncia de codificao de exportao ou desativar o aviso nas preferncias do ActionScript.
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 de codificao de idioma usada pelo seu sistema.
Para ativar ou desativar o aviso de codificao de exportao:

1 Na caixa de dilogo Preferences, em Edit > Preferences, clique na guia Warnings (Avisos). 2 Selecione ou desmarque Warn on Encoding Conflicts When Exporting .as Files (Avisar em

conflitos de codificao ao exportar arquivos .as).


Ateno: O comando Test Movie (Testar filme) (consulte Depurando scripts na pgina 73) falhar se alguma parte do caminho do arquivo SWF contiver caracteres que no possam ser representados pelo esquema de codificao MBCS. Por exemplo, caminhos em japons em um sistema em ingls no funcionam. Todas as reas do aplicativo que usam o exibidor externo esto sujeitas a esta limitao.

28

Captulo 2: Conceitos bsicos do ActionScript

Terminologia
Como em toda linguagem de script, o ActionScript usa sua prpria terminologia. A lista a seguir fornece uma introduo aos termos importantes do ActionScript.
Aes so instrues que instruem um arquivo SWF a fazer algo enquanto reproduzido. Por exemplo, gotoAndStop() envia a reproduo para um quadro ou rtulo especfico. Neste manual, os termos ao e instruo so equivalentes. Booleano

um valor true (verdadeiro) ou false (falso).

Classes so tipos de dados que podem ser criados para definir um novo tipo de objeto. Para definir uma classe, use a palavra-chave class em um arquivo de script externo, e no em um script escrito no painel Actions (Aes). Constantes so elementos que no se alteram. Por exemplo, a constante Key.TAB sempre tem o mesmo significado: ela indica a tecla Tab em um teclado. Constantes so teis para comparar valores. Construtores

so funes usadas para definir as propriedades e os mtodos de uma classe. Por definio, construtores so funes em uma definio de classe que tm o mesmo nome da classe. Por exemplo, o cdigo abaixo define uma classe Circle (Crculo) e implementa uma funo construtora:

// arquivo Circle.as class Circle { private var radius:Number private var circumference:Number // construtor function Circle(radius:Number) { circumference = 2 * Math.PI * radius; } }

O termo construtor tambm usado quando voc cria (instancia) um objeto com base em uma classe especfica. As instrues 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 37. Eventos so

aes que ocorrem enquanto um arquivo SWF reproduzido. Por exemplo, so gerados eventos diferentes quando um clipe de filme carregado, quando a reproduo entra em um quadro, quando o usurio clica em um boto ou clipe de filme, ou quando digita no teclado.

Terminologia

29

Manipuladores de eventos so aes especiais que gerenciam eventos como mouseDown ou load.

Existem dois tipos de manipuladores de eventos do ActionScript: mtodos manipuladores de eventos e ouvintes de eventos. (Existem tambm dois manipuladores de eventos, on() e onClipEvent(), que voc pode atribuir diretamente a botes e clipes de filme.) Na caixa de ferramentas Actions, cada objeto do ActionScript com mtodos manipuladores de eventos ou ouvintes de eventos tem uma subcategoria chamada Events (Eventos) ou Listeners (Ouvintes). Alguns comandos podem ser usados como manipuladores de eventos e como ouvintes de eventos e so includos nas duas subcategorias.
Expresses so combinaes legais de smbolos do ActionScript que representam um valor. Uma expresso consiste em operadores e operandos. Por exemplo, na expresso x + 2, x e 2 so operandos e + um operador. Funes so blocos de cdigo reutilizveis que podem receber parmetros e retornar um valor. Para obter mais informaes, consulte Criando funes na pgina 55. Identificadores

so nomes usados para indicar uma varivel, uma propriedade, um objeto, uma funo 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 exemplo, firstName o nome de uma varivel.

Instncias so objetos que pertencem a certas classes. Cada instncia de uma classe contm todas as propriedades e mtodos dessa classe. Por exemplo, todos os clipes de filme so instncias da classe MovieClip, portanto voc pode usar qualquer mtodo ou propriedade da classe MovieClip com qualquer instncia de clipe de filme. Nomes de instncias so nomes exclusivos que permitem fazer referncia a instncias de botes e

clipes de filme em scripts. Use o inspetor Properties (Propriedades) para atribuir nome a instncias no Stage (Palco). Por exemplo, um smbolo principal na biblioteca pode ser chamado de counter e as duas instncias desse smbolo no arquivo SWF podem ter os nomes scorePlayer1_mc e scorePlayer2_mc. O cdigo a seguir define uma varivel chamada score dentro de cada instncia de clipe de filme por meio de nomes de instncias:
_root.scorePlayer1_mc.score += 1; _root.scorePlayer2_mc.score -= 1;

Voc pode usar sufixos especiais ao atribuir nome a instncias para que referncias de cdigo (consulte Usando referncias de cdigo na pgina 68) apaream medida que voc digita o cdigo. Para obter mais informaes, consulte Usando sufixos para ativar referncias de cdigo na pgina 66.
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. Para obter uma lista de palavras-chave, consulte Palavras-chave na pgina 36.

funes associadas a uma classe. Por exemplo, getBytesLoaded() um mtodo interno associado classe MovieClip. Voc tambm pode criar funes que funcionem como mtodos, para objetos com base em classes internas ou objetos com base nas classes criadas por voc. Por exemplo, no cdigo abaixo, clear() torna-se um mtodo de um objeto controller que voc j definiu:

Mtodos so

30

Captulo 2: Conceitos bsicos do ActionScript

function reset(){ this.x_pos = 0; this.x_pos = 0; } controller.clear = reset; controller.clear(); Objetos

so colees de propriedades e mtodos; cada objeto tem seu prprio nome e uma instncia de uma classe especfica. Objetos internos so predefinidos na linguagem ActionScript. Por exemplo, o objeto interno Date fornece informaes sobre o relgio do sistema.

Operadores so termos que calculam um novo valor de um ou mais valores. Por exemplo, o operador de adio (+) soma dois ou mais valores para produzir um novo valor. Os valores manipulados pelos operadores so denominados operandos. Parmetros (tambm denominados argumentos) so espaos reservados que permitem passar valores para funes. Por exemplo, a funo welcome() a seguir usa os dois valores que recebe nos parmetros firstName e hobby: function welcome(firstName, hobby) { welcomeText = "Hello, " + firstName + "I see you enjoy " + hobby; } Pacotes

so diretrios que contm um ou mais arquivos de classes e residem em um diretrio especfico do caminho da classe (consulte Noes bsicas de caminho de classe na pgina 179).

Propriedades so atributos que definem um objeto. Por exemplo, _visible uma propriedade de todos os clipes de filme que define se eles esto visveis ou ocultos. Caminhos de destino

so endereos hierrquicos de nomes de instncias de clipes de filme, variveis e objetos em um arquivo SWF. Voc pode dar um nome a uma instncia de clipe de filme no inspetor Properties do clipe de filme. A Timeline (Linha de tempo) principal sempre tem o nome _root. Voc pode usar um caminho de destino para direcionar uma ao em um clipe de filme, ou para obter ou definir o valor de uma varivel. Por exemplo, a seguinte instruo o caminho de destino da varivel volume dentro do clipe de filme stereoControl:

_root.stereoControl.volume

Para obter mais informaes sobre caminhos de destino, consulte Using absolute and relative target paths (Usando caminhos de destino absolutos e relativos) no Using Flash Help (Ajuda de Usando o Flash).
Variveis

so identificadores que contm valores de qualquer tipo de dados. possvel criar, alterar e atualizar variveis. Os valores que elas armazenam podem ser recuperados para uso em scripts. No exemplo a seguir, os identificadores no lado esquerdo do sinal de igual so variveis:

var x = 5; var name = "Lolo"; var c_color = new Color(mcinstanceName);

Para obter mais informaes sobre variveis, consulte Sobre variveis na pgina 44.

Terminologia

31

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 Em uma linguagem de programao que distingue maisculas e minsculas, nomes de variveis que diferem somente em sua primeira letra (book e Book) so considerados diferentes. Portanto, bom ser coerente na escolha das convenes de maisculas e minsculas. Por exemplo, as convenes usadas neste manual facilitam a identificao de nomes de funes e variveis no cdigo do ActionScript. Ao publicar arquivos para Flash Player 7 ou verses posteriores, o Flash implementar a diferenciao entre maisculas e minsculas tanto no ActionScript 1 quanto no ActionScript 2.0. Isto significa que haver distino entre maisculas e minsculas para palavras-chave, nomes de classe, variveis, nomes de mtodos e assim por diante. Por exemplo:
// Em arquivo que especifique o Flash Player 7 // e ActionScript 1 ou ActionScript 2.0 // // Define propriedades de dois objetos diferentes cat.hilite = true; CAT.hilite = true; // Cria trs variveis diferentes var myVar=10; var myvar=10; var mYvAr=10; // No gera um erro var array = new Array(); var date = new Date();

Esta alterao tambm afeta variveis externas carregadas com LoadVars.load(). Alm disso, a distino entre maisculas e minsculas implementada para scripts externos, como os arquivos de classe ActionScript 2.0 ou scripts que voc importar usando o comando #include. Se voc estiver publicando arquivos para Flash Player 7 e tiver previamente criado arquivos externos para adicionar a seus scripts usando a instruo #include, dever rever cada arquivo e verificar se usou maisculas e minsculas de forma coerente 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 71) ou publique o arquivo; os erros causados por conflitos de atribuio de nome aparecero no painel Output (Sada). Quando Syntax coloring (Sinalizao da sintaxe por cores) estiver ativada, os elementos de linguagem escritos corretamente em maisculas ou minsculas ficaro azuis por padro. Para obter mais informaes, consulte Palavras-chave na pgina 36 e Realce de sintaxe na pgina 65.

32

Captulo 2: Conceitos bsicos do ActionScript

Sintaxe de ponto No ActionScript, usa-se um ponto (.) para indicar as propriedades ou os mtodos relacionados a um objeto ou clipe de filme. O ponto tambm usado para identificar o caminho de destino at um clipe de filme, uma varivel, uma funo ou um objeto. Uma expresso com sintaxe de ponto comea com o nome do objeto ou clipe de filme seguido de um ponto e termina com o elemento a ser especificado. Por exemplo, a propriedade _x do clipe de filme indica a posio no eixo x desse clipe no Stage. A expresso ballMC._x se refere propriedade _x da instncia ballMC do clipe de filme. Outro exemplo: submit uma varivel definida no clipe de filme form que aninhado no clipe de filme shoppingCart. A expresso shoppingCart.form.submit = true define a varivel submit da instncia form como true. A expresso do mtodo de um objeto ou clipe de filme segue o mesmo padro. Por exemplo, o mtodo play() da instncia de clipe de filme ball_mc move a reproduo na Timeline de ball_mc, como mostrado na instruo a seguir:
ball_mc.play();

A sintaxe de ponto tambm usa dois aliases especiais, _root e _parent. O alias _root refere-se Timeline principal. Voc pode usar o alias _root para criar um caminho de destino absoluto. Por exemplo, a seguinte instruo chama a funo buildGameBoard() no clipe de filme functions na Timeline principal:
_root.functions.buildGameBoard();

Voc pode usar o alias _parent para se referir a um clipe de filme no qual o objeto atual esteja aninhado. Pode tambm usar _parent para criar um caminho de destino relativo. Por exemplo, se o clipe de filme dog_mc estiver aninhado no clipe de filme animal_mc, a seguinte instruo na instncia dog_mc informar a animal_mc para interromper a reproduo:
_parent.stop();

Sintaxe de barra A sintaxe de barra foi usada no Flash 3 e 4 para indicar o caminho de destino de um clipe de filme ou de uma varivel. Esta sintaxe ainda suportada pelo Flash Player 7, mas seu uso no recomendado. A sintaxe de barra no suportada pelo ActionScript 2.0. Porm, se voc estiver criando contedo direcionado especificamente para o Flash Player 4, ser preciso usar a sintaxe de barra. Para obter mais informaes, consulte Usando a sintaxe de barra na pgina 919.

Sintaxe

33

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 eventos on (release) { myDate = new Date(); currentMonth = myDate.getMonth(); } on(release) { myDate = new Date(); currentMonth = myDate.getMonth(); } // Classe class Circle(radius) { } class Square(side) { } // Funo circleArea = function(radius) { return radius * radius * MATH.PI; } squareArea = function(side) { return side * side; }

Voc pode verificar a existncia de chaves correspondentes nos scripts; consulte Verificando sintaxe e pontuao na pgina 71. Ponto-e-vrgulas Uma instruo do ActionScript terminada por um ponto-e-vrgula (;), como mostrado nestes exemplos:
var column = passedDate.getDay(); var row = 0;

Se o ponto-e-vrgula de terminao for omitido, o Flash ainda assim compilar o script com xito. Porm, o uso do ponto-e-vrgula uma prtica recomendvel na criao de scripts.

34

Captulo 2: Conceitos bsicos do ActionScript

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 a funo dentro dos 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 das instrues do ActionScript. (Consulte Associatividade e precedncia de operadores na pgina 48.) Use parnteses tambm para avaliar uma expresso esquerda de um ponto em uma sintaxe de ponto. Por exemplo, na seguinte instruo, os parnteses fazem com que new Color(this) avalie e crie um objeto Color:
onClipEvent (enterFrame){ (new Color(this)).setRGB(0xffffff); }

Se voc no usar parnteses, dever adicionar uma instruo para avaliar a expresso:
onClipEvent (enterFrame){ myColor = new Color(this); myColor.setRGB(0xffffff); }

Voc pode verificar a existncia de parnteses correspondentes nos scripts; consulte Verificando sintaxe e pontuao na pgina 71. Comentrios bastante recomendvel usar comentrios para adicionar observaes a scripts. Os comentrios so teis para registrar as suas intenes e passar informaes para outros desenvolvedores, se voc trabalha em um ambiente colaborativo ou est fornecendo exemplos. Ser muito mais fcil entender um script, por mais simples que ele seja, se voc fizer observaes ao cri-lo: Para indicar que uma linha ou parte de uma linha um comentrio, anteceda o comentrio com duas barras (//):
on (release) { // cria um novo objeto Date myDate = new Date(); currentMonth = myDate.getMonth(); // converte o nmero do ms no nome do ms monthName = calcMonth(currentMonth); year = myDate.getFullYear(); currentDate = myDate.getDate(); }

Quando Syntax coloring estiver ativada (consulte Realce de sintaxe na pgina 65), os comentrios ficaro em cinza por padro. O tamanho dos comentrios no afeta o tamanho do arquivo exportado e eles no precisam seguir as regras de palavras-chave ou sintaxe do ActionScript.

Sintaxe

35

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 de comentrio e */ no fim. Por exemplo, quando o seguinte script executado, a parte do cdigo contida no bloco no executada:
// O cdigo abaixo executado var x:Number = 15; var y:Number = 20; // O cdigo abaixo no executado /* on (release) { // cria um novo objeto Date myDate = new Date(); currentMonth = myDate.getMonth(); // converte o nmero do ms no nome do ms monthName = calcMonth(currentMonth); year = myDate.getFullYear(); currentDate = myDate.getDate(); } */ // O cdigo abaixo executado var name:String = "My name is"; var age:Number = 20;

Palavras-chave O ActionScript reserva palavras para uso especfico na linguagem, portanto voc no pode us-las como identificadores, como nomes de variveis, de funes ou de rtulos. A tabela seguinte lista todas as palavras-chave do ActionScript:
break default extends if instanceof private static var case delete for implements interface public switch void class dynamic function import intrinsic return this while continue else get in new set typeof with

Constantes Uma constante uma propriedade cujo valor nunca alterado. Por exemplo, as constantes BACKSPACE, ENTER, QUOTE, RETURN, SPACE e TAB so propriedades do objeto Key e se referem s teclas do teclado. Para testar se o usurio est pressionando a tecla Enter, voc pode usar a seguinte instruo:
if(Key.getCode() == Key.ENTER) { alert = "Are you ready to play?"; controlMC.gotoAndStop(5); }

36

Captulo 2: Conceitos bsicos do ActionScript

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 tipos de dados primitivos String, Number e Boolean possuem um valor constante e, portanto, podem manter o valor real do elemento que representam. Os tipos de dados de referncia MovieClip e Object possuem 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 46.) Existem tambm dois tipos de dados especiais: null e undefined. No Flash, qualquer objeto interno que no seja um tipo de dados primitivo ou um tipo de dados de clipe de filme, como Array ou Math (Matemtica), ser do tipo de dados Object. Cada tipo de dados possui suas prprias regras e descrito nos seguintes tpicos:

String na pgina 37 Number na pgina 38 Boolean na pgina 38 Object na pgina 39 MovieClip na pgina 39 Null na pgina 39 Undefined na pgina 39

Ao depurar scripts, talvez voc precise determinar os tipos de dados de uma expresso ou varivel para entender seu comportamento. Isso pode ser feito com o operador typeof (consulte Determinando o tipo de dados de um item na pgina 40). Voc pode converter um tipo de dados em outro usando uma das seguintes funes de converso: Array(), Boolean(), Number(), Object(), String(). String Uma seqncia de caracteres uma seqncia de letras, nmeros e sinais de pontuao. Insira seqncias de caracteres em instrues do ActionScript colocando-as entre aspas simples ou duplas. As seqncias de caracteres so tratadas como caracteres e no como variveis. Por exemplo, na seguinte instruo, "L7" uma seqncia de caracteres:
favoriteBand = "L7";

Voc pode usar o operador de adio (+) para concatenar, ou unir, duas seqncias de caracteres. O ActionScript trata os espaos no comeo ou final de uma seqncia de caracteres como uma parte literal dessa seqncia. A seguinte expresso inclui um espao depois da vrgula:
greeting = "Welcome," + firstName;

Sobre tipos de dados

37

Para incluir aspas em uma seqncia de caracteres, coloque uma barra invertida (\) antes dessas aspas. Isso chamado escape de caractere. 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:
Seqncia de escape Caractere
\b \f \n \r \t \" \' \\ \000 - \377 \x00 - \xFF \u0000 - \uFFFF

Caractere Backspace (ASCII 8) Caractere de alimentao de formulrio (ASCII 12) Caractere de alimentao de linha (ASCII 10) Caractere de retorno de carro (ASCII 13) Caractere Tab (ASCII 9) Aspas duplas Aspas simples Barra invertida Um byte especificado em octal Um byte especificado em hexadecimal Um caractere Unicode de 16 bits especificado em hexadecimal

Number O tipo de dados number um nmero de dupla preciso e ponto flutuante. possvel manipular nmeros usando os operadores aritmticos de adio (+), subtrao (-), multiplicao (*), diviso (/), mdulo (%), incremento (++) e decremento (--). Tambm possvel usar mtodos das classes internas Math e Number para manipular nmeros. O seguinte exemplo usa o mtodo sqrt() (square root - raiz quadrada) para retornar a raiz quadrada do nmero 100:
Math.sqrt(100);

Para obter mais informaes, consulte Operadores numricos na pgina 49. Boolean Um valor booleano true ou false . O ActionScript tambm converte os valores true e false em 1 e 0 quando apropriado. Os valores booleanos so freqentemente usados com operadores lgicos em instrues do ActionScript que fazem comparaes para controlar o fluxo de um script. Por exemplo, no prximo script, o arquivo SWF ser reproduzido se a varivel password for true:
onClipEvent (enterFrame){ if (userName == true && password == true){ play(); } }

Consulte Usando funes internas na pgina 54 e Operadores lgicos na pgina 50.

38

Captulo 2: Conceitos bsicos do ActionScript

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 dados do Flash, at mesmo um tipo de dados object. Isso permite aninhar objetos, ou seja, organiz-los uns dentro dos outros. Para especificar os objetos 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 objetos internos do ActionScript para acessar e manipular tipos especficos de informaes. Por exemplo, o objeto Math possui mtodos que executam operaes matemticas com nmeros passados para eles. Este exemplo usa o mtodo sqrt():
squareRoot = Math.sqrt(100);

O objeto MovieClip do ActionScript possui mtodos que permitem a voc controlar instncias de smbolos de clipes de filme no Stage (Palco). Este exemplo usa os mtodos play() e nextFrame():
mcInstanceName.play(); mc2InstanceName.nextFrame();

Voc tambm pode criar objetos personalizados para organizar informaes em seu aplicativo Flash. Para adicionar interatividade a um aplicativo com ActionScript, voc precisar de muitas informaes diferentes: por exemplo, o nome de um usurio, a velocidade de uma bola, os nomes dos itens de um carrinho de compras, o nmero de quadros carregados, o CEP do usurio ou a ltima tecla pressionada. A criao de objetos personalizados permite que voc organize essas informaes em grupos, simplifique e reutilize os scripts. MovieClip Clipes de filme so smbolos que podem reproduzir animaes em um aplicativo Flash. Eles so os nicos tipos de dados que fazem referncia a elementos grficos. O tipo de dados MovieClip permite controlar smbolos de clipes de filme com os mtodos da classe MovieClip. Chame os mtodos usando o operador ponto (.), conforme o exemplo a seguir:
my_mc.startDrag(true); parent_mc.getURL("http://www.macromedia.com/support/" + product);

Null O tipo de dados null s possui um valor: null. Esse valor significa no h valor ou seja, uma falta de dados. possvel usar o valor null em diversas situaes. Veja a seguir alguns exemplos:

Para indicar que uma varivel ainda no recebeu um valor Para indicar que uma varivel no contm mais um valor Como resultado de uma funo, para indicar que no havia valor disponvel a ser apresentado
pela funo Como parmetro de uma funo, para indicar a omisso de um parmetro

Undefined O tipo de dados undefined tem um valor, undefined, e usado para uma varivel que no recebeu atribuio de valor.

Sobre tipos de dados

39

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 dados 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 59.

Atribuindo tipos de dados a elementos


O Flash atribui automaticamente tipos de dados aos seguintes tipos de elementos de linguagem, como analisado na seo a seguir, Atribuindo tipos de dados automaticamente:

Variveis Parmetros passados a uma funo, mtodo ou classe Valores retornados de uma funo ou mtodo Objetos criados como subclasses de classes existentes

Entretanto, voc tambm pode atribuir explicitamente tipos de dados a itens, o que pode ajudar a evitar ou diagnosticar certos erros nos scripts. Para obter mais informaes, consulte Atribuio estrita de tipos de dados na pgina 41. Atribuindo tipos de dados automaticamente No Flash, no preciso definir explicitamente um item que tenha um tipo de dados number, string ou outro. O Flash determina o tipo de dados de um item quando ele atribudo:
var x = 3;

Na expresso var x = 3, o Flash avalia o elemento direita do operador e determina que ele do tipo de dados number. Uma atribuio posterior pode alterar o tipo de x; por exemplo, a instruo x = "hello" altera o tipo de x para string. Uma varivel qual no tenha sido atribudo um valor tem o tipo undefined. O ActionScript converte tipos de dados automaticamente sempre que uma expresso exige. Por exemplo, quando voc passa um valor para a ao trace(), trace() converte automaticamente o valor em uma seqncia de caracteres e o envia para o painel Output. Em expresses com operadores, o ActionScript converte tipos de dados conforme a necessidade; por exemplo, quando usado com uma seqncia de caracteres, o operador + prev que o outro operando seja uma seqncia de caracteres.
"Next in line, number " + 7

O ActionScript converte o nmero 7 na seqncia de caracteres "7" e o adiciona ao final da primeira seqncia de caracteres, o que resulta na seguinte seqncia de caracteres:
"Next in line, number 7"

40

Captulo 2: Conceitos bsicos do ActionScript

Atribuio estrita de tipos de dados O ActionScript 2.0 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 a um item um tipo de dados especfico, defina seu tipo usando a palavra-chave var e a sintaxe ps-dois-pontos:
// atribuio de tipo estrita a varivel ou objeto var x:Number = 7; var birthday:Date = new Date(); // atribuio de tipo de dados estrita de parmetro function welcome(firstName:String, age:Number){ } // atribuio de tipo de dados de parmetro estrita e valor de retorno function square(x:Number):Number { var squared = x*x; return squared; }

Como voc deve usar a palavra-chave var para fazer uma atribuio de tipo estrita a uma varivel, no possvel atribuir estritamente o tipo a uma varivel global (consulte Atribuindo um escopo e declarando variveis na pgina 45). Voc pode declarar o tipo de dados de objetos com base em classes internas (Button, Date, MovieClip etc) e em classes e interfaces criadas por voc. Por exemplo, se houver um arquivo Student.as no qual voc define a classe Student (Aluno), voc poder especificar que os objetos que criar sejam do tipo Student:
var student:Student = new Student();

Voc tambm poder especificar que os objetos sejam do tipo Function ou Void. Usar a atribuio de tipo estrita ajuda a garantir que voc no atribua inadvertidamente um tipo incorreto de valor a um objeto. O Flash verifica erros de tipo de dados incorreto durante a compilao. Por exemplo, suponha que voc defina o seguinte cdigo:
// no arquivo de classe Student.as class Student { var status:Boolean; // propriedade de objetos Student } // em um script var studentMaryLago:Student = new Student(); studentMaryLago.status = "enrolled";

Quando o Flash compila esse script, gerado um erro Type mismatch (Erro de tipo). Outra vantagem da atribuio estrita de tipos de dados que o Flash MX 2004 exibe automaticamente referncias de cdigo para objetos internos quando o tipo de dados atribudo a eles estritamente. Para obter mais informaes, consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66.

Atribuindo tipos de dados a elementos

41

Arquivos publicados usando o ActionScript 1 no respeitam a atribuio estrita de tipos de dados durante a compilao. Portanto, atribuir um valor de tipo errado a uma varivel a qual voc tenha associado estritamente um tipo no gerar um erro de compilao.
var x:String = "abc" x = 12 ; // nenhum erro no ActionScript 1, erro de tipo incompatvel no ActionScript 2

A razo para isto que, quando voc publica um arquivo para ActionScript 1, o Flash interpreta uma instruo do tipo var x:String = "abc" como sintaxe de barra e no como atribuio de tipo estrita. O ActionScript 2.0 no admite sintaxe de barra. Este comportamento pode resultar na atribuio de um objeto do tipo incorreto a uma varivel, fazendo com que o compilador permita chamadas de mtodo ilegais e que referncias a propriedades no definidas sejam passadas sem serem relatadas. Portanto, se voc estiver implementando a atribuio estrita de tipos de dados, dever verificar se est publicando arquivos para ActionScript 2.0. Convertendo objetos O ActionScript 2.0 permite que voc converta um tipo de dados em outro. O operador de converso usado pelo Flash tem a forma de uma chamada de funo e simultneo coero explcita, conforme especificado na proposta do ECMA-262 edio 4. A converso permite definir um objeto como de um certo tipo, para que, quando ocorrer a verificao de tipo, o compilador trate o objeto como possuidor de um conjunto de propriedades que no esto presentes no tipo inicial. Isto pode ser til, por exemplo, ao efetuar a iterao sobre um array de objetos que podem ser de tipos diferentes. Em arquivos publicados para Flash Player 7 ou verses posteriores, as instrues de converso que falham durante a execuo retornaro null. Em arquivos publicados para Flash Player 6, no h suporte de tempo de execuo para converses que falhem. A sintaxe para converso tipo(elemento), onde voc deseja que o compilador se comporte como se o tipo de dados de elemento fosse tipo. A converso basicamente uma chamada de funo, que retorna null se a converso falhar. Se a converso for bem-sucedida, o retorno da chamada ser o objeto original. Entretanto, o compilador no gerar erros de tipos incompatveis quando voc converter elementos para tipos de dados criados em arquivos de classe externos, mesmo se a converso falhar durante a execuo.
// em Animal.as class Animal {} // em Dog.as class Dog extends Animal { function bark (){} } // em Cat.as class Cat extends Animal { function meow (){} } // no arquivo FLA var spot:Dog = new Dog(); var temp:Cat = Cat (spot); // declara que um objeto Dog do tipo Cat temp.meow(); // no faz nada, mas o compilador tambm no gera erro

42

Captulo 2: Conceitos bsicos do ActionScript

Nesta situao, voc declarou ao compilador que temp um objeto Cat e, portanto, o compilador admite que temp.meow() uma instruo legal. Entretanto, o compilador no sabe que a converso ir falhar (ou seja, que voc tentou converter um objeto Dog em um tipo Cat); portanto, nenhum erro ocorrer durante a compilao. Se voc incluir uma verificao em seu script para verificar se a converso funciona corretamente, poder encontrar erros de tipos incompatveis durante a execuo.
var spot:Dog = new Dog(); var temp:Cat = Cat (spot); trace(temp); // exibe null durante a execuo

Voc pode converter uma expresso em uma interface. Se a expresso for um objeto que implemente a interface ou tenha uma classe base que implemente a interface, o objeto ser retornado. Caso contrrio, ser retornado null. O exemplo a seguir apresenta os resultados da converso de tipos de objetos internos. Como a primeira linha do bloco with(results) mostra, uma converso ilegal neste caso, a converso de uma seqncia de caracteres em um clipe de filme retorna null. Nas duas ltimas linhas, a converso de null ou undefined retorna undefined.
var mc:MovieClip; var arr:Array; var bool:Boolean; var num3:Number; var obj:Object; var str:String; _root.createTextField("results",2,100,100,300,300); with(results){ text = "tipo MovieClip : "+(typeof MovieClip(str)); text += "\ntipo object : "+(typeof Object(str)); text += "\ntipo Array : "+(typeof Array(num3)); text += "\ntipo Boolean : "+(typeof Boolean(mc)); text += "\ntipo String : "+(typeof String(mc)); text += "\ntipo text += "\ntipo text += "\ntipo text += "\ntipo } //Resultados no painel Output (Sada) tipo MovieClip : Null tipo object : objeto tipo Array : objeto tipo Boolean : booleano tipo String : seqncia de caracteres tipo Number : nmero tipo Function : objeto tipo null : undefined tipo undefined : undefined

// retorna // retorna // retorna // retorna // retorna // seqncia de Number : "+(typeof Number(obj)); // retorna Function : "+(typeof Function(mc)); // retorna null : "+(typeof null(arr)); // retorna undefined : "+(typeof undefined(obj)); // retorna

null um objeto um objeto um booleano uma caracteres um nmero um objeto undefined undefined

No possvel substituir tipos de dados primitivos como Boolean, Date e Number com um operador de converso com o mesmo nome.

Atribuindo tipos de dados a elementos

43

Sobre variveis
Uma varivel um recipiente que contm informaes. O recipiente sempre o mesmo, mas o contedo pode mudar. Ao alterar o valor de uma varivel durante a reproduo do arquivo SWF, voc poder registrar e salvar informaes sobre as atividades do usurio, gravar valores que mudam medida que o arquivo SWF reproduzido ou avaliar se uma condio true ou false. recomendvel atribuir sempre um valor conhecido a uma varivel na primeira vez que voc defini-la. Esse procedimento conhecido como inicializao de varivel e geralmente feito no primeiro quadro do arquivo SWF. A inicializao de uma varivel facilita o controle e a comparao de seu valor durante a reproduo do arquivo SWF. Variveis podem armazenar qualquer tipo de dados (consulte Sobre tipos de dados na pgina 37). Os tipos de dados que uma varivel contm afetam a forma como o valor da varivel alterado quando atribudo em um script. Os tipos mais comuns de informaes que voc pode armazenar em uma varivel so um URL, um nome de usurio, o resultado de uma operao matemtica, o nmero de vezes que um evento ocorreu ou se um boto foi clicado. Cada arquivo SWF e instncia de clipe de filme tm um conjunto de variveis, no qual cada varivel possui um valor, independentemente das variveis de outros arquivos SWF ou clipes de filme. Para testar o valor de uma varivel, use a ao trace() a fim de enviar o valor para o painel Output. Por exemplo, trace(hoursWorked) envia o valor da varivel hoursWorked para o painel Output no modo de teste. Tambm possvel verificar e definir os valores da varivel no Debugger (Depurador) no modo de teste. Para obter mais informaes, consulte Usando a instruo trace na pgina 84 e Exibindo e modificando variveis na pgina 77. Atribuindo nome a uma varivel O nome de uma varivel deve seguir estas regras:

Ele deve ser um identificador (consulte Terminologia na pgina 29). 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 45). Alm disso, no use qualquer elemento na linguagem ActionScript como um nome de varivel; isso pode causar erros de sintaxe ou resultados inesperados. Por exemplo, se voc atribuir o nome String para uma varivel e depois tentar criar um objeto String usando new String(), o novo objeto ser indefinido.
hello_str = new String(); trace(hello_str.length); // retorna 0 String = "hello"; // Fornecendo a uma varivel o mesmo nome que uma classe interna hello_str = new String(); trace(hello_str.length); // retorna indefinido

O editor do ActionScript oferece suporte a referncias de cdigo para classes internas e variveis que tenham como base essas classes. Se desejar que o Flash fornea referncias de cdigo para um tipo de objeto especfico atribudo a uma varivel, voc poder definir estritamente a varivel ou atribuir um nome a ela usando um sufixo especfico.

44

Captulo 2: Conceitos bsicos do ActionScript

Por exemplo, suponha que voc defina o seguinte cdigo:


var members:Array = new Array(); members.

Assim que voc digita o ponto (.), o Flash exibe uma lista de mtodos e propriedades disponveis para objetos Array. Para obter mais informaes, consulte Escrevendo cdigo que ativar referncias de cdigo na pgina 66. Atribuindo um escopo e declarando variveis O escopo de uma varivel refere-se rea na qual a varivel conhecida e na qual pode ser referenciada. H trs tipos de escopo de varivel no ActionScript:

Variveis locais esto disponveis no corpo da funo em que so declaradas (delineado por
chaves).

Variveis de Timeline esto disponveis para qualquer script nessa Timeline. Variveis globais e funes esto disponveis para cada Timeline e escopo do documento.
Observao: As classes do ActionScript 2.0 criadas por voc oferecem suporte para escopos pblicos, particulares e estticos de variveis. Para obter mais informaes, consulte Controlando o acesso de membros na pgina 174 e Criando membros de classe na pgina 175.

Variveis locais Para declarar variveis locais, use a instruo 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++ ) { _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; } } }

As variveis locais tambm ajudam a impedir conflitos de nome, que podem causar erros no aplicativo. Por exemplo, se voc usar name como uma varivel local, poder us-la para armazenar o nome de um usurio em um contexto e o nome de uma instncia de clipe de filme em outro; como essas variveis so executadas em escopos separados, no haver conflitos.

Sobre variveis

45

bom usar variveis locais no corpo de uma funo para que a funo possa atuar como um cdigo independente. Uma varivel local s pode ser alterada no seu prprio bloco de cdigo. Se uma expresso em uma funo usar uma varivel global, algum fator fora da funo poder alterar seu valor, o que alteraria a funo. possvel associar um tipo de dados a uma varivel local quando de sua definio. Isto ajuda a evitar a atribuio de tipos de dados incorretos a uma varivel existente. Para obter mais informaes, consulte Atribuio estrita de tipos de dados na pgina 41. Variveis de Timeline Variveis de Timeline esto disponveis para qualquer script nessa Timeline. Para declarar variveis de Timeline, inicialize-as em qualquer quadro da Timeline. Verifique se inicializou a varivel antes de acess-la em um script. Por exemplo, se voc inserir o cdigo var x = 10; no Frame 20 (Quadro 20), um script anexado a qualquer quadro antes de Frame 20 no poder acessar essa varivel. 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; counter++; trace(counter); // exibe 101 function count(){ for( var counter = 0; counter <= 10 ; counter++ ) { trace(counter); // exibe de 0 a 10 } } count(); counter++; trace(counter); // exibe 102

Usando variveis em um programa Voc deve declarar uma varivel em um script antes de us-la em uma expresso. Se voc usar uma varivel no declarada, como mostrado no exemplo a seguir, o valor da varivel ser NaN ou undefined, e o script poder produzir resultados indesejados:
var squared = x*x; trace(squared); // NaN var x = 6;

No exemplo a seguir, a instruo que declara a varivel x deve vir primeiro, para que squared possa ser substitudo por um valor:
var x = 6; var squared = x*x; trace(squared); // 36

46

Captulo 2: Conceitos bsicos do ActionScript

Ocorre um comportamento semelhante quando voc passa uma varivel indefinida para um mtodo ou funo:
getURL(myWebSite); // nenhuma ao var myWebSite = "http://www.macromedia.com"; var myWebSite = "http://www.macromedia.com"; getURL(myWebSite); // o navegador exibe www.macromedia.com

Voc pode alterar o valor de uma varivel muitas vezes em um script. O tipo de dados que a varivel contm afeta como e quando a varivel ser alterada. Tipos de dados primitivos, como seqncias de caracteres e nmeros, so passados por valor. Isso significa que o contedo real da varivel passado para a varivel. No exemplo a seguir, x definido como 15 e esse valor copiado para y. Quando x alterado para 30 na linha 3, o valor de y continua a ser 15, porque y no procura seu valor em x; ele contm o valor de x que recebeu na linha 2.
var x = 15; var y = x; var x = 30;

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 com esse tipo no armazenar o valor real, mas uma referncia a esse valor. Essa referncia como um alias que aponta para o contedo da varivel. Quando a varivel precisa saber seu valor, a referncia pede o contedo e responde sem transferir o valor para a varivel. O exemplo seguinte mostra como passar por referncia:
var myArray = ["tom", "josie"]; var newArray = myArray; myArray[1] = "jack"; trace(newArray);

O cdigo acima cria um objeto Array chamado myArray com dois elementos. A varivel newArray criada e passa uma referncia para myArray. Quando o segundo elemento de myArray alterado, todas as variveis com uma referncia a ele so afetadas. A ao trace() envia tom, jack para o painel Output (Sada).

Sobre variveis

47

No exemplo abaixo, myArray contm um objeto Array, portanto, ela passada para a funo zeroArray() por referncia. A funo zeroArray() altera o contedo do array em myArray.
function zeroArray (theArray){ var i; for (i=0; i < theArray.length; i++) { theArray[i] = 0; } } var myArray = new Array(); myArray[0] = 1; myArray[1] = 2; myArray[2] = 3; zeroArray(myArray);

A funo zeroArray() aceita um objeto Array como um parmetro e define todos os elementos desse array como 0. Ela pode modificar o array porque ele passado por referncia.

Usando operadores para manipular valores em expresses


Uma expresso qualquer instruo que o Flash possa avaliar e que retorne um valor. Voc pode criar uma expresso combinando operadores e valores ou chamando uma funo. Os operadores so caracteres que especificam como combinar, comparar ou modificar os valores de uma expresso. Os elementos aos quais o operador aplicado so chamados operandos. Por exemplo, na instruo a seguir, o operador + adiciona o valor de um literal numrico ao valor da varivel foo; foo e 3 so os operandos:
foo + 3

Esta seo descreve regras gerais sobre tipos comuns, precedncia e associatividade de operadores. Para obter informaes detalhadas sobre cada operador mencionado aqui, bem como sobre operadores especiais que no constam dessas categorias, consulte as entradas em Captulo 12, Dicionrio do ActionScript, na pgina 219. Associatividade e precedncia de operadores Quando dois ou mais operadores so usados na mesma instruo, alguns operadores tm precedncia sobre outros. O ActionScript segue uma hierarquia precisa para determinar que operadores devem ser executados primeiro. Por exemplo, a multiplicao sempre executada antes da adio; no entanto, itens entre parnteses tm precedncia sobre a multiplicao. Portanto, como no h parnteses, o ActionScript executa a multiplicao primeiro no exemplo seguinte:
total = 2 + 4 * 3;

O resultado 14. Porm, quando a operao de adio est entre parnteses, o ActionScript executa a adio primeiro:
total = (2 + 4) * 3;

O resultado 18.

48

Captulo 2: Conceitos bsicos do ActionScript

Quando dois ou mais operadores compartilham a mesma precedncia, sua associatividade determina a ordem na qual sero executados. A associatividade pode ser da esquerda para a direita ou da direita para a esquerda. Por exemplo, o operador de multiplicao possui uma associatividade da esquerda para a direita, portanto, as duas instrues a seguir so equivalentes:
total = 2 * 3 * 4; total = (2 * 3) * 4;

Para obter uma tabela de todos os operadores e respectivas precedncia e associatividade, consulte Apndice B, Associatividade e precedncia de operadores, na pgina 909. Operadores numricos Os operadores numricos adicionam, subtraem, multiplicam, dividem e executam outras operaes aritmticas. O uso mais comum do operador de incremento i++, em vez do mais extenso i = i+1. possvel usar esse operador antes ou depois de um operando. No exemplo a seguir, age recebe primeiro um incremento e, a seguir, testado em relao ao nmero 30:
if (++age >= 30)

No exemplo a seguir, age recebe o incremento depois que o teste realizado:


if (age++ >= 30)

A tabela a seguir lista os operadores numricos do ActionScript:


Operador
+ * / % ++ --

Operao executada Adio Multiplicao Diviso Mdulo (resto da diviso) Subtrao Incremento Decremento

Operadores de comparao Os operadores de comparao comparam os valores de expresses e retornam um valor booleano (true ou false). Esses operadores so mais usados em repeties e em instrues condicionais. No exemplo a seguir, se a varivel score for 100, um determinado arquivo SWF ser carregado; caso contrrio, ser carregado outro arquivo SWF:
if (score > 100){ loadMovieNum("winner.swf", 5); else { loadMovieNum("loser.swf", 5); }

Usando operadores para manipular valores em expresses

49

A tabela a seguir lista os operadores de comparao do ActionScript:


Operador
< > <= >=

Operao executada Menor que Maior que Menor que ou igual a Maior que ou igual a

Operadores de seqncia de caracteres O operador + tem um efeito especial quando opera em seqncias de caracteres: ele concatena os dois operandos de seqncias de caracteres. Por exemplo, a instruo a seguir adiciona "Congratulations," a "Donna!":
"Congratulations, " + "Donna!"

O resultado "Congratulations, Donna!" Se apenas um dos operandos do operador + for uma seqncia de caracteres, o Flash converter o outro operando em uma seqncia de caracteres. Os operadores de comparao >, >=, < e <= tambm tm um efeito especial quando operam em seqncias de caracteres. Esses operadores comparam duas seqncias de caracteres para determinar o que vem primeiro em ordem alfabtica. Os operadores de comparao s compararo seqncias de caracteres se os dois operandos forem seqncias de caracteres. Se apenas um dos operandos for uma seqncia de caracteres, o ActionScript converter ambos os operandos em nmeros e executar uma comparao numrica. Operadores lgicos Os operadores lgicos comparam valores booleanos (true e false) e retornam um terceiro valor booleano. Por exemplo, se os dois operandos forem avaliados como true, o operador AND lgico (&&) retornar true. Se um ou ambos os operandos forem avaliados como true, o operador lgico OR (||) retornar true. Os operadores lgicos so freqentemente usados com os operadores de comparao para determinar a condio de uma ao if. Por exemplo, no script seguinte, se as duas expresses forem verdadeiras, a ao if ser executada:
if (i > 10 && _framesloaded > 50){ play(); }

A tabela a seguir lista os operadores lgicos do ActionScript:


Operador
&& || !

Operao executada AND lgico OR lgico NOT lgico

50

Captulo 2: Conceitos bsicos do ActionScript

Operadores bit a bit Os operadores bit a bit manipulam internamente nmeros de ponto flutuante para transform-los em nmeros inteiros de 32 bits. A operao exata realizada depende do operador, mas todas as operaes bit a bit avaliam cada dgito binrio (bit) do nmero inteiro de 32 bits individualmente para computar um novo valor. A tabela a seguir lista os operadores bit a bit do ActionScript:
Operador & | ^ ~ << >> >>> Operao executada AND bit a bit OR bit a bit XOR bit a bit NOT bit a bit Desloca para a esquerda Desloca para a direita Desloca para a direita sem preenchimento

Operadores de igualdade Voc pode usar o operador de igualdade (==) para determinar se os valores ou as identidades de dois operandos so iguais. Essa comparao retorna um valor booleano (true ou false). Se os operandos forem seqncias de caracteres, nmeros ou valores booleanos, eles sero comparados por valor. Se os operandos forem objetos ou arrays, eles sero comparados por referncia. um erro comum usar o operador de atribuio para verificar se h igualdade. Por exemplo, o cdigo a seguir compara x a 2:
if (x == 2)

No mesmo exemplo, a expresso x = 2 incorreta porque no compara os operandos, ela atribui o valor 2 varivel x. O operador de igualdade estrita (===) como o operador de igualdade, com uma diferena importante: o operador de igualdade estrita no executa a converso de tipo. Se os dois operandos forem de tipos diferentes, o operador de igualdade estrita retornar false. O operador de diferena estrita (!==) retorna o inverso do operador de igualdade estrita. A tabela a seguir lista os operadores de igualdade do ActionScript:
Operador
== === != !==

Operao executada Igualdade Igualdade estrita Diferena Diferena estrita

Usando operadores para manipular valores em expresses

51

Operadores de atribuio Voc pode usar o operador de atribuio (=) para atribuir um valor a uma varivel, conforme mostrado neste exemplo:
var password = "Sk8tEr";

Voc tambm pode usar o operador de atribuio para atribuir diversas variveis na mesma expresso. Na instruo a seguir, o valor de a atribudo s variveis b, c e d:
a = b = c = d;

Voc tambm pode usar operadores de atribuio compostos para combinar operaes. Operadores compostos so executados nos dois operandos e depois atribuem o novo valor ao primeiro operando. Por exemplo, as duas instrues a seguir so equivalentes:
x += 15; x = x + 15;

Tambm possvel usar o operador de atribuio no meio de uma expresso, como mostrado no exemplo a seguir:
// Se o valor no for vanilla, envie uma mensagem. if ((flavor = getIceCreamFlavor()) != "vanilla") { trace ("Flavor was " + flavor + ", not vanilla."); }

Esse cdigo equivale ao seguinte cdigo ligeiramente mais extenso:


flavor = getIceCreamFlavor(); if (flavor != "vanilla") { trace ("Flavor was " + flavor + ", not vanilla."); }

A tabela a seguir lista os operadores de atribuio do ActionScript:


Operador
= += -= *= %= /= <<= >>= >>>= ^= |= &=

Operao executada Atribuio Adio e atribuio Subtrao e atribuio Multiplicao e atribuio Mdulo e atribuio Diviso e atribuio Deslocamento para a esquerda bit a bit e atribuio Deslocamento para a direita bit a bit e atribuio Deslocamento para a direita sem preenchimento e atribuio XOR bit a bit e atribuio OR bit a bit e atribuio AND bit a bit e atribuio

52

Captulo 2: Conceitos bsicos do ActionScript

Operadores ponto e de acesso de array possvel usar o operador ponto (.) e o operador de acesso de array ([]) para acessar propriedades de objeto internas ou personalizadas do ActionScript, incluindo as de um clipe de filme. O operador ponto usa o nome de um objeto sua esquerda e o nome de uma propriedade ou varivel sua direita. O nome da propriedade ou varivel no pode ser uma seqncia de caracteres ou uma varivel avaliada como uma seqncia de caracteres; ele deve ser um identificador. Os exemplos a seguir usam o operador ponto:
year.month = "June"; year.month.day = 9;

O operador ponto e o operador de acesso de array executam a mesma funo, s que o operador ponto usa um identificador como sua propriedade, enquanto o operador de acesso de array avalia seu contedo em relao a um nome e, em seguida, acessa o valor dessa propriedade com nome atribudo. Por exemplo, as expresses a seguir acessam a mesma varivel velocity no clipe de filme rocket:
rocket.velocity; rocket["velocity"];

Voc pode usar o operador de acesso de array para definir e recuperar variveis e nomes de instncias dinamicamente. Por exemplo, no cdigo seguinte, a expresso dentro do operador [] avaliada, e o resultado da avaliao usado como o nome da varivel a ser recuperada do name do clipe de filme:
name["mc" + i]

Voc tambm pode usar a funo eval(), conforme o exemplo a seguir:


eval("mc" + i)

Tambm possvel usar o operador de acesso de array esquerda de uma instruo de atribuio. Isso permite que voc defina dinamicamente nomes de objetos, variveis e instncias, conforme mostrado no exemplo seguinte:
name[index] = "Gary";

Crie matrizes no ActionScript construindo um array cujos elementos tambm so arrays. Para acessar elementos de uma matriz, voc pode aninhar o operador de acesso de array nele mesmo, conforme mostrado no seguinte exemplo:
var chessboard = new Array(); for (var i=0; i<8; i++) { chessboard.push(new Array(8)); } function getContentsOfSquare(row, column){ chessboard[row][column]; }

Voc pode verificar operadores [] correspondentes em seus scripts; consulte Verificando sintaxe e pontuao na pgina 71.

Usando operadores para manipular valores em expresses

53

Especificando o caminho de um objeto


Para usar uma ao para controlar um clipe de filme ou um arquivo SWF carregado, voc deve especificar seu nome e endereo, o que chamado de caminho de destino. No ActionScript, um clipe de filme identificado por seu nome de instncia. Por exemplo, na instruo a seguir, a propriedade _alpha do clipe de filme chamado star definida como tendo visibilidade de 50%:
star._alpha = 50; Para atribuir um nome de instncia a um clipe de filme:

1 Selecione o clipe de filme no Stage. 2 Insira um nome de instncia no inspetor Properties.


Para identificar um arquivo SWF carregado:

Use _levelX, onde X o nmero do nvel especificado na ao loadMovie() que carregou o


arquivo SWF. Por exemplo, um arquivo SWF carregado no nvel 5 possui o caminho de destino _level5. No exemplo a seguir, um arquivo SWF carregado no nvel 5 e sua visibilidade definida como false:
onClipEvent(load){ loadMovieNum("myMovie.swf", 5); } onClipEvent (enterFrame){ _level5._visible = false; } Para inserir o caminho de destino de um arquivo SWF:

No painel Actions, em Window (Janela) > Development (Desenvolvimento) > Actions


(Aes), clique no boto Insert Target Path (Inserir caminho de destino) e selecione um clipe de filme na lista exibida. Para obter mais informaes sobre caminhos de destino, consulte Using absolute and relative target paths (Usando caminhos de destino absolutos e relativos) no Using Flash Help (Ajuda de Usando o Flash).

Usando funes internas


Uma funo um bloco de cdigo do ActionScript que pode ser reutilizado em qualquer lugar de um arquivo SWF. Se voc passar valores como parmetros para uma funo, a funo operar com esses valores. Uma funo tambm pode retornar valores. O Flash possui funes internas que permitem acessar certas informaes e executar certas tarefas, como obter o nmero de verso do Flash Player que hospeda o arquivo SWF (getVersion()). As funes que pertencem a um objeto so denominadas mtodos. As funes que no pertencem a um objeto so denominadas funes de alto nvel e so encontradas na categoria Functions (Funes) do painel Actions.

54

Captulo 2: Conceitos bsicos do ActionScript

Cada funo tem suas prprias caractersticas e algumas delas exigem que voc passe determinados valores. Se forem passados mais parmetros do que o exigido pela funo, os valores extras sero ignorados. Se algum parmetro obrigatrio no for passado, o tipo de dados undefined ser atribudo aos parmetros vazios, o que poder gerar erros na exportao do script. Para chamar uma funo, ela deve estar em um quadro que j tenha sido reproduzido. Para chamar uma funo, basta usar o nome da funo e passar os parmetros necessrios:
isNaN(someVar); getTimer(); eval("someVar");

Para obter mais informaes sobre cada funo, consulte sua entrada no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Criando funes
Voc pode definir funes para executar uma srie de instrues sobre valores passados. Suas funes tambm podem retornar valores. Depois que uma funo for definida, ela poder ser chamada de qualquer Timeline, incluindo aquela de um arquivo SWF carregado. Uma funo bem escrita pode ser considerada uma caixa-preta. Se ela tiver comentrios cuidadosamente inseridos a respeito de sua entrada, sada e objetivo, um usurio da funo no precisar compreender exatamente como ela funciona internamente. Definindo uma funo As funes, assim como as variveis, so anexadas Timeline do clipe de filme que as define, e voc deve usar um caminho de destino para cham-las. Como ocorre com as variveis, voc pode usar o identificador _global para declarar uma funo global disponvel a todas as Timelines sem usar um caminho de destino. Para definir uma funo global, preceda o nome da funo com o identificador _global, como no exemplo a seguir:
_global.myFunction = function (x) { return (x*2)+3; }

Para definir uma funo de Timeline, use a ao function seguida do nome da funo, dos parmetros a serem passados para a funo e das instrues do ActionScript que indicam o que a funo faz. O exemplo a seguir uma funo denominada areaOfCircle com o parmetro radius:
function areaOfCircle(radius) { return Math.PI * radius * radius; }

Tambm possvel definir uma funo criando um literal de funo uma funo sem nome declarada em uma expresso e no em uma instruo. Voc pode usar um literal de funo para definir uma funo, retornar seu valor e atribu-lo a uma varivel em uma expresso, conforme mostrado no exemplo a seguir:
area = (function() {return Math.PI * radius *radius;})(5);

Quando uma funo redefinida, a nova definio substitui a antiga.

Criando funes

55

Passando parmetros para uma funo Os parmetros so os elementos sobre os quais uma funo executa seu cdigo. (Neste manual, os termos parmetro e argumento so equivalentes.) Por exemplo, a seguinte funo usa os parmetros initials e finalScore:
function fillOutScorecard(initials, finalScore) { scorecard.display = initials; scorecard.score = finalScore; }

Quando a funo chamada, os parmetros necessrios devem ser passados para ela. A funo substitui os valores passados para os parmetros na definio da funo. Neste exemplo, scorecard o nome da instncia de um clipe de filme; display e score so campos de texto editveis na instncia. A chamada de funo a seguir atribui o valor "JEB" varivel display e o valor 45000 varivel score:
fillOutScorecard("JEB", 45000);

O parmetro initials na funo fillOutScorecard() semelhante a uma varivel local; ele existe enquanto a funo chamada e desaparece quando a funo encerrada. Se forem omitidos parmetros durante uma chamada de funo, os parmetros omitidos sero passados como undefined. Se uma chamada de funo contiver parmetros adicionais no exigidos pela declarao da funo, eles sero ignorados. Usando variveis em uma funo As variveis locais so ferramentas valiosas para organizar cdigos e facilitar sua compreenso. Quando uma funo usa variveis locais, ela pode ocultar suas variveis de todos os outros scripts no arquivo SWF; os escopos das variveis locais encontram-se no corpo da funo e deixam de existir quando a funo encerrada. Os parmetros passados a uma funo tambm so tratados como variveis locais. Tambm possvel usar variveis globais e comuns em uma funo. Porm, se as variveis globais ou comuns forem modificadas, ser recomendvel usar comentrios de script para documentar essas modificaes. Retornando valores de uma funo Use a instruo return para retornar valores de funes. A instruo return interrompe a funo e a substitui pelo valor da ao return. As regras a seguir regem o uso da instruo return em funes:

Se voc especificar para uma funo um tipo de retorno diferente de void, dever incluir uma
instruo return nessa funo. Se voc definir o tipo de retorno como void, no dever incluir uma instruo return. Se voc no especificar um tipo de retorno, a incluso de uma instruo return ser opcional. Se voc no usar uma instruo return, ser retornada uma seqncia de caracteres vazia.

Por exemplo, a funo a seguir retorna o quadrado do parmetro x e especifica que o valor retornado deve ser um Number:
function sqr(x):Number { return x * x; }

56

Captulo 2: Conceitos bsicos do ActionScript

Algumas funes executam uma srie de tarefas sem retornar um valor. Por exemplo, a funo seguinte inicializa uma srie de variveis globais:
function initialize() { boat_x = _global.boat._x; boat_y = _global.boat._y; car_x = _global.car._x; car_y = _global.car._y; }

Chamando uma funo definida pelo usurio Voc pode usar um caminho de destino para chamar uma funo em qualquer Timeline a partir de qualquer outra Timeline, inclusive daquela de um arquivo SWF carregado. Se uma funo tiver sido declarada por meio do identificador _global, no ser preciso usar um caminho de destino para cham-la. Para chamar uma funo, digite o caminho de destino para o nome da funo, se for preciso, e passe os parmetros necessrios entre parnteses. Por exemplo, a instruo a seguir chama a funo sqr() no clipe de filme MathLib na Timeline principal, passa para ela o parmetro 3 e armazena o resultado na varivel temp:
var temp = _root.MathLib.sqr(3);

O exemplo a seguir usa um caminho absoluto para chamar a funo initialize() que foi definida na Timeline principal e no requer parmetro algum:
_root.initialize();

O exemplo a seguir usa um caminho relativo para chamar a funo list() definida no clipe de filme functionsClip:
_parent.functionsClip.list(6);

Criando funes

57

58

Captulo 2: Conceitos bsicos do ActionScript

CAPTULO 3 Escrevendo e depurando scripts

No Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004, voc pode escrever scripts que so incorporados ao arquivo FLA ou armazenados externamente no computador. Se voc est escrevendo arquivos de classe do ActionScript 2.0, deve armazenar cada classe como um arquivo externo com o mesmo nome da classe. Para escrever scripts incorporados, use o painel Actions (Aes) e anexe a ao a um boto ou clipe de filme ou a um quadro na Timeline (Linha de tempo) (consulte Controlando o momento em que o ActionScript executado na pgina 59). Para escrever arquivos de script externos, use qualquer editor de texto ou de cdigo. No Flash Professional, tambm possvel usar a janela interna Script. Para obter mais informaes, consulte Usando o painel Actions e a janela Script na pgina 62. Ao usar o editor do ActionScript, voc tambm pode verificar erros na sintaxe, formatar cdigos automaticamente e usar referncias de cdigo para ajudar a completar a sintaxe. Alm disso, o recurso de distribuio de pontuao faz com que os parnteses, chaves ou colchetes sejam sempre inseridos em pares. Para obter mais informaes, consulte Usando o editor do ActionScript na pgina 65. medida que trabalha em um documento, teste-o diversas vezes para garantir a melhor reproduo na forma desejada. Use o Bandwidth Profiler (Perfil de largura de banda) para simular a aparncia do documento em diferentes velocidades de conexo. Consulte Testing document download performance (Testando o desempenho de download do documento) no Using Flash Help (Ajuda de Usando o Flash). Para testar os scripts, use uma verso de depurao especial do Flash Player que ajuda a solucionar problemas. O uso de tcnicas de criao corretas no ActionScript, facilitar a soluo de problemas com os scripts quando algo inesperado ocorrer. Para obter mais informaes, consulte Depurando scripts na pgina 73.

Controlando o momento em que o ActionScript executado


Ao escrever um script, use o painel Actions (Aes) para anexar o script a um quadro em uma Timeline ou a um boto ou clipe de filme no Stage (Palco). Os scripts anexados a um quadro so executados quando a reproduo entra no quadro. Porm, os scripts anexados ao primeiro quadro de um arquivo SWF podem se comportar de forma diferente daqueles anexados aos quadros subseqentes, porque o primeiro quadro em um arquivo SWF renderizado de forma incremental os objetos so desenhados no Stage medida que o Flash Player faz o download e isso pode afetar a execuo das aes. Todos os quadros subseqentes so renderizados de uma vez, quando todos os objetos do quadro esto disponveis.

59

Os scripts anexados a clipes de filmes ou botes so executados quando ocorre um evento. Um evento uma ocorrncia no arquivo SWF, como um movimento de mouse, um pressionamento de tecla ou a carga de um clipe de filme. possvel usar o ActionScript para descobrir quando ocorrem esses eventos e executar scripts especficos dependendo do evento. Para obter mais informaes, consulte Captulo 4, Manipulando eventos, na pgina 89. Para executar uma ao, dependendo da existncia de uma condio, ou para repetir uma ao, use as instrues if, else, else if, for, while, do while, for..in ou switch, que so descritas rapidamente no restante desta seo. Verificando uma condio As instrues que verificam se uma condio true ou false comeam com o termo if. Se a condio existir, o ActionScript executar a instruo seguinte. Se a condio no existir, o ActionScript passar para a prxima instruo fora do bloco de cdigo. Para otimizar o desempenho do cdigo, verifique as condies mais provveis primeiro. As instrues a seguir testam trs condies. O termo else if especifica testes alternativos que podero ser executados se as condies anteriores forem falsas.
if (password == null || email == null) { gotoAndStop("reject"); } else if (password == userID){ gotoAndPlay("startMovie"); }

Para verificar uma dentre diversas condies, use a instruo switch em vez de vrias instrues else if. Repetindo uma ao O ActionScript pode repetir uma ao um nmero especificado de vezes ou enquanto uma condio especfica existir. Use as aes while, do..while, for e for..in para criar repeties.
Para repetir uma ao enquanto uma condio existir:

Use a instruo while.


Um loop while avaliar uma expresso e executar o cdigo em seu corpo se a expresso for true. Depois que cada instruo do corpo for executada, a expresso ser avaliada novamente. No exemplo a seguir, o loop executado quatro vezes:
i = 4; while (var i > 0) { my_mc.duplicateMovieClip("newMC" + i, i ); i--; }

Voc pode usar a instruo do...while para criar uma repetio do mesmo tipo de while. Em uma repetio do...while, a expresso avaliada na parte inferior do bloco de cdigo para que a repetio seja sempre executada pelo menos uma vez, como no exemplo a seguir:
i = 4; do { my_mc.duplicateMovieClip("newMC" +i, i ); i--; } while (var i > 0);

60

Captulo 3: Escrevendo e depurando scripts

Para repetir uma ao usando um contador interno:

Use a instruo for.


A maioria das repeties usa algum tipo de contador para controlar o nmero de execues. Cada execuo de uma repetio denominada iterao. Voc pode declarar uma varivel e escrever uma instruo que aumente ou diminua a varivel sempre que a repetio for executada. Na ao for, o contador e a instruo que aumenta a contagem fazem parte da ao. No exemplo a seguir, a primeira expresso (var i = 4) a expresso inicial que avaliada antes da primeira iterao. A segunda expresso ( i > 0) a condio que verificada sempre antes da execuo da repetio. A terceira expresso (i--) denominada expresso final e avaliada sempre aps a execuo da repetio.
for (var i = 4; i > 0; i--){ myMC.duplicateMovieClip("newMC" + i, i + 10); } Para criar uma repetio nos filhos de um clipe de filme ou objeto:

Use a instruo for..in.


Os filhos so outros clipes de filme, funes, objetos e variveis. O exemplo a seguir usa a instruo trace para imprimir seus resultados no painel Output (Sada):
myObject = { name:'Joe', age:25, city:'San Francisco' }; for (propertyName in myObject) { trace("myObject has the property: " + propertyName + ", with the value: " + myObject[propertyName]); }

Esse exemplo produz os seguintes resultados no painel Output:


myObject has the property: name, with the value: Joe myObject has the property: age, with the value: 25 myObject has the property: city, with the value: San Francisco

O script pode iterar em um determinado tipo de filho; por exemplo, apenas em filhos de clipes de filme. Isso pode ser feito usando for...in com o operador typeof.
for (name in myMovieClip) { if (typeof (myMovieClip[name]) == "movieclip") { trace("I have a movie clip child named " + name); } }

Para obter mais informaes sobre cada ao, consulte entradas individuais no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Controlando o momento em que o ActionScript executado

61

Usando o painel Actions e a janela Script


Voc pode incorporar scripts Flash ao arquivo FLA ou armazen-los como arquivos externos. recomendvel armazenar o mximo possvel do cdigo do ActionScript em arquivos externos. Isso facilita reutilizar o cdigo em vrios arquivos FLA. Depois, no arquivo FLA, crie um script que use instrues #include para acessar o cdigo armazenado externamente. Use o sufixo .as para identificar os scripts como arquivos do ActionScript (AS). Se voc estiver escrevendo arquivos de classe personalizados, dever armazen-los como arquivos AS externos.
Observao: O cdigo do ActionScript em arquivos externos compilado em um arquivo SWF quando voc publica, exporta, testa ou depura um arquivo FLA. Assim, se voc alterar um arquivo externo, dever salv-lo e recompilar os arquivos FLA que o utilizam.

Ao incorporar o cdigo do ActionScript ao arquivo FLA, voc pode anexar cdigo a quadros e objetos. Tente anexar ActionScript incorporado ao primeiro quadro da Timeline sempre que possvel. Dessa forma, no ser preciso pesquisar em um arquivo FLA para localizar todo o cdigo; ele estar centralizado em um local. Crie uma camada chamada Actions e coloque seu cdigo ali. Assim, mesmo se voc colocar cdigo em outros quadros ou anex-lo a objetos, precisar procurar em apenas uma camada para encontr-lo. Para criar scripts que faam parte do documento, insira o ActionScript diretamente no painel Actions. Para criar scripts externos, use o seu editor de texto preferido ou, no Flash Professional, use a janela Script. Ao usar o painel Actions ou a janela Script, voc usa o mesmo editor do ActionScript e digita o cdigo no painel Script do lado direito do painel ou da janela. Para reduzir a digitao a ser feita, tambm possvel selecionar ou arrastar aes da caixa de ferramentas Actions para o painel Script.
Para exibir o painel Actions, siga um destes procedimentos:

Selecione Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions. Pressione F9.
(Somente Flash Professional) Para exibir a janela Script, siga um destes procedimentos:

Para comear a escrever um novo script, selecione File (Arquivo) > New (Novo) > ActionScript
File (Arquivo do ActionScript).

Para abrir um script existente, selecione File > Open (Abrir) e abra um arquivo AS. Para editar um script j aberto, clique na guia do documento que exibe o nome do script. Guias
de documento s so suportadas no Microsoft Windows. Sobre o ambiente do editor do ActionScript O ambiente do editor do ActionScript consiste em duas sees. A seo direita o painel Script, a rea onde voc digita o cdigo. A seo esquerda uma caixa de ferramentas Actions que contm uma entrada para cada elemento de linguagem do ActionScript.

62

Captulo 3: Escrevendo e depurando scripts

No painel Actions (Aes), a caixa de ferramenta Actions tambm contm o navegador Script, que uma representao visual dos locais do arquivo FLA que tm ActionScript associado. possvel navegar pelo arquivo FLA para localizar cdigo ActionScript. Se voc clicar em um item no navegador Script, o script associado a esse item aparecer no painel Script e a reproduo se mover para essa posio na Timeline (Linha de tempo). Clicando duas vezes em um elemento do navegador Script, o script correspondente ficar preso (consulte Gerenciando scripts em um arquivo FLA na pgina 64).
Caixa de ferramentas Actions (Aes), Navegador Script* Menu pop-up*

* Somente painel Actions

Existem tambm vrios botes acima do painel Script:


Add item to script (Adicionar item a script) Find (Localizar) Replace (Substituir) Insert target path (Inserir caminho de destino)* Check Syntax (Verificar sintaxe) Auto Format (Formatao automtica) Show Code Hint (Mostrar referncia de cdigo) Reference (Referncia) Debug Options (Opes de depurao)* Menu pop-up View Options (Opes de exibio)

* Somente painel Actions

Usando o painel Actions e a janela Script

63

Voc pode editar aes, digitar parmetros para aes ou excluir aes diretamente no painel Script. Tambm possvel clicar duas vezes sobre um elemento da caixa de ferramentas Actions ou no boto Add (Adicionar) (+), localizado acima do painel Script, para incluir aes no painel Script. Gerenciando scripts em um arquivo FLA Se voc no centralizar todo o cdigo de um arquivo FLA em um local, poder prender (travar no lugar) vrios scripts no painel Actions para facilitar a passagem por eles. Na figura a seguir, o script associado ao local atual na Timeline est no Frame 1 (Quadro 1) da camada denominada Cleanup (Limpeza). A guia na extremidade esquerda sempre segue sua localizao na Timeline. Esse script tambm est preso (ele mostrado na guia mais direita). Dois outros scripts esto presos: um no Frame 1 e o outro no Frame 15 da camada Intro (Introduo). Voc pode mover-se entre os scripts presos clicando nas guias ou usando atalhos de teclado. Mover-se por scripts presos no altera sua posio atual na Timeline.

Dica: Se o contedo exibido no painel Script no mudar para refletir o local que voc est selecionando na Timeline, provavelmente o painel Script estar exibindo um script preso. Clique na guia mais esquerda, na parte inferior esquerda do painel Script, para exibir o ActionScript associado ao local respectivo da Timeline. Para prender um script:

1 Posicione o ponteiro na Timeline para que o script aparea em uma guia na parte inferior

esquerda do painel Script no painel Actions.


2 Siga um destes procedimentos:

Clique no cone de tachinha direita da guia. Se a tachinha for parecida com o cone mais esquerda, o script j estar preso. Se voc clicar neste cone liberar o script. Clique com o boto direito do mouse (Windows) ou, pressionando Control, clique (Macintosh) na guia e selecione Pin Script (Prender script). Selecione Pin Script no menu pop-up Options (Opes) no canto superior direito do painel.

Para liberar um ou mais scripts:

Siga um destes procedimentos:

Se um script preso aparecer em uma guia na parte inferior esquerda do painel Script no painel Actions, voc dever clicar no cone de tachinha direita da guia. Se a tachinha for parecida com o cone mais esquerda, o script j estar liberado. Se voc clicar neste cone prender o script. Clique com o boto direito (Windows) ou, pressionando Control, clique (Macintosh) em uma guia e selecione Close Script (Fechar script) ou Close All Scripts (Fechar todos os scripts). Selecione Close Script ou Close All Scripts no menu pop-up Options no canto superior direito do painel.

64

Captulo 3: Escrevendo e depurando scripts

Para usar atalhos de teclado com scripts presos:

possvel usar os seguintes atalhos de teclado para trabalhar com scripts presos:
Ao Prender script Liberar script Mover o foco para a guia da direita Mover o foco para a guia da esquerda Liberar todos os scripts Tecla de atalho no Windows Tecla de atalho no Macintosh Control-= (sinal de igual) Control-- (sinal de menos) Control-Shift-. (ponto) Control-Shift-, (vrgula) Control-Shift-- (menos) Command-= Command-Command-Shift-. Command-Shift-, Command-Shift--

Usando o editor do ActionScript


O Flash MX 2004 e o Flash MX Professional 2004 fornecem vrias ferramentas para ajud-lo a corrigir cdigo sistematicamente e permitem definir preferncias de formatao de cdigo e outras opes. Esses recursos so analisados nesta seo. Realce de sintaxe No ActionScript, assim como em qualquer linguagem, a sintaxe a maneira como os elementos so reunidos para terem significado. Se for usada uma sintaxe incorreta do ActionScript, os scripts no funcionaro. Quando voc escreve scripts no Flash MX 2004 e no Flash MX Professional 2004, os comandos no suportados pela verso do exibidor especificado aparecero em amarelo na caixa de ferramentas Actions (Aes). Por exemplo, se a verso de SWF do Flash Player estiver definida como Flash 6, o ActionScript que s suportado pelo Flash Player 7 aparecer em amarelo na caixa de ferramentas Actions. Para obter informaes sobre como definir a verso de SWF do Flash Player, consulte Setting publish options for the Flash SWF file format (Definindo opes de publicao para o formato de arquivo SWF do Flash) no Using Flash Help (Ajuda de Usando o Flash). Tambm possvel definir uma preferncia para que o Flash colora partes dos scripts enquanto voc os escreve para destacar erros de digitao. Por exemplo, imagine que voc definiu a preferncia de sinalizao da sintaxe por cores para que as palavras-chave apaream em verde-escuro. Ao criar o cdigo, se voc digitar var, a palavra var aparecer em verde. Entretanto, se, por engano, voc digitar vae, a palavra vae continuar em preto, fornecendo uma dica imediata de que houve um erro de digitao.
Para definir preferncias de sinalizao de sintaxe por cores enquanto digita, siga um destes procedimentos:

Selecione Edit (Editar) > Preferences (Preferncias) e especifique as configuraes Syntax


coloring (Sinalizao de syntaxe por cores) na guia ActionScript.

No painel Actions, selecione Preferences no menu pop-up Options, no canto superior direito
do painel, e especifique as configuraes Syntax coloring na guia ActionScript.

Usando o editor do ActionScript

65

Escrevendo cdigo que ativar referncias de cdigo Quando voc trabalha no editor do ActionScript (no painel Actions ou na janela Script), o Flash pode detectar qual ao digitada e exibir uma referncia de cdigo uma dica de ferramenta que contm a sintaxe completa para essa ao ou um menu pop-up que lista nomes de mtodo ou propriedade possveis. As referncias de cdigo aparecem para parmetros, propriedades e eventos quando voc atribui estritamente um tipo aos seus objetos ou atribui um nome a eles para que o editor do ActionScript saiba quais referncias de cdigo exibir, conforme analisado no restante desta seo. Para obter informaes sobre como usar referncias de cdigo quando elas aparecerem, consulte Usando referncias de cdigo na pgina 68.
Observao: A exibio das referncias de cdigo ativada automaticamente para classes nativas que no exigem a criao de um objeto da classe e a atribuio de nome a ele, como Math, Key, Mouse etc.

Atribuindo tipo a objetos estritamente para ativar referncias de cdigo Com o ActionScript 2.0, voc pode atribuir estritamente um tipo a uma varivel que tem como base uma classe interna, como Button, Array etc. Se voc fizer isso, o editor do ActionScript exibir referncias de cdigo para a varivel. Por exemplo, imagine que voc tenha digitado o seguinte:
var names:Array = new Array(); names.

Logo que voc digita o ponto (.), o Flash exibe uma lista de mtodos e propriedades disponveis para objetos Array, porque voc digitou a varivel como se fosse um array. Para obter mais informaes sobre como atribuir tipos de dados, consulte Atribuio estrita de tipos de dados na pgina 41. Para obter informaes sobre como usar referncias de cdigo quando elas aparecerem, consulte Usando referncias de cdigo na pgina 68. Usando sufixos para ativar referncias de cdigo Se voc usa o ActionScript 1 ou deseja exibir referncias de cdigo para objetos criados por voc sem atribuir um tipo estritamente a eles (consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66), adicione um sufixo especial ao nome de cada objeto ao cri-lo. Por exemplo, os sufixos que ativam referncias de cdigo para a classe Array e a classe Camera so, respectivamente, _array e _cam. Se voc digitar o seguinte cdigo:
var my_array = new Array(); var my_cam = Camera.get();

e depois digitar uma das opes a seguir (o nome da varivel seguido por um ponto), as referncias de cdigo para o objeto Array e Camera, respectivamente, aparecero.
my_array. my_cam.

Para objetos que aparecem no Stage, use o sufixo na caixa de texto Instance Name (Nome de instncia) no inspetor Properties (Propriedades). Por exemplo, para exibir referncias de cdigo de objetos MovieClip, use o inspetor Properties para atribuir nomes de instncias com o sufixo _mc a todos os objetos MovieClip. Assim, sempre que voc digitar o nome da instncia seguido por um ponto, as referncias de cdigo aparecero. Embora no sejam necessrios sufixos para ativar referncias de cdigo quando voc atribui um tipo estritamente a um objeto, us-los de forma consistente ajuda a entender os scripts.

66

Captulo 3: Escrevendo e depurando scripts

A tabela abaixo lista os sufixos necessrios para o suporte a referncias de cdigo automticas:
Tipo de objeto Array Button Camera Cor ContextMenu ContextMenuItem Date Error LoadVars LocalConnection Microphone MovieClip MovieClipLoader PrintJob NetConnection NetStream SharedObject Sound String TextField TextFormat Video XML XMLNode XMLSocket Sufixo da varivel _array _btn _cam _color _cm _cmi _date _err _lv _lc _mic _mc _mcl _pj _nc _ns _so _sound _str _txt _fmt _video _xml _xmlnode _xmlsocket

Para obter informaes sobre como usar referncias de cdigo quando elas aparecerem, consulte Usando referncias de cdigo na pgina 68.

Usando o editor do ActionScript

67

Usando comentrios para ativar referncias de cdigo Tambm possvel usar os comentrios do ActionScript a fim de especificar a classe de um objeto para referncias de cdigo. O exemplo a seguir informa ao ActionScript que a classe da instncia theObject Object, e assim por diante. Se voc digitasse mc seguido por um ponto aps esses comentrios, uma referncia de cdigo exibiria a lista de mtodos e propriedades de MovieClip; se voc digitasse theArray seguido por um ponto, uma referncia de cdigo exibiria uma lista de mtodos e propriedades de Array, e assim por diante.
// Object theObject; // Array theArray; // MovieClip mc;

Entretanto, a Macromedia recomenda usar a atribuio estrita de tipos de dados (consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66) ou sufixos (consulte Usando sufixos para ativar referncias de cdigo na pgina 66) em vez dessa tcnica, porque eles ativam automaticamente a exibio de referncias de cdigo e tornam o cdigo mais compreensvel. Usando referncias de cdigo As referncias de cdigo so ativadas por padro. Ao definir preferncias, possvel desativar referncias de cdigo ou determinar a rapidez com que elas so exibidas. Quando as referncias de cdigo esto desativadas nas preferncias, ainda possvel exibir uma referncia de cdigo para um comando especfico.
Para especificar configuraes de referncias de cdigo automticas, siga um destes procedimentos:

Selecione Edit (Editar) > Preferences (Preferncias) e ative ou desative Code Hints (Referncias
de cdigo) na guia ActionScript.

No painel Actions (Aes), selecione Preference no menu pop-up Options (Opes), no canto
superior direito do painel, e ative ou desative Code Hints na guia ActionScript. Se voc ativar as referncias de cdigo, poder tambm especificar um atraso, em segundos, antes que elas apaream. Por exemplo, se voc no estiver familiarizado com o ActionScript, poder prefirir no usar atrasos, para que as referncias de cdigo sempre apaream imediatamente. No entanto, se voc geralmente souber o que quer digitar e s precisar das referncias de cdigo ao usar elementos de linguagem desconhecidos, poder especificar um atraso para que as referncias no apaream quando no desejar us-las.
Para trabalhar com referncias de cdigo no estilo de dica de ferramenta:

1 Para exibir a referncia de cdigo, digite um parntese de abertura [(] aps um elemento que

exija parnteses, como o nome de um mtodo, um comando, como if ou do while, etc. A referncia de cdigo ser exibida.

68

Captulo 3: Escrevendo e depurando scripts

Observao: Se uma referncia de cdigo no aparecer, voc dever verificar se no desativou as referncias de cdigo na guia ActionScript. Para exibir referncias de cdigo para uma varivel ou objeto criado por voc, verifique se voc atribuiu nome sua varivel ou objeto corretamente (consulte Usando sufixos para ativar referncias de cdigo na pgina 66) ou se atribuiu estritamente um tipo varivel ou objeto (consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66).

2 Digite um valor para o parmetro. Se houver mais de um parmetro, voc dever separar os

valores por vrgulas. Os comandos superpostos como gotoAndPlay() ou for (ou seja, funes ou mtodos que possam ser chamados com conjuntos diferentes de parmetros) exibem um indicador que permite selecionar o parmetro a ser definido. Clique nos pequenos botes de seta ou pressione Control+seta para a esquerda e Control+seta para a direita para selecionar o parmetro.

3 Para desconsiderar a referncia de cdigo, siga um destes procedimentos:


Digite um parnteses de fechamento [)]. Clique fora da instruo. Pressione Escape.

Para trabalhar com referncias de cdigo no estilo de menu:

1 Para exibir a referncia de cdigo, digite um ponto aps o nome da varivel ou objeto.

O menu de referncias de cdigo exibido.

Observao: Se uma referncia de cdigo no aparecer, voc dever verificar se no desativou as referncias de cdigo na guia ActionScript. Para exibir referncias de cdigo para uma varivel ou objeto criado por voc, verifique se voc atribuiu nome sua varivel ou objeto corretamente (consulte Usando sufixos para ativar referncias de cdigo na pgina 66) ou se atribuiu estritamente um tipo varivel ou objeto (consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66).

2 Para percorrer as referncias de cdigo, use as teclas de seta para cima e de seta para baixo. 3 Para selecionar um item no menu, pressione Return ou Tab, ou clique duas vezes no item. 4 Para desconsiderar a referncia de cdigo, siga um destes procedimentos:

Selecione um dos itens de menu. Clique fora da instruo. Digite um parnteses de fechamento [)] se j tiver digitado um parnteses de abertura. Pressione Escape.

Usando o editor do ActionScript

69

Para exibir manualmente uma referncia de cdigo:

1 Clique em um local do cdigo onde as referncias de cdigo possam aparecer. Veja a seguir

alguns exemplos: Aps o ponto que segue uma instruo ou um comando, onde uma propriedade ou mtodo deve ser digitado Entre parnteses em um nome de mtodo 2 Siga um destes procedimentos: Clique no boto Show Code Hint (Mostrar referncia de cdigo) acima do painel Script. Pressione Control+Barra de espaos (Windows) ou Command+Barra de espaos (Macintosh). Se estiver trabalhando no painel Actions, dever abrir o menu pop-up, no lado direito da barra de ttulo, e selecionar Show Code Hint. Usando teclas de atalho de Escape Voc pode adicionar muitos elementos a um script usando teclas de atalho pressionando a tecla Escape e, em seguida, duas outras teclas. (Esses atalhos so diferentes dos atalhos de teclado que iniciam certos comandos de menu.) Por exemplo, se estiver trabalhando no painel Script e digitar Escape+d+o, o cdigo a seguir ser colocado no script, e o ponto de insero ser colocado imediatamente aps a palavra while, para que voc comece a digitar sua condio:
do { } while ();

Da mesma forma, se voc digitar Escape+c+h, o cdigo a seguir ser inserido no script, e o ponto de insero ser posicionado entre os parnteses, para que seja possvel comear a digitar a condio:
catch () { }

70

Captulo 3: Escrevendo e depurando scripts

Para aprender (ou ser lembrado de) quais comandos possuem teclas de atalho com Escape, exiba-os ao lado dos elementos no painel Actions.

Para exibir ou ocultar teclas de atalho de Escape:

No menu pop-up View Options (Opes de exibio), ative ou desative View Escape Shortcut
Keys (Exibir teclas de atalho de Escape). Verificando sintaxe e pontuao Para determinar com cuidado se o cdigo escrito tem o desempenho planejado, publique ou teste o arquivo. Entretanto, voc pode verificar rapidamente o cdigo do ActionScript sem sair do arquivo FLA. Os erros de sintaxe sero listados no painel Output. (Quando voc verifica a sintaxe, somente o script atual verificado; outros scripts que podem estar no arquivo FLA no so verificados.) Voc tambm pode verificar se um conjunto de parnteses, chaves ou colchetes (operadores de acesso de array) em torno de um bloco de cdigo est equilibrado.
Para verificar a sintaxe, siga um destes procedimentos:

Clique no boto Check Syntax acima do painel Script. No painel Actions, exiba o menu pop-up, no canto superior direito do painel, e selecione
Check Syntax.

Pressione Control+T (Windows) ou Command+T (Macintosh).

Usando o editor do ActionScript

71

Para verificar o equilbrio da pontuao:

1 Clique entre chaves ({}), operadores de acesso de array ([]) ou parnteses (()) no script. 2 Pressione Control+' (Windows) ou Command+' (Macintosh) para realar o texto entre chaves,

colchetes ou parnteses. O realce ajuda a verificar se a pontuao de abertura possui a pontuao de fechamento correspondente correta. Formatando cdigo Voc pode especificar configuraes para determinar se o cdigo ser formatado e recuado automtica ou manualmente. Pode tambm escolher se prefere exibir o nmero de linhas e se deseja quebrar as linhas longas de cdigo. Alm disso, voc pode escolher usar mapeamento dinmico de fontes.
Para definir opes de formato:

1 Siga um destes procedimentos:

No painel Actions, selecione Auto Format Options (Opes de formatao automtica) no menu pop-up Options, no canto superior direito do painel. (Somente Flash Professional) Em um arquivo de script externo, escolha Edit (Editar) > Auto Format Options. A caixa de dilogo Auto Format Options ser exibida. 2 Selecione uma das caixas de seleo. Para verificar o efeito de cada seleo, observe o painel Preview (Visualizar).

Depois de definir Auto Format Options, as configuraes sero aplicadas automaticamente ao cdigo que voc escrever, mas no ao cdigo existente. Aplique as configuraes ao cdigo existente manualmente. Use esse procedimento para formatar cdigo que foi formatado com configuraes diferentes, importado de outro editor etc.
Para formatar cdigo de acordo com as configuraes de Auto Format Options, siga um destes procedimentos:

Clique no boto Auto Format acima do painel Script. Selecione Auto Format no menu pop-up do painel Actions. Pressione Control+Shift+F (Windows) ou Command+Shift+F (Macintosh).
Para usar o mapeamento dinmico de fontes:

Por padro, o mapeamento dinmico de fontes est desativado, porque isto melhora o
desempenho durante a edio de scripts. Para ativ-lo, selecione Use dynamic font mapping (Usar mapeamento dinmico de fontes) nas preferncias do ActionScript. Por exemplo, se voc estiver trabalhando com textos em diversas lnguas, dever ativar o mapeamento dinmico de fontes.

72

Captulo 3: Escrevendo e depurando scripts

Para usar o recuo automtico:

O recuo automtico ativado por padro. Para desativ-lo, desmarque a opo Automatic
Indentation (Recuo automtico) nas preferncias do ActionScript. Quando o recuo automtico estiver ativado, o texto digitado aps ( ou { ser recuado automaticamente conforme a configurao Tab Size (Tamanho da tabulao) nas preferncias do ActionScript. Para recuar outra linha, selecione-a e pressione Tab. Para remover o recuo, pressione Shift+Tab.
Para ativar ou desativar nmeros de linha e quebra automtica de linha:

No menu pop-up View Options (Opes de exibio), ative ou desative View Line Numbers
(Exibir nmeros de linha) e Word Wrap (Quebra automtica de linha).

Depurando scripts
O Flash fornece diversas ferramentas para testar o ActionScript nos arquivos SWF. O Debugger (Depurador), analisado no final desta seo, permite localizar erros em um arquivo SWF quando ele executado no Flash Player. O Flash tambm fornece as seguintes ferramentas de depurao adicionais:

O painel Output, que exibe mensagens de erro e listas de variveis e objetos (consulte Usando
o painel Output na pgina 82) A instruo trace, que envia observaes de programao e valores de expresso para o painel Output (consulte Usando a instruo trace na pgina 84) As instrues throw e try..catch..finally, que permitem testar e responder a erros durante a execuo a partir do script A disponibilidade de mensagens de erro de compilao detalhadas, que permitem diagnosticar e solucionar problemas mais facilmente (consulte Apndice A, Mensagens de erro, na pgina 903)

Voc deve exibir seu arquivo SWF em uma verso especial do Flash Player chamada Flash Debug Player. Ao instalar a ferramenta de criao, o Flash Debug Player instalado automaticamente. Assim, se voc instalar o Flash e navegar por um site com contedo Flash ou usar o Test Movie (Testar filme), estar usando o Flash Debug Player. Tambm possvel executar o instalador no diretrio <dir_aplic>\Players\Debug\ ou obter o Flash Debug Player de forma independente a partir do mesmo diretrio. Quando usar o comando Test Movie para testar os filmes que implementam controles de teclado (tabulao, atalhos de teclado criados usando Key.addListener() e assim por diante), selecione Control (Controle) > Disable Keyboard Shortcuts (Desativar atalhos de teclado). A seleo desta opo evita que o ambiente de criao retenha pressionamentos de teclas e permite pass-los diretamente para o exibidor. Por exemplo, no ambiente de criao, Control+U abre a caixa de dilogo Preferences (Preferncias). Se o seu script associar Control+U com uma ao que sublinha o texto na tela, ao usar o comando Test Movie, o pressionamento de Control+U abrir a caixa de dilogo Preferences em vez de executar a ao que sublinha o texto. Para permitir que o comando Control+U seja passado para o exibidor, voc deve selecionar Control > Disable Keyboard Shortcuts.
Ateno: O comando Test Movie falhar se alguma parte do caminho do arquivo SWF contiver caracteres que no possam ser representados usando o esquema de codificao MBCS. Por exemplo, caminhos em japons em um sistema em ingls no funcionam. Todas as reas do aplicativo que usarem o exibidor externo estaro sujeitas a esta limitao.

Depurando scripts

73

O Debugger mostra uma lista hierrquica de clipes de filme carregados atualmente no Flash Player. Com o Debugger, voc pode exibir e modificar valores de variveis e propriedades durante a reproduo do arquivo SWF, e pode usar pontos de interrupo para interromper sua execuo e percorrer o cdigo do ActionScript linha por linha. Use o Debugger no modo de teste com arquivos locais ou para testar arquivos em um servidor Web em local remoto. O Debugger permite definir pontos de interrupo no ActionScript para interromper o Flash Player e executar a depurao direta do cdigo durante a sua execuo. Depois, voc pode voltar para os scripts e edit-los para que produzam os resultados corretos. Uma vez ativada, a barra de status do Debugger exibe o URL ou o caminho local do arquivo, informa se o arquivo est sendo executado no modo de teste ou a partir de um local remoto, e mostra uma lista de exibio dinmica do clipe de filme. Quando os clipes de filme so adicionados ou removidos do arquivo, a lista de exibio reflete as alteraes imediatamente. possvel redimensionar a lista de exibio movendo o divisor horizontal.
Para ativar o Debugger no modo de teste:

Selecione Control (Controle) > Debug Movie (Depurar filme).


O Debugger aberto. O arquivo SWF tambm aberto no modo de teste.
Barra de status Lista de exibio Lista de observao Visualizao de cdigo

Depurando um arquivo SWF a partir de um local remoto possvel depurar um arquivo SWF remoto usando as verses independentes, ActiveX ou plug-in do Flash Player. Durante a exportao de um arquivo SWF, possvel ativar a depurao e criar uma senha para depurao. Se voc no ativar a depurao, o Debugger no ser ativado. Para garantir que somente usurios confiveis possam executar arquivos SWF no Flash Debug Player, publique-os com uma senha para depurao. Assim como o JavaScript ou HTML, o ActionScript permite que o usurio visualize as variveis da parte cliente. Para armazenar variveis de maneira segura, voc deve envi-las a um aplicativo no servidor, em vez de armazen-las no arquivo. Entretanto, como desenvolvedor do Flash, voc pode ter outros segredos comerciais, como estruturas de clipes de filmes, que no deseja revelar. Use a senha para depurao a fim de proteger o seu trabalho.

74

Captulo 3: Escrevendo e depurando scripts

Durante a exportao, publicao ou teste de um filme, o Flash cria um arquivo SWD com as informaes de depurao. Para executar uma depurao remota, coloque o arquivo SWD no mesmo diretrio do arquivo SWF no servidor.
Para ativar a depurao remota de um filme do Flash:

1 Selecione File > Publish Settings (Configuraes de publicao). 2 Na guia Flash da caixa de dilogo Publish Settings, selecione Debugging permitted (Depurao

permitida).

3 Para definir uma senha, digite-a na caixa Password (Senha).

Depois de definida a senha, ningum poder fazer download de informaes para o Debugger sem ela. No entanto, se o campo Password for deixado em branco, a senha no ser solicitada. 4 Feche a caixa de dilogo Publish Settings e selecione um dos seguintes comandos: Control > Debug Movie File > Export Movie (Exportar filme) File > Publish Settings > Publish (Publicar) O Flash cria um arquivo de depurao com a extenso .swd e o salva junto com o arquivo SWF. O arquivo SWD contm informaes que permitem usar os pontos de interrupo para a depurao direta do cdigo. 5 Coloque o arquivo SWD no mesmo diretrio do arquivo SWF no servidor. Mesmo que o arquivo SWD no esteja no mesmo diretrio do arquivo SWF, voc poder executar uma depurao remota. No entanto, o Debugger ignorar os pontos de interrupo e no permitir a depurao direta do cdigo. 6 No Flash, selecione Window > Development Panels > Debugger. No Debugger, selecione Enable Remote Debugging (Ativar a depurao remota) no menu pop-up Options, no canto superior direito do painel.

Depurando scripts

75

Para ativar o Debugger a partir de um local remoto:

1 Abra o aplicativo de criao Flash. 2 Em um navegador ou no exibidor independente, abra o arquivo SWF publicado a partir do local

remoto. A caixa de dilogo Remote Debug (Depurao remota) exibida.

Se essa caixa de dilogo no for exibida, significa que o Flash no pde encontrar o arquivo SWD. Nesse caso, clique com o boto direito do mouse (Windows), ou mantenha pressionada a tecla Control e clique (Macintosh), no arquivo SWF para exibir o menu de contexto. Selecione Debugger nesse menu.

3 Na caixa de dilogo Remote Debug (Depurao remota), selecione Localhost (Host local) ou

Other Machine (Outra mquina): Selecione Localhost se o Debug Player e o aplicativo de criao Flash estiverem no mesmo computador. Selecione Outra mquina se o Debug Player e o aplicativo de criao Flash no estiverem no mesmo computador. Digite o endereo IP do computador em que o aplicativo de criao Flash est sendo executado. 4 Quando a conexo for estabelecida, a senha ser solicitada. Digite a senha para depurao se j houver uma definida. A lista de exibio do arquivo SWF aparece no Debugger.

76

Captulo 3: Escrevendo e depurando scripts

Exibindo e modificando variveis No Debugger, a guia Variables exibe os nomes e os valores das variveis globais e da Timeline no arquivo SWF. Se voc alterar o valor de uma varivel na guia Variables, poder ver a alterao refletida no arquivo SWF durante sua execuo. Por exemplo, para testar a deteco de coliso em um jogo, voc pode inserir o valor da varivel para posicionar uma bola no local correto prximo a uma parede. No Debugger, a guia Locals (Locais) exibe os nomes e os valores das variveis locais disponveis, quer o arquivo SWF tenha parado em um ponto de interrupo ou em qualquer outro local dentro de uma funo definida pelo usurio.
Para exibir uma varivel:

1 Selecione o clipe de filme que contm a varivel na lista de exibio.

Para exibir variveis globais, selecione o clipe _global na lista de exibio.


2 Clique na guia Variables (Variveis).

A lista de exibio atualizada automaticamente enquanto o arquivo SWF reproduzido. Se um clipe de filme for removido do arquivo SWF em um quadro especfico, esse clipe ser removido da lista de exibio do Debugger juntamente com sua varivel e o nome de varivel. Entretanto, se voc marcar uma varivel para a lista de observao (consulte Usando a lista de observao na pgina 78), ela no ser removida.

Para modificar o valor de uma varivel:

Clique duas vezes no valor e insira um novo.


O valor no pode ser uma expresso. Por exemplo, use "Hello", 3523 ou "http:// mas no use x + 2 ou eval("name:" +i). O valor pode ser uma seqncia de caracteres (qualquer valor entre aspas ""), um nmero ou um valor booleano (true ou false).
www.macromedia.com", Observao: Para escrever o valor de uma expresso para o painel Output no modo de teste, use a instruo trace. Consulte Usando a instruo trace na pgina 84.

Depurando scripts

77

Usando a lista de observao Para monitorar um conjunto de variveis crticas de forma organizada, voc pode marc-las para serem exibidas na lista de observao. Essa lista exibe o caminho absoluto para a varivel e o valor. Tambm possvel inserir um novo valor de varivel na lista de observao da mesma maneira que na guia Variables. Se uma varivel local for inserida na lista de observao, seu valor aparecer apenas quando o Flash Player for parado em uma linha do ActionScript com o escopo dessa varivel. Todas as demais variveis aparecero durante a reproduo do arquivo SWF. Se o Debugger no encontrar o valor da varivel, ele ser listado como Undefined (Indefinido). A lista de observao exibe apenas as variveis e no as propriedades ou funes.

Variveis marcadas para a lista de observao e variveis na lista de observao


Para adicionar variveis lista de observao, escolha uma desta opes:

Na guia Variables ou Locals, clique com o boto direito do mouse (Windows) ou,
pressionando Control, clique (Macintosh) em uma varivel selecionada e escolha Watch (Observao) no menu de contexto. exibido um ponto azul prximo varivel. Na guia Watch, clique no boto direito do mouse (Windows), ou mantenha pressionada a tecla Control e clique (Macintosh) e selecione Add (Adicionar) no menu de contexto. Digite o caminho de destino para o nome da varivel e o valor nos campos.

Para remover variveis da lista de observao:

Na guia Watch, clique com o boto direito do mouse (Windows) ou, pressionando Control,
clique (Macintosh) e selecione Remove no menu de contexto. Exibindo propriedades do clipe de filme e alterando propriedades editveis No Debugger, a guia Properties (Propriedades) exibe todos os valores de propriedades de qualquer clipe de filme no Stage (Palco). possvel alterar um valor e ver o efeito no arquivo SWF durante sua reproduo. Algumas propriedades de clipe de filme so somente de leitura e no podem ser alteradas.

78

Captulo 3: Escrevendo e depurando scripts

Para exibir as propriedades de um clipe de filme no Debugger:

1 Selecione um clipe de filme na lista de exibio. 2 No Debugger, clique na guia Properties.

Para modificar o valor de uma propriedade:

Clique duas vezes no valor e insira um novo.


O valor no pode ser uma expresso. Por exemplo, insira 50 ou "clearwater", mas no x + 50. O valor pode ser uma seqncia de caracteres (qualquer valor entre aspas), um nmero ou um valor booleano (true ou false). No possvel digitar valores de objeto ou de array (por exemplo, {id: "rogue"} ou [1, 2, 3]) no Debugger. Para obter mais informaes, consulte Operadores de seqncia de caracteres na pgina 50 e Usando operadores para manipular valores em expresses na pgina 48.
Observao: Para escrever o valor de uma expresso para o painel Output no modo de teste, use a instruo trace. Consulte Usando a instruo trace na pgina 84.

Definindo e removendo pontos de interrupo Um ponto de interrupo permite interromper um arquivo SWF em execuo no Flash Player em uma linha especfica do ActionScript. Use os pontos de interrupo para testar os possveis itens problemticos do cdigo. Por exemplo, se voc tiver escrito um conjunto de instrues if..else if e no conseguir determinar qual delas est em execuo, poder adicionar um ponto de interrupo antes das instrues e executar uma depurao direta de cada uma delas no Debugger. Voc pode definir os pontos de interrupo no painel Actions ou no Debugger. (Para definir pontos de interrupo em scripts externos, use o Debugger.) Os pontos de interrupo definidos no painel Actions so salvos com o documento do Flash (arquivo FLA). Os pontos de interrupo definidos no Debugger no so salvos no arquivo FLA e so vlidos somente para a sesso atual de depurao.

Depurando scripts

79

Para definir ou remover um ponto de interrupo no painel Actions, siga um destes procedimentos:

Clique na margem esquerda. Um ponto vermelho indica um ponto de interrupo. Clique no boto Debug options (Opes de depurao) acima do painel Script. Clique com o boto direito do mouse (Windows), ou mantenha pressionada a tecla Control e
clique (Macintosh), para exibir o menu de contexto. Selecione Breakpoint (Ponto de interrupo), Remove Breakpoint (Remover o ponto de interrupo) ou Remove All Breakpoints (Remover todos os pontos de interrupo). Pressione Control+Shift+B (Windows) ou Command+Shift+B (Macintosh).

Observao: Em verses anteriores do Flash, um clique na margem esquerda do painel Script selecionava a linha de cdigo; agora essa ao adiciona ou remove um ponto de interrupo. Para selecionar uma linha de cdigo, clique com o boto do mouse e pressione Control (Windows) ou clique e pressione Command (Macintosh). Para definir e remover pontos de interrupo no Debugger, siga um destes procedimentos:

Clique na margem esquerda. Um ponto vermelho indica um ponto de interrupo. Clique no boto Toggle Breakpoint (Alternar o ponto de interrupo) ou Remove All
Breakpoints acima da visualizao do cdigo.

Clique com o boto direito do mouse (Windows) ou, pressionando Control, clique
(Macintosh) para exibir o menu de contexto e selecione Breakpoint, Remove Breakpoint ou Remove All Breakpoints. Pressione Control+Shift+B (Windows) ou Command+Shift+B (Macintosh). Quando o Flash Player for interrompido no ponto de interrupo, ser possvel executar uma depurao total, parcial ou circular daquela linha de cdigo. No painel Actions, se o ponto de interrupo for definido em um comentrio ou em uma linha em branco, ele ser ignorado.

Percorrendo as linhas de cdigo No incio de uma sesso de depurao, o Flash Player interrompido. Se voc definir pontos de interrupo no painel Actions (Aes), bastar um clique no boto Continue (Continuar) para reproduzir o arquivo SWF at atingir um ponto de interrupo. Por exemplo, no cdigo a seguir, suponha que o ponto de interrupo esteja definido dentro de um boto na linha myFunction():
on(press){ myFunction(); }

Quando voc clica no boto, o ponto de interrupo alcanado e o Flash Player interrompido. Desse modo, possvel entrar no cdigo e levar o Debugger at a primeira linha da funo myFunction(), independentemente do local em que ela esteja definida no documento. Tambm possvel percorrer a funo ou contorn-la. Se voc no definir pontos de interrupo no painel Actions, poder usar o menu de salto no Debugger para selecionar qualquer script no filme. Com o script selecionado. voc poder adicionar pontos de interrupo. Depois de adicionar pontos de interrupo, clique no boto Continue para iniciar o filme. O Debugger parar quando alcanar o ponto de interrupo.

80

Captulo 3: Escrevendo e depurando scripts

medida que voc percorre as linhas de cdigo, os valores de variveis e propriedades so alterados na lista de observao e nas guias Variables (Variveis), Locals (Locais) e Properties (Propriedades). A seta amarela do lado esquerdo da visualizao de cdigo do Debugger indica a linha em que o Debugger parou. Use os botes a seguir localizados na parte superior da visualizao de cdigo:
Continue (Continuar) Stop Debugging (Parar a depurao) Toggle Breakpoint (Alternar o ponto de interrupo) Remove All Breakpoints (Remover todos os pontos de interrupo)

Step Out (Depurao circular) Step In (Depurao total) Step Over (Depurao parcial)

Step In (Depurao total) avana

o Debugger (indicado pela seta amarela) dentro de uma funo. O boto Step In funciona somente com funes definidas pelo usurio. No exemplo a seguir, se voc colocar um ponto de interrupo na linha 7 e clicar em Step In, o Debugger avanar para a linha 2, e, com um clique posterior em Step In, ele avanar para a linha 3. Para avanar o Debugger uma linha de cdigo, clique em Step In para linhas que no tm funes definidas pelo usurio. Por exemplo, se voc parar na linha 2 e selecionar Step In, o Debugger avanar para a linha 3, conforme mostrado no seguinte exemplo:

1 2 3 4 5 6 7 8

function myFunction() { x = 0; y = 0; } mover = 1; myFunction(); mover = 0;

Step Out (Depurao circular) avana o Debugger at sair de uma funo. Esse boto s funcionar se voc estiver parado no momento em uma funo definida pelo usurio. Ele move a seta amarela para a linha posterior quela em que a funo foi chamada. No exemplo acima, se voc colocar um ponto de interrupo na linha 3 e clicar em Step Out, o Debugger avanar para a linha 8. Clicar em Step Out em uma linha fora de uma funo definida pelo usurio o mesmo que clicar em Continue. Por exemplo, se voc parar na linha 6 e clicar em Step Out, o exibidor continuar executando o script at encontrar um ponto de interrupo. Step Over (Depurao parcial) avana o

Debugger sobre uma linha de cdigo. Esse boto move a seta amarela para a prxima linha do script e ignora qualquer funo definida pelo usurio. No exemplo acima, se voc tiver parado na linha 7 e clicar em Step Over, ir diretamente para a linha 8, e myFunction() ser ignorada.

Continue (Continuar)

sai da linha em que o exibidor est parado e continua a reproduo at alcanar um ponto de interrupo. SWF no Flash Player.

Stop Debugging (Parar a depurao) desativa o Debugger, mas continua a reproduzir o arquivo

Depurando scripts

81

Usando o painel Output


No modo de teste, o painel Output (Sada) exibe informaes para ajud-lo a solucionar problemas do arquivo SWF. Algumas informaes, como erros de sintaxe, so exibidas automaticamente. Voc pode exibir outras informaes usando os comandos List Objects (Listar objetos) e List Variables (Listar variveis). (Consulte Listando os objetos de um arquivo SWF na pgina 82 e Listando as variveis de um arquivo SWF na pgina 83.) Se voc usar a instruo trace em seus scripts, poder enviar informaes especficas para o painel Output enquanto o arquivo SWF executado. Essas informaes podem incluir observaes sobre o status do arquivo SWF ou o valor de uma expresso. (Consulte Usando a instruo trace na pgina 84.) Para exibir o painel Output, selecione Window > Development Panels > Output ou pressione F2.
Observao: Se houver erros de sintaxe em um script, o painel Output aparecer automaticamente quando voc verificar a sintaxe ou testar o arquivo SWF.

Para trabalhar com o contedo do painel Output, use o menu pop-up Options (Opes) localizado no canto superior direito.

Listando os objetos de um arquivo SWF No modo de teste, o comando List Objects (Listar Objetos) exibe o nvel, o quadro, o tipo de objeto (forma, clipe de filme ou boto), caminhos de destino e nomes de instncias de clipes de filme, botes e campos de texto em uma lista hierrquica. Esse comando especialmente til para localizar o caminho de destino e o nome de instncia corretos. Ao contrrio do Debugger, a lista no atualizada automaticamente enquanto o arquivo SWF reproduzido. Selecione o comando List Objects sempre que desejar enviar as informaes para o painel Output (Sada). O comando List Objects no lista todos os objetos de dados do ActionScript. Nesse contexto, um objeto considerado como uma forma ou smbolo no Stage.

82

Captulo 3: Escrevendo e depurando scripts

Para exibir uma lista de objetos em um filme:

1 Se o filme no estiver em execuo no modo de teste, selecione Control > Test Movie. 2 Selecione Debug > List Objects.

Uma lista de todos os objetos do Stage exibida no painel Output, como mostrado neste exemplo:
Level #0: Frame=1 Label="Scene_1" Button: Target="_level0.myButton" Shape: Movie Clip: Frame=1 Target="_level0.myMovieClip" Shape: Edit Text: Target="_level0.myTextField" Text="This is sample text."

Listando as variveis de um arquivo SWF No modo de teste, o comando List Variables (Listar Variveis) exibe uma lista de todas as variveis atualmente no arquivo SWF. Esse comando especialmente til para localizar o nome da varivel e seu caminho de destino corretos. Ao contrrio do Debugger, a lista no atualizada automaticamente enquanto o arquivo SWF reproduzido. Selecione o comando List Variables sempre que desejar enviar as informaes para o painel Output (Sada).
_global.

O comando List Variables tambm exibe as variveis globais declaradas com o identificador As variveis globais so exibidas na parte superior da sada de List Variables em uma seo intitulada Global Variables (Variveis globais), e cada varivel possui o prefixo _global.

Alm disso, o comando List Variables exibe as propriedades getter/setter (apanhadoras/ definidoras), isto , aquelas criadas com o mtodo Object.addProperty(), e chama os mtodos get ou set. Uma propriedade getter/setter exibida juntamente com qualquer outra propriedade do objeto a que pertence. Para facilitar a distino entre essas propriedades e as variveis comuns, o valor de uma propriedade getter/setter iniciado com a seqncia de caracteres [getter/ setter]. O valor exibido para uma propriedade getter/setter determinado mediante a avaliao da funo get da propriedade.
Para exibir uma lista de variveis em um arquivo SWF:

1 Se o arquivo SWF no estiver em execuo no modo de teste, selecione Control (Controlar) >

Test Movie (Testar filme).


2 Selecione Debug (Depurar) > List Variables.

Uma lista de todas as variveis atualmente no arquivo SWF exibida no painel Output, como mostrado neste exemplo:
Global Variables: Variable _global.MyGlobalArray = [object #1] [ 0:1, 1:2, 2:3 ] Level #0: Variable _level0.$version = "WIN 6,0,0,101" Variable _level0.RegularVariable = "Gary" Variable _level0.AnObject = [object #1] { MyProperty: [getter/setter] 3.14159 }

Usando o painel Output

83

Exibindo as propriedades do campo de texto para depurao Para obter informaes depuradas sobre os objetos TextField, voc pode usar o comando Debug (Depurar) > List Variables (Listar variveis) no modo testar filme. O painel Output usa as seguintes convenes na exibio de objetos TextField:

Se uma propriedade no for encontrada no objeto, ela no ser exibida. No mais de quatro propriedades so exibidas em uma linha. Uma propriedade com um valor de seqncia de caracteres exibida em uma linha separada. Se houver alguma outra propriedade definida para o objeto aps as propriedades internas serem processadas, elas sero adicionadas exibio usando as regras no segundo e terceiro pontos acima. As propriedades de cor so exibidas como nmeros hexadecimais (0x00FF00). As propriedades so exibidas na seguinte ordem: variable, text, htmlText, html, textWidth, textHeight, maxChars, borderColor, backgroundColor, textColor, border, background, wordWrap, password, multiline, selectable, scroll, hscroll, maxscroll, maxhscroll, bottomScroll, type, embedFonts, restrict, length, tabIndex, autoSize.

O comando Debug > List Objects no modo de teste lista os objetos TextField. Se um nome de instncia for especificado para um campo de texto, o painel Output exibir o caminho de destino completo incluindo o nome de instncia da seguinte forma:
Target = "target path"

Usando a instruo trace Ao usar a instruo trace em um script, voc pode enviar informaes para o painel Output. Por exemplo, ao testar um filme ou uma cena, voc pode enviar observaes de programao especficas para o painel ou fazer com que resultados especficos sejam exibidos quando for pressionado um boto ou quando um quadro for reproduzido. A instruo trace semelhante instruo JavaScript alert. Quando a instruo trace usada em um script, voc pode usar expresses como parmetros. O valor de uma expresso exibido no painel Output no modo de teste, como mostrado a seguir:

A instruo trace retorna valores que aparecem no painel Output.

84

Captulo 3: Escrevendo e depurando scripts

onClipEvent(enterFrame){ trace("onClipEvent enterFrame " + enterFrame++) }

Atualizando o Flash Player para teste


possvel fazer o download da verso mais recente do Flash Player no Macromedia Support Center (Centro de suporte da Macromedia) em www.macromedia.com/go/flash_support_br e us-la para testar os arquivos SWF.

Atualizando o Flash Player para teste

85

86

Captulo 3: Escrevendo e depurando scripts

PARTE II Manipulando eventos e criando interao

PARTE II

Os eventos podem ser gerados pelo usurio, como cliques do mouse ou pressionamentos de teclas, ou podem ocorrer como resultado de outro processo, como um arquivo XML sendo carregado atravs da rede. O primeiro captulo desta parte descreve os diversos tipos de eventos do Macromedia Flash e analisa como manipul-los no ActionScript. O segundo captulo mostra como aplicar esses princpios para criar apresentaes interativas, aplicativos e animaes simples. Captulo 4: Manipulando eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Captulo 5: Criando interao com o ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

CAPTULO 4 Manipulando eventos

Um evento uma ocorrncia de software ou hardware que requer uma resposta de um aplicativo Macromedia Flash. Por exemplo, um evento como um clique com o mouse ou um pressionamento de tecla chama-se evento do usurio, j que o resultado de uma interao direta do usurio. Um evento gerado automaticamente pelo Flash Player, como a aparncia inicial de um clipe de filme no Stage (Palco), chama-se evento do sistema, porque no gerado diretamente pelo usurio. Para que seu aplicativo reaja a eventos, use manipuladores de eventos, um cdigo do ActionScript associado a um objeto e um evento especficos. Por exemplo, quando um usurio clicar em um boto no Stage, voc poder avanar a reproduo at o prximo quadro. Ou quando o carregamento de um arquivo XML pela rede for concludo, voc poder exibir o contedo desse arquivo em um campo de texto. O ActionScript fornece vrias formas de manipular eventos: mtodos manipuladores de eventos, ouvintes de eventos e manipuladores de eventos de boto e de clipe de filme.

Usando mtodos manipuladores de eventos


Um mtodo manipulador de evento o mtodo de uma classe que chamado quando ocorre um evento em uma instncia dessa classe. Por exemplo, a classe Button define um manipulador de eventos onPress que chamado sempre que o mouse pressionado sobre um objeto Button. Ao contrrio de outros mtodos de classe, porm, o manipulador de eventos no chamado diretamente; o Flash Player chama esse manipulador automaticamente quando ocorre o evento apropriado. Por padro, os mtodos manipuladores de eventos so indefinidos: quando ocorre um evento especfico, o manipulador correspondente chamado, mas o aplicativo no responde mais ao evento. Para que seu aplicativo responda ao evento, defina uma funo com a instruo de funo e atribua essa funo ao manipulador de eventos apropriado. A funo atribuda ao manipulador de eventos chamada automaticamente sempre que o evento ocorre. Um manipulador de eventos consiste em trs partes: o objeto ao qual se aplica o evento, o nome do mtodo manipulador de evento do objeto e a funo atribuda ao manipulador de eventos. O exemplo abaixo mostra a estrutura bsica de um manipulador de eventos.
object.eventMethod = function () { // Insira seu cdigo em resposta ao evento }

89

Por exemplo, imagine um boto chamado next_btn no Stage. O cdigo a seguir atribui uma funo ao manipulador de eventos onPress do boto; essa funo avana a reproduo at o prximo quadro na Timeline (Linha de tempo).
next_btn.onPress = function () nextFrame(); }

No cdigo anterior, a funo nextFrame() atribuda diretamente a onPress. Voc tambm pode atribuir uma referncia de funo (nome) a um mtodo manipulador de evento e definir a funo posteriormente.
// Atribua uma referncia de funo ao mtodo manipulador de evento onPress do boto next_btn.onPress = goNextFrame; // Defina a funo doSubmit() function goNextFrame() { nextFrame(); }

Observe que voc atribui a referncia de funo, e no o valor de retorno da funo, ao manipulador de eventos onPress.
// Incorreto! next_btn.onPress = goNextFrame(); // Correto. next_btn.onPress = goNextFrame;

Alguns manipuladores de eventos recebem parmetros passados que fornecem informaes sobre o evento ocorrido. Por exemplo, o manipulador de eventos TextField.onSetFocus chamado quando uma instncia de campo de texto ganha o foco do teclado. Esse manipulador de eventos recebe uma referncia ao objeto de campo de texto que tinha o foco do teclado. Por exemplo, o cdigo a seguir insere um texto no campo de texto que acabou de perder o foco do teclado.
userName_txt.onSetFocus = function(oldFocus_txt) { oldFocus_txt.text = "I just lost keyboard focus"; }

As seguintes classes do ActionScript definem manipuladores de eventos: Button, ContextMenu, ContextMenuItem, Key, LoadVars, LocalConnection, Mouse, MovieClip, MovieClipLoader, Selection, SharedObject, Sound, Stage, TextField, XML e XMLSocket. Para obter mais informaes sobre os manipuladores de eventos que essas classes fornecem, consulte as respectivas entradas no Captulo 12, Dicionrio do ActionScript, na pgina 219. Voc tambm pode atribuir funes a manipuladores de eventos para objetos criados durante a execuo. Por exemplo, o cdigo a seguir cria uma nova instncia de clipe de filme (newclip_mc) e atribui uma funo ao manipulador de eventos onPress do clipe.
_root.attachMovie("symbolID", "newclip_mc", 10); newclip_mc.onPress = function () { trace("You pressed me"); }

Para obter mais informaes, consulte Criando clipes de filme durante a execuo na pgina 134.

90

Captulo 4: Manipulando eventos

Usando ouvintes de eventos


Os ouvintes de eventos permitem que um objeto, chamado objeto ouvinte, receba eventos gerados por outro objeto, chamado objeto transmissor. O objeto transmissor registra o objeto ouvinte para que receba eventos gerados pelo transmissor. Por exemplo, voc pode registrar um objeto de clipe de filme, para que receba notificaes onResize do Stage, ou uma instncia de boto, para que receba notificaes onChanged de um objeto de campo de texto. possvel registrar vrios objetos ouvintes, para que recebam eventos de um nico transmissor, e registrar um nico objeto ouvinte, para que receba eventos de vrios transmissores. O modelo de eventos para ouvintes de eventos semelhante ao de manipuladores de eventos (consulte Usando mtodos manipuladores de eventos na pgina 89), com duas diferenas principais:

O objeto ao qual voc atribui o manipulador de eventos no o objeto que emite o evento. Voc chama um mtodo especial do objeto transmissor, addListener(), que registra o objeto
ouvinte para receber seus eventos. Para usar ouvintes de eventos, crie um objeto ouvinte com uma propriedade que tenha o nome do evento gerado pelo objeto transmissor. Em seguida, atribua uma funo ao ouvinte de eventos que responda de alguma forma ao evento. Por fim, chame addListener() no objeto que transmite o evento, passando a ele o nome do objeto ouvinte. O cdigo a seguir descreve o modelo de ouvinte de eventos.
listenerObject.eventName = function(){ // Insira seu cdigo aqui }; broadcastObject.addListener(listenerObject);

O objeto ouvinte especificado pode ser qualquer objeto, como um clipe de filme ou instncia de boto no Stage, ou uma instncia de qualquer classe do ActionScript. O nome do evento um evento que ocorre em broadCastObject, que, em seguida, transmite o evento para listenerObject. Voc pode registrar vrios ouvintes para um transmissor de eventos. O exemplo a seguir mostra como usar o ouvinte de eventos Selection.onSetFocus para criar um gerenciador de foco simples para um grupo de campos de texto de entrada. Nesse caso, a borda do campo de texto que recebe o foco do teclado ativada (exibida) e a borda do campo de texto que perdeu o foco desativada.
Para criar um gerenciador de foco simples com ouvintes de eventos:

1 Com a ferramenta Text (Texto), crie um campo de texto no Stage. 2 Selecione o campo de texto e, no inspetor Properties (Propriedades), selecione Input (Entrada)

no menu pop-up Text Type (Tipo de texto) e selecione a opo Show Border Around Text (Mostrar borda em torno do texto). 3 Crie outro campo de texto de entrada abaixo do primeiro. Verifique se a opo Show Border Around Text no est selecionada para esse campo de texto. Continue a criar campos de texto de entrada conforme desejado. 4 Selecione Frame 1 (Quadro 1) na Timeline e abra o painel Actions (Aes), em Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions.

Usando ouvintes de eventos

91

5 Para criar um objeto que oua a notificao de foco da classe Selection, digite o seguinte cdigo

no painel Actions:
var focusListener = new Object(); focusListener.onSetFocus = function(oldFocus_txt, newFocus_txt) { oldFocus_txt.border = false; newFocus_txt.border = true; }

Esse cdigo cria um novo objeto (genrico) do ActionScript chamado focusListener. Esse objeto define para si uma propriedade onSetFocus, qual atribui uma funo. A funo usa dois parmetros: uma referncia ao campo de texto que perdeu foco, e outra ao campo de texto que ganhou foco. A funo define a propriedade border do campo de texto que perdeu foco como false e a propriedade border do campo de texto que ganhou foco como true. 6 Para registrar o objeto focusListener para receber eventos do objeto Selection, adicione o seguinte cdigo ao painel Actions:
Selection.addListener(focusListener);

7 Teste o filme, em Control (Controle) > Test Movie (Testar filme), clique no primeiro campo

de texto e pressione Tab para alternar o foco entre campos.


removeListener()

Para cancelar o registro de um objeto ouvinte para o recebimento de eventos, chame o mtodo do objeto transmissor, passando para ele o nome do objeto ouvinte.

broadcastObject.removeListener(listenerObject);

Os ouvintes de eventos esto disponveis para objetos das seguintes classes do ActionScript: Key, Mouse, MovieClipLoader, Selection, TextField e Stage. Para obter uma lista de ouvintes de eventos disponveis para cada classe, consulte as entradas da classe no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Usando manipuladores de eventos de boto e clipe de filme


Voc pode anexar manipuladores de eventos diretamente a uma instncia de boto ou de clipe de filme usando os manipuladores onClipEvent() e on(). O manipulador onClipEvent() manipula eventos de clipes de filme e o manipulador on(), eventos de botes. Use tambm on() com clipes de filme para criar clipes que recebem eventos de boto. Criando clipes de filme com estados de boto na pgina 93Para obter mais informaes, consulte . Para usar um manipulador on() ou onClipEvent(), anexe-o diretamente a uma instncia de um boto ou clipe de filme no Stage e especifique o evento a ser manipulado para essa instncia. Por exemplo, o manipulador de eventos on() a seguir executado sempre que o usurio clica no boto ao qual o manipulador est anexado.
on(press){ trace("Thanks for pressing me."); }

Voc pode especificar dois ou mais eventos para cada manipulador on(), separados por vrgulas. O ActionScript em um manipulador executado quando um dos eventos especificados pelo manipulador ocorre. Por exemplo, o manipulador on() a seguir anexado a um boto executado sempre que o mouse sai de cima do boto.
on(rollOver, rollOut) { trace("You rolled over, or rolled out"); }

92

Captulo 4: Manipulando eventos

Voc tambm poder anexar mais de um manipulador a um objeto se desejar que scripts diferentes sejam executados quando ocorrerem eventos distintos. Por exemplo, voc pode anexar os manipuladores onClipEvent() a seguir mesma instncia de clipe de filme. O primeiro executado quando o primeiro clipe de filme carregado (ou quando aparece no Stage); o segundo executado quando o clipe de filme descarregado do Stage.
onClipEvent(load){ trace("I've loaded"); } onClipEvent (unload) { trace("I've unloaded"); }

Para obter uma lista completa de eventos suportados pelos manipuladores de eventos on() e onClipEvent(), consulte on() na pgina 672 e onClipEvent() na pgina 673. A manipulao de eventos atravs de on() e onClipEvent() no entra em conflito com a manipulao de eventos atravs de mtodos manipuladores de eventos definidos por voc. Por exemplo, suponha que voc dispe de um boto em um arquivo SWF; o boto pode ter um manipulador on(press), que instrui o arquivo SWF a ser reproduzido, e pode ter um mtodo onPress, para o qual voc define uma funo que instrui um objeto do Stage (Palco) a girar. Quando o usurio clica no boto, o arquivo SWF reproduzido e o objeto gira. Dependendo de sua preferncia, voc pode usar on() e onClipEvent(), mtodos manipuladores de eventos ou os dois tipos de manipulao de eventos. Entretanto, o escopo de variveis e objetos em manipuladores on() e onClipEvent() diferente daquele em manipuladores e ouvintes de eventos. (Consulte Escopo do manipulador de eventos na pgina 94.) Voc s pode anexar onClipEvent() e on() a instncias de clipes de filme colocadas no Stage durante a criao. No possvel anexar onClipEvent() ou on() a instncias de clipes de filme criadas durante a execuo (por exemplo, com o mtodo attachMovie()). Para anexar manipuladores de eventos a objetos criados durante a execuo, use mtodos manipuladores de eventos ou ouvintes de eventos. (Consulte Usando mtodos manipuladores de eventos na pgina 89 e Usando ouvintes de eventos na pgina 91.)

Criando clipes de filme com estados de boto


Quando voc anexa um manipulador on() a um clipe de filme ou atribui uma funo a um dos manipuladores de eventos de mouse MovieClip para uma instncia de clipe de filme, o clipe de filme responde a eventos do mouse da mesma forma que um boto. Voc tambm pode criar estados de boto automticos (Up, Over e Down) em um clipe de filme adicionando os rtulos de quadro _up, _over e _down Timeline do clipe de filme. Quando o usurio move o mouse sobre o clipe de filme ou clica nele, a reproduo enviada para o quadro com o rtulo de quadro apropriado. Para designar a rea de clicagem usada por um clipe de filme, utilize a propriedade hitArea da classe MovieClip.
Para criar estados de boto em um clipe de filme:

1 Selecione um quadro na Timeline de um clipe de filme a ser usado como um estado do boto

(Up, Over ou Down).


2 Insira um rtulo de quadro no inspetor Properties (_up, _over ou _down). 3 Para adicionar outros estados de boto, repita as etapas 1 e 2.

Criando clipes de filme com estados de boto

93

4 Para fazer com que o clipe de filme responda a eventos do mouse, siga um destes procedimentos:

Anexe um manipulador de eventos on() instncia de clipe de filme, conforme analisado em Usando manipuladores de eventos de boto e clipe de filme na pgina 92. Atribua uma funo a um dos manipuladores de eventos de mouse do objeto de clipe de filme (onPress, onRelease etc.), conforme analisado em Usando mtodos manipuladores de eventos na pgina 89.

Escopo do manipulador de eventos


O escopo, ou contexto, de variveis e comandos que voc declara e executa em um manipulador de eventos depende do tipo de manipulador utilizado: manipuladores de eventos ou ouvintes de eventos, ou manipuladores on() e onClipEvent(). As funes atribudas a mtodos manipuladores de eventos e ouvintes de eventos (como todas as funes do ActionScript escritas por voc) definem o escopo de uma varivel local, mas os manipuladores on() e onClipEvent() no o fazem. Por exemplo, considere os dois manipuladores de eventos a seguir. O primeiro um manipulador de eventos onPress associado a um clipe de filme chamado clip_mc. O segundo um manipulador on() anexado mesma instncia de clipe de filme.
// Anexado Timeline do clipe-pai de clip_mc: clip_mc.onPress = function () { var color; // varivel de funo local color = "blue"; } // manipulador on() anexado a clip_mc: on(press){ var color; // nenhum escopo de varivel local color = "blue"; }

Embora os dois manipuladores de eventos contenham o mesmo cdigo, eles tm resultados diferentes. No primeiro caso, a varivel color local para a funo definida para onPress. No segundo caso, como o manipulador on() no define um escopo de varivel local, o escopo da varivel a Timeline do clipe de filme clip_mc. Para manipuladores de eventos on() anexados a botes, em vez de clipes de filme, o escopo da varivel (bem como de chamadas de funes e mtodos) a Timeline que contm a instncia de boto. Por exemplo, o manipulador de eventos on() a seguir produzir resultados diferentes, dependendo de estar anexado a um objeto de clipe de filme ou a um objeto de boto. No primeiro caso, a chamada de funo play() inicia a reproduo da Timeline que contm o boto; no segundo caso, a chamada de funo play() inicia a Timeline do clipe de filme ao qual o manipulador est anexado.
// Anexado ao boto on(press){ play(); // reproduz a Timeline-me } // Anexado ao clipe de filme on(press){ play(); // reproduz a Timeline do clipe de filme }

94

Captulo 4: Manipulando eventos

Ou seja, quando anexado a um objeto de boto, a chamada de mtodo play() aplica-se Timeline que contm o boto, isto , a Timeline-me do boto. Entretanto, quando o mesmo manipulador estiver anexado a um objeto de clipe de filme, play() se aplicar ao clipe de filme que utiliza o manipulador. Dentro de uma definio de funo de manipulador de eventos ou ouvinte de eventos, a mesma funo play() se aplicar Timeline que contm a definio de funo. Por exemplo, imagine que a funo de manipulador de eventos MovieClip.onPress seguinte foi declarada na Timeline que contm a instncia de clipe de filme myMovieClip.
// Funo definida na Timeline do clipe de filme: myMovieClip.onPress = function () { play(); // reproduz a Timeline que contm a definio de funo }

Se desejar reproduzir o clipe de filme que define o manipulador de eventos onPress, dever explicitamente fazer referncia ao clipe usando a palavra-chave this, desta forma:
myMovieClip.onPress = function () { this.play(); // reproduz a Timeline do clipe que define o manipulador onPress }

Escopo da palavra-chave this


A palavra-chave this refere-se ao objeto do escopo em execuo no momento. Dependendo do tipo de tcnica de manipulador de eventos usada, this pode se referir a objetos diferentes.
Em uma funo de manipulador de eventos ou de ouvinte de eventos, this

refere-se ao objeto que define o mtodo manipulador de evento ou ouvinte de evento. Por exemplo, no cdigo a seguir this refere-se a myClip.

// manipulador de eventos onPress() anexado a _level0.myClip: myClip.onPress = function () { trace(this); // exibe '_level0.myClip' } Em um manipulador on() anexado a um clipe de filme, this refere-se ao clipe de filme ao qual

o manipulador on() est anexado.


// Anexado ao clipe de filme chamado 'myClip' on(press){ trace(this); displays '_level0.myClip' } Em um manipulador on() anexado a um boto, this // Anexado ao boto na Timeline principal on(press){ trace(this); // exibe '_level0' }

refere-se Timeline que contm o boto.

Escopo da palavra-chave this

95

96

Captulo 4: Manipulando eventos

CAPTULO 5 Criando interao com o ActionScript

Em animaes simples, o Macromedia Flash Player reproduz as cenas e os quadros de um arquivo SWF em seqncia. Em um arquivo SWF interativo, os espectadores usam o teclado e o mouse para percorrer um arquivo SWF, mover objetos, inserir informaes em formulrios e executar muitas outras operaes interativas. Use o ActionScript para criar scripts que informem ao Flash Player qual ao executar na ocorrncia de um evento. Os eventos que ativam um script ocorrem quando a reproduo atinge um quadro, quando um clipe de filme carregado ou descarregado, ou quando o usurio clica em um boto ou pressiona uma tecla. Um script pode consistir em um nico comando, como instruir um arquivo SWF a interromper a reproduo, ou uma srie de comandos e instrues, como avaliar em primeiro lugar uma condio e depois executar uma ao. Muitos comandos do ActionScript so simples e permitem criar controles bsicos para um arquivo SWF. Outras aes exigem alguma familiaridade com linguagens de programao e so planejadas para um desenvolvimento avanado.

Sobre eventos e interao


Sempre que um usurio clica no mouse ou pressiona uma tecla, gerado um evento. Esses tipos de eventos normalmente so chamados eventos do usurio, porque so gerados em resposta a alguma ao do usurio final. Voc pode escrever ActionScript para responder a esses eventos ou manipul-los. Por exemplo, quando um usurio clica em um boto, voc pode enviar a reproduo para outro quadro do arquivo SWF ou carregar uma nova pgina da Web no navegador. Em um arquivo SWF, botes, clipes de filme e campos de texto geram eventos aos quais voc pode responder. O ActionScript fornece trs formas de manipular eventos: mtodos manipuladores de eventos, ouvintes de eventos e manipuladores on() e onClipEvent(). Para obter informaes sobre eventos e como manipul-los, consulte Captulo 4, Manipulando eventos, na pgina 89.

97

Controlando a reproduo de arquivos SWF


As funes do ActionScript a seguir permitem controlar a reproduo na Timeline (Linha de tempo) e carregar uma nova pgina da Web em uma janela de navegador:

As funes gotoAndPlay() e gotoAndStop() enviam a reproduo para um quadro ou cena.


Essas so funes globais que podem ser chamadas de qualquer script. Use tambm os mtodos MovieClip.gotoAndPlay() e MovieClip.gotoAndStop() para navegar pela Timeline de um objeto de clipe de filme especfico. As aes play() e stop() reproduzem e interrompem filmes. A ao getURL() vai at outro URL.

Indo para um quadro ou uma cena Para ir para uma outra cena ou quadro especfico no arquivo SWF, use as funes globais e gotoAndStop() ou os mtodos gotoAndPlay() e gotoAndStop() equivalentes da classe MovieClip. Cada funo ou mtodo permite especificar um quadro para o qual ir na cena atual. Se o documento contiver vrias cenas, voc poder especificar uma cena e quadro para os quais ir.
gotoAndPlay()

O exemplo a seguir usa a funo global gotoAndPlay() em um manipulador de eventos onRelease de um objeto de boto para enviar a reproduo da Timeline que contm o boto para o Frame 10 (Quadro 10).
jump_btn.onRelease = function () { gotoAndPlay(10); }

No prximo exemplo, o mtodo MovieClip.gotoAndStop() envia a Timeline de um clipe de filme chamado categories_mc para o Frame 10 e pra. Ao usar os mtodos de MovieClip gotoAndPlay() e gotoAndStop(), especifique uma instncia para o mtodo.
jump_btn.onPress = function () { categories_mc.gotoAndStop(10); }

Reproduzindo e interrompendo clipes de filme A menos que instrudo de outra forma, depois que um arquivo SWF iniciado, ele reproduzido por cada quadro da Timeline. Para interromper ou iniciar um arquivo SWF, use as funes globais play() e stop() ou os mtodos MovieClip equivalentes. Por exemplo, voc pode usar stop() para interromper um arquivo SWF no fim de uma cena, antes de passar para a cena seguinte. Depois que um arquivo SWF pra, ele deve ser reiniciado explicitamente atravs da chamada de play(). Voc pode usar as aes play() e stop() ou mtodos MovieClip para controlar a Timeline principal ou a Timeline de qualquer clipe de filme ou arquivo SWF carregado. O clipe de filme que voc deseja controlar deve ter um nome de instncia e um destino, e deve estar presente na Timeline.

98

Captulo 5: Criando interao com o ActionScript

O manipulador on(press) a seguir, anexado a um boto, inicia a reproduo movendo o arquivo SWF ou o clipe de filme que contm o objeto de boto.
// Anexado a uma instncia de boto on(press){ // Reproduz a Timeline que contm o boto play(); }

Esse mesmo cdigo do manipulador de eventos on() produzir um resultado diferente quando anexado a um objeto de clipe de filme em vez de um boto. As instrues includas em um manipulador on(), quando anexado a um objeto de boto, sero aplicadas Timeline que contm o boto, por padro. Entretanto, as instrues includas em um manipulador on(), quando anexadas a um objeto de clipe de filme, sero aplicadas ao clipe de filme ao qual o manipulador on() est anexado. Por exemplo, o cdigo do manipulador on() a seguir interrompe a Timeline do clipe de filme qual o manipulador est anexado, e no aquela que contm o clipe de filme.
on(press){ stop(); }

As mesmas condies se aplicam a manipuladores onClipEvent() anexados a objetos de clipes de filme. Por exemplo, o cdigo abaixo interrompe a Timeline do clipe de filme que contm o manipulador onClipEvent() quando o primeiro clipe carregado ou aparece no Stage (Palco).
onClipEvent(load){ stop(); }

Indo para outro URL Para abrir uma pgina da Web em uma janela de navegador ou para passar dados para outro aplicativo em um URL definido, use a funo global getURL() ou o mtodo MovieClip.getURL(). Por exemplo, possvel ter um boto com links para um novo site ou enviar variveis da Timeline para um script CGI para ser processado da mesma forma que com um formulrio HTML. Voc tambm pode especificar uma janela de destino, como faria ao especificar uma janela com uma marca de ncora HTML (<a></a>). Por exemplo, o cdigo abaixo abre a pgina inicial macromedia.com em uma janela de navegador em branco quando o usurio clica na instncia de boto chamada homepage_btn.
homepage_btn.onRelease = function () { getURL("http://www.macromedia.com", _blank); }

Voc tambm pode enviar variveis junto com o URL, usando GET ou POST. Isso til se a pgina carregada de um servidor de aplicativos, como uma pgina do ColdFusion Server (CFM), esperar receber variveis de formulrio. Por exemplo, imagine que voc deseje carregar uma pgina CFM chamada addUser.cfm que espere duas variveis de formulrio, name e age. Para isso, voc pode criar um clipe de filme chamado variables_mc que defina essas duas variveis, como mostrado abaixo.
variables_mc.name = "Francois"; variables_mc.age = 32;

Controlando a reproduo de arquivos SWF

99

O cdigo a seguir carrega addUser.cfm em uma janela de navegador em branco e passa para a pgina CFM variables_mc.name e variables_mc.age no cabealho POST.
variables_mc.getURL("addUser.cfm", "_blank", "POST");

Para obter mais informaes, consulte getURL() na pgina 446.

Criando interatividade e efeitos visuais


Para criar interatividade e outros efeitos visuais, preciso compreender as seguintes tcnicas:

Criando um ponteiro de mouse personalizado Obtendo a posio do mouse Capturando pressionamentos de teclas Definindo valores de cores Criando controles de som Detectando colises Criando uma ferramenta de desenho de linha simples

Criando um ponteiro de mouse personalizado Um ponteiro de mouse padro a representao na tela do sistema operacional da posio do mouse do usurio. Ao substituir o ponteiro de mouse padro por um criado no Flash, voc pode integrar o movimento do mouse do usurio no arquivo SWF com mais preciso. O exemplo desta seo usa um ponteiro personalizado com o formato de uma seta grande. Porm, a eficincia desse recurso est na sua capacidade de transformar o ponteiro personalizado em qualquer forma, como uma bola de futebol a caminho da linha do gol ou um pedao de tecido colocado por cima de um sof para mudar sua cor. Para criar um ponteiro personalizado, crie o clipe de filme do ponteiro no Stage. Em seguida, no ActionScript, oculte o ponteiro padro e controle seu movimento. Para ocultar o ponteiro padro, use o mtodo Mouse.hide() da classe Mouse interna. Para usar um clipe de filme como o ponteiro personalizado, use a ao startDrag().
Para criar um ponteiro personalizado:

1 Crie um clipe de filme para ser usado como um ponteiro personalizado e coloque uma instncia

do clipe no Stage. 2 Selecione a instncia de clipe de filme no Stage. 3 Selecione Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions (Aes) para abrir o painel Actions se ele ainda no estiver visvel. 4 Digite o seguinte no painel Actions:
onClipEvent (load) { Mouse.hide(); startDrag(this, true); } onClipEvent(mouseMove){ updateAfterEvent(); }

100

Captulo 5: Criando interao com o ActionScript

O primeiro manipulador onClipEvent() oculta o mouse quando o clipe de filme aparece no Stage pela primeira vez; o segundo manipulador chama updateAfterEvent sempre que o usurio move o mouse. A funo updateAfterEvent atualiza a tela imediatamente aps a ocorrncia do evento especificado, ao contrrio do comportamento padro, que atualiza a tela aps a obteno do prximo quadro. (Consulte updateAfterEvent() na pgina 858.) 5 Selecione Control (Controlar) > Test Movie (Testar filme) para testar o ponteiro personalizado. Os botes ainda funcionaro quando voc usar um ponteiro personalizado. recomendvel colocar o ponteiro personalizado na camada superior da Timeline para que ele se mova na frente dos botes e de outros objetos quando voc move o mouse no arquivo SWF. Alm disso, a dica de um ponteiro de mouse personalizado o ponto de registro do clipe de filme que voc usa como o ponteiro personalizado. Assim, se desejar que uma certa parte do clipe de filme funcione como a dica do mouse, dever definir as coordenadas do ponto de registro do clipe para que seja esse ponto. Para obter informaes sobre os mtodos da classe Mouse, consulte a entrada Classe Mouse no Captulo 12, Dicionrio do ActionScript, na pgina 219. Obtendo a posio do mouse Voc pode usar as propriedades _xmouse e _ymouse para localizar o ponteiro do mouse (cursor) em um arquivo SWF. Cada Timeline possui uma propriedade _xmouse e _ymouse que retorna a localizao do mouse no seu sistema de coordenadas. A posio sempre relativa ao ponto de registro. No caso da Timeline principal (_level0), o ponto de registro o canto superior esquerdo.

As propriedades _xmouse e _ymouse na Timeline principal e uma Timeline de clipe de filme Os procedimentos a seguir mostram duas maneiras de obter a posio do mouse.

Criando interatividade e efeitos visuais

101

Para obter a posio atual do mouse na Timeline principal:

1 Crie duas caixas de texto dinmicas e atribua a elas os nomes x_pos e y_pos. 2 Selecione Window > Development Panels > Actions para abrir o painel Actions se ele ainda no

estiver visvel. 3 Para retornar a posio do mouse na Timeline principal, adicione o cdigo a seguir em qualquer quadro no arquivo SWF de _level0:
x_pos = _root._xmouse; y_pos = _root._ymouse;

As variveis x_pos e y_pos so usadas como recipientes para armazenar os valores das posies do mouse. Voc pode usar essas variveis em qualquer script em seu documento. No manipulador onClipEvent() a seguir, os valores de x_pos e y_pos so atualizados sempre que o usurio move o mouse.
onClipEvent(mouseMove){ x_pos = _root._xmouse; y_pos = _root._ymouse; } Para obter a posio atual do mouse em um clipe de filme:

1 Crie um clipe de filme. 2 Selecione a instncia de clipe de filme no Stage. Com o inspetor Properties (Propriedades),

atribua a ela o nome myMovieClip. 3 Selecione Window > Development Panels > Actions para abrir o painel Actions se ele ainda no estiver visvel. 4 Use o nome da instncia do clipe de filme para retornar a posio do mouse na Timeline principal. Por exemplo, a instruo a seguir pode ser colocada em qualquer Timeline no arquivo SWF de _level0 para retornar a posio _ymouse na instncia myMovieClip:
x_pos = _root.myMovieClip._xmouse y_pos = _root.myMovieClip._ymouse

O cdigo retorna as variveis _xpos e _ypos do mouse em relao ao ponto de registro.


5 Selecione Control > Test Movie para testar o filme.
_xmouse

Tambm possvel determinar a posio do mouse em um clipe de filme usando as propriedades e _ymouse em um evento do clipe, conforme mostrado no cdigo a seguir:

onClipEvent (enterFrame){ xmousePosition = this._xmouse; ymousePosition = this._ymouse; }

Para obter mais informaes sobre as propriedades _xmouse e _ymouse, consulte MovieClip._xmouse na pgina 625 e MovieClip._ymouse na pgina 626.

102

Captulo 5: Criando interao com o ActionScript

Capturando pressionamentos de teclas Use os mtodos da classe Key interna para detectar a ltima tecla pressionada pelo usurio. A classe Key no exige uma funo construtora; para usar seus mtodos, basta cham-los na prpria classe, como mostrado no exemplo a seguir:
Key.getCode();

Voc pode obter cdigos de teclas virtuais ou valores ASCII (American Standard Code for Information Interchange, Cdigo padro americano para intercmbio de informaes) de pressionamentos de teclas:

Para obter o cdigo de tecla virtual da ltima tecla pressionada, use o mtodo getCode(). Para obter o valor ASCII da ltima tecla pressionada, use o mtodo getAscii().
Um cdigo de tecla virtual atribudo a cada tecla fsica de um teclado. Por exemplo, a tecla de seta para a esquerda tem o cdigo de tecla virtual 37. Usar esse cdigo garante que os controles do arquivo SWF sejam os mesmos em todos os teclados, independentemente de linguagem ou plataforma. Valores ASCII so atribudos aos primeiros 127 caracteres em cada conjunto de caracteres. Os valores ASCII fornecem informaes sobre um caractere da tela. Por exemplo, a letra A e a letra a possuem valores ASCII diferentes. Decida quais teclas usar e determine seus cdigos de teclas virtuais usando um destes procedimentos:

Consulte a lista de cdigos de teclas em Apndice C, Teclas do teclado e valores de cdigos de


teclas, na pgina 911.

Use uma constante da classe Key. Na caixa de ferramentas Actions, clique na categoria Built-In
Classes (Classes internas), clique em Movie, clique em Key (Tecla) e clique em Constants (Constantes). Atribua o manipulador onClipEvent() a seguir a um clipe de filme e, em seguida, selecione Control (Controlar) > Test Movie (Testar filme) e pressione a tecla desejada.
onClipEvent(load) { trace(Key.getCode()); }

O cdigo da tecla desejada exibido no painel Output.

Criando interatividade e efeitos visuais

103

Um lugar comum para se usar os mtodos da classe Key em um manipulador de eventos. No exemplo a seguir, o usurio move o carro usando as teclas de seta. O mtodo Key.isDown() indica se tecla pressionada a seta para a direita, para a esquerda, para cima ou para baixo. O manipulador de eventos, onEnterFrame, determina o valor Key.isDown(keyCode) a partir de instrues if. Dependendo do valor, o manipulador instrui o Flash Player a atualizar a posio do carro e exibir a direo.

A entrada do teclado move o carro. O procedimento abaixo mostra como capturar pressionamentos de teclas para mover um clipe de filme para cima, para baixo, para a esquerda ou para a direita no Stage (Palco), dependendo de qual tecla de seta correspondente (para cima, para baixo, para a esquerda, para a direita) pressionada. O clipe de filme confinado a uma rea arbitrria de 400 pixels de largura e 300 pixels de altura. Alm disso, um campo de texto exibe o nome da tecla pressionada.

104

Captulo 5: Criando interao com o ActionScript

Para criar um clipe de filme ativado por teclado:

1 No Stage, crie um clipe de filme que dever se mover em resposta a atividades de teclas do

teclado. Neste exemplo, o nome da instncia do clipe de filme car. 2 No Stage, crie uma caixa de texto dinmica que ser atualizada com a direo do carro. Usando o inspetor Properties (Propriedades), atribua instncia o nome display_txt.
Observao: No confunda nomes de variveis com nomes de instncias. Para obter mais informaes, consulte Sobre a instncia do campo de texto e os nomes de variveis na pgina 144.

3 Selecione Frame 1 (Quadro 1) na Timeline; em seguida, selecione Window (Janela) >

Development Panels (Painis de desenvolvimento) > Actions (Aes) para abrir o painel Actions, caso ele no esteja visvel. 4 Para definir a distncia que o carro percorre na tela com cada pressionamento de tecla, defina uma varivel distance e defina seu valor inicial como 10.
var distance = 10;

5 Para criar o manipulador de eventos para o clipe de filme do carro que verifique qual tecla de

seta (para a esquerda, para a direita, para cima ou para baixo) est pressionada, adicione este cdigo ao painel Actions:
car.onEnterFrame = function() { }

6 Adicione uma instruo with ao corpo do manipulador onEnterFrame e especifique car como

o objeto da instruo with. O cdigo deve ser este:


var distance = 10; car.onEnterFrame = function() { with (car) { } }

7 Para verificar se a tecla de seta para a direita est sendo pressionada, e para mover o clipe de filme

do carro de forma apropriada, adicione o cdigo a seguir ao corpo da instruo with. O cdigo deve ser este:
distance = 10; car.onEnterFrame = function() { with (car) { if (Key.isDown(Key.RIGHT)) { _x += distance; if (_x >= 400) { _x = 400; } _root.display_txt.text = "Right"; } } }

Se a tecla de seta para a direita estiver sendo pressionada, a propriedade _x do carro ser aumentada de acordo com valor especificado pela varivel distance. A prxima instruo if testa se o valor da propriedade _x do clipe maior que ou igual a 400 (if(_x >=400)); nesse caso, sua posio fixada em 400. Alm disso, a palavra Right deve aparecer no arquivo SWF.

Criando interatividade e efeitos visuais

105

8 Use cdigo semelhante para testar se as teclas para a esquerda, para cima ou para baixo esto

sendo pressionadas. O cdigo deve ser este:


var distance = 10; car.onEnterFrame = function() { with (car) { if (Key.isDown(Key.RIGHT)) { _x += distance; if (_x >= 400) { _x = 400; } _root.display_txt.text = "Right"; } else if (Key.isDown(Key.LEFT)) { _x -= distance; if (_x < 0) { _x = 0; } _root.display_txt.text = "Left"; } else if (Key.isDown(Key.UP)) { _y -= distance; if (_y < 0) { _y = 0 ; } _root.display_txt.text = "Up"; } else if (Key.isDown(Key.DOWN)) { _y += distance; if (_y > 300) { _y = 300; } _root.display_txt.text = "Down"; } } }

9 Selecione Control > Test Movie para testar o arquivo.

Para obter mais informaes sobre os mtodos da classe Key, consulte a entrada de Classe Key no Captulo 12, Dicionrio do ActionScript, na pgina 219.

106

Captulo 5: Criando interao com o ActionScript

Definindo valores de cores possvel usar os mtodos da classe Color interna para ajustar a cor de um clipe de filme. O mtodo setRGB() atribui valores RGB (vermelho, verde, azul) hexadecimais ao clipe de filme. O exemplo a seguir usa setRGB() para alterar a cor de um objeto com base na entrada do usurio.

A ao do boto cria um objeto Color e altera a cor do carro com base na entrada do usurio.
Para definir o valor de cor de um clipe de filme:

1 Selecione um clipe de filme no Stage. 2 No inspetor Properties, insira carColor como o nome da instncia. 3 Crie um boto chamado color chip, coloque quatro instncias do boto no Stage e atribua a

elas os nomes red, green, blue e black. 4 Selecione Frame 1 na Timeline principal e selecione Window > Development Panels > Actions. 5 Para criar um objeto Color que especifique o clipe de filme carColor, adicione o cdigo a seguir ao painel Actions:
myColor = new Color(_root.carColor);

6 Para que o boto azul altere a cor do clipe de filme carColor para azul, adicione o cdigo a

seguir ao painel Actions:


_root.blue.onRelease = function(){ myColor.setRGB(0x0000ff) }

O valor hexadecimal 0x0000ff azul. A tabela a seguir exibe as outras cores que voc usar e seus valores hexadecimais:

Criando interatividade e efeitos visuais

107

7 Repita a etapa 6 para os outros botes (vermelho, verde e preto) para alterar a cor do clipe de

filme para a cor correspondente. O cdigo agora deve ser este:


myColor = new Color(_root.carColor) _root.blue.onRelease = function(){ myColor.setRGB(0x0000ff) } _root.red.onRelease = function(){ myColor.setRGB(0xff0000) } _root.green.onRelease = function(){ myColor.setRGB(0x00ff00) } _root.black.onRelease = function(){ myColor.setRGB(0x000000) }

8 Selecione Control > Test Movie para alterar a cor do clipe de filme.

Para obter mais informaes sobre os mtodos da classe Color, consulte a entrada de Classe Color no Captulo 12, Dicionrio do ActionScript, na pgina 219. Criando controles de som Use a classe interna Sound para controlar sons em um arquivo SWF. Para usar os mtodos da classe Sound, primeiro crie um objeto Sound. Depois, use o mtodo attachSound() para inserir um som da biblioteca em um arquivo SWF enquanto o SWF estiver em execuo.

Quando o usurio solta o boto Play (Reproduzir), uma msica reproduzida pelo alto-falante.

108

Captulo 5: Criando interao com o ActionScript

O mtodo setVolume() da classe Sound controla o volume, e o mtodo setPan() ajusta o balano da esquerda e da direita de um som.

Quando o usurio arrasta o controle deslizante de volume, o mtodo setVolume() chamado. Os procedimentos a seguir mostram como criar controles de som semelhantes aos mostrados acima.
Para anexar um som a uma Timeline:

1 Selecione File > Import para importar um som. 2 Selecione um som na biblioteca, clique no boto direito do mouse (Windows), ou mantenha

pressionada a tecla Control e clique (Macintosh), e selecione Linkage (Vinculao).


3 Selecione Export for ActionScript (Exportar para ActionScript) e Export in First Frame

(Exportar no primeiro quadro); em seguida, especifique o identificador a_thousand_ways.


4 Adicione um boto ao Stage e atribua a ele o nome playButton. 5 Adicione um boto ao Stage e atribua a ele o nome stopButton. 6 Adicione um clipe de filme ao Stage e atribua a ele o nome speaker.

Criando interatividade e efeitos visuais

109

7 Selecione Frame 1 na Timeline principal e selecione Window > Development Panels > Actions.

Adicione este cdigo ao painel Actions:


speaker.stop(); song = new Sound(); song.onSoundComplete = function() { speaker.stop(); }; song.attachSound("a_thousand_ways"); playButton.onRelease = function() { song.start(); speaker.play(); }; stopButton.onRelease = function () { song.stop(); speaker.stop(); }

Esse cdigo primeiro interrompe o clipe de filme speaker. Em seguida, cria um novo objeto Sound (song) e anexa o som cujo identificador de vinculao a_thousand_ways. Depois, define um manipulador onSoundComplete para o objeto de msica, que interrompe o clipe de filme speaker quando o som termina. Por fim, manipuladores onRelease associados aos objetos playButton e stopButton iniciam e interrompem o som usando os mtodos Sound.start() e Sound.stop(), alm de iniciar e interromper a reproduo do clipe de filme speaker. 8 Selecione Control > Test Movie para ouvir o som.
Para criar um controle de volume deslizante:

1 Arraste um boto para o Stage. 2 Selecione o boto e selecione Modify (Modificar) > Convert to Symbol (Converter em smbolo).

Tenha cuidado ao selecionar o comportamento do clipe de filme. Isso criar um clipe de filme com o boto em seu primeiro quadro. 3 Selecione o clipe de filme e selecione Edit (Editar) > Edit Selected (Editar selecionados). 4 Selecione o boto e selecione Window > Development Panels > Actions. 5 Insira as seguintes aes:
on(press){ startDrag(this, false, left, top, right, bottom); } on (release) { stopDrag(); }

Os parmetros left, top, right e bottom de startDrag() so variveis definidas em uma ao de clipe. 6 Selecione Edit (Editar) > Edit Document (Editar documento) para voltar Timeline principal. 7 Selecione o clipe de filme no Stage.

110

Captulo 5: Criando interao com o ActionScript

8 Insira as seguintes aes:


onClipEvent (load) { top = _y; bottom = _y; left = _x; right = _x+100; _x += 100; } onClipEvent (enterFrame) { _parent.song.setVolume(_x-left); }

9 Selecione Control > Test Movie para usar o controle deslizante de volume.
Para criar um controle de balano deslizante:

1 Arraste um boto para o Stage. 2 Selecione o boto e selecione Insert (Inserir) > Convert to Symbol. Selecione a propriedade do

clipe de filme. 3 Selecione o clipe de filme e selecione Edit (Editar) > Edit Symbol (Editar smbolo). 4 Selecione o boto e selecione Window > Development Panels > Actions. 5 Insira as seguintes aes:
on(press){ startDrag ("", false, left, top, right, bottom); dragging = true; } on (release, releaseOutside) { stopDrag (); dragging = false; }

Os parmetros left, top, right e bottom de startDrag() so variveis definidas em uma ao de clipe. 6 Selecione Edit (Editar) > Edit Document (Editar documento) para voltar Timeline principal. 7 Selecione o clipe de filme no Stage. 8 Insira as seguintes aes:
onClipEvent(load){ top=_y; bottom=_y; left=_x-50; right=_x+50; center=_x; } onClipEvent (enterFrame){ if (dragging==true){ _parent.setPan((_x-center)*2); } }

9 Selecione Control > Test Movie para usar o controle deslizante de balano.

Para obter mais informaes sobre os mtodos da classe Sound, consulte a entrada de Classe Sound no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Criando interatividade e efeitos visuais

111

Detectando colises O mtodo hitTest() da classe MovieClip detecta colises em um arquivo SWF. Ele verifica se um objeto colidiu com um clipe de filme e retorna um valor booleano (true ou false). Existem dois casos em que necessrio saber se houve coliso: para testar se o usurio chegou a uma certa rea esttica no Stage, e para determinar quando um clipe de filme alcanou outro. Com hitTest(), voc pode determinar esses resultados. Voc pode usar os parmetros de hitTest() para especificar as coordenadas x e y de uma rea de clicagem no Stage (Palco), ou usar o caminho de destino de outro clipe de filme como uma rea de clicagem. Quando x e y so especificadas, hitTest() retorna true se o ponto identificado por (x, y) no for transparente. Quando um destino passado para hitTest(), as caixas delimitadoras dos dois clipes de filme so comparadas. Se elas se sobrepuserem, hitTest() retornar true. Se no houver uma interseo entre as duas caixas, hitTest() retornar false.

True aparece no campo de texto sempre que o ponteiro do mouse est sobre o corpo do carro.

112

Captulo 5: Criando interao com o ActionScript

Voc tambm pode usar hitTest() para testar uma coliso entre dois clipes de filme.

True aparece no campo de texto sempre que um clipe de filme toca no outro. Os procedimentos a seguir mostram como detectar colises usando o exemplo do carro.
Para detectar a coliso entre um clipe de filme e um ponto no Stage:

1 Crie um novo clipe de filme no Stage e, no inspetor Properties (Propriedades), digite box como

o nome da instncia.
2 Crie uma caixa de texto dinmica no Stage e, no inspetor Properties, digite status como o

nome da instncia.
3 Selecione o primeiro quadro na Layer 1 (Camada 1) da Timeline. 4 Selecione Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions

(Aes) para abrir o painel Actions se ele ainda no estiver visvel. 5 Adicione este cdigo ao painel Actions:
box.onEnterFrame = function () { status.text = this.hitTest(_xmouse, _ymouse, true); }

6 Selecione Control (Controlar) > Test Movie (Testar filme) e mova o mouse sobre o clipe de

filme para testar a coliso. O valor true exibido sempre que o mouse est sobre um pixel no transparente.
Para executar a deteco de coliso em dois clipes de filme:

1 Arraste dois clipes de filme para o Stage e atribua a eles os nomes de instncias car e area. 2 Crie uma caixa de texto dinmica no Stage e, no inspetor Properties, digite status como o

nome da instncia.
3 Selecione o primeiro quadro na Layer 1 (Camada 1) da Timeline. 4 Selecione Window > Development Panels > Actions para abrir o painel Actions se ele ainda no

estiver visvel.

Criando interatividade e efeitos visuais

113

5 Insira o cdigo a seguir no painel Actions:


area.onEnterFrame = function () { status.text=this.hitTest(car); } car.onPress = function (){ this.startDrag(false); updateAfterEvent(); } car.onRelease = function () { this.stopDrag(); }

6 Selecione Control > Test Movie e arraste o clipe de filme para testar a deteco da coliso.

Sempre que a caixa delimitadora do carro formar uma interseo com a caixa delimitadora da rea, o status true. Para obter mais informaes, consulte MovieClip.hitTest() no Captulo 12, Dicionrio do ActionScript, na pgina 219. Criando uma ferramenta de desenho de linha simples Voc pode usar mtodos da classe MovieClip para desenhar linhas e preenchimentos no Stage (Palco) durante a reproduo do arquivo SWF. Isso permite a voc criar ferramentas de desenho para usurios e desenhar formas no arquivo SWF em resposta a eventos. Os mtodos de desenho so beginFill(), beginGradientFill(), clear(), curveTo(), endFill(), lineTo(), lineStyle() e moveTo(). possvel aplicar esses mtodos a qualquer instncia de clipe de filme (por exemplo, myClip.lineTo()) ou a um nvel (_root.curveTo()). Os mtodos lineTo() e curveTo() permitem desenhar linhas e curvas, respectivamente. Especifique uma cor de linha, espessura e configurao alfa para uma linha ou curva com o mtodo lineStyle(). O mtodo de desenho moveTo() define a posio de desenho atual como coordenadas x e y do Stage especificadas por voc. Os mtodos beginFill() e beginGradientFill() preenchem um caminho fechado com um preenchimento slido ou gradiente, respectivamente, e endFill() aplica o preenchimento especificado na ltima chamada a beginFill() ou beginGradientFill(). O mtodo clear() apaga o que foi desenhado no objeto de clipe de filme especificado. Para obter mais informaes, consulte MovieClip.beginFill() na pgina 560, MovieClip.beginGradientFill() na pgina 561, MovieClip.clear() na pgina MovieClip.curveTo() na pgina 569, MovieClip.endFill() na pgina 572, MovieClip.lineTo() na pgina 587, MovieClip.lineStyle() na pgina 586 e MovieClip.moveTo() na pgina 593.
Para criar uma ferramenta de desenho de linha simples:

564,

1 Em um novo documento, crie um boto no Stage e, no inspetor Properties (Propriedades),

digite clear_btn como o nome da instncia. 2 Selecione Frame 1 (Quadro 1) na Timeline (Linha de tempo) e, em seguida, selecione Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions (Aes) para abrir o painel Actions se ele no estiver visvel.

114

Captulo 5: Criando interao com o ActionScript

3 No painel Actions, digite este cdigo:


_root.onMouseDown = function() { _root.lineStyle(5, 0xFF0000, 100); _root.moveTo(_root._xmouse, _root._ymouse); isDrawing = true; }; _root.onMouseMove = function() { if (isDrawing == true) { _root.lineTo(_root._xmouse, _root._ymouse); updateAfterEvent(); } }; _root.onMouseUp = function() { isDrawing = false; }; clear_btn.onRelease = function() { _root.clear(); };

4 Selecione Control (Controlar) > Test Movie (Testar filme) para testar o filme. Clique e arraste

o mouse para desenhar uma linha no Stage. Clique no boto para apagar o que foi desenhado.

Desconstruindo um script de exemplo


No arquivo SWF de exemplo zapper.swf, que pode ser exibido no Using Flash Help (Ajuda de Usando o Flash), quando um usurio arrasta a joaninha at a tomada eltrica, a joaninha cai e a tomada treme. A Timeline principal tem apenas um quadro e contm trs objetos: a joaninha, a tomada e um boto de redefinio. Cada um desses objetos uma instncia de clipe de filme.

Desconstruindo um script de exemplo

115

Existe um script no arquivo SWF; ele est anexado instncia bug, conforme mostrado no painel Actions a seguir:

Ao

Manipulador de eventos Evento

Varivel

Instruo condicional if

Painel Actions com o script anexado instncia bug O nome de instncia da joaninha bug e o nome de instncia da tomada zapper. No script, a referncia joaninha feita com this, pois o script est anexado joaninha, e a palavra reservada this refere-se ao objeto que o contm. Existem dois manipuladores onClipEvent() com dois eventos diferentes: load e enterFrame. As aes na instruo onClipEvent(load) so executadas somente uma vez, quando o arquivo SWF carregado. As aes na instruo onClipEvent(enterFrame) so executadas sempre que a reproduo entra em um quadro. Mesmo em um arquivo SWF com apenas um quadro, a reproduo ainda entra nesse quadro repetidamente e o script executado tambm repetidamente. As aes a seguir ocorrem dentro de cada manipulador onClipEvent():
onClipEvent(load) Duas variveis, initx e inity, so definidas para armazenar as posies iniciais x e y da instncia de clipe de filme bug. A funo definida e atribuda ao evento onRelease da instncia Reset. Essa funo chamada todas as vezes que o boto do mouse pressionado e liberado sobre o boto Reset (Redefinir). A funo recoloca a joaninha na posio inicial no Stage, redefine seus valores de rotao e alfa e redefine a varivel zapped como false.

116

Captulo 5: Criando interao com o ActionScript

onClipEvent(enterFrame)

Uma instruo if condicional usa o mtodo hitTest() para verificar se a instncia da joaninha entra em contato com a instncia da tomada (_root.zapper). H dois resultados possveis para a avaliao, true ou false:

onClipEvent (load) { initx = _x; inity = _y; _root.Reset.onRelease = function() { zapped = false; _x = initx; _y = inity; _alpha = 100 _rotation = 0; }; }

Se o mtodo hitTest() retornar true, o mtodo stopDrag() ser chamado, a varivel zapper ser definida como true, as propriedades alpha e rotation sero alteradas e a instncia zapped receber um comando para ser reproduzida. Se o mtodo hitTest() retornar false, no ser executado nenhum cdigo entre chaves {} logo aps a instruo if. Existem dois manipuladores on() anexados instncia bug com dois eventos diferentes: press e As aes na instruo on(press) so executadas quando o boto do mouse pressionado sobre a instncia bug. As aes na instruo on(release) so executadas quando o boto do mouse liberado sobre a instncia bug. As aes a seguir ocorrem dentro de cada manipulador onClipEvent():
release. on(press) Uma ao startDrag() torna a joaninha arrastvel. Como o script est anexado instncia bug, a palavra-chave this indica que a instncia bug que arrastvel: on(press){ this.startDrag(); } on(release)

Uma ao stopDrag() interrompe a ao arrastar:

on (release) { stopDrag(); }

Para observar a reproduo do arquivo SWF, consulte o ActionScript Reference Guide Help (Ajuda do Guia de referncia do ActionScript).

Desconstruindo um script de exemplo

117

118

Captulo 5: Criando interao com o ActionScript

PARTE III Trabalhando com objetos e classes

PARTE III

Esta parte analisa o modelo de objetos do Macromedia Flash durante a execuo e seus recursos, concentrando-se no trabalho com clipes de filmes e texto. Esta parte tambm descreve como criar suas prprias classes e interfaces com o ActionScript 2.0. Captulo 6: Usando as classes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Captulo 7: Trabalhando com clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Captulo 8: Trabalhando com texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Captulo 9: Criando classes com o ActionScript 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

CAPTULO 6 Usando as classes internas

Alm dos elementos e construes bsicas do ActionScript (as repeties for e while, por exemplo) e dos tipos de dados primitivos (nmeros, seqncias de caracteres e arrays) descritos anteriormente (consulte Conceitos bsicos do ActionScript na pgina 27), o ActionScript tambm fornece vrias classes internas ou tipos de dados complexos. Essas classes oferecem vrios recursos e funcionalidades de script. Algumas classes tm como base a especificao ECMAScript e so chamadas classes bsicas do ActionScript. Alguns exemplos desse tipo de classe so: Array, Boolean, Date e Math. Para obter mais informaes, consulte Classes bsicas na pgina 123.) As outras classes internas do ActionScript so especficas para o modelo de objetos do Macromedia Flash e do Flash Player. Para entender a diferena entre as classes bsicas do ActionScript e as classes especficas do Flash, considere a distino entre JavaScript bsico e cliente: da mesma maneira que as classes JavaScript cliente fornecem controle sobre o ambiente do cliente (o contedo do navegador e da pgina da Web), as classes especficas do Flash oferecem controle do tempo de execuo sobre a aparncia e o comportamento de um aplicativo Flash. Este captulo apresenta as classes internas do ActionScript, descreve as tarefas comuns que voc pode realizar com essas classes e fornece exemplos de cdigo. Para obter uma viso geral dessas classes, consulte Viso geral das classes internas na pgina 122. Para obter uma viso geral sobre o trabalho com classes e objetos na programao orientada a objeto, consulte Sobre classes e instncias na pgina 121.

Sobre classes e instncias


Na programao orientada a objeto, uma classe define uma categoria de objeto. Uma classe descreve as propriedades (dados) e o comportamento (mtodos) de um objeto, da mesma maneira que uma planta arquitetnica descreve as caractersticas de uma construo. Para usar as propriedades e os mtodos definidos por uma classe, primeiro voc deve criar uma instncia dessa classe. A relao entre uma instncia e sua classe semelhante relao entre uma casa e sua planta arquitetnica.

121

Criando um novo objeto Para criar uma instncia de uma classe do ActionScript, use o operador new para chamar a funo construtora da classe. A funo construtora sempre tem o mesmo nome da classe e retorna uma instncia da classe, que voc normalmente atribui a uma varivel. Por exemplo, o cdigo a seguir cria um novo objeto Sound.
var song:Sound= new Sound();

Em alguns casos, no necessrio criar a instncia de uma classe para us-la. Para obter mais informaes, consulte Sobre os membros de classe (estticos) na pgina 122. Acessando propriedades de objetos Use o operador ponto (.) para acessar o valor de uma propriedade em um objeto. Insira o nome do objeto esquerda do ponto e o nome da propriedade direita. Por exemplo, na instruo a seguir, myObject o objeto e name a propriedade:
myObject.name

O cdigo a seguir cria um novo objeto TextField e define sua propriedade autoSize como true.
var my_text = new TextField(); my_text.autoSize = true;

Voc tambm pode usar o operador de acesso de array ([]) para acessar as propriedades de um objeto. Consulte Operadores ponto e de acesso de array na pgina 53. Chamando mtodos de objetos O mtodo de um objeto chamado usando o operador ponto (.) seguido do mtodo. Por exemplo, o cdigo a seguir cria um novo objeto Sound e chama seu mtodo setVolume().
mySound = new Sound(this); mySound.setVolume(50);

Sobre os membros de classe (estticos) Algumas classes internas do ActionScript apresentam membros de classe (ou membros estticos). Os membros de classe (propriedades e mtodos) so acessados ou chamados no em uma instncia da classe, mas no prprio nome da classe. Ou seja, voc no cria uma instncia da classe para usar essas propriedades e mtodos. Por exemplo, todas as propriedades da classe Math so estticas. O cdigo a seguir chama o mtodo max() da classe Math para determinar o maior de dois nmeros.
var largerNumber = Math.max(10, 20);

Viso geral das classes internas


Esta seo lista todas as classes do ActionScript, incluindo uma breve descrio de cada uma delas e referncias cruzadas para outras sees relevantes da documentao.

122

Captulo 6: Usando as classes internas

Classes bsicas As classes bsicas do ActionScript so aquelas emprestadas diretamente do ECMAScript. Na caixa de ferramentas Actions (Aes), essas classes localizam-se na subpasta Built-in Classes (Classes internas) > Core (Bsicas).
Classe Arguments Descrio Um array que contm os valores passados como parmetros para qualquer funo. Consulte a entrada Classe Arguments no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Array contm mtodos e propriedades para o trabalho com os objetos de array. Consulte a entrada Classe Array no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Boolean um envoltrio para valores booleanos (true ou false). Consulte a entrada Classe Boolean no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Button fornece mtodos e propriedades para o trabalho com objetos de boto. Consulte a entrada Classe Button no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Date fornece acesso aos valores de data e hora relativos ao horrio universal GMT (Greenwich Mean Time, Horrio mdio de Greenwich) ou relativos ao sistema operacional no qual o Flash Player est em execuo. Consulte a entrada Classe Date no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Error contm informaes sobre os erros que ocorrem nos scripts. Em geral, use a instruo throw para gerar uma condio de erro, que voc pode manipular com uma instruo try..catch..finally. Consulte try..catch..finally e as entradas Classe Error no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Function a representao de classe de todas as funes do ActionScript, incluindo aquelas que so nativas do ActionScript e as que voc define. Consulte a entrada Classe Function no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Math permite que voc acesse e manipule constantes e funes matemticas. Todas as propriedades e mtodos da classe Math so estticos e devem ser chamados com a sintaxe Math.method(parmetro) ou Math.constant. Consulte a entrada Classe Math no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Number um envoltrio para o tipo de dados de nmero primitivo. Consulte a entrada Classe Number no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Array

Boolean

Button

Date

Error

Function

Math

Number

Viso geral das classes internas

123

Classe Object

Descrio A classe Object encontra-se na raiz da hierarquia de classes do ActionScript; todas as outras classes herdam seus mtodos e propriedades. Consulte a entrada Classe Object no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe String um envoltrio para o tipo de dados primitivo de seqncia de caracteres, que permite o uso dos mtodos e propriedades do objeto String para manipular tipos de valores primitivos de seqncias de caracteres. Consulte a entrada Classe String no Captulo 12, Dicionrio do ActionScript, na pgina 219.

String

Classes especficas do Flash Player As tabelas a seguir listam as classes que so especficas do Flash Player e do modelo de tempo de execuo do Flash. Essas classes normalmente dividem-se em quatro categorias: classes de filme (que fornecem controle geral de arquivos SWF e Flash Player), classes de mdia (para trabalhar com som e vdeo), classes cliente/servidor (para trabalhar com XML e outras fontes de dados externas) e classes de criao (que fornecem controle sobre o ambiente de criao do Flash).
Observao: Essa categorizao afeta a localizao das classes na caixa de ferramentas Actions (Aes), mas no o modo como voc usa essas classes.

Classes de filme As classes de filme fornecem controle sobre a maioria dos elementos visuais em um arquivo SWF, incluindo clipes de filme, campos de texto e botes. As classes de filme localizam-se na caixa de ferramentas Actions na subpasta Built-in Classes > Movie (Filme).
Classe Accessibility Descrio A classe Accessibility gerencia a comunicao entre os arquivos SWF e os aplicativos de leitura de tela. Use mtodos dessa classe junto com a propriedade global _accProps para controlar as propriedades acessveis para clipes de filmes, botes e campos de textos durante a execuo. Consulte _accProps e as entradas Classe Accessibility no Captulo 12, Dicionrio do ActionScript, na pgina 219. Cada boto em um arquivo SWF uma instncia da classe Button. A classe Button fornece mtodos, propriedades e manipuladores de eventos para trabalhar com botes. Consulte a entrada Classe Button no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Color permite que voc obtenha e defina os valores de cores RGB dos objetos do clipe de filme. Para obter mais informaes, consulte a entrada Classe Color no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter um exemplo do uso da classe Color com o objetivo de alterar a cor de clipes de filmes, consulte Definindo valores de cores na pgina 107.

Button

Color

124

Captulo 6: Usando as classes internas

Classe ContextMenu

Descrio A classe ContextMenu permite que voc controle o contedo do menu de contexto do Flash Player. Voc pode associar os objetos ContextMenu separados a objetos MovieClip, Button ou TextField usando a propriedade menu disponvel para essas classes. Tambm possvel adicionar itens de menu personalizados a um objeto ContextMenu usando a classe ContextMenuItem. Consulte Classe ContextMenu e as entradas Classe ContextMenuItem no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe ContextMenuItem permite que voc crie novos itens de menu que aparecem no menu de contexto do Flash Player. Adicione novos itens de menu criados com essa classe ao menu de contexto do Flash Player usando a classe ContextMenu. Consulte Classe ContextMenu e as entradas Classe ContextMenuItem no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Key fornece mtodos e propriedades para obter informaes sobre o teclado e os pressionamentos de teclas. Para obter mais informaes, consulte a entrada Classe Key no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter um exemplo da captura de pressionamentos de teclas para criar um arquivo SWF interativo, consulte Capturando pressionamentos de teclas na pgina 103. A classe LocalConnection permite a comunicao entre dois arquivos SWF que estejam sendo executados no mesmo computador. Consulte a entrada Classe LocalConnection no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Mouse fornece controle sobre o mouse em um arquivo SWF; por exemplo, essa classe permite que voc oculte ou mostre o ponteiro do mouse. Para obter mais informaes, consulte a entrada Classe Mouse no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter um exemplo do uso da classe Mouse, consulte Criando um ponteiro de mouse personalizado na pgina 100. Cada clipe de filme em um filme do Flash uma instncia da classe MovieClip. Use os mtodos e propriedades dessa classe para controlar objetos de clipe de filme. Consulte Captulo 7, Trabalhando com clipes de filme, na pgina 129 e a entrada Classe MovieClip no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe MovieClipLoader permite que voc acompanhe o andamento do download de arquivos SWF e JPEG usando um mecanismo de evento para o ouvinte. Consulte Pr-carregando arquivos SWF e JPEG na pgina 213 e a entrada Classe MovieClipLoader no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe PrintJob permite que voc imprima o contedo renderizado dinamicamente e documentos de vrias pginas. Consulte a entrada Classe PrintJob no Captulo 12, Dicionrio do ActionScript, na pgina 219 e Using the ActionScript PrintJob class (Usando a classe PrintJob do ActionScript) no Using Flash Help (Ajuda de Usando o Flash).

ContextMenuItem

Key

LocalConnection

Mouse

MovieClip

MovieClipLoader

PrintJob

Viso geral das classes internas

125

Classe Selection

Descrio A classe Selection permite que voc obtenha e defina o foco, os intervalos de seleo e os pontos de insero do campo de texto. Consulte a entrada Classe Selection no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe SharedObject fornece o armazenamento de dados local no computador do cliente. Consulte a entrada Classe SharedObject no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Stage fornece informaes sobre dimenses do arquivo SWF, alinhamento, modos de escala e reporta eventos de redimensionamento do Palco. Consulte a entrada Classe Stage no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe System fornece informaes sobre o Flash Player e o sistema em que o Flash Player est em execuo (por exemplo, resoluo da tela e linguagem do sistema atual). Ela tambm permite que voc mostre ou oculte o painel Settings (Configuraes) do Flash Player e modifique as configuraes de segurana do arquivo SWF. Consulte a entrada Classe System no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe TextField fornece controle sobre os campos de texto dinmicos e de entrada. Consulte Captulo 8, Trabalhando com texto, na pgina 143 e a entrada Classe TextField no Captulo 12, Dicionrio do ActionScript, na pgina 219.

SharedObject

Stage

System

TextField

TextField.StyleSheet A classe TextField.StyleSheet (uma classe interna classe TextField) permite que voc crie e aplique estilos de texto CSS ao texto em formato HTML ou XML. Consulte Formatando o texto com Cascading Style Sheets na pgina 147 e a entrada Classe TextField.StyleSheet no Captulo 12, Dicionrio do ActionScript, na pgina 219. TextFormat A classe TextFormat permite aplicar estilos de formatao a caracteres e pargrafos em um objeto TextField. Consulte Usando a classe TextFormat na pgina 146 e a entrada Classe TextFormat no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Classes de mdia As classes de mdia fornecem controle da reproduo de som e vdeo em um arquivo SWF, bem como acesso ao microfone e cmera do usurio, se estiverem instalados. Essas classes localizam-se na subpasta Built-In Classes > Media (Mdia) na caixa de ferramentas Actions.
Classe Camera Descrio A classe Camera fornece acesso cmera do usurio, se houver uma instalada. Quando usado com o Flash Communication Server MX, o arquivo SWF pode capturar, transmitir e gravar imagens e vdeo da cmera de um usurio. Consulte a entrada Classe Camera no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Microphone fornece acesso ao microfone do usurio, se houver um instalado. Quando usado com o Flash Communication Server MX, o arquivo SWF pode transmitir e gravar udio a partir do microfone de um usurio. Consulte a entrada Classe Microphone no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Microphone

126

Captulo 6: Usando as classes internas

Classe NetConnection

Descrio A classe NetConnection usada para estabelecer uma conexo de fluxo local para reproduzir um arquivo Flash Video (FLV) de um endereo HTTP ou do sistema de arquivos local. Para obter mais informaes, consulte a entrada Classe NetConnection no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter mais informaes sobre a reproduo de arquivos FLV na Internet, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211. A classe NetStream usada para controlar a reproduo de arquivos FLV. Para obter mais informaes, consulte a entrada Classe NetStream no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter mais informaes sobre a reproduo de arquivos FLV na Internet, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211. A classe Sound fornece controle sobre os sons em um arquivo SWF. Para obter mais informaes, consulte a entrada Classe Sound no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter um exemplo do uso da classe Sound para criar controladores de volume e balano, consulte Criando controles de som na pgina 108. A classe Video usada para exibir objetos de vdeo em um arquivo SWF. Consulte a entrada Classe Video no Captulo 12, Dicionrio do ActionScript, na pgina 219.

NetStream

Sound

Video

Viso geral das classes internas

127

Classes de cliente/servidor A tabela a seguir lista as classes que permitem o envio e recebimento de dados de fontes externas ou a comunicao com os servidores de aplicativos por FTP, HTTP ou HTTPS.
Observao: No Flash Player 7, um arquivo SWF pode carregar dados apenas de exatamente o mesmo domnio a partir do qual foi disponibilizado. Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 201 e Sobre a autorizao de carga de dados entre domnios na pgina 203.

Essas classes localizam-se na subpasta Built-In Classes > Client/Server (Cliente/Servidor) no painel Actions.
Classe LoadVars Descrio A classe LoadVars uma alternativa ao loadVariables() para transferir variveis entre um arquivo SWF e um servidor em pares nome/valor. Consulte Usando a classe LoadVars na pgina 192 e a entrada Classe LoadVars no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe XML estende a classe XMLNode e fornece mtodos, propriedades e manipuladores de eventos para o trabalho com dados em formato XML, incluindo o carregamento e a anlise de XML externo, a criao de novos documentos XML e a navegao de rvores de documentos XML. Consulte Usando a classe XML na pgina 194 e a entrada Classe XML no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe XMLNode representa um nico n em uma rvore de documentos XML. Trata-se da superclasse da classe XML. Consulte a entrada Classe XMLNode no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe XMLSocket permite que voc crie uma conexo de soquete persistente com outro computador para transferncia de dados de baixa latncia, como aqueles necessrios para aplicativos de bate-papo em tempo real. Consulte Usando a classe XMLSocket na pgina 197 e a entrada Classe XMLSocket no Captulo 12, Dicionrio do ActionScript, na pgina 219.

XML

XMLNode

XMLSocket

Classes de criao As classes de criao esto disponveis apenas no ambiente de criao do Flash. Essas classes localizam-se na subpasta Built-In Classes > Authoring (Criao) na caixa de ferramentas Actions.
Classe CustomActions Descrio A classe CustomActions permite que voc gerencie qualquer ao do cliente registrada com a ferramenta de criao. Consulte a entrada Classe CustomActions no Captulo 12, Dicionrio do ActionScript, na pgina 219. Apesar de no ser uma classe, o recurso Live Preview (Visualizao ao vivo), listado em Built-in Classes, na caixa de ferramentas Actions, fornece uma nica funo chamada onUpdate, que usada pelos desenvolvedores de componente. Consulte onUpdate no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Live Preview

128

Captulo 6: Usando as classes internas

CAPTULO 7 Trabalhando com clipes de filme

Os clipes de filme so arquivos SWF em miniatura que funcionam independentemente uns dos outros e da Timeline (Linha de tempo) que os contm. Por exemplo, se a Timeline principal possuir somente um quadro e um clipe de filme nesse quadro possuir dez quadros, cada quadro do clipe de filme ser reproduzido quando o arquivo SWF principal for reproduzido. Um clipe de filme pode, por sua vez, conter outros clipes de filme ou clipes aninhados. Os clipes de filme aninhados dessa maneira tm um relacionamento hierrquico, no qual o clipe-pai contm um ou mais clipes-filhos. Cada instncia de clipe de filme possui um nome, nome de instncia, que a identifica exclusivamente como um objeto que pode ser controlado com o ActionScript. Especificamente, o nome da instncia a identifica como um objeto do tipo de classe MovieClip. Voc usa as propriedades e mtodos da classe MovieClip para controlar a aparncia e o comportamento dos clipes de filme durante a execuo. Pense nos clipes de filme como objetos autnomos que podem responder aos eventos, enviar mensagens para outros objetos do clipe de filme, manter seu estado e gerenciar seus clipes filho. Dessa maneira, os clipes de filme fornecem o alicerce da arquitetura baseada em componente no Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004. Na verdade, os componentes disponveis no painel Components (Componentes), em Window (Janela) > Development Panels (Painis de desenvolvimento) > Components, so clipes de filme sofisticados que foram projetados e programados para se parecerem e se comportarem de certas maneiras. Para obter informaes sobre a criao de componentes, consulte Usando componentes.

Sobre o controle de clipes de filme com o ActionScript


Voc pode usar as funes globais do ActionScript ou os mtodos da classe MovieClip para realizar tarefas nos clipes de filme. Alguns mtodos do MovieClip realizam as mesmas tarefas que as funes do mesmo nome; outros mtodos do MovieClip, como hitTest() e swapDepths(), no tm nomes de funo correspondentes. O exemplo a seguir ilustra a diferena entre usar um mtodo e usar uma funo. As duas instrues duplicam a instncia my_mc, atribuem o nome newClip ao novo clipe e o colocam em uma profundidade 5.
my_mc.duplicateMovieClip("newClip", 5); duplicateMovieClip("my_mc", "newClip", 5);

129

Quando uma funo e um mtodo oferecem comportamentos semelhantes, voc pode controlar os clipes de filme usando qualquer um dos dois. A opo escolhida depender de sua preferncia e familiaridade com a criao de scripts no ActionScript. Se voc usar uma funo ou um mtodo, a Timeline de destino dever ser carregada no Flash Player quando a funo ou o mtodo for chamado. Para usar um mtodo, chame-o usando o caminho de destino do nome da instncia, seguido de um ponto e do nome do mtodo e dos parmetros, como nas instrues a seguir:
myMovieClip.play(); parentClip.childClip.gotoAndPlay(3);

Na primeira instruo, play() move a reproduo na instncia myMovieClip. Na segunda instruo, o mtodo gotoAndPlay() envia a reproduo em childClip (que filho da instncia parentClip) para o quadro 3 e continua a mover a reproduo. As funes globais que controlam uma Timeline tm um parmetro target que permite especificar o caminho de destino para a instncia que voc deseja controlar. Por exemplo, no script a seguir, startDrag() destina-se instncia customCursor e torna-a arrastvel:
on(press){ startDrag("customCursor"); }

As funes a seguir destinam-se aos clipes de filme: loadMovie(), unloadMovie(), loadVariables(), setProperty(), startDrag(), duplicateMovieClip() e removeMovieClip(). Para usar essas funes, voc deve inserir um caminho de destino no parmetro target da funo para indicar o destino da funo. Os mtodos MovieClip a seguir podem controlar clipes de filme ou nveis carregados, e no tm funes equivalentes: MovieClip.attachMovie(), MovieClip.createEmptyMovieClip(), MovieClip.createTextField(), MovieClip.getBounds(), MovieClip.getBytesLoaded(), MovieClip.getBytesTotal(), MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth(), MovieClip.globalToLocal(), MovieClip.localToGlobal(), MovieClip.hitTest(), MovieClip.setMask(), MovieClip.swapDepths(). Para obter mais informaes sobre essas funes e mtodos, consulte Captulo 12, Dicionrio do ActionScript, na pgina 219.

Chamando vrios mtodos em um nico clipe de filme


Voc pode usar a instruo with para enderear um clipe de filme uma vez e executar uma srie de mtodos nesse clipe. A instruo with funciona com todos os objetos do ActionScript (por exemplo, Array, Color e Sound), e no somente com clipes de filme. A instruo with requer um objeto como parmetro. O objeto especificado adicionado ao final do caminho de destino atual. Todas as aes aninhadas em uma instruo with so executadas no novo caminho de destino ou escopo. Por exemplo, no script a seguir, a instruo with recebe o objeto donut.hole para alterar as propriedades de hole:
with (donut.hole){ _alpha = 20; _xscale = 150; _yscale = 150; }

130

Captulo 7: Trabalhando com clipes de filme

O script comporta-se como se as instrues dentro da instruo with fossem chamadas da Timeline da instncia hole. O cdigo acima equivalente ao seguinte:
donut.hole._alpha = 20; donut.hole._xscale = 150; donut.hole._yscale = 150;

O cdigo acima tambm equivalente ao seguinte:


with (donut){ hole._alpha = 20; hole._xscale = 150; hole._yscale = 150; }

Carregando e descarregando arquivos SWF adicionais


Para reproduzir os arquivos SWF adicionais sem fechar o Flash Player, ou para alternar os arquivos SWF sem carregar outra pgina HTML, voc pode usar a funo global loadMovie() ou o mtodo loadMovie() da classe MovieClip. Voc tambm pode usar loadMovie() para enviar variveis para um script CGI, que gera um arquivo SWF como sua sada CGI. Ao carregar um arquivo SWF, voc pode especificar um nvel ou destino de clipe de filme no qual o arquivo SWF ser carregado. Se voc carregar um arquivo SWF em um destino, o SWF carregado herdar as propriedades do clipe de filme de destino especificado. Depois que o filme for carregado, voc poder alterar essas propriedades. O mtodo unloadMovie() remove um arquivo SWF carregado anteriormente pelo loadMovie(). Descarregar explicitamente um arquivo SWF com unloadMovie() assegura uma transio suave entre arquivos SWF e pode reduzir a necessidade de memria exigida pelo Flash Player. Use loadMovie() para efetuar qualquer uma das seguintes aes:

Reproduzir uma seqncia de faixas de propaganda que sejam arquivos SWF, colocando uma
funo loadMovie no final de cada arquivo SWF para carregar o prximo arquivo SWF. Desenvolver uma interface ramificada para permitir que o usurio escolha entre diferentes arquivos SWF. Criar uma interface de navegao com controles de navegao no nvel 0 que carreguem outros nveis. O carregamento de nveis produz transies mais suaves do que o carregamento de novas pginas HTML em um navegador.

Para obter mais informaes sobre o carregamento de filmes, consulte Carregando arquivos SWF e JPEG externos na pgina 208.

Especificando uma Timeline raiz para arquivos SWF carregados


A propriedade _root do ActionScript especifica ou retorna uma referncia para a Timeline (Linha de tempo) raiz de um arquivo SWF. Se um arquivo SWF possui vrios nveis, a Timeline raiz est no nvel que contm o script atualmente em execuo. Por exemplo, se um script no nvel 1 avaliar _root, _level1 ser retornado . Entretanto, a Timeline especificada por _root pode mudar dependendo de o arquivo SWF estar sendo executado independentemente (em seu prprio nvel) ou de ter sido carregado em uma instncia de clipe de filme atravs de uma chamada loadMovie().

Especificando uma Timeline raiz para arquivos SWF carregados

131

Por exemplo, considere um arquivo chamado container.swf que tem uma instncia de clipe de filme chamada target_mc em sua Timeline principal. O arquivo container.swf declara uma varivel chamada userName na Timeline principal; o mesmo script carrega outro arquivo contents.swf no clipe de filme target_mc.
// Em container.swf: _root.userName = "Tim"; target_mc.loadMovie("contents.swf");

O arquivo SWF carregado, contents.swf, tambm declara uma varivel chamada userName em sua Timeline raiz.
// Em content.swf: _root.userName = "Mary";

Quando contents.swf for carregado no clipe de filme de container.swf, o valor de userName que estiver anexado Timeline raiz do arquivo SWF hospedeiro (container.swf ) ser definido como "Mary". Esse procedimento pode fazer com que o cdigo de container.swf (bem como de contents.swf ) funcione inadequadamente. Para forar _root a avaliar sempre na Timeline do arquivo SWF carregado, em vez de na Timeline raiz real, use a propriedade _lockroot. Essa propriedade pode ser definida pelo arquivo SWF em carga ou pelo arquivo SWF que esteja sendo carregado. Quando _lockroot definida como true em uma instncia de clipe de filme, esse clipe de filme funciona como _root para qualquer arquivo SWF carregado nele. Quando _lockroot definida como true em um arquivo SWF, esse arquivo funciona como sua prpria raiz, no importando o outro arquivo SWF que o carrega. Qualquer clipe de filme e nmero de clipe de filme pode definir _lockroot como true. O valor predefinido dessa propriedade false.
target_mc

Por exemplo, o autor de container.swf pode anexar o seguinte cdigo ao clipe de filme :

// Anexado ao clipe de filme target_mc: onClipEvent (load) { this._lockroot = true; }

Esse procedimento garantir que as referncias a _root em contents.swf, ou qualquer arquivo SWF carregado no target_mc, estejam relacionadas prpria Timeline, e no Timeline raiz real do container.swf. Da mesma maneira, o autor do contents.swf pode adicionar o cdigo a seguir Timeline principal.
// Em contents.swf: this._lockroot = true;

Esse procedimento garantir que, independentemente de onde contents.swf for carregado, qualquer referncia que ele faa a _root estar relacionada sua prpria Timeline principal e no quela do arquivo SWF hospedeiro. Para obter mais informaes, consulte MovieClip._lockroot na pgina 591.

132

Captulo 7: Trabalhando com clipes de filme

Carregando arquivos JPEG em clipes de filme


Voc pode usar a funo loadMovie(), ou o mtodo MovieClip de mesmo nome, para carregar os arquivos de imagem JPEG em uma instncia de clipe de filme. Tambm possvel usar a funo loadMovieNum() para carregar um arquivo JPEG em um nvel. Quando voc carrega uma imagem em um clipe de filme, o canto superior esquerdo da imagem colocado no ponto de registro do clipe de filme. Como geralmente esse ponto de registro o centro do clipe de filme, a imagem carregada pode no aparecer centralizada. Alm disso, quando voc carrega uma imagem em uma Timeline raiz, o canto esquerdo superior da imagem colocado no Stage. A imagem carregada herda a rotao e o dimensionamento do clipe de filme, mas o contedo original do clipe do filme removido. Para obter mais informaes, consulte Carregando arquivos SWF e JPEG externos na pgina 208, loadMovie() na pgina 479, MovieClip.loadMovie() na pgina 588 e loadMovieNum() na pgina 480.

Alterando a posio e a aparncia de um clipe de filme


Para alterar as propriedades de um clipe de filme durante sua reproduo, escreva uma instruo que atribua um valor a uma propriedade ou use a funo setProperty(). Por exemplo, o cdigo a seguir define a rotao da instncia mc como 45:
mc._rotation = 45;

Esse cdigo equivalente ao cdigo a seguir, que usa a funo setProperty():


setProperty("mc", _rotation, 45);

Algumas propriedades, chamadas somente leitura, possuem valores que podem ser lidos, porm no definidos. Essas propriedades so especificadas como somente leitura nas entradas do ActionScript Dictionary (Dicionrio do ActionScript). As propriedades a seguir so somente leitura: _currentframe, _droptarget, _framesloaded, _parent, _target, _totalframes, _url, _xmouse e _ymouse. Voc pode criar instrues para definir qualquer propriedade que no seja somente leitura. A instruo a seguir define a propriedade _alpha da instncia de clipe de filme wheel que filha da instncia car:
car.wheel._alpha = 50;

Alm disso, voc pode criar instrues que obtenham o valor de uma propriedade do clipe de filme. Por exemplo, a instruo a seguir obtm o valor da propriedade _xmouse na Timeline (Linha de tempo) do nvel atual e define a propriedade _x da instncia customCursor para esse valor:
onClipEvent (enterFrame){ customCursor._x = _root._xmouse; }

Esse cdigo equivalente ao cdigo a seguir, que usa a funo getProperty():


onClipEvent (enterFrame){ customCursor._x = getProperty(_root, _xmouse); }

Alterando a posio e a aparncia de um clipe de filme

133

As propriedades _x, _y, _rotation, _xscale, _yscale, _height, _width, _alpha e _visible so afetadas pelas transformaes do pai do clipe de filme e transformam o clipe de filme e todos os seus filhos. As propriedades _focusrect, _highquality, _quality e _soundbuftime so globais; elas pertencem somente Timeline de nvel 0. Todas as outras propriedades pertencem aos clipes de filme ou nveis carregados. Para obter uma lista de propriedades do clipe de filme, consulte Resumo das propriedades da classe MovieClip na pgina 554.

Arrastando clipes de filme


Voc pode usar a funo global startDrag() ou o mtodo MovieClip.startDrag() para tornar um clipe de filme arrastvel. Por exemplo, voc pode criar um clipe de filme arrastvel para jogos, funes do tipo arrastar e soltar, interfaces personalizveis, barras de rolagem e controles deslizantes. Um clipe de filme pode ser arrastado at ser parado explicitamente por stopDrag() ou at que outro clipe de filme seja especificado como destino por startDrag(). Somente um clipe de filme pode ser arrastado de cada vez. Para criar um comportamento arrastar e soltar mais complexo, voc pode avaliar a propriedade
_droptarget do clipe de filme que est sendo arrastado. Por exemplo, possvel examinar a propriedade _droptarget para verificar se o clipe de filme foi arrastado para um clipe de filme

especfico (por exemplo, um clipe de filme lata de lixo) e, em seguida, ativar outra ao. Para obter informaes detalhadas, consulte startDrag() na pgina 743 ou MovieClip.startDrag() na pgina 615.

Criando clipes de filme durante a execuo


Voc no s pode criar instncias de clipe de filme no ambiente de criao do Flash, como tambm pode cri-las durante a execuo. O ActionScript fornece trs maneiras de criar novos clipes de filme durante a execuo:

Criando uma instncia de clipe de filme nova e vazia Duplicando uma instncia de clipe de filme existente Anexando ao Stage (Palco) uma instncia de um smbolo da biblioteca de clipes de filme
Cada instncia de clipe de filme criada durante a execuo deve ter um nome e um valor de profundidade (pilha ou ordem z). A profundidade especificada determina como o novo clipe substitui os outros clipes na mesma Timeline (Linha de tempo). (Consulte Gerenciando profundidades do clipe de filme na pgina 137.) Criando um clipe de filme vazio Para criar um clipe de filme vazio no Stage, use o mtodo createEmptyMovieClip() da classe MovieClip. Este mtodo cria um clipe de filme como filho do clipe que chamou o mtodo. O ponto de registro de um clipe de filme vazio recm-criado o canto superior esquerdo. Por exemplo, o cdigo a seguir cria um novo clipe de filme filho chamado new_mc em uma profundidade de 10 pol. no clipe de filme parent_mc.
parent_mc.createEmptyMovieClip("new_mc", 10);

134

Captulo 7: Trabalhando com clipes de filme

O cdigo a seguir cria um novo clipe de filme chamado canvas_mc na Timeline raiz do arquivo SWF no qual o script executado, e chama loadMovie() para carregar um arquivo JPEG externo em si mesmo.
_root.createEmptyMovieClip("canvas_mc", 10); canvas_mc.loadMovie("flowers.jpg");

Para obter mais informaes, consulte MovieClip.createEmptyMovieClip() na pgina 565. Duplicando ou removendo um clipe de filme Para duplicar ou remover instncias de clipe de filme, use as funes globais
duplicateMovieClip() ou removeMovieClip(), ou os mtodos da classe MovieClip de mesmo nome. O mtodo duplicateMovieClip() cria uma nova instncia de uma instncia existente de

clipe de filme, atribui a ela um novo nome e fornece uma profundidade ou ordem z. Um clipe de filme duplicado sempre comea no Frame 1 (Quadro 1), mesmo que o clipe original esteja em outro quadro quando duplicado, e est na frente de todos os clipes de filme predefinidos colocados na Timeline (Linha de tempo). Para excluir um clipe de filme criado com duplicateMovieClip(), use removeMovieClip(). Os clipes de filme duplicados tambm sero removidos se o clipe de filme-pai for excludo. Para obter mais informaes, consulte duplicateMovieClip() na pgina 422 e removeMovieClip() na pgina 696. Anexando um smbolo de clipe de filme ao Stage A ltima maneira de criar instncias de clipe de filme durante a execuo usar o anexa ao Stage (Palco) a instncia de um smbolo de clipe de filme na biblioteca do arquivo SWF. O novo clipe torna-se um clipe filho do clipe que o anexou.
attachMovie(). O mtodo attachMovie()

Para usar o ActionScript para anexar um smbolo de clipe de filme da biblioteca, voc deve exportar o smbolo do ActionScript e atribu-lo a um identificador de vinculao exclusivo. Para isso, use a caixa de dilogo Linkage Properties (Propriedades de vinculao). O padro que todos os clipes de filme exportados para uso com o ActionScript sejam carregados antes do primeiro quadro do arquivo SWF que os contm. Isso pode criar um atraso antes da reproduo do primeiro quadro. Ao atribuir um identificador de vinculao a um elemento, voc tambm pode especificar se o contedo dever ser adicionado antes do primeiro quadro. Se ele no for adicionado ao primeiro quadro, ser necessrio incluir uma instncia dele em algum outro quadro do arquivo SWF. Caso contrrio, o elemento no ser exportado para o arquivo SWF.
Para atribuir um identificador de vinculao ao clipe de filme:

1 Selecione Window > Library (Biblioteca) para abrir o painel Library. 2 Selecione um clipe de filme no painel Library. 3 No menu de opes do painel Library, selecione Linkage (Vinculao).

A caixa de dilogo Linkage Properties exibida.


4 Em Linkage, selecione Export for ActionScript (Exportar para ActionScript). 5 Em Identifier (Identificador), insira uma ID para o clipe de filme.

O padro que o identificador seja igual ao nome do smbolo.

Criando clipes de filme durante a execuo

135

6 Opcionalmente, voc pode atribuir uma classe ActionScript 2.0 ao smbolo de clipe de filme.

(Consulte Atribuindo uma classe a um smbolo de clipe de filme na pgina 141.)


7 Para no carregar o clipe de filme antes do primeiro quadro, desmarque a opo Export in First

Frame (Exportar no primeiro quadro). Se voc desmarcar essa opo, dever inserir uma instncia de clipe de filme no quadro da Timeline onde voc quiser que ela esteja disponvel. Por exemplo, se o script que voc est escrevendo no fizer referncia ao clipe de filme at o Frame 10 (Quadro 10), coloque uma instncia do smbolo no quadro ou antes dele na Timeline. 8 Clique em OK. Depois de atribuir um identificador de vinculao a um clipe de filme, voc pode anexar uma instncia do smbolo ao Stage durante a execuo usando attachMovie().
Para anexar um clipe de filme a outro:

1 Atribua um identificador de vinculao a um smbolo da biblioteca de clipes de filme, da 2 3 4 5

maneira descrita anteriormente. Com o painel Actions (Aes) aberto, a partir de Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions, selecione um quadro na Timeline. No painel Script do painel Actions, digite o nome do clipe de filme ou nvel ao qual voc deseja anexar o novo clipe de filme. Por exemplo, para anexar o clipe de filme Timeline, digite _root. Na caixa de ferramentas Actions ( esquerda do painel Actions), clique nas categorias Built-in Classes (Classes internas), Movie (Filme) e MovieClip, e clique duas vezes em attachMovie(). Usando as referncias de cdigo que aparecem como guia, insira os valores dos seguintes parmetros: Para idName, especifique o nome do identificador inserido na caixa de dilogo Linkage Properties. Para newName, insira um nome de instncia para o clipe anexado de modo que voc possa especific-lo como destino. Para depth, insira o nvel no qual o filme duplicado ser anexado ao clipe de filme. Cada filme anexado possui sua prpria ordem de empilhamento, sendo que o nvel 0 o nvel do clipe do filme de origem. Os clipes de filme anexados esto sempre sobre o clipe de filme original. Exemplo:
myMovieClip.attachMovie("calif", "california", 10);

Para obter mais informaes, consulte MovieClip.attachMovie() na pgina 559.

Adicionando parmetros aos clipes de filme criados dinamicamente


Ao criar ou duplicar um clipe de filme dinamicamente usando MovieClip.attachMovie() e MovieClip.duplicateMovie(), voc pode preencher o clipe de filme com os parmetros de outro objeto. O parmetro initObject de attachMovie() e duplicateMovie() permite que os clipes criados dinamicamente recebam parmetros de clipe. O parmetro initObject opcional.
MovieClip.duplicateMovieClip()

Para obter mais informaes, consulte MovieClip.attachMovie() na pgina 559 e na pgina 571.

136

Captulo 7: Trabalhando com clipes de filme

Para preencher um clipe de filme criado dinamicamente com os parmetros de um objeto especfico, siga um destes procedimentos:

Use a sintaxe a seguir com o attachMovie():


myMovieClip.attachMovie(idName, newName, depth [, initObject])

Use a sintaxe a seguir com o duplicateMovie():


myMovieClip.duplicateMovie(idName, newName, depth [, initObject])

O parmetro initObject especifica o nome do objeto cujos parmetros voc deseja usar para preencher o clipe de filme criado dinamicamente.
Para preencher um clipe de filme com parmetros usando attachMovie():

1 Em um novo documento do Flash, crie um smbolo de clipe de filme selecionando Insert

(Inserir) > New Symbol (Novo smbolo). Digite dynamic na caixa de texto Symbol Name (Nome do smbolo) e selecione o comportamento Movie Clip (Clipe de filme). 2 Dentro do smbolo, crie um campo de texto dinmico no Stage com um nome de instncia name_txt. 3 Selecione o primeiro quadro da Timeline do clipe de filme e abra o painel Actions, em Window > Development Panels > Actions. 4 Crie uma nova varivel chamada name e atribua seu valor propriedade text de name_txt, como descrito aqui:
var name:String; name_txt.text = name;

5 Selecione Edit (Editar) > Edit Document (Editar documento) para voltar Timeline principal. 6 Selecione o smbolo de clipe de filme na biblioteca e selecione Linkage Properties no menu de

opes do painel Library. A caixa de dilogo Linkage Properties exibida. 7 Selecione a opo Export for ActionScript e clique em OK. 8 Selecione o primeiro quadro da Timeline principal e adicione o cdigo a seguir ao painel Script do painel Actions:
_root.attachMovie("dynamic", "newClipName", 10, {name:"Erick"});

9 Teste o filme em Control (Controlar) > Test Movie (Testar filme). O nome especificado em
attachMovie()

exibido no novo campo de texto do clipe de filme.

Gerenciando profundidades do clipe de filme


Cada clipe de filme tem seu prprio espao de ordem z que determina como os objetos so sobrepostos no arquivo SWF pai ou no clipe de filme. Cada clipe de filme tem um valor de profundidade associado, que determina se ele ser renderizado na frente ou atrs de outros clipes de filme na mesma Timeline (Linha de tempo) de clipe de filme. Ao criar um clipe de filme durante a execuo usando MovieClip.attachMovie(), MovieClip.duplicateMovieClip() ou MovieClip.createEmptyMovieClip(), especifique sempre uma profundidade para o novo clipe como um parmetro de mtodo. Por exemplo, o cdigo a seguir anexa um novo clipe de filme Timeline de um clipe de filme chamado container_mc, com um valor de profundidade 10.
container_mc.attachMovie("symbolID", "clip_1", 10);

Esse procedimento cria um novo clipe de filme com uma profundidade 10 no espao da ordem z de container_mc.

Gerenciando profundidades do clipe de filme

137

Por exemplo, o cdigo a seguir anexa dois novos clipes de filme ao container_mc. O primeiro clipe, o clip_1, ser renderizado depois do clip_2, porque ele recebeu um valor de profundidade inferior.
container_mc.attachMovie("symbolID", "clip_1", 10); container_mc.attachMovie("symbolID", "clip_2", 15);

Os valores de profundidade para clipes de filme podem variar de -16384 a 1048575. A classe MovieClip fornece vrios mtodos para gerenciar as profundidades do clipe de filme: consulte MovieClip.getNextHighestDepth() na pgina 578, MovieClip.getInstanceAtDepth() na pgina 577, MovieClip.getDepth() na pgina 577 e MovieClip.swapDepths() na pgina 617. Determinando a prxima profundidade mais alta disponvel
MovieClip.getNextHighestDepth().

Para determinar a prxima profundidade mais alta disponvel em um clipe de filme, use O valor inteiro retornado por esse mtodo indica a prxima profundidade disponvel que ser renderizada na frente de todos os outros objetos no clipe de filme.

O cdigo a seguir cria um novo clipe de filme com uma profundidade 10, na Timeline do clipe de filme menus_mc. Ele determina a prxima profundidade mais alta disponvel no mesmo clipe de filme e cria um novo clipe de filme nessa profundidade.
menus_mc.attachMovie("menuClip","file_menu", 10); var nextDepth = menus_mc.getNextHighestDepth(); menus_mc.attachMovie("menuClip", "edit_menu", nextDepth);

Nesse caso, a varivel nextDepth contm o valor 11, porque essa a prxima profundidade mais alta disponvel para o clipe de filme menus_mc. Para obter a profundidade ocupada mais alta atual, subtraia 1 do valor retornado por getNextHighestDepth(), como descrito na prxima seo (consulte Determinando a instncia em uma profundidade particular na pgina 138). Determinando a instncia em uma profundidade particular Para determinar a instncia em uma profundidade especfica, use MovieClip.getInstanceAtDepth(). Esse mtodo retorna uma referncia para a instncia de MovieClip na profundidade especificada. O cdigo a seguir combina getNextHighestDepth() e getInstanceAtDepth() para determinar o clipe de filme na profundidade ocupada mais alta (atual) na Timeline (Linha de tempo) raiz.
var highestOccupiedDepth = _root.getNextHighestDepth() - 1; var instanceAtHighestDepth = _root.getInstanceAtDepth(highestOccupiedDepth);

Para obter mais informaes, consulte MovieClip.getInstanceAtDepth() na pgina 577. Determinando a profundidade de uma instncia Para determinar a profundidade de uma instncia de clipe de filme, use MovieClip.getDepth(). O cdigo a seguir faz a iterao de todos os clipes de filme na Timeline principal de um arquivo SWF e exibe o nome da instncia e o valor da profundidade de cada clipe no painel Output (Sada).

138

Captulo 7: Trabalhando com clipes de filme

for(each in _root) { var obj = _root[each]; if(obj instanceof MovieClip) { var objDepth = obj.getDepth(); trace(obj._name + ":" + objDepth) } }

Para obter mais informaes, consulte MovieClip.getDepth() na pgina 577. Trocando profundidades do clipe de filme Para trocar as profundidades de dois clipes de filme na mesma Timeline, use Para obter mais informaes, consulte MovieClip.swapDepths() na pgina 617.
MovieClip.swapDepths().

Desenhando formas com o ActionScript


Voc pode usar mtodos da classe MovieClip para desenhar linhas e preenchimentos no Stage (Palco). Isso permite criar ferramentas de desenho para usurios e desenhar formas no filme em resposta a eventos. Os mtodos de desenho so beginFill(), beginGradientFill(), clear(), curveTo(), endFill(), lineTo(), lineStyle() e moveTo(). Voc pode usar os mtodos de desenho com qualquer clipe de filme. No entanto, se usar os mtodos de desenho com um clipe de filme criado no modo de criao, esses mtodos sero executados antes de o clipe ser desenhado. Ou seja, o contedo criado no modo de criao desenhado por cima do contedo desenhado com os mtodos de criao. possvel usar clipes de filme com mtodos de desenho como mscaras, porm, como em todas as mscaras de clipes de filme, os traos so ignorados.
Para desenhar uma forma:

1 Use createEmptyMovieClip() para criar um clipe de filme vazio no Stage.

O novo clipe de filme um filho de um clipe de filme existente ou da Timeline (Linha de tempo) principal, como no exemplo a seguir:
_root.createEmptyMovieClip ("triangle", 1);

2 Use o clipe de filme vazio para chamar mtodos de desenho.

O exemplo a seguir desenha um tringulo com linhas em magenta de cinco pontos e nenhum preenchimento:
with (_root.triangle) { lineStyle (5, 0xFF00FF, 100); moveTo( 200, 200 ); lineto(300,300); lineto(100,300); lineTo( 200, 200 ); }

Para obter informaes detalhadas sobre esses mtodos, consulte as entradas do Captulo 12, Dicionrio do ActionScript, na pgina 219.

Desenhando formas com o ActionScript

139

Usando clipes de filme como mscaras


possvel usar um clipe de filme como mscara para criar um furo pelo qual o contedo de outro clipe de filme fica visvel. O clipe de filme da mscara reproduz todos os quadros na sua Timeline como em um clipe de filme comum. Voc pode tornar o clipe de filme da mscara arrastvel, anim-lo ao longo de uma guia de movimento, usar formas separadas dentro de uma nica mscara ou redimensionar uma mscara dinamicamente. Pode tambm usar o ActionScript para ativar ou desativar uma mscara. No possvel usar uma mscara para mascarar outra mscara. Tambm no possvel definir a propriedade _alpha de um clipe de filme de mscara. Somente preenchimentos so usados em um clipe de filme de mscara. Os traos so ignorados.
Para criar uma mscara:

1 No Stage, escolha um clipe de filme a ser mascarado. 2 No inspetor Properties (Propriedades), insira um nome de instncia para o clipe de filme, como
image.

3 Crie um clipe de filme para ser uma mscara. Fornea a ele um nome de instncia no inspetor

Properties, como mask. O clipe de filme mascarado ser revelado em todas as reas opacas (no transparentes) do clipe de filme que est funcionando como uma mscara. 4 Selecione Frame 1 na Timeline. 5 Abra o painel Actions em Window > Development Panels > Actions se ainda no estiver aberto. 6 No painel Actions, insira o seguinte cdigo:
image.setMask(mask);

Para obter informaes detalhadas, consulte MovieClip.setMask() na pgina 614. Sobre a mscara de fontes de dispositivo Voc pode usar um clipe de filme para mascarar o texto que definido em uma fonte de dispositivo. Para que a mscara do clipe de filme de uma fonte de dispositivo funcione adequadamente, o usurio deve ter a verso 40 ou superior do Flash Player 6. Quando voc usa um clipe de filme para mascarar o texto definido em uma fonte de dispositivo, a caixa delimitadora retangular da mscara usada como forma. Ou seja, se voc criar, no ambiente de criao do Flash, uma mscara de clipe de filme no retangular para o texto da fonte de dispositivo, a mscara que aparece no arquivo SWF ter a forma da caixa delimitadora retangular da mscara, e no a forma da prpria mscara. Voc s pode mascarar as fontes de dispositivo usando um clipe de filme como mscara. No possvel mascarar as fontes de dispositivo usando uma camada de mscara no Stage.

Manipulando eventos de clipes de filme


Os clipes de filme podem responder aos eventos do usurio, como cliques do mouse e pressionamentos de teclas, bem como aos eventos no nvel do sistema, como o carregamento inicial de um clipe de filme no Stage. O ActionScript fornece duas maneiras de manipular eventos do clipe de filme: atravs de mtodos manipuladores de eventos e atravs dos manipuladores de eventos onClipEvent() e on(). Para obter mais informaes, consulte Captulo 4, Manipulando eventos, na pgina 89.

140

Captulo 7: Trabalhando com clipes de filme

Atribuindo uma classe a um smbolo de clipe de filme


Usando o ActionScript 2.0, voc pode criar a sua prpria classe, que estende o comportamento da classe interna MovieClip, e atribuir essa classe a um smbolo da biblioteca de clipes de filme usando a caixa de dilogo Linkage Properties (Propriedades de vinculao). Sempre que voc criar uma instncia do clipe de filme qual a classe atribuda, ela assumir as propriedades e comportamentos definidos pela classe atribuda a ela. (Para obter mais informaes sobre o ActionScript 2.0, consulte Captulo 9, Criando classes com o ActionScript 2.0, na pgina 165.) Em uma subclasse da classe MovieClip, voc pode fornecer definies de mtodo para os mtodos internos MovieClip e manipuladores de eventos, como onEnterFrame e onRelease. No procedimento a seguir, voc criar uma classe MoveRight que prolonga a classe MovieClip; a MoveRight define um manipulador onPress que move os 20 pixels do clipe para a direita sempre que o usurio clica no clipe de filme. No segundo procedimento, voc criar um smbolo de clipe de filme em um novo documento Flash (FLA) e atribuir a classe MoveRight a esse smbolo.
Para criar uma subclasse de clipe de filme:

1 Crie um novo diretrio chamado BallTest. 2 Crie um novo arquivo ActionScript seguindo um destes procedimentos:

(Flash MX Professional 2004) Selecione File (Arquivo) > New (Novo) e escolha o arquivo ActionScript na lista de tipos de documento. (Flash MX 2004) Crie um arquivo de texto com seu editor de texto preferido. 3 Insira o cdigo a seguir no script:

// classe MoveRight -- move o clipe para a direita 5 pixels a cada quadro class MoveRight extends MovieClip { function onPress() { this._x += 20; } }

4 Salve o documento como MoveRight.as no diretrio BallTest.


Para atribuir a classe a um smbolo de clipe de filme:

1 No Flash, selecione File > New, selecione Flash Document (Documento do Flash) na lista de 2 3

4 5 6

7 8

tipos de arquivo e clique em OK. Usando a ferramenta Oval, desenhe um crculo no Stage. Selecione o crculo e, em seguida, Modify (Modificar) > Convert to Symbol (Converter em smbolo). Na caixa de dilogo Convert to Symbol, selecione Movie Clip (Clipe de filme) como o comportamento do smbolo e digite Ball na caixa de texto Name (Nome). Abra o painel Library (Biblioteca), em Window (Janela) > Library, e selecione o smbolo Ball. Selecione Linkage (Vinculao), no menu de opes do painel Library, para abrir a caixa de dilogo Linkage Properties. Na caixa de dilogo Linkage Properties, selecione a opo Export for ActionScript (Exportar para ActionScript) e digite MoveRight na caixa de texto AS 2.0 Class (Classe AS 2.0). Clique em OK. Salve o arquivo como Ball.fla no diretrio BallTest (o mesmo diretrio que contm o arquivo MoveRight.as). Teste o filme em Control (Controlar) > Test Movie (Testar filme). Sempre que voc clicar no clipe de filme ball, ele se mover 20 pixels para a direita.

Atribuindo uma classe a um smbolo de clipe de filme

141

Inicializando as propriedades de classe


No exemplo apresentado anteriormente, voc adicionou manualmente a instncia do smbolo Ball ao Stage (Palco), ou seja, durante a criao. Como foi discutido anteriormente (consulte Adicionando parmetros aos clipes de filme criados dinamicamente na pgina 136), possvel atribuir parmetros aos clipes criados durante a execuo usando o parmetro initObject de attachMovie() e duplicateMovie(). Voc pode usar esse recurso para inicializar as propriedades de classe que est atribuindo a um clipe de filme. Por exemplo, a classe MoveRightDistance uma variao da classe MoveRight discutida anteriormente (consulte Atribuindo uma classe a um smbolo de clipe de filme na pgina 141). A diferena uma nova propriedade chamada distance, cujo valor determina quantos pixels um clipe de filme se move quando clicado.
// classe MoveRightDistance -- move o clipe para a direita 5 pixels a cada quadro class MoveRightDistance extends MovieClip { // a propriedade distance determina quantos // pixels o clipe deve se mover a cada clique no boto do mouse var distance:Number; function onPress() { this._x += distance; } }

Supondo que essa classe seja atribuda a um smbolo com um identificador de vinculao de Ball, o cdigo a seguir cria duas novas instncias do smbolo na Timeline (Linha de tempo) raiz do arquivo SWF. A primeira instncia, ball_50, move-se 50 pixels sempre que clicada; a segunda, ball_125, move-se 125 pixels quando clicada.
_root.attachMovie("Ball", "ball_50", 10, {distance:50}); _root.attachMovie("Ball", "ball_125", 20, {distance:125});

142

Captulo 7: Trabalhando com clipes de filme

CAPTULO 8 Trabalhando com texto

Um campo de texto dinmico ou de entrada um objeto TextField (uma instncia da classe TextField). Ao criar um campo de texto, voc pode atribuir um nome de instncia a ele no inspetor Properties (Propriedades). possvel usar o nome de instncia em instrues do ActionScript para definir, alterar e formatar o campo de texto e seu contedo usando as classes TextField e TextFormat. Os mtodos da classe TextField permitem definir, selecionar e manipular o texto de um campo de texto dinmico ou de entrada gerado durante a criao ou execuo. Para obter mais informaes, consulte Usando a classe TextField na pgina 144. Para obter informaes sobre depurao de campos de texto durante a execuo, consulte Exibindo as propriedades do campo de texto para depurao na pgina 84. O ActionScript tambm oferece vrias maneiras de formatar o texto durante a execuo. A classe TextFormat permite definir a formatao de caractere e pargrafo dos objetos TextField (consulte Usando a classe TextFormat na pgina 146). O Flash Player tambm oferece suporte a um subconjunto de marcas HTML que voc pode usar para formatar o texto (consulte Usando o texto em formato HTML na pgina 156). O Flash Player 7 e verses posteriores oferecem suporte marca HTML <img>, que permite incorporar no apenas imagens externas, mas tambm arquivos SWF externos e clipes de filme que residam na biblioteca (consulte Marca de imagem (<img>) na pgina 158). No Flash Player 7 e verses posteriores, voc pode aplicar os estilos CSS (Cascading StyleSheets, Folhas de estilos em cascata) aos campos de texto usando a classe TextField.StyleSheet. Voc pode usar as CSS para atribuir estilo s marcas HTML internas, definir novas marcas de formatao ou aplicar estilos. Para obter mais informaes sobre como usar CSS, consulte Formatando o texto com Cascading Style Sheets na pgina 147. Tambm possvel atribuir um texto em formato HTML, que pode opcionalmente usar estilos CSS, diretamente a um campo de texto. No Flash Player 7 e verses posteriores, o texto HTML que voc atribui a um campo de texto pode conter mdia incorporada (clipes de filme, arquivos SWF e arquivos JPEG). O texto envolver a mdia incorporada, como o navegador da Web envolve o texto em torno da mdia incorporada em um documento HTML. Para obter mais informaes, consulte Marca de imagem (<img>) na pgina 158.

143

Usando a classe TextField


A classe TextField representa qualquer campo de texto dinmico ou selecionvel (editvel) criado com a ferramenta Text (Texto) no Flash. Use os mtodos e as propriedades dessa classe para controlar os campos de texto durante a execuo. Os objetos TextField oferecem suporte s mesmas propriedades que os objetos MovieClip, com exceo das propriedades _currentframe, _droptarget, _framesloaded e _totalframes. Voc pode obter e definir as propriedades, e chamar os mtodos dos campos de texto dinamicamente. Para controlar um campo de texto dinmico ou de entrada usando o ActionScript, atribua a ele um nome de instncia no inspetor Properties (Propriedades). Em seguida, voc pode fazer referncia ao campo de texto com o nome da instncia, e usar os mtodos e propriedades da classe TextField para controlar o contedo ou a aparncia bsica do campo de texto. Pode tambm criar objetos TextField durante a execuo e atribuir a eles nomes de instncias, usando o mtodo MovieClip.createTextField(). Para obter mais informaes, consulte Criando campos de texto durante a execuo na pgina 145. Atribuindo texto a um campo de texto durante a execuo Para atribuir texto a um campo de texto, use a propriedade TextField.text.
Para atribuir texto a um campo de texto durante a execuo:

1 Com a ferramenta Text (Texto), crie um campo de texto no Stage (Palco). 2 Com o campo de texto selecionado, no inspetor Properties, em Window (Janela)> Properties

(Propriedades), insira headline_txt na caixa de texto Instance Name (Nome da instncia), diretamente abaixo do menu pop-up Text Type (Tipo de texto) esquerda do inspetor. Nomes de instncias s podem ser compostos de letras, sublinhados (_) e cifres ($). 3 Na Timeline (Linha de tempo), selecione o primeiro quadro em Layer 1 (Camada 1) e abra o painel Actions (Aes), em Window> Development Panels (Painis de desenvolvimento) > Actions. 4 Insira o cdigo a seguir no painel Actions.
headline_txt.text = "Brazil wins World Cup";

5 Selecione Control (Controlar) > (Testar filme) para testar o filme.

Sobre a instncia do campo de texto e os nomes de variveis No inspetor Properties, voc pode atribuir um nome de varivel, bem como um nome de instncia, a um campo de texto dinmico ou de entrada. Em seguida, pode fazer referncia ao nome da varivel no campo de texto no ActionScript, cujo valor determina o contedo do campo de texto. Entretanto, o nome da instncia e o nome da varivel de um campo de texto no devem ser confundidos. Use o nome de instncia atribudo a um campo de texto para chamar mtodos, bem como para obter e definir propriedades nesse campo de texto. Um nome de varivel de um campo de texto simplesmente uma referncia varivel ao texto contido nesse campo, e no uma referncia a um objeto. Por exemplo, se voc tiver atribudo a um campo de texto o nome de varivel mytextVar, poderia definir o contedo desse campo usando o seguinte cdigo:
var mytextVar = "This is what will appear in the text field";

144

Captulo 8: Trabalhando com texto

Entretanto, voc no pode usar a varivel mytextVar para definir a mesma propriedade de texto para parte do texto de um campo de texto.
//Este exemplo no funcionar myTextVar.text = "A text field variable is not an object reference";

Em geral, use a propriedade TextField.text para controlar o contedo de um campo de texto, a menos que esteja definindo uma verso do Flash Player que no oferea suporte classe TextField. Isso diminuir as chances de um conflito de nome de varivel, que pode resultar em comportamento inesperado durante a execuo.

Criando campos de texto durante a execuo


Voc pode usar o mtodo createTextField() da classe MovieClip para criar um campo de texto vazio no Stage durante a execuo. O novo campo de texto anexado Timeline do clipe de filme que chama o mtodo. O mtodo createTextField() usa a seguinte sintaxe:
movieClip.createTextField(instanceName, depth, x, y, width, height)

Por exemplo, o cdigo a seguir cria um campo de texto de 300 x 100 pixels chamado test_txt no ponto (0,0) e uma profundidade (ordem z) de 10.
_root.createTextField("test_txt", 10, 0, 0, 300, 100);

Voc usa o nome de instncia especificado na chamada createTextField() para acessar os mtodos e propriedades da classe TextField. Por exemplo, o cdigo a seguir cria um novo campo de texto, test_txt, e modifica suas propriedades para torn-lo um campo de texto com quebra automtica e vrias linhas, que se expande para acomodar o texto inserido. Por ltimo, ele atribui um texto propriedade text do campo de texto.
_root.createTextField("test_txt", 10, 0, 0, 100, 50); test_txt.multiline = true; test_txt.wordWrap = true; test_txt.autoSize = true; test_txt.text = "Create new text fields with the MovieClip.createTextField method.";

Voc pode usar o mtodo TextField.removeTextField() para remover um campo de texto criado com createTextField(). O mtodo removeTextField() no funciona em um campo de texto colocado pela Timeline durante a criao. Para obter mais informaes, consulte MovieClip.createTextField() na pgina 566 e TextField.removeTextField() na pgina 806.

Criando campos de texto durante a execuo

145

Usando a classe TextFormat


Voc pode usar a classe TextFormat do ActionScript para definir as propriedades de formatao de um campo de texto. A classe TextFormat incorpora as informaes de formatao de caractere e pargrafo. As informaes de formatao de caractere descrevem a aparncia de caracteres individuais: nome da fonte, tamanho em pontos, cor e um URL associado. As informaes de formatao de pargrafo descrevem a aparncia de um pargrafo: margem esquerda, margem direita, recuo da primeira linha e alinhamento esquerda, direita ou centralizado. Para usar a classe TextFormat, crie primeiro um objeto TextFormat e defina seus estilos de formatao de caractere e pargrafo. Aplique o objeto TextFormat a um campo de texto usando o mtodo TextField.setTextFormat() ou TextField.setNewTextFormat(). O mtodo setTextFormat() altera o formato de texto aplicado a caracteres isoladamente, a grupos de caracteres ou a todo o corpo de texto em um campo de texto. No entanto, um texto inserido posteriormente, por um usurio ou com o ActionScript, no assume a formatao especificada por uma chamada setTextFormat(). Para especificar a formatao padro do texto inserido posteriormente, use TextField.setNewTextFormat(). Para obter mais informaes, consulte TextField.setTextFormat() na pgina 811 e TextField.setNewTextFormat() na pgina 810.
Para formatar um campo de texto com a classe TextFormat:

1 Em um novo documento Flash, crie um campo de texto no Stage (Palco) usando a ferramenta

Text. Digite algum texto no campo de texto no Stage, como Bold, italic, 24 point text. 2 No inspetor Properties, digite myText_txt na caixa de texto Instance Name (Nome da instncia), selecione Dynamic (Dinmica) no menu pop-up Text Type (Tipo de texto) e selecione Multiline (Multilinha) no menu pop-up Line Type (Tipo de linha). 3 Na Timeline (Linha de tempo), selecione o primeiro quadro em Layer 1 (Camada 1) e abra o painel Actions (Aes), em Window (Janela)> Development Panels (Painis de desenvolvimento)> Actions. 4 Digite o cdigo a seguir no painel Actions para criar um objeto TextFormat e defina as propriedades bold e italic como true, e a propriedade size como 24.
// Cria um objeto TextFormat var txtfmt_fmt = new TextFormat(); // Especifica a formatao de pargrafo e caractere txtfmt_fmt.bold = "true"; txtfmt_fmt.italic = "true"; txtfmt_fmt.size = "24"

5 Aplique o objeto TextFormat ao campo de texto criado na etapa 1 usando


TextField.setTextFormat(). myText_txt.setTextFormat(txtfmt_fmt);

Essa verso de setTextFormat() aplica-se formatao especificada para o campo de texto inteiro. H duas outras verses desse mtodo que permite a aplicao de formatao a caracteres individuais ou grupos de caracteres. Por exemplo, o cdigo a seguir aplica formatao negrito, itlico, tamanho 24, aos quatro primeiros caracteres inseridos no campo de texto.
myText_txt.setTextFormat(txtfmt_fmt, 0, 3);

Para obter mais informaes, consulte TextField.setTextFormat() na pgina 811. 6 Selecione Control > Test Movie para testar o filme.

146

Captulo 8: Trabalhando com texto

Propriedades padro dos novos campos de texto Os campos de texto criados durante a execuo com createTextField() recebem um objeto TextFormat padro com as seguintes propriedades:
font = "Times New Roman" size = 12 textColor = 0x000000 bold = false italic = false underline = false url = "" target = "" align = "left" leftMargin = 0 rightMargin = 0 indent = 0 leading = 0 bullet = false tabStops = [] (array vazio)

Para obter uma lista completa dos mtodos TextFormat e suas descries, consulte a entrada Classe TextFormat no Captulo 12, Dicionrio do ActionScript, na pgina 219. Obtendo informaes mtricas do texto Voc pode usar o mtodo TextFormat.getTextExtent() para obter medidas de texto detalhadas de uma seqncia de caracteres de texto com formatao especfica aplicada. Por exemplo, suponha que voc precise criar, durante a execuo, um novo objeto TextField que contenha uma quantidade arbitrria de texto formatado em tamanho 24, negrito, fonte Arial e recuo de 5 pixels. Voc precisa determinar a largura ou a altura que o novo objeto TextField deve ter para exibir todo o texto. O mtodo getTextExtent() fornece medidas como, ascenso, descenso, largura e altura. Para obter mais informaes, consulte TextFormat.getTextExtent() na pgina 832.

Formatando o texto com Cascading Style Sheets


Cascading Style Sheets so um mecanismo de criao de estilos de texto que pode ser aplicado a documentos HTML ou XML. Uma folha de estilos uma coleo de regras de formatao que especifica como formatar elementos HTML ou XML. Cada regra est associada a um nome de estilo, ou seletor, com uma ou mais propriedades de estilo e seus valores. Por exemplo, o estilo a seguir define um seletor chamado bodyText.
bodyText { text-align: left}

Voc pode criar estilos que redefinem marcas de formatao HTML internas usadas pelo Flash Player (como <p> e <li>), criar classes de estilo que podem ser aplicadas a elementos HTML especficos, usando o atributo class da marca <p> ou <span>, ou definir novas marcas. Voc usa a classe TextField.StyleSheet para trabalhar com folhas de estilos de texto. possvel carregar estilos de um arquivo CSS externo ou cri-los de maneira nativa usando o ActionScript. Para aplicar uma folha de estilos a um campo de texto que contm texto em formato HTML ou XML, use a propriedade TextField.styleSheet. Os estilos definidos na folha de estilos so mapeados automaticamente para as marcas definidas no documento HTML ou XML. O uso de folhas de estilos envolve trs etapas bsicas:

Formatando o texto com Cascading Style Sheets

147

Criar um objeto de folha de estilos da classe TextField.StyleSheet. Consulte Criando um


objeto de folha de estilos na pgina 149.

Adicionar estilos ao objeto de folha de estilos, importando-os de um arquivo CSS externo ou


definindo-os com o ActionScript. Consulte Carregando arquivos CSS externos na pgina 149 e Criando novos estilos com o ActionScript na pgina 150. Atribuir o objeto de folha de estilos a um campo de texto que contm texto em formato XML ou HTML. Consulte Aplicando estilos a um objeto TextField na pgina 151, Um exemplo do uso de estilos com HTML na pgina 153 e Um exemplo do uso de estilos com XML na pgina 155.

Propriedades CSS suportadas O Flash Player suporta um subconjunto de propriedades na especificao CSS1 original (www.w3.org/TR/REC-CSS1). A tabela a seguir mostra as propriedades e valores CSS suportados e os nomes correspondentes de suas propriedades no ActionScript. O nome cada de propriedade do ActionScript derivado do nome da propriedade CSS correspondente; o hfen omitido e o caractere seguinte fica em letra maiscula.
Propriedade CSS text-align font-size Propriedade do ActionScript textAlign fontSize Uso e valores suportados Os valores reconhecidos so left, center e right. Apenas a parte numrica dos valores usada; as unidades (px, pt) no so analisadas; pixels e pontos so equivalentes. Os valores reconhecidos so none e underline. Apenas a parte numrica do valor usada. As unidades (px, pt) no so analisadas; pixels e pontos so equivalentes. Apenas a parte numrica do valor usada. As unidades (px, pt) no so analisadas; pixels e pontos so equivalentes. Os valores reconhecidos so normal e bold. Os valores reconhecidos so normal e italic. Apenas a parte numrica do valor usada. As unidades (px, pt) no so analisadas; pixels e pontos so equivalentes. Uma lista de fontes separadas por vrgulas para usar, em ordem decrescente de interesse. Qualquer nome de famlia de fonte pode ser usado. Se voc especificar um nome de fonte genrica, ela ser convertida em uma fonte de dispositivo apropriada. As seguintes converses de fonte esto disponveis: mono convertida em _typewriter, sans-serif, em _sans e serif, em _serif.

text-decoration margin-left

textDecoration marginLeft

margin-right

marginRight

font-weight font-style text-indent

fontWeight fontStyle textIndent

font-family

fontFamily

148

Captulo 8: Trabalhando com texto

Propriedade CSS color

Propriedade do ActionScript color

Uso e valores suportados Apenas valores de cores hexadecimais so suportados. Cores com nome atribudo (como blue) no so suportadas. Os valores suportados so inline, block e none.

display

display

Criando um objeto de folha de estilos As folhas de estilos CSS so representadas no ActionScript pela classe TextField.StyleSheet. Essa classe s est disponvel para arquivos SWF que se destinam ao Flash Player 7 ou verses posteriores. Para criar um objeto de folha de estilos, chame a funo construtora da classe TextField.StyleSheet.
var newStyle = new TextField.StyleSheet();

Para adicionar estilos a um objeto de folha de estilos, voc pode carregar um arquivo CSS externo no objeto ou definir os estilos no ActionScript. Consulte Carregando arquivos CSS externos na pgina 149 e Criando novos estilos com o ActionScript na pgina 150. Carregando arquivos CSS externos Voc pode definir estilos em um arquivo CSS externo e carregar esse arquivo em um objeto de folha de estilos. Os estilos definidos no arquivo CSS so adicionados ao objeto de folha de estilos. Para carregar um arquivo CSS externo, use o mtodo load() da classe TextField.StyleSheet. Para determinar quando o arquivo CSS finalizou a carga, use o manipulador de eventos onLoad do objeto de folha de estilos. No exemplo a seguir, voc criar e carregar um arquivo CSS externo e usar o mtodo TextField.StyleSheet.getStyleNames() para recuperar os nomes dos estilos carregados.
Para carregar uma folha de estilos externa:

1 Crie um arquivo no seu editor de texto ou XML preferido. 2 Adicione as seguintes definies de estilo ao arquivo:
// Nome do arquivo: styles.css bodyText { font-family: Arial,Helvetica,sans-serif; font-size: 12px; } headline { font-family: Arial,Helvetica,sans-serif; font-size: 24px; }

3 Salve o arquivo CSS como styles.css. 4 No Flash, crie um documento FLA. 5 Na Timeline (Linha do tempo), em Window (Janela) > Timeline, selecione Layer 1

(Camada 1).

Formatando o texto com Cascading Style Sheets

149

6 Abra o painel Actions (Aes), em Window > Development Panels (Painis de

desenvolvimento)> Actions (Aes).


7 Adicione o cdigo a seguir ao painel Actions:
var css_styles = new TextField.StyleSheet(); css_styles.load("styles.css"); css_styles.onLoad = function(ok) { if(ok) { // exibe nomes de estilos trace(this.getStyleNames()); } else { trace("Error loading CSS file."); } }

8 Salve o arquivo no mesmo diretrio que contm o arquivo styles.css. 9 Teste o filme em Control (Controlar) > Test Movie (Testar filme).

Voc deve verificar os nomes dos dois estilos exibidos no painel Output (Sada):
body headLine

Se a mensagem Error loading CSS file (Erro ao carregar o arquivo CSS) for exibida no painel Output, voc dever verificar se o arquivo FLA e o arquivo CSS esto no mesmo diretrio e se voc digitou o nome do arquivo CSS corretamente. Como com todos os outros mtodos do ActionScript que carregam dados pela rede, o arquivo CSS deve ser estar no mesmo domnio que o arquivo SWF que est carregando o arquivo. (Consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.) Criando novos estilos com o ActionScript Voc pode criar novos estilos de texto com o ActionScript usando o mtodo setStyle() da classe TextField.StyleSheet. Este mtodo tem dois parmetros: o nome do estilo e um objeto que define as propriedades desse estilo. Por exemplo, o cdigo a seguir cria um objeto de folha de estilos chamado styles que define dois estilos idnticos queles importados anteriormente (consulte Carregando arquivos CSS externos na pgina 149).
var styles = new TextField.StyleSheet(); styles.setStyle("bodyText", {fontFamily: 'Arial,Helvetica,sans-serif', fontSize: '12px'} ); styles.setStyle("headline", {fontFamily: 'Arial,Helvetica,sans-serif', fontSize: '24px'} );

150

Captulo 8: Trabalhando com texto

Aplicando estilos a um objeto TextField


styleSheet

Para aplicar um objeto de folha de estilos a um campo de texto, atribua esse objeto propriedade do campo de texto.

textObj_txt.styleSheet = styleSheetObj; Observao: Cuidado para no confundir a propriedade TextField.styleSheet com a classe TextField.StyleSheet. O uso de maisculas ou minsculas indica a diferena.

Quando voc atribui um objeto de folha de estilos a um objeto TextField, as seguintes alteraes ocorrem no comportamento normal do campo de texto:

As propriedades text e htmlText do campo de texto, e qualquer varivel associada ao campo


de texto, sempre contm o mesmo valor e comportam-se de maneira idntica.

O campo de texto torna-se somente leitura e no pode ser editado pelo usurio. Os mtodos setTextFormat() e replaceSel() da classe TextField no funcionam mais com
o campo de texto. A nica maneira de alterar o campo alterando as propriedades text ou do campo de texto, ou alterando a varivel associada ao campo de texto. Qualquer texto atribudo s propriedades text e htmlText do campo de texto ou varivel associada armazenado literalmente; tudo que for escrito em uma dessas propriedades pode ser recuperado na forma original do texto.
htmlText

Combinando estilos Os estilos CSS no Flash Player so aditivos, ou seja, quando os estilos so aninhados, cada nvel de aninhamento pode contribuir com informaes de estilo adicionais, que so acrescentadas juntas para resultar na formatao final. Veja um exemplo de dados XML atribudos a um campo de texto:
<sectionHeading>Esta uma seo</sectionHeading> <mainBody>Aqui fica um texto de corpo principal com uma palavra <emphasized>enfatizada</emphasized>.</mainBody>

Na palavra enfatizada no texto anterior, o estilo emphasized aninhado no estilo mainBody. O estilo mainBody contribui com regras de cor, tamanho de fonte e formatao. O estilo emphasized adiciona uma regra de espessura de fonte a essas regras. A palavra enfatizada ser formatada usando uma combinao das regras especificadas por mainBody e emphasized. Usando classes de estilo Voc pode criar classes de estilo que podem ser aplicadas a uma marca <p> ou <span> usando o atributo class da marca. Quando aplicado a uma marca <p>, o estilo aplicado no pargrafo inteiro. Voc tambm pode atribuir estilo a um intervalo de texto que use uma classe de estilo usando a marca <span>.

Formatando o texto com Cascading Style Sheets

151

Por exemplo, a folha de estilos a seguir define duas classes de estilo: mainBody e emphasis.
.mainBody { font-family: Arial,Helvetica,sans-serif; font-size: 24px; } .emphasis { color: #666666; font-style: italic; }

No texto HTML que voc atribui a um campo de texto, possvel aplicar esses estilos a marcas <p> e <span>, como exibido a seguir.
<p class="mainBody">This is <span class="emphasis">really exciting!</span></p>

Atribuindo estilo a marcas HTML internas O Flash Player oferece suporte a um subconjunto de marcas HTML. Para obter mais informaes, consulte Usando o texto em formato HTML na pgina 156. Voc pode atribuir um estilo CSS a cada instncia de uma marca HTML interna que aparece em um campo de texto. Por exemplo, a seguir h uma definio de estilo da marca HTML <p> interna. Todas as instncias dessa marca recebero estilo da maneira especificada pela regra de estilo.
p { font-family: Arial,Helvetica,sans-serif; font-size: 12px; display: inline; }

A tabela abaixo mostra as marcas HTML internas que podem receber estilo e como cada estilo aplicado:
Nome do estilo
p body

Como o estilo se aplica Afeta todas as marcas <p>. Afeta todas as marcas <body>. O estilo p, se especificado, tem precedncia sobre o estilo body. Afeta todas as marcas de bullet <li>. Afeta todas as marcas de ncora <a>. Afeta todas as marcas de ncora <a>. Este estilo aplicado aps qualquer estilo a. Aplicado a uma marca de ncora <a> quando o mouse est passando pelo link. Este estilo aplicado aps qualquer estilo a e a:link. Quando o mouse sai de cima do link, o estilo a:hover removido do link. Aplicado a uma marca de ncora <a> quando o usurio clica no link. Este estilo aplicado aps qualquer estilo a e a:link. Depois que o boto do mouse liberado, o estilo a:active removido do link.

li a a:link a:hover

a:active

152

Captulo 8: Trabalhando com texto

Um exemplo do uso de estilos com HTML Esta seo apresenta um exemplo de uso de estilos com marcas HTML. Voc criar uma folha de estilos que atribui estilo a algumas marcas internas e define algumas classes de estilo. Em seguida, voc aplicar essa folha de estilos a um objeto TextField que contm texto em formato HTML.
Para formatar HTML com uma folha de estilos, siga este procedimento:

1 Crie um arquivo no editor de texto preferido. 2 Adicione a seguinte definio de folha de estilos ao arquivo:
p { color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 12px; display: inline; } a:link { color: #FF0000; } a:hover{ text-decoration: underline; } .headline { color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 18px; font-weight: bold; display: block; } .byline { color: #666600; font-style: italic; font-weight: bold; display: inline; }

3 4 5 6 7

Essa folha de estilos define estilos para duas marcas HTML internas (<p> e <a>) que sero aplicadas a todas as instncias dessas marcas. Ela tambm define duas classes de estilos (.headline e .byline) que sero aplicadas a pargrafos especficos e intervalos de texto. Salve o arquivo como html_styles.css. No Flash, crie um documento FLA. Usando a ferramenta Text (Texto), crie um campo de texto de aproximadamente 400 pixels de largura por 300 pixels de altura. Abra o inspetor Properties (Propriedades), em Window (Janela) > Properties, e selecione o campo de texto. No inspetor Properties, selecione Dynamic Text (Texto dinmico) no menu Text Type (Tipo de texto), selecione Multiline no menu Line Type (Tipo de linha), selecione a opo Render Text as HTML (Renderizar texto como HTML) e digite news_txt na caixa de texto Instance Name (Nome da instncia). Selecione o primeiro quadro na Layer 1 da Timeline (Window > Timeline).

Formatando o texto com Cascading Style Sheets

153

9 Abra o painel Actions (Window > Development Panels > Actions) e adicione o cdigo a seguir

a ele:
// Cria um novo objeto de folha de estilos var style_sheet = new TextField.StyleSheet(); // Localizao do arquivo CSS que define estilos var css_url = "html_styles.css"; // Cria um texto HTML para exibir var storyText:String = "<p class='headline'>Flash Player now supports Cascading Style Sheets!</p><p><span class='byline'>San Francisco, CA</ span>--Macromedia Inc. announced today a new version of Flash Player that supports Cascading Style Sheet (CSS) text styles. For more information, visit the <a href='http://www.macromedia.com'>Macromedia Flash web site.</ a></p>"; // Carrega o arquivo CSS e define o manipulador onLoad: style_sheet.load(css_url); style_sheet.onLoad = function(ok) { if (ok) { // Se a folha de estilos tiver sido carregada sem erros, // atribua-a ao objeto de texto // e atribua o texto HTML ao campo de texto. news_txt.styleSheet = style_sheet; news_txt.text = storyText; } }; Observao: Para obter simplicidade, o texto HTML que est recebendo estilo codificado no script; em um aplicativo do mundo real voc provavelmente desejar carregar o texto de um arquivo externo. Para obter informaes sobre o carregamento de dados externos, consulte Captulo 10, Trabalhando com dados externos, na pgina 189.

10 Salve o arquivo como news_html.fla no mesmo diretrio que contm o arquivo CSS criado

anteriormente. 11 Execute o filme a partir de Control (Controlar) > Test Movie (Testar filme) para ver os estilos aplicados automaticamente ao texto HTML. Usando estilos para definir novas marcas Se voc definir um novo estilo em uma folha de estilos, esse estilo poder ser usado como marca, como voc usaria uma marca HTML interna. Por exemplo, se uma folha de estilos definir um estilo CSS chamado sectionHeading, voc poder usar <sectionHeading> como elemento em qualquer campo de texto associado folha de estilos. Esse recurso permite atribuir qualquer texto em formato XML diretamente ao campo de texto, de maneira que o texto seja formatado automaticamente usando as regras na folha de estilos. Por exemplo, a folha de estilos a seguir cria os novos estilos sectionHeading, mainBody e emphasized.
sectionHeading { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 18px; display: block } mainBody { color: #000099; text-decoration: underline; font-size: 12px; display: block } emphasized { font-weight: bold; display: inline }

154

Captulo 8: Trabalhando com texto

Voc pode preencher um campo de texto associado a essa folha de estilos com o seguinte texto em formato XML:
<sectionHeading>This is a section</sectionHeading> <mainBody>This is some main body text, with one <emphasized>emphatic</emphasized>. </mainBody>

Um exemplo do uso de estilos com XML Nesta seo, voc criar o mesmo arquivo FLA criado anteriormente (consulte Um exemplo do uso de estilos com HTML na pgina 153) mas com texto em formato XML. Neste exemplo, voc criar a folha de estilos usando o ActionScript, em vez de importar estilos do arquivo CSS.
Para formatar XML com uma folha de estilo:

1 No Flash, crie um documento FLA. 2 Usando a ferramenta Text (Texto), crie um campo de texto de aproximadamente 400 pixels de

largura por 300 pixels de altura.


3 Abra o inspetor Properties (Window > Properties) e selecione o campo de texto. 4 No inspetor Properties, selecione Dynamic Text no menu Text Type, selecione Multiline no

menu Line Type, selecione a opo Render Text as HTML e digite news_txt na caixa de texto Instance Name. 5 Na Layer 1 da Timeline (Window > Timeline), selecione o primeiro quadro. 6 Para criar o objeto de folha de estilos, abra o painel Actions (Window > Development Panels > Actions) e adicione o seguinte cdigo:
var xml_styles = new TextField.StyleSheet(); xml_styles.setStyle("mainBody", { color:'#000000', fontFamily:'Arial,Helvetica,sans-serif', fontSize:'12', display:'block' }); xml_styles.setStyle("title", { color:'#000000', fontFamily:'Arial,Helvetica,sans-serif', fontSize:'18', display:'block', fontWeight:'bold' }); xml_styles.setStyle("byline", { color:'#666666', fontWeight:'bold', fontStyle:'italic', display:'inline' }); xml_styles.setStyle("a:link", { color:'#FF0000' }); xml_styles.setStyle("a:hover", { textDecoration:'underline' });

Esse cdigo cria um novo objeto de folha de estilos chamada xml_styles que define estilos usando o mtodo setStyle(). Os estilos correspondem exatamente queles criados em um arquivo CSS externo, anteriormente neste captulo.

Formatando o texto com Cascading Style Sheets

155

7 Para criar o texto XML para atribuir ao campo de texto, adicione o cdigo a seguir ao painel

Actions:
var storyText = "<title>Flash Player now supports CSS</ title><mainBody><byline>San Francisco, CA</byline>--Macromedia Inc. announced today a new version of Flash Player that supports Cascading Style Sheets (CSS) text styles. For more information, visit the <a href=\"http://www.macromedia.com\">Macromedia Flash website</a></ mainBody>";

8 Por ltimo, adicione o cdigo a seguir para aplicar o objeto de folha de estilos propriedade
styleSheet

do campo de texto e atribuir o texto XML ao campo de texto.

news_txt.styleSheet = xml_styles; news_txt.text = storyText;

9 Salve o arquivo como news_xml.fla. 10 Execute o filme a partir de Control (Controlar) > Test Movie (Testar filme) para ver os estilos

aplicados automaticamente ao texto no campo.

Usando o texto em formato HTML


O Flash Player oferece suporte a um subconjunto de marcas HTML padro, como <p> e <li>, que voc pode usar para atribuir um estilo a um texto em qualquer campo de texto dinmico ou de entrada. Os campos de texto no Flash Player 7 e verses posteriores tambm oferecem suporte marca <img>, o que permite a incorporao de arquivos JPEG, arquivos SWF e clipes de filme no campo de texto. O Flash Player envolver automaticamente o texto em torno das imagens incorporadas nos campos de texto, de maneira muito parecida com um navegador da Web que envolve o texto em torno de imagens incorporadas em uma pgina HTML. Para obter mais informaes, consulte Incorporando imagens, arquivos SWF e clipes de filme aos campos de texto na pgina 161. O Flash Player tambm oferece suporte marca <textformat>, que permite a aplicao de estilos de formatao de pargrafo da classe TextFormat em campos de texto ativados por HTML. Para obter mais informaes, consulte Usando a classe TextFormat na pgina 146. Viso geral do uso de texto em formato HTML Para usar HTML em um campo de texto, voc deve ativar a formatao HTML do campo de texto selecionando a opo Render Text as HTML no inspetor Properties ou definindo a propriedade html do campo de texto como true. Para inserir HTML em um campo de texto, use a propriedade TextField.htmlText. Por exemplo, o cdigo a seguir ativa a formatao HTML para um campo de texto chamado headline_txt e atribui um cdigo HTML ao campo de texto.
headline_txt.html = true; headline_txt.htmlText = "<font face='Times New Roman' size='24'>This is how you assign HTML text to a text field.</font>";

Os atributos das marcas HTML devem estar entre aspas simples ou duplas. Os valores de atributos sem aspas podem produzir resultados inesperados, como renderizao de texto imprpria. Por exemplo, o trecho de HTML a seguir no ser renderizado adequadamente pelo Flash Player porque o valor atribudo ao atributo align (left) no est entre aspas:
textField.htmlText = "<p align=left>This is left-aligned text</p>";

156

Captulo 8: Trabalhando com texto

Se voc colocar os valores do atributo entre aspas duplas, dever acrescentar um caractere de escape para fechar as aspas (\"). Por exemplo, qualquer exemplo a seguir aceitvel:
textField.htmlText = "<p align='left'>This uses single quotes</p>"; textField.htmlText = "<p align=\"left\">This uses escaped double quotes</p>";

Voc no precisar acrescentar um caractere de escape para fechar as aspas duplas se estiver carregando o texto de um arquivo externo; s se voc estiver atribuindo uma seqncia de caracteres de texto no ActionScript. Marcas HTML suportadas Esta seo lista as marcas HTML internas suportadas pelo Flash Player. Voc tambm pode criar novos estilos e marcas usando Cascading Style Sheets; consulte Formatando o texto com Cascading Style Sheets na pgina 147. Marca de ncora (<a> ) A marca <a> cria um hiperlink e oferece suporte aos seguintes atributos:

Especifica o URL da pgina que ser carregada no navegador. O URL pode ser absoluto ou relativo ao local do arquivo SWF que est carregando a pgina. target Especifica o nome da janela de destino na qual a pgina ser carregada.
href

Por exemplo, o trecho de cdigo HTML a seguir cria o link V para a pgina principal, que abre o site www.macromedia.com em uma nova janela do navegador.
<a href="../home.htm" target="_blank">Go home</a>

Voc tambm pode definir os estilos a:link, a:hover e a:active para marcas de ncora usando a folha de estilos. Consulte Atribuindo estilo a marcas HTML internas na pgina 152. Marca de negrito (<b>) A marca <b> renderiza o texto como negrito. Um tipo em negrito deve estar disponvel para a fonte usada para exibir o texto.
<b>This is bold text.</b>

Marca de quebra (<br>) A marca <br> cria uma quebra de linha no campo de texto, como mostra este exemplo:
One line of text<br>Another line of text<br>

Marca de fonte (<font>) A marca <font> especifica uma fonte ou lista de fontes para exibir o texto. A marca font oferece suporte aos seguintes atributos:

color

Apenas valores de cor hexadecimais (#FFFFFF) so suportados. Por exemplo, o cdigo HTML a seguir cria texto vermelho.

<font color="#FF0000">This is red text</font>

Usando o texto em formato HTML

157

face

Especifica o nome da fonte que ser usada. Voc tambm pode especificar uma lista de nomes de fontes separados por vrgula, em cada caso o Flash Player escolhe a primeira fonte disponvel. Se a fonte especificada no estiver instalada no sistema de reproduo ou no estiver incorporada no arquivo SWF, o Flash Player escolher uma fonte substituta. Exemplo:

<font face="Times, Times New Roman">This is either Times or Times New Roman..</font>

Para obter mais informaes sobre incorporao de fontes em aplicativos Flash, consulteTextField.embedFonts na pgina 792 e Setting dynamic and input text options (Definindo opes de texto dinmico e de entrada) no Using Flash Help (Ajuda de Usando o Flash). size Especifica o tamanho da fonte, em pixels. Voc tambm pode usar tamanhos de pontos relativos (+2 ou -4).
<font size="24" color="#0000FF">This is green, 24-point text</font>

Marca de imagem (<img>) A marca <img> permite incorporar arquivos JPEG, arquivos SWF e clipes de filme externos em campos de texto. O texto flui automaticamente em torno de imagens incorporadas nos campos de texto. Essa marca suportada somente em campos de texto dinmicos ou de entrada com vrias linhas e quebra de texto.
Para criar um campo de texto de vrias linhas com quebra automtica de linha, siga um destes procedimentos:

No ambiente de criao do Flash, selecione um campo de texto no Stage e, no inspetor


Properties, selecione Multiline no menu pop-up Text Type. Para um campo de texto criado durante a execuo com MovieClip.createTextField(), defina as novas instncias do campo de texto TextField.multiline e as propriedades TextField.wordWrap como true.

A marca <img> tem um atributo obrigatrio, src, que especifica o caminho para um arquivo JPEG, um arquivo SWF ou o identificador de vinculao de um smbolo do clipe de filme. Todos os outros atributos so opcionais. As marcas <img> oferecem suporte aos seguintes atributos:

src

Especifica o URL para um arquivo JPEG ou SWF, ou o identificador de vinculao para um smbolo do clipe de filme na biblioteca. Este atributo obrigatrio; todos os outros atributos so opcionais. Os arquivos externos (JPEG e SWF) no so exibidos at que o download seja concludo.

Observao: O Flash Player no admite arquivos JPEG progressivos.

Especifica o nome da instncia de clipe de filme (criado pelo Flash Player) que contm o arquivo JPEG, SWF ou clipe de filme incorporado. til para controlar o contedo incorporado com o ActionScript. width A largura da imagem, do arquivo SWF ou do clipe de filme, em pixels. height A altura da imagem, do arquivo SWF ou do clipe de filme que est sendo inserido, em pixels. align Especifica o alinhamento horizontal da imagem incorporada no campo de texto. Os valores vlidos so left e right. O valor padro left.
id

158

Captulo 8: Trabalhando com texto

hspace Especifica a quantidade de espao horizontal em torno da imagem onde nenhum texto aparecer. O valor padro 8. vspace Especifica a quantidade de espao vertical em torno da imagem onde nenhum texto aparecer. O valor padro 8.

Para obter mais informaes e exemplos do uso da marca <img>, consulte Incorporando imagens, arquivos SWF e clipes de filme aos campos de texto na pgina 161. Marca de itlico (<i>) A marca <i> exibe o texto marcado em itlico. Um tipo itlico deve estar disponvel para a fonte usada.
That is very <i>interesting</i>.

O cdigo anterior ser renderizado assim: That is very interesting. Marca de item de lista (<li>) A marca <li> coloca um bullet na frente do texto que inclui.
Grocery list: <li>Apples</li> <li>Oranges</li> <li>Lemons</li>

O cdigo anterior ser renderizado assim: Grocery list: Apples Oranges Lemons Marca de pargrafo (<p>) A marca <p> cria um novo pargrafo. Ela oferece suporte aos seguintes atributos:

align center.

Especifica o alinhamento do texto no pargrafo; os valores vlidos so left, right e

class Especifica uma classe de estilo CSS definida em um objeto TextField.StyleSheet. Para obter mais informaes, consulte Usando classes de estilo na pgina 151. O exemplo a seguir usa o atributo align para alinhar o texto no lado direito de um campo de texto. textField.htmlText = "<p align='right'>This text is aligned on the right side of the text field</p>";

O exemplo a seguir usa o atributo class para atribuir uma classe de estilo de texto a uma marca <p>.
var myStyleSheet = new TextField.StyleSheet(); myStyleSheet.secreateTextField("test", 10, 0,0, 300,100); createTextField("test", 10, 0,0, 300,100); test.styleSheet = myStyleSheet; test.htmlText = "<p class='body'>This is some body-styled text.</p>.";

Usando o texto em formato HTML

159

Marca de intervalo (<span>) A marca <span> est disponvel somente para uso com os estilos de texto CSS. Para obter mais informaes, consulte Formatando o texto com Cascading Style Sheets na pgina 147. Ela oferece suporte ao seguinte atributo:

class Especifica uma classe de estilo CSS definida em um objeto TextField.StyleSheet. Para obter mais informaes sobre a criao de classes de estilo de texto, consulte Usando classes de estilo na pgina 151.

Marca de formatao de texto (<textformat>) A marca <textformat> permite usar um subconjunto das propriedades de formatao de pargrafo da classe TextFormat nos campos de texto HTML, incluindo entrelinhamento, recuo, margens e interrupes de tabulao. Voc pode combinar marcas <textformat> com as marcas HTML internas. A marca <textformat> tem os seguintes atributos:

830.) indent Especifica o recuo do primeiro caractere no pargrafo em relao margem esquerda; corresponde a TextFormat.indent. (Consulte TextFormat.indent na pgina 834.) leading Especifica a quantidade de espao vertical entre as linhas; corresponde ao TextFormat.leading. (Consulte TextFormat.leading na pgina 835.) leftmargin Especifica a margem esquerda do pargrafo, em pontos; corresponde ao TextFormat.leftMargin. (Consulte TextFormat.leftMargin na pgina 835.) rightmargin Especifica a margem direita do pargrafo, em pontos; corresponde ao TextFormat.rightMargin. (Consulte TextFormat.rightMargin na pgina 835.) tabstops Especifica as interrupes de tabulao personalizadas como um array de inteiros no negativos; corresponde ao TextFormat.tabStops. (Consulte TextFormat.tabStops na pgina 836.)

blockindent Especifica o recuo do bloco em pontos; corresponde a TextFormat.blockIndent. (Consulte TextFormat.blockIndent na pgina

O exemplo de cdigo a seguir usa o atributo tabstops da marca <textformat> para criar uma tabela de dados com cabealhos de linha em negrito, como apresentado abaixo:
Name Tim Edwin Age 32 46 Department IMD Engineering

Para criar uma tabela formatada de dados usando interrupes de tabulao:

1 Usando a ferramenta Text (Texto), crie um campo de texto dinmico que tenha

aproximadamente 300 pixels de largura por 100 pixels de altura.


2 No inspetor Properties, digite table_txt na caixa de texto Instance Name, selecione Multiline

no menu Line Type e selecione a opo Render Text as HTML.


3 Na Timeline, selecione o primeiro quadro na Layer 1.

160

Captulo 8: Trabalhando com texto

4 Abra o painel Actions (Window > Development Panels > Actions) e digite o cdigo a seguir:
var rowHeaders = "<b>Name\t</b><b>Age\t</b><b>Department"; var row_1 = "Tim\t31\tIMD"; var row_2 = "Edwin\t42\tQA"; table_txt.htmlText = "<textformat tabstops='[100, 200]'>"; table_txt.htmlText += rowHeaders; table_txt.htmlText += row_1; table_txt.htmlText += row_2 ; table_txt.htmlText += "</textformat>";

Observe o uso da seqncia de escape do caractere de tabulao (\t) para adicionar tabulaes entre cada coluna da tabela. 5 Selecione Control > Test Movie para testar o filme. Marca de sublinhado (<u>) A marca <u> sublinha o texto marcado.
Este texto est <u>sublinhado</u>.

O cdigo anterior ser renderizado assim: Este texto est sublinhado. Incorporando imagens, arquivos SWF e clipes de filme aos campos de texto No Flash Player 7 e verses posteriores, voc pode usar a marca <img> para incorporar arquivos JPEG, arquivos SWF e clipes de filmes em campos de texto dinmicos e de entrada. (Para obter uma lista completa de atributos da marca <img>, consulte Marca de imagem (<img>) na pgina 158.) O padro o Flash exibir a mdia incorporada em um campo de texto com tamanho completo. Para especificar as dimenses da mdia incorporada, use os atributos height e width da marca <img>. (Consulte Especificando os valores de altura e largura na pgina 162.) Em geral, uma imagem incorporada em um campo de texto aparece na linha seguinte marca <img>. Entretanto, quando a marca <img> o primeiro caractere no campo de texto, a imagem aparece na primeira linha do campo de texto. Incorporando arquivos SWF e JPEG Para incorporar um arquivo JPEG ou SWF a um campo de texto, especifique o caminho absoluto ou relativo para o arquivo JPEG ou SWF no atributo src da marca <img>. Por exemplo, o cdigo a seguir insere um arquivo JPEG localizado no mesmo diretrio que o arquivo SWF.
textField_txt.htmlText = "<p>Heres a picture from my last vacation:<img src='beach.jpg'>";

Incorporando smbolos do clipe de filme Para incorporar um smbolo do clipe de filme a um campo de texto, voc especifica o identificador de vinculao do smbolo para o atributo src da marca <img>. (Para obter informaes sobre a definio de um identificador de vinculao, consulte Anexando um smbolo de clipe de filme ao Stage na pgina 135.)

Usando o texto em formato HTML

161

Por exemplo, o cdigo a seguir insere um smbolo do clipe de filme com o identificador de vinculao symbol_ID.
textField_txt.htmlText = "<p>Heres a movie clip symbol<='symbol_ID'>";

Para que um clipe de filme incorporado seja exibido adequada e completamente, o ponto de registro de seu smbolo deve ser um ponto (0,0). Especificando os valores de altura e largura Se voc especificar os atributos width e height para uma marca <img>, o espao ser reservado no campo de texto para o arquivo JPEG, SWF ou clipe de filme. Aps o download completo de um arquivo JPEG ou SWF, ele ser exibido no espao reservado. O Flash dimensiona a mdia para cima ou para baixo de acordo com os valores height e width. Se voc no especificar os valores height e width, nenhum espao ser reservado para a mdia incorporada. Aps o download completo de um arquivo JPEG ou SWF, o Flash o insere no campo de texto com tamanho completo e quebrar novamente o texto em torno dele. Controlando a mdia incorporada com o ActionScript O Flash Player cria um novo clipe de filme para cada marca <img> e incorpora esse clipe ao objeto TextField. O atributo id da marca <img> permite atribuir um nome de instncia ao clipe de filme criado. Assim, possvel controlar o clipe de filme com o ActionScript. O clipe de filme criado pelo Flash Player adicionado como um clipe de filme-filho ao campo de texto que contm a imagem. Por exemplo, o cdigo a seguir incorpora um arquivo SWF chamado animation.swf no campo de texto textField_txt no nvel 0 e atribui o nome de instncia animation_mc ao clipe de filme que contm o arquivo SWF.
_level0.textField_txt.htmlText = "Aqui est uma animao interessante: <img src='animation.swf' id='animation_mc'>

Nesse caso, o caminho totalmente qualificado para o clipe de filme criado recentemente _level0.textField_txt.animation_mc. Por exemplo, voc pode anexar o cdigo a seguir a um boto (na mesma Timeline que textField_txt) que interromper a reproduo do arquivo SWF incorporado.
on(press){ textField_txt.animation_mc.stop(); }

Criando hiperlinks fora da mdia incorporada Para criar um hiperlink fora de um arquivo JPEG, SWF ou clipe de filme incorporado, inclua a marca <img> em uma marca <a>:
textField.htmlText = "Click the image to return home<a href='home.htm'><img src='home.jpg'></a>";

Quando o mouse est sobre uma imagem, arquivo SWF ou clipe de filme delimitado por marcas <a>, o ponteiro do mouse muda para um cone de mo, como os hiperlinks padro. A interatividade, como cliques no boto do mouse e pressionamentos de teclas, no registrada nos arquivos SWF e clipes de filme que esto delimitados por marcas <a>.

162

Captulo 8: Trabalhando com texto

Criando texto de rolagem


H varias maneiras de criar texto de rolagem no Flash. Os campos de texto dinmico e de entrada podero ser rolveis se voc selecionar a opo Scrollable Mode (Modo rolvel) do menu Text ou do menu de contexto, ou, pressionando a tecla Shift, clicar duas vezes na ala do bloco de texto. possvel usar as propriedades scroll e maxscroll do objeto TextField para controlar a rolagem vertical, e as propriedades hscroll e maxhscroll para controlar a rolagem horizontal em um bloco de texto. As propriedades scroll e hscroll especificam as posies de rolagem vertical e horizontal atuais, respectivamente; voc pode ler e escrever essas propriedades. As propriedades maxscroll e maxhscroll especificam as posies de rolagem vertical e horizontal mximas, respectivamente; voc s pode ler essas propriedades. O componente TextArea no Flash MX 2004 fornece uma maneira fcil de criar campos de texto de rolagem com um mnimo de script escrito. Para obter informaes, consulte a TextArea component entry (Entrada do componente TextArea) no Using Components Help (Ajuda de Usando componentes).
Para criar um bloco de texto dinmico rolvel, execute um dos seguintes procedimentos:

Pressione a tecla Shift e clique duas vezes na ala do bloco de texto dinmico. Selecione o bloco de texto dinmico com a ferramenta Arrow (Seta) e selecione Text >
Scrollable.

Selecione o bloco de texto dinmico com a ferramenta Arrow. Clique com o boto direito do
mouse (Windows) ou, pressionando Control, clique (Macintosh) no bloco de texto dinmico e escolha Text > Scrollable.
Para usar a propriedade scroll para criar texto de rolagem:

1 Siga um destes procedimentos:

Use a ferramenta Text para arrastar um campo de texto no Stage. Atribua ao campo de texto o nome de instncia textField no inspetor Properties. Use o ActionScript para criar um campo de texto dinamicamente com o mtodo MovieClip.createTextField(). Atribua ao campo de texto o nome de instncia textField como parmetro do mtodo. 2 Crie um boto Up (Para cima) e um boto Down (Para baixo) ou escolha Window > Other Panels (Outros painis) > Common Libraries (Bibliotecas comuns)> Buttons e arraste os botes para o Stage. Esses botes sero usados para rolar o texto para cima e para baixo. 3 Selecione o boto Down no Stage. 4 No painel Actions (Window > Development Panels > Actions), digite o cdigo a seguir para rolar o texto para baixo no campo de texto:

on(press){ textField.scroll += 1; }

5 Selecione o boto Up no Stage. 6 No painel Actions, digite o cdigo a seguir para rolar o texto para cima:
on(press){ textField.scroll += 1; }

Criando texto de rolagem

163

164

Captulo 8: Trabalhando com texto

CAPTULO 9 Criando classes com o ActionScript 2.0

O ActionScript 2.0 uma reestruturao da linguagem do ActionScript que contm vrios novos recursos de programao eficientes encontrados em outras linguagens de programao, como Java. O ActionScript 2.0 incentiva estruturas de programa reutilizveis, dimensionveis, resistentes e fceis de manter. Ele tambm diminui o tempo de desenvolvimento fornecendo aos usurios assistncia de cdigo completa e informaes de depurao. O ActionScript 2.0 atende aos padres existentes e tem como base a proposta do ECMAScript 4 (www.mozilla.org/js/language/ es4/). O ActionScript 2.0 est disponvel no Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004. Os recursos do ActionScript 2.0 esto descritos abaixo.
Modelo familiar OOP (Object-Oriented Programming, Programao orientada a objeto)

O recurso primrio do ActionScript 2.0 um modelo familiar para a criao de programas orientados a objeto. O ActionScript 2.0 apresenta vrios novos conceitos e palavras-chave orientados a objeto, como class, interface e packages, que parecero familiares se voc j tiver programado com Java. O modelo de OOP fornecido pelo ActionScript 2.0 uma formalizao sinttica do mtodo de encadeamento de prottipo usado em verses anteriores do Macromedia Flash para criar objetos e estabelecer herana.
Atribuio estrita de tipos de dados

O ActionScript 2.0 tambm permite especificar explicitamente os tipos de dados para variveis, parmetros de funo e tipos de retorno de funo. Por exemplo, o cdigo a seguir declara uma varivel chamada userName de tipo String (um tipo de dados interno do ActionScript, ou classe). Os dois recursos anteriores permitem que a ferramenta de criao e o compilador forneam mensagens de aviso e erro do compilador que ajudam a encontrar falhas nos aplicativos mais rpido que anteriormente no Flash.

var userName:String = ""; Avisos e erros do compilador

Ateno: Se voc planeja utilizar a sintaxe ActionScript 2.0, verifique se as configuraes de Publish (Publicao) para o arquivo FLA especificam ActionScript 2.0. Este o padro para arquivos criados em Flash MX 2004. Entretanto, se voc abrir um arquivo FLA antigo que usa ActionScript 1 e comear a reescrev-lo em ActionScript 2.0, dever alterar as configuraes de publicao do arquivo FLA para ActionScript 2.0. Se no o fizer, seu arquivo FLA no ser compilado corretamente, apesar de que no sero gerados erros.

165

Princpios da programao orientada a objeto


Esta seo fornece uma breve introduo aos princpios envolvidos no desenvolvimento de programas orientados a objeto. Esses princpios so descritos mais profundamente no restante deste captulo, junto com os detalhes sobre como eles so implementados no Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004. Objetos Pense em um objeto do mundo real, por exemplo, um gato. Pode-se dizer que um gato tem propriedades (ou estados) como nome, idade e cor; um gato tambm tem comportamentos, como dormir, comer e ronronar. No mundo da programao orientada a objeto, os objetos tambm tm propriedades e comportamentos. Com as tcnicas orientadas a objeto, voc pode modelar um objeto do mundo real (como um gato) ou um objeto mais abstrato (como um processo qumico). Classes e membros de classes Continuando com a analogia do mundo real, considere que h gatos de cores, idades e nomes diferentes, com maneiras diferentes de comer e ronronar. Mas todos os gatos pertencem a uma certa classe de objeto, um objeto do tipo gato. Cada gato individual (mundo real) uma instncia do tipo de classe gato. Da mesma maneira, em uma programao orientada a objeto, uma classe define um projeto de arquitetura de um tipo de objeto. As caractersticas e comportamentos que pertencem a uma classe so tratadas como membros dessa classe. As caractersticas (no exemplo do gato, nome, idade e cor) so chamadas de propriedades da classe, que so representadas como variveis; os comportamentos (comer, dormir) so chamados de mtodos da classe e so representados como funes. Por exemplo, voc pode criar uma classe Person e criar um indivduo que ser uma instncia dessa classe, tambm chamado de objeto Person. O objeto Person conter todas as propriedades e mtodos da classe Person. No ActionScript, voc define uma classe com a instruo class (consulte Criando e usando classes na pgina 171). O ActionScript inclui vrias classes internas, como MovieClip, TextField e String. Para obter mais informaes, consulte Captulo 6, Usando as classes internas, na pgina 121. Herana Uma das principais vantagens da programao orientada a objeto que voc cria subclasses de uma classe; a subclasse herda todas as propriedades e mtodos da superclasse. A subclasse normalmente define mtodos e propriedades adicionais ou estende a superclasse. As subclasses tambm substituem (fornecem suas prprias definies para) os mtodos herdados de uma superclasse. Por exemplo, voc pode criar uma classe Mamifero, que define certas propriedades e comportamentos comuns a todos os mamferos. Voc pode criar uma classe Gato que estenda a classe Mamifero. Dessa maneira, a herana pode promover a reutilizao do cdigo: em vez de recriar todos os cdigos comuns s duas classes, voc pode simplesmente estender uma classe existente. Outra subclasse, por sua vez, pode estender a classe Gato etc. Em um aplicativo complexo, determinar como estruturar a hierarquia das classes uma grande parte do projeto. No ActionScript, voc usa a palavra-chave extends para estabelecer a herana entre uma classe e sua superclasse. Para obter mais informaes, consulte Criando subclasses na pgina 173.

166

Captulo 9: Criando classes com o ActionScript 2.0

Interfaces As interfaces em programao orientada a objeto podem ser descritas como classes cujos mtodos no so implementados (definidos). Outra classe pode implementar os mtodos declarados pela interface. Tambm possvel considerar uma interface como um contrato de programao que pode ser usado para impor os relacionamentos entre classes no relacionadas de outra maneira. Por exemplo, suponha que voc esteja trabalhando com uma equipe de programadores, cada um responsvel por uma parte diferente (classe) do mesmo aplicativo. Ao projetar o aplicativo, voc estabelece um conjunto de mtodos que as diferentes classes usaro para se comunicar. Portanto, voc cria uma interface que declara esses mtodos, seus parmetros e tipos de retorno. Qualquer classe que implemente essa interface deve fornecer definies para esses mtodos; caso contrrio, ocorrer um erro do compilador. Tambm possvel usar interfaces para disponibilizar uma forma limitada de herana mltipla, que no permitida no ActionScript 2.0. Na herana mltipla, uma classe pode estender mais de uma classe base. Por exemplo, no C++, a classe Gato pode estender a classe Mamifero, bem como uma classe Divertido, que contm os mtodos PerseguirCauda e ComerComidaGato. O ActionScript 2.0, como o Java, no permite que uma classe estenda vrias classes diretamente. Entretanto, voc pode criar uma interface Divertido que declara os mtodos PerseguirCauda e ComerComidaGato. Uma classe Gato, ou qualquer outra classe, pode implementar essa interface e fornecer definies para esses mtodos. Para obter mais informaes, consulte Criando uma interface na pgina 177.

Usando classes: um exemplo simples


Para os que so novos em programao orientada a objeto, esta seo fornece uma viso geral do fluxo de trabalho envolvido na criao e no uso de classes no Flash. Esse fluxo de trabalho inclui, pelo menos, as seguintes etapas:
1 Definir uma classe em um arquivo de classes do ActionScript. 2 Salvar o arquivo de classes em um diretrio do caminho de classe designado (um local em que

o Flash procure as classes). 3 Criar uma instncia da classe em outro script, em um documento do Flash (FLA) ou em um arquivo de script externo, ou criar uma subclasse com base na classe original. Nesta seo tambm analisado um novo recurso do ActionScript 2.0 denominado atribuio estrita de tipos de dados, que permite especificar o tipo de dados para uma varivel, um parmetro de funo ou um tipo de retorno de funo. Apesar de esta seo abordar apenas classes, o fluxo de trabalho geral o mesmo para usar interfaces. Para obter mais informaes, consulte Criando e usando interfaces na pgina 177.

Usando classes: um exemplo simples

167

Criando um arquivo de classes Para criar uma classe, primeiro voc deve criar um arquivo externo do ActionScript (AS). As classes (e interfaces) s podem ser definidas em arquivos de script externos. Por exemplo, voc no pode definir uma classe em um script anexado a um quadro ou boto em um documento do Flash (FLA). Para criar um arquivo externo AS, use o editor ActionScript includo no Flash ou o seu editor de cdigo ou texto preferido.
Observao: O cdigo do ActionScript em arquivos externos compilado em um arquivo SWF quando voc publica, exporta, testa ou depura um arquivo FLA. Portanto, se voc fizer alguma alterao em um arquivo externo, precisar salvar o arquivo e recompilar os arquivos FLA que o usam.

Nas etapas posteriores, voc criar uma classe Person com duas propriedades (age e name) e um nico mtodo (showInfo()) que exibe os valores dessas propriedades no painel Output (Sada).
Para criar o arquivo de classes:

1 Crie um novo diretrio no disco rgido e atribua a ele o nome PersonFiles. Esse diretrio conter

todos os arquivos desse projeto.


2 Siga um destes procedimentos:

Crie um novo arquivo no editor de texto ou cdigo preferido. (Somente para Flash Professional) Selecione File (Arquivo) > New (Novo) para abrir a caixa de dilogo New Document (Novo documento), selecione ActionScript File (Arquivo do ActionScript) na lista de tipos de arquivos e clique em OK. A janela Script aberta com um arquivo em branco. 3 Salve o arquivo como Person.as no diretrio PersonFiles. 4 Na janela Script, digite o cdigo a seguir:

class Person { }

Essa a classe declaration. Na sua forma mais bsica, uma classe declaration consiste na palavra-chave class, seguida pelo nome da classe (Person, neste caso) e chaves ({}). Tudo entre as chaves chama-se corpo da classe e onde as propriedades e os mtodos da classe so definidos.
Observao: O nome da classe (Person) corresponde ao nome do arquivo AS que a contm (Person.as). Isso muito importante; se esses dois nomes no corresponderem, a classe no ser compilada.

5 Para criar as propriedades da classe Person, use a palavra-chave var para definir duas variveis

chamadas age e name, conforme mostrado a seguir.


class Person { var age:Number; var name:String; } Dica: Por conveno, as propriedades da classe so definidas na parte superior do corpo da classe, o que facilita o entendimento do cdigo, mas isso no obrigatrio.

168

Captulo 9: Criando classes com o ActionScript 2.0

Observe a sintaxe dos dois-pontos (var age:Number e var name:String) usada nas declaraes de variveis. Esse um exemplo de atribuio estrita de tipos de dados. Quando voc atribui um tipo a uma varivel dessa maneira (var variableName:variableType), o compilador do ActionScript 2.0 verifica se os valores atribudos a essa varivel correspondem ao tipo especificado. Apesar de essa sintaxe no ser obrigatria, ela recomendvel e pode facilitar a depurao de scripts. Para obter mais informaes, consulte Atribuio estrita de tipos de dados na pgina 41. 6 Em seguida, voc criar o mtodo showInfo(), que retorna uma seqncia de caracteres pr-formatada com os valores das propriedades age e name. Adicione a definio da funo showInfo() ao corpo da classe, como mostrado a seguir.
class Person { var age:Number; var name:String; // Mtodo para retornar valores de propriedades function showInfo():String { return("Hello, my name is " + name + " and Im " + age + " years old."); } }

Observe o uso da atribuio de tipo de dados (opcional mas recomendada) na definio da funo.
function showInfo():String {...}

Nesse caso, est sendo atribudo um tipo ao valor de retorno da funo showInfo() (uma seqncia de caracteres). 7 A ltima parte do cdigo que voc adicionar nesta seo uma funo especial que se chama construtora. Em programao orientada a objeto, a funo construtora inicializa cada nova instncia de uma classe. A funo construtora sempre tem o mesmo nome da classe. Para criar a funo construtora da classe, adicione o cdigo a seguir:
class Person { var age:Number; var name:String; // Mtodo para retornar valores de propriedades function showInfo():String { return("Hello, my name is " + name + " and Im " + age + " years old."); } // Funo construtora function Person (myName:String, myAge:Number) { name = myName; age = myAge; } }

A funo construtora Person() pega dois parmetros, myName e myAge e os atribui s propriedades name e age. So atribudos os tipos de dados String e Number, respectivamente, aos dois parmetros da funo. Para obter mais informaes sobre as funes construtoras, consulte Funes construtoras na pgina 174.
Observao: Se voc no criar uma funo construtora, uma funo vazia ser criada automaticamente durante a compilao.

Usando classes: um exemplo simples

169

8 Salve o arquivo como Person.as no diretrio PersonFiles criado na etapa 1.

Se voc est usando o Flash MX 2004 (e no o Flash Professional), v para a prxima seo.
9 (Somente Flash Professional) Verifique a sintaxe do arquivo de classes selecionando Tools

(Ferramentas)> Check Syntax (Verificar sintaxe) ou pressionando Control+T (Windows) ou Command+T (Macintosh). Se algum erro for informado no painel Output (Sada), voc dever comparar o cdigo no script com o cdigo final da etapa 7 anterior. Se voc no conseguir corrigir os erros do cdigo, dever copiar o cdigo completo na etapa 7 do painel Help (Ajuda). Criando uma instncia da classe Person A prxima etapa criar uma instncia da classe Person em outro script, como um script de quadro em um documento Flash (FLA) ou outro script AS, e atribu-la a uma varivel. Para criar uma instncia de uma classe personalizada, use o operador new, como faria ao criar uma instncia de uma classe interna ActionScript (como a classe XML ou TextField). Por exemplo, o cdigo a seguir cria uma instncia da classe Person e a atribui varivel newPerson.
var newPerson:Person = new Person("Nate", 32);

Este cdigo chama a funo construtora da classe Person, passando como parmetros os valores "Nate" e 32. A varivel newPerson considerada um objeto Person. A atribuio de um tipo aos objetos permite ao compilador garantir que voc no tentar acessar as propriedades ou os mtodos que no esto definidos na classe. (A exceo se voc declarar a classe como dinmica usando a palavra-chave dynamic. Consulte Criando classes dinmicas na pgina 184.)
Para criar uma instncia da classe Person no documento Flash:

1 No Flash, selecione File > New e Flash Document (Documento do Flash) na lista de tipos de

documentos e clique em OK. 2 Salve o arquivo como createPerson.fla no diretrio PersonFiles criado anteriormente. 3 Selecione Layer 1 (Camada 1) na Timeline (Linha de tempo) e abra o painel Actions, em Window (Janela)> Development Panels (Painis de desenvolvimento)> Actions. 4 No painel Actions, insira o seguinte cdigo:
var person_1:Person = new Person("Nate", 32); var person_2:Person = new Person("Jane", 28); trace(person_1.showInfo()); trace(person_2.showInfo());

O cdigo anterior cria duas instncias da classe Person, person_1 e person_2, e chama o mtodo showInfo() em cada instncia. 5 Salve o seu trabalho e selecione Control (Controlar) > Test Movie (Testar filme). Voc deve ver o seguinte no painel Output:
Hello, my name is Nate and I'm 32 years old. Hello, my name is Jane and I'm 28 years old.

170

Captulo 9: Criando classes com o ActionScript 2.0

Quando voc cria uma instncia de uma classe chamando sua funo construtora, o Flash procura um arquivo ActionScript de nome igual ao do construtor em um conjunto de diretrios predeterminados. Esse grupo de diretrios conhecido coletivamente como classpath (caminho de classe) (consulte Noes bsicas de caminho de classe na pgina 179). Agora voc deve ter uma idia geral de como criar e usar classes nos documentos do Flash. No restante deste captulo voc encontrar informaes mais detalhadas sobre as classes e interfaces.

Criando e usando classes


Como discutido anteriormente, uma classe consiste em duas partes: a declarao e o corpo. A declarao da classe consiste pelo menos na instruo class, seguida por um identificador do nome da classe e chaves. Tudo que est entre as chaves o corpo da classe.
class className { // corpo da classe }

Voc pode definir classes somente nos arquivos ActionScript (AS). Por exemplo, no possvel definir uma classe em um script de quadro no arquivo FLA. Alm disso, o nome da classe especificado deve corresponder ao nome do arquivo AS que o contm. Por exemplo, se voc criar uma classe Shape, o arquivo AS que contm a definio da classe dever ser chamado Shape.as.
// No arquivo Shape.as class Shape { // corpo da classe Shape }

Todos os arquivos da classe AS criados devem ser salvos em um dos diretrios do caminho de classe designado diretrios em que o Flash procura as definies de classe para compilar os scripts. (Consulte Noes bsicas de caminho de classe na pgina 179.) Os nomes de classe devem ser identificadores; ou seja, o primeiro caractere deve ser uma letra, sublinhado (_) ou cifro ($) e os caracteres seguinte devem ser letra, nmero, sublinhado ou cifro. Alm disso, o nome da classe deve ser totalmente qualificado dentro do arquivo em que for declarado; ou seja, ele deve incluir o diretrio em que est armazenado. Por exemplo, para criar uma classe chamada RequiredClass que esta armazenada no diretrio myClasses/education/ curriculum, voc deve declarar a classe no arquivo RequiredClass.as conforme abaixo:
class myClasses.education.curriculum.RequiredClass { }

Por esta razo, recomendvel planejar a sua estrutura de diretrios antes de comear a criar as classes. De outra forma, se voc decidir mover os arquivos das classes depois de cri-los, ser necessrio modificar as instrues de declarao dessas classes para refletir sua nova localizao. Criando propriedades e mtodos Um membro da classe consiste em propriedades (declaraes de variveis) e mtodos (declaraes de funo). Voc deve declarar todas as propriedades e mtodos dentro do corpo da classe (as chaves); caso contrrio, ocorrer um erro durante a compilao. Qualquer varivel declarada em uma classe, mas fora de uma funo, uma propriedade da classe. Por exemplo, a classe Person analisada anteriormente tem duas propriedades, age e name, de tipo Number e String, respectivamente.

Criando e usando classes

171

class Person { var age:Number; var name:String; }

Igualmente, qualquer funo declarada em uma classe considerada um mtodo da classe. No exemplo da classe Person, voc criou um nico mtodo showInfo().
class Person { var age:Number; var name:String; function showInfo() { // definio do mtodo showInfo() } }

Inicializando as propriedades inline Voc pode inicializar as propriedades inline, quando as declara, com os valores padro, como mostrado aqui:
class Person { var age:Number = 50; var name:String = "John Doe"; }

Quando voc inicializa as propriedades inline, a expresso direita de uma atribuio deve ser uma constante de tempo de compilao. Ou seja, a expresso no pode se referir a algo definido durante a execuo. As constantes de tempo de compilao incluem valores literais da seqncia de caracteres, nmeros, valores booleanos, null, e undefined, bem como funes construtoras para as seguintes classes internas: Array, Boolean, Number, Object e String. Por exemplo, a definio de classe a seguir inicializa vrias propriedades inline:
class var var var var var CompileTimeTest { foo:String = "my foo"; // OK bar:Number = 5; // OK bool:Boolean = true; // OK name:String = new String("Jane"); // OK who:String = foo; // OK, porque 'foo' uma constante

var whee:String = myFunc(); // erro! no uma expresso constante em tempo de compilao var lala:Number = whee; // erro! no uma expresso constante em tempo de compilao var star:Number = bar + 25; // OK, tanto 'bar' quanto '25' so constantes function myFunc() { return "Hello world"; } }

Essa regra aplica-se apenas a variveis de instncia (variveis que so copiadas em cada instncia de uma classe), e no a variveis de classe (variveis que pertencem prpria classe). Para obter mais informaes sobre esses tipos de variveis, consulte Membros de instncias e classes na pgina 175.

172

Captulo 9: Criando classes com o ActionScript 2.0

Criando subclasses Em programao orientada a objeto, uma subclasse pode herdar as propriedades e os mtodos de outra classe, a superclasse. Para criar esse tipo de relacionamento entre duas classes, use a clusula extends da instruo class. Para especificar uma superclasse, use a seguinte sintaxe:
class SubClass extends SuperClass {}

A classe especificada em SubClass herda todas as propriedades e mtodos definidos pela superclasse. Por exemplo, voc pode criar uma classe Mamifero, que define propriedades e mtodos comuns a todos os mamferos. Para criar uma variao da classe Mamifero, por exemplo, uma classe Marsupial, voc estender a classe Mamifero, ou seja, criar uma subclasse da classe Mamifero.
class Marsupial extends Mamifero {}

A subclasse herda todas as propriedades e mtodos da superclasse, incluindo as propriedades ou os mtodos declarados como privados usando a palavra-chave private. (Para obter mais informaes sobre variveis privadas, consulte Controlando o acesso de membros na pgina 174.) Voc pode estender suas prprias classes personalizadas, bem como qualquer classe interna do ActionScript, como classe XML, Sound ou MovieClip. Quando voc estende uma classe interna do ActionScript, a classe personalizada herda todos os mtodos e propriedades da classe interna. Por exemplo, o cdigo a seguir define a classe JukeBox, que estende a classe interna Sound. Ele define um array songList e um mtodo playSong() que reproduz uma msica e chama o mtodo loadSound(), que herda da classe Sound.
class JukeBox extends Sound { var songList:Array = new Array("beethoven.mp3", "bach.mp3", "mozart.mp3"); function playSong(songID:Number) { this.loadSound(songList[songID]); } }

Se voc no fizer uma chamada para super() na funo construtora de uma subclasse, o compilador gerar automaticamente uma chamada para o construtor da superclasse imediata, sem parmetros como a primeira instruo da funo. Se a superclasse no tiver um construtor, o compilador criar uma funo vazia e depois gerar a chamada para ela a partir da subclasse. Entretanto, se a superclasse utilizar parmetros em sua definio, ser necessrio criar um construtor na subclasse e chamar a superclasse com os parmetros necessrios. A herana mltipla, ou herana de mais de uma classe, no permitida. Entretanto, as classes podero herdar, de forma efetiva, elementos de diversas classes se voc utilizar instrues extends individuais:
// no permitido class C extends A, B {} // permitido class B extends A {} class C extends B {}

Tambm possvel usar a palavra-chave extends para criar subclasses de uma interface:
interface iA extends interface iB {}

Criando e usando classes

173

Funes construtoras Uma funo construtora de classe uma funo especial chamada automaticamente quando voc cria uma instncia de uma classe usando o operador new. A funo construtora tem o mesmo nome da classe que a contm. Por exemplo, a classe Person criada anteriormente continha a seguinte funo construtora:
// Funo construtora da classe Person function Person (myName:String, myAge:Number) { name = myName; age = myAge; }

Se nenhuma funo construtora for explicitamente declarada, ou seja, se voc no criar uma funo cujo nome corresponda ao da classe, o compilador automaticamente criar uma funo construtora vazia. Uma classe pode conter apenas uma funo construtora; funes construtoras sobrecarregadas no so permitidas no ActionScript 2.0. Controlando o acesso de membros O padro que qualquer propriedade ou mtodo de uma classe possa ser acessado por qualquer outra classe: todos os membros de uma classe so pblicos por padro. Entretanto, em alguns casos voc pode querer proteger os dados ou mtodos de uma classe do acesso de outras classes. Voc precisar tornar esses membros privados, disponveis apenas para a classe que os declara ou define. Especifique membros pblicos ou privados usando o atributo de membro public ou private. Por exemplo, o cdigo a seguir declara uma varivel privada (uma propriedade) e um mtodo privado (uma funo). Por exemplo, a classe a seguir (LoginClass) define uma propriedade privada chamada userName e um mtodo privado chamado getUserName().
class LoginClass { private var userName:String; private function getUserName() { return this.userName; } // Construtor: function LoginClass(user:String) { this.userName = user; } }

Os membros privados (propriedades e mtodos) so acessveis apenas para a classe que define esses membros e para as subclasses dessa classe original. As instncias da classe original, ou as instncias das subclasses dessa classe, no podem acessar as propriedades e os mtodos declarados privadamente; ou seja, os membros privados so acessveis somente nas definies da classe, e no no nvel da instncia. Por exemplo, voc pode criar uma subclasse de LoginClass chamada NewLoginClass. Essa subclasse pode acessar a propriedade privada (userName) e o mtodo (getUserName()) definidos pela LoginClass.
class NewLoginClass extends LoginClass { // pode acessar userName e getUserName() }

174

Captulo 9: Criando classes com o ActionScript 2.0

Entretanto, uma instncia da LoginClass ou NewLoginClass no pode acessar esses membros privados. Por exemplo, o cdigo a seguir, adicionado a um script de quadro em um arquivo FLA, resultar em um erro do compilador indicando que o getUserName() privado e no pode ser acessado.
var loginObject:LoginClass = new LoginClass("Maxwell"); var user = loginObject.getUserName();

Observe tambm que o controle de acesso de membro um nico recurso de tempo de compilao; durante a execuo, o Flash Player no distingue entre membros privados ou pblicos.

Membros de instncias e classes


Na programao orientada a objeto, os membros (propriedades ou mtodos) de uma classe podem ser membros de instncia ou membros de classe. Os membros de instncia so criados e copiados, para cada instncia da classe; por outro lado, os membros de classe so criados apenas uma vez por classe. (Os membros da classe tambm so conhecidos como membros estticos.) Para chamar um mtodo de instncia ou acessar uma propriedade de instncia, voc faz referncia a uma instncia da classe. Por exemplo, o cdigo a seguir chama o mtodo showInfo() em uma instncia da classe MovieClip clip_mc:
clip_mc.showInfo();

Os membros de classe (estticos), entretanto, so atribudos prpria classe, e no a uma instncia da classe. Para chamar um mtodo da classe ou acessar uma propriedade da classe, voc faz referncia ao prprio nome da classe, em vez de uma instncia especfica da classe:
ClassName.classMember;

Por exemplo, a classe Math do ActionScript consiste apenas em mtodos e propriedades estticos. Para chamar qualquer um dos seus mtodos, voc no cria uma instncia da classe Math. Em vez disso, basta chamar os mtodos na prpria classe Math. O cdigo a seguir chama o mtodo sqrt() da classe Math:
var square_root:Number = Math.sqrt(4);

Membros de instncia podem ler membros estticos, mas no podem escrever nos mesmos. Membros de instncia no so enumerveis em loops for e for..in. Criando membros de classe Para especificar que uma propriedade de uma classe esttica, use o modificador static, como mostrado a seguir.
static var variableName;

Voc tambm pode declarar que os mtodos de uma classe sejam estticos.
static function functionName() { // corpo da funo }

Os mtodos de classe (estticos) s podem acessar propriedades de classe (estticas), e no propriedades de instncia. Por exemplo, o cdigo a seguir resultar em um erro do compilador, porque o mtodo da classe getName() faz referncia varivel de instncia name.

Membros de instncias e classes

175

class StaticTest { var name="Ted"; static function getName() { var local_name = name; // Erro! No possvel acessar variveis de instncia em funes estticas. } }

Para resolver esse problema, voc pode transformar o mtodo em um mtodo de instncia ou transformar a varivel em uma varivel de classe. Usando membros de classe: um exemplo simples possvel usar os membros de classe para manter as informaes de estado de uma classe e suas instncias. Por exemplo, para acompanhar o nmero de instncias que foram criadas de uma determinada classe. Uma maneira fcil de fazer isso usar uma propriedade da classe que incrementada sempre que uma nova instncia criada. No exemplo a seguir, voc criar uma classe Widget que define um contador de instncia simples e esttico chamado widgetCount. Sempre que uma nova instncia da classe for criada, o valor de widgetCount ser incrementado em 1, e o valor atual de widgetCount ser exibido no painel Output.
Para criar um contador de instncia usando uma varivel de classe:

1 Crie um novo arquivo ActionScript (AS). 2 Adicione o cdigo a seguir ao arquivo:


class Widget { static var widgetCount:Number = 0; // inicializar a varivel de classe function Widget() { trace("Creating widget #" + widgetCount); widgetCount++; } }

3 4

5 6

A varivel widgetCount declarada como esttica, portanto, inicializada como 0 somente uma vez. Sempre que a funo construtora da classe Widget chamada, ela adiciona 1 widgetCount e exibe o nmero da instncia atual que est sendo criada. Salve o arquivo como Widget.as. Crie um novo documento Flash (FLA) e salve-o como createWidget.fla no mesmo diretrio do Widget.as. Nesse arquivo, voc criar novas instncias da classe Widget. Em createWidget.fla, selecione Layer 1 na Timeline e abra o painel Actions (Window > Development Panels > Actions). Adicione o cdigo a seguir ao painel Actions.
// Antes que voc crie qualquer instncia da classe, // widgetCount zero (0) trace("Widget count at start: " + Widget.widgetCount); var widget_1 = new Widget(); var widget_2 = new Widget(); var widget_3 = new Widget();

176

Captulo 9: Criando classes com o ActionScript 2.0

7 Salve o arquivo e teste-o (Control > Test Movie).

Voc deve ver o seguinte no painel Output:


Widget count at Creating widget Creating widget Creating widget start: 0 # 0 # 1 # 2

Membros de classe e subclasses Os membros da classe propagam-se para as subclasses da superclasse que define esses membros. No exemplo anterior (consulte Usando membros de classe: um exemplo simples na pgina 176), voc usou uma propriedade de classe que acompanha o nmero de instncias dessa classe criada. Voc pode criar uma subclasse da classe Widget, como mostrado a seguir.
class SubWidget extends Widget { function SubWidget() { trace("Creating subwidget # "+Widget.widgetCount); } }

Criando e usando interfaces


Uma interface na programao orientada a objeto como uma classe cujos mtodos foram declarados, mas que no tm qualquer outra finalidade. Ou seja, uma interface consiste em mtodos vazios. Uma utilidade das interfaces impor um protocolo entre classes no relacionadas de outra maneira, como analisado a seguir. Por exemplo, suponha que voc faa parte de uma equipe de programadores, cada um trabalhando em uma parte diferente, ou seja, em uma classe diferente, de um grande aplicativo. A maioria dessas classes no est relacionada, mas voc precisa fazer com que elas se comuniquem. Ou seja, voc precisa definir uma interface ou um protocolo de comunicao, ao qual todas as classes devem aderir. Uma maneira de fazer isso criar uma classe Communication que defina todos esses mtodos e em seguida, fazer com que cada classe seja estendida ou herdada dessa superclasse. Como o aplicativo consiste em classes que no esto relacionadas, no faz sentido impor uma hierarquia de classe comum a elas. Uma soluo melhor criar uma interface que declare os mtodos que essas classes usaro para se comunicar e, em seguida, fazer cada classe implementar (fornecer suas prprias definies para) esses mtodos. Normalmente, voc pode programar bem sem usar interfaces. Entretanto, quando usadas apropriadamente, as interfaces podem tornar o projeto dos aplicativos mais elegante, dimensionvel e fcil de manter. Criando uma interface O processo de criao de uma interface igual ao de criao de uma classe. Assim como as classes, voc s pode definir interfaces nos arquivos ActionScript (AS) externos. Voc declara uma interface usando a palavra-chave interface, seguida pelo nome da interface e por chaves, que definem o corpo da interface.
interface interfaceName { // declaraes de mtodo de interface }

Criando e usando interfaces

177

Uma interface s pode conter declaraes de mtodos (funes), incluindo parmetros, tipos de parmetro e tipos de retorno de funo. Por exemplo, o cdigo a seguir declara uma interface chamada MyInterface com dois mtodos, method_1() e method_2(). O primeiro mtodo no tem parmetros e tipo de retorno (especificado como Void). A segunda declarao de mtodo tem um nico parmetro de tipo String e especifica um tipo de retorno Boolean.
interface MyInterface { function method_1():Void; function method_2(param:String):Boolean; }

As interfaces no podem conter declaraes de varivel ou atribuies. As funes declaradas em uma interface no podem conter chaves. Por exemplo, a interface a seguir no ser compilada.
interface BadInterface{ // Erro do compilador. Declaraes de variveis no permitidas em interfaces. var illegalVar; // Erro do compilador. Corpos de funo no permitidos em interfaces. function illegalMethod(){ } }

As regras para atribuir nome a interfaces e armazen-las nos pacotes so as mesmas usadas para as classes; consulte Criando e usando classes na pgina 171 e Usando pacotes na pgina 181. Interfaces como tipos de dados Como uma classe, uma interface define um novo tipo de dados. Qualquer classe que implemente uma interface poder ser considerada como do tipo definido pela interface. Esse recurso til para determinar se um objeto especfico implementa uma dada interface. Por exemplo, considere as seguinte interface.
interface Movable { function moveUp(); function moveDown(); }

Agora considere a classe Box que implementa a interface Movable.


class Box implements Movable { var x_pos, y_pos; function moveUp() { // definio de mtodo } function moveDown() { // definio de mtodo } }

Em seguida, em outro script onde voc criou uma instncia da classe Box, possvel declarar uma varivel do tipo Movable.
var newBox:Movable = new Box();

178

Captulo 9: Criando classes com o ActionScript 2.0

Durante a execuo, no Flash Player 7 e verses posteriores, voc pode distribuir uma expresso para um tipo de interface. Se a expresso for um objeto que implemente a interface ou tenha uma superclasse que implemente a interface, o objeto ser retornado. Caso contrrio, ser retornado null. Esse recurso til para verificar se um determinado objeto implementa uma interface especfica. Por exemplo, o cdigo a seguir verifica primeiro se o nome do objeto someObject implementa a interface Movable antes de chamar o mtodo moveUp() no objeto.
if(Movable(someObject) != null) { someObject.moveUp(); }

Noes bsicas de caminho de classe


Para usar uma classe ou interface definida, o Flash deve poder localizar os arquivos AS externos que contm a definio da classe ou interface. A lista de diretrios na qual o Flash procura as definies de classe e interface chama-se caminho de classe. Quando voc cria um arquivo de classes ActionScript, precisa salvar o arquivo em um dos diretrios especificados no caminho de classe ou em um subdiretrio. Voc pode modificar o caminho de classe para incluir o caminho do diretrio desejado; consulte Modificando o caminho de classe na pgina 180. Caso contrrio, o Flash no poder resolver ou localizar a classe ou interface especificada no script. Os subdiretrios criados em um diretrio do caminho de classe chamam-se pacotes e permitem a voc organizar as suas classes. Para obter mais informaes, consulte Usando pacotes na pgina 181. Caminhos de classe globais e em nvel de documento O Flash tem duas configuraes de caminho de classe: um caminho de classe global e um caminho de classe em nvel de documento. O caminho de classe global aplica-se a arquivos AS e FLA externos e definido na caixa de dilogo Preferences, em Edit (Editar) > Preferences (Preferncias). O caminho de classe em nvel de documento aplica-se apenas a arquivos FLA e definido na caixa de dilogo Publish Settings, em File > Publish Settings (Configuraes de publicao), de um determinado FLA. O padro que os caminhos de classe globais contenham dois caminhos de diretrio: um caminho relativo que aponte para o diretrio que contm o documento atual e o diretrio Classes localizado no diretrio de configurao do usurio instalado com o Flash. O local deste diretrio mostrado aqui:

Windows 2000 ou Windows XP: C:\Documents and Settings\<usuario>\Local Settings\


Application Data\Macromedia\Flash MX2004\<idioma>\Configuration\ Windows 98: C:\Windows\Application Data\Macromedia\Flash MX 2004\ <idioma>\Configuration\ Macintosh OS X: Hard Drive/Users/Library/Application Support/Macromedia/Flash 2004/ <idioma>/Configuration/

O padro que o caminho de classe em nvel de documento fique vazio.

Noes bsicas de caminho de classe

179

Como o compilador resolve as referncias de classe Quando o Flash tenta resolver as referncias de classe em um script FLA, ele busca primeiro o caminho de classe em nvel de documento especificado para esse FLA. Se a classe no se encontrar nesse caminho de classe, ou se esse caminho de classe estiver vazio, o Flash pesquisar o caminho de classe global. Se a classe no se encontrar no caminho de classe global, ocorrer um erro do compilador. Quando o Flash tenta resolver as referncias de classe em um script AS, ele pesquisa apenas os diretrios do caminho de classe global, j que os arquivos AS no tm um caminho de classe de documento associado. Modificando o caminho de classe Voc pode modificar o caminho de classe global usando a caixa de dilogo Preferences. Para modificar a configurao do caminho de classe em nvel de documento, use a caixa de dilogo Publish Settings para o arquivo FLA. Voc pode adicionar caminhos de diretrio absolutos (por exemplo, C:/my_classes) e caminhos de diretrio relativos (por exemplo, ../my_classes ou .). Por padro, o caminho de classe global contm um caminho absoluto (o diretrio Classes no diretrio de configurao do usurio) e um caminho de classe relativo, indicado por um nico ponto (.), que aponta para o diretrio de documentos atual. Saiba que os caminhos de classe relativos podem apontar para diretrios diferentes, dependendo do local do documento que est sendo compilado ou publicado. Para obter mais informaes, consulte Caminhos de classe globais e em nvel de documento na pgina 179.
Para modificar o caminho de classe global:

1 Selecione Edit > Preferences para abrir a caixa de dilogo Preferences. 2 Clique na guia ActionScript e no boto ActionScript 2.0 Settings (Configuraes do

ActionScript 2.0). 3 Utilize um dos seguintes procedimentos: Para adicionar um diretrio ao caminho de classe, clique no boto Browse to Path (Navegar at caminho), navegue at o diretrio que deseja adicionar e clique em OK. A alternativa clicar no boto Add New Path para adicionar uma nova linha lista de caminhos de classe. Clique duas vezes na nova linha, digite um caminho relativo ou absoluto e clique em OK. Para editar um diretrio de caminho de classe existente, selecione o caminho na lista Classpath, clique no boto Browse to Path, navegue at o diretrio que deseja adicionar e clique em OK. A alternativa clicar duas vezes no caminho na lista Classpath, digitar o caminho desejado e clicar em OK. Para excluir um diretrio do caminho de classe, selecione o caminho na lista Classpath e clique no boto Remove from Path (Remover do caminho).

180

Captulo 9: Criando classes com o ActionScript 2.0

Para modificar o caminho de classe em nvel de documento:

1 Selecione File > Publish Settings para abrir a caixa de dilogo Publish Settings. 2 Clique na guia Flash. 3 Clique no boto Settings perto do menu pop-up ActionScript Version (Verso do

ActionScript).
4 Utilize um dos seguintes procedimentos:

Para adicionar um diretrio ao caminho de classe, clique no boto Browse to Path (Navegar at caminho), navegue at o diretrio que deseja adicionar e clique em OK. A alternativa clicar no boto Add New Path para adicionar uma nova linha lista de caminhos de classe. Clique duas vezes na nova linha, digite um caminho relativo ou absoluto e clique em OK. Para editar um diretrio de caminho de classe existente, selecione o caminho na lista Classpath, clique no boto Browse to Path, navegue at o diretrio que deseja adicionar e clique em OK. A alternativa clicar duas vezes no caminho na lista Classpath, digitar o caminho desejado e clicar em OK. Para excluir um diretrio do caminho de classe, selecione o caminho na lista Classpath e clique no boto Remove from Path (Remover do caminho).

Usando pacotes
Voc pode organizar os arquivos de classe do ActionScript em pacotes. Um pacote um diretrio que contm um ou mais arquivos de classe e reside em um diretrio determinado do caminho da classe. (Consulte Noes bsicas de caminho de classe na pgina 179.) Um pacote pode, por sua vez, conter outros pacotes, chamados subpacotes, cada um com seus prprios arquivos de classe. Nomes de pacotes podem ser identificadores; ou seja, o primeiro caractere deve ser uma letra, sublinhado (_) ou cifro ($) e os caracteres seguinte devem ser letra, nmero, sublinhado ou cifro. Os pacotes normalmente so usados para organizar classes relacionadas. Por exemplo, voc pode ter trs classes relacionadas, Square, Circle e Triangle, que so definidas em Square.as, Circle.as e Triangle.as. Suponha que voc tenha salvo os arquivos AS em um diretrio especificado no caminho de classe.
// Em Square.as: class Square {} // Em Circle.as: class Circle {} // Em Triangle.as: class Triangle {}

Como esses trs arquivos de classe esto relacionados, voc pode decidir coloc-los em um pacote (diretrio) chamado Shapes. Nesse caso, o nome de classe totalmente qualificado conter o caminho do pacote e o nome da classe simples. Os caminhos do pacote so denotados com a sintaxe de ponto, na qual cada ponto indica um subdiretrio.

Usando pacotes

181

Por exemplo, se voc tivesse colocado no diretrio Shapes cada arquivo AS que define uma forma, seria necessrio alterar o nome de cada arquivo de classe para refletir o novo local, da seguinte maneira:
// Em Shapes/Square.as: class Shapes.Square {} // Em Shapes/Circle.as: class Shapes.Circle {} // Em Shapes/Triangle.as: class Shapes.Triangle {}

Para fazer referncia a uma classe que se encontra em um diretrio de pacotes, voc poder especificar seu nome de classe totalmente qualificado ou importar o pacote usando a instruo import (veja a seguir).

Importando classes
Para fazer referncia a uma classe em outro script, voc deve prefixar o nome da classe com o caminho do pacote de classe. A combinao do nome de uma classe e o caminho do pacote o nome de classe totalmente qualificado da classe. Se uma classe estiver em um diretrio do caminho de classe de nvel superior, e no em um subdiretrio do diretrio do caminho de classe, seu nome de classe totalmente qualificado ser o nome da classe. Para especificar os caminhos do pacote, use a notao de ponto para separar os nomes de diretrios do pacote. Os caminhos do pacote so hierrquicos, nos quais cada ponto representa um diretrio aninhado. Por exemplo, suponha que voc tenha criado uma classe chamada Data que se encontre em com/network/ package no caminho de classe. Para criar uma instncia dessa classe, voc pode especificar o nome de classe totalmente qualificado, da seguinte maneira:
var dataInstance = new com.network.Data();

Voc tambm pode usar o nome de classe totalmente qualificado para digitar as suas variveis:
var dataInstance:com.network.Data = new Data();

Voc pode usar a instruo import para importar pacotes para um script, o que permite usar o nome abreviado de uma classe em vez de seu nome de classe totalmente qualificado. Pode tambm usar o caractere curinga (*) para importar todas as classes de um pacote. Por exemplo, suponha que voc tenha criado uma classe chamada UserClass que esteja includa no caminho do diretrio de pacotes macr/util/users:
// No arquivo macr/util/users/UserClass.as class macr.util.users.UserClass { ... }

Suponha que, em outro script, voc tenha importado essa classe da maneira a seguir usando a instruo import:
import macr.util.users.UserClass;

Depois, no mesmo script, voc pode fazer referncia a essa classe pelo seu nome abreviado:
var myUser:UserClass = new UserClass();

182

Captulo 9: Criando classes com o ActionScript 2.0

Voc tambm pode usar o caractere curinga (*) para importar todas as classes de um pacote especfico. Por exemplo, suponha que voc tenha um pacote chamado macr.util com dois arquivos de classe do ActionScript, foo.as e bar.as. Em outro script, voc pode importar as duas classes desse pacote usando o caractere curinga, da maneira mostrada a seguir.
import macr.util.*;

No mesmo script, voc pode fazer referncia classe foo ou bar diretamente.
var myFoo:foo = new foo(); var myBar:bar = new bar();

A instruo import aplica-se apenas ao script atual (quadro ou objeto) no qual ela chamada. Se uma classe importada no for utilizada em um script, ela no ser includa no bytecode do arquivo SWF resultante e no estar disponvel para os arquivos SWF que podero vir a ser importados pelo arquivo FLA atravs de uma instruo import . Para obter mais informaes, consulte import na pgina 455.

Mtodos get/set implcitos


A prtica da programao orientada a objeto desencoraja o acesso direto s propriedades de uma classe. As classes normalmente definem os mtodos get, que fornecem acesso de leitura, e os mtodos set, que fornecem acesso de gravao, a uma propriedade especfica. Por exemplo, imagine uma classe que contenha uma propriedade userName:
var userName:String;

Em vez de permitir que instncias da classe acessem diretamente essa propriedade (obj.userName = "Jody", por exemplo), a classe pode ter dois mtodos, getUserName e setUserName, que sero implementados da seguinte maneira:
function getUserName:String() { return userName; } function setUserName(name:String): { userName = name; }

Como voc pode ver, getUserName retorna o valor atual de userName, e setUserName define o valor de userName como o parmetro da seqncia de caracteres passado para o mtodo. Uma instncia da classe usar a seguinte sintaxe para obter ou definir a propriedade userName.
// chamando o mtodo "get" var name = obj.getUserName(); // chamando o mtodo "set" obj.setUserName("Jody");

Entretanto, se voc quiser usar uma sintaxe mais concisa, dever usar os mtodos get/set implcitos. Os mtodos get/set implcitos permitem acessar as propriedades da classe de uma maneira direta e, ao mesmo tempo, manter-se de acordo com os princpios da OOP. Para definir esses mtodos, use os atributos de mtodo get e set. Voc cria mtodos que obtm ou definem o valor de uma propriedade e adiciona a palavra-chave get ou set antes do nome do mtodo.

Mtodos get/set implcitos

183

function get user():String { return userName; } function set user(name:String):Void { userName = name; }

Um mtodo get no deve ter parmetros. Um mtodo set deve ter exatamente um parmetro obrigatrio. Um mtodo set pode ter o mesmo nome de um mtodo get no mesmo escopo. Os mtodos get/set no podem ter o mesmo nome de outras propriedades. Por exemplo, no cdigo do exemplo anterior que define os mtodos get e set chamados user, voc no pode ter tambm uma propriedade chamada user na mesma classe. Ao contrrio dos mtodos simples, os mtodos get/set so chamados sem parnteses ou argumentos. Por exemplo, agora possvel usar a sintaxe a seguir para acessar ou modificar o valor de userName com os mtodos get/set definidos anteriormente.
var name = obj.user; obj.user = "Jack"; Observao: Os mtodos get/set implcitos so abreviaes sintticas do mtodo Object.addProperty() do ActionScript 1.

Criando classes dinmicas


O padro que as propriedades e os mtodos de uma classe sejam fixos. Ou seja, uma instncia de uma classe no pode criar ou acessar as propriedades ou os mtodos que no foram originalmente declarados ou definidos pela classe. Por exemplo, considere uma classe Person que defina duas propriedades, name e age:
class Person { var name:String; var age:Number; }

Se, em outro script, voc criar uma instncia da classe Person e tentar acessar uma propriedade da classe que no existe, o compilador gerar um erro. Por exemplo, o cdigo a seguir cria uma nova instncia da classe Person (a_person) e tenta atribuir um valor a uma propriedade chamada hairColor, que no existe.
var a_person:Person = new Person(); a_person.hairColor = "blue"; // erro do compilador

Esse cdigo gera um erro do compilador porque a classe Person no declarou uma propriedade chamada hairColor. Na maioria dos casos, exatamente isso que voc deseja que acontea. Em alguns casos, entretanto, voc pode adicionar e acessar propriedades ou mtodos de uma classe durante a execuo, que no foram definidos na classe original. O modificador de classe dynamic permite que voc faa exatamente isso. Por exemplo, o cdigo a seguir adiciona o modificador dynamic classe Person discutida anteriormente:
dynamic class Person { var name:String; var age:Number; }

184

Captulo 9: Criando classes com o ActionScript 2.0

Agora, as instncias da classe Person podem adicionar e acessar propriedades e mtodos que no foram definidos na classe original.
var a_person:Person = new Person(); a_person.hairColor = "blue"; // nenhum erro de compilador porque a classe dinmica

Subclasses de classes dinmicas tambm sero dinmicas.

Como as classes so compiladas e exportadas


O padro que as classes usadas por um arquivo SWF sejam empacotadas e exportadas no primeiro quadro do SWF. Voc tambm pode especificar o quadro onde as classes so empacotas e exportadas. Esse recurso til, por exemplo, quando um arquivo SWF usa muitas classes que exigem muito tempo de download. Se as classes forem exportadas no primeiro quadro, o usurio dever aguardar o download de todos os cdigos das classes antes de o quadro aparecer. Especificando um quadro posterior na Timeline, voc pode exibir uma curta animao do carregamento nos primeiros quadros da Timeline durante o download do cdigo das classes do quadro posterior.
Para especificar o quadro de exportao das classes de um documento Flash:

1 Com um arquivo FLA aberto, selecione File > Publish Settings. 2 Na caixa de dilogo Publish Settings, clique na guia Flash. 3 Clique no boto Settings perto do menu pop-up da verso do ActionScript para abrir a caixa de

dilogo ActionScript Settings. 4 Na caixa de texto Export Frame for Classes (Exportar quadro para classes), digite o nmero do quadro para o qual deseja exportar o cdigo das classes. Se o quadro especificado no existir na Timeline, voc receber uma mensagem de erro ao publicar o SWF. 5 Clique em OK, para escolher a caixa de dilogo ActionScript Settings, e em OK, para fechar a caixa de dilogo Publish Settings.

Como as classes so compiladas e exportadas

185

186

Captulo 9: Criando classes com o ActionScript 2.0

PARTE IV Trabalhando com mdia e dados externos

PARTE IV

Esta parte descreve como incorporar mdia e dados externos aos aplicativos do Macromedia Flash. Captulo 10: Trabalhando com dados externos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Captulo 11: Trabalhando com mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

CAPTULO 10 Trabalhando com dados externos

No Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004, voc pode usar o ActionScript para carregar dados de origens externas em um arquivo SWF. Tambm possvel enviar dados de um arquivo SWF para processamento atravs de um servidor de aplicativos (como o Macromedia ColdFusion MX ou o Macromedia JRun) ou outro tipo de script de servidor, como PHP ou Perl. O Flash Player pode enviar e carregar dados atravs do HTTP, HTTPS ou de um arquivo de texto local. Voc pode criar conexes persistentes de soquete TCP/IP para aplicativos que exijam baixa latncia, por exemplo, aplicaes de bate-papo ou um servio de cotao de aes. possvel formatar os dados carregados ou enviados de um arquivo SWF como XML (Extensible Markup Language, Linguagem de marcao extensvel) ou como pares nome/valor. O Flash Player tambm pode enviar e receber dados do ambiente de host, um navegador da Web, por exemplo, ou de outra instncia do Flash Player no mesmo computador. Por padro, um arquivo SWF s pode acessar dados residentes no mesmo domnio (por exemplo, www.macromedia.com) no qual o filme do Flash foi originado. Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 201.

Enviando e carregando variveis para/de uma origem remota


Um arquivo SWF uma janela para a captura e exibio de informaes, semelhante a uma pgina HTML. Contudo, os arquivos SWF podem permanecer carregados no navegador e ser constantemente atualizados com novas informaes sem a necessidade do recarregamento da pgina inteira. Com as funes e os mtodos do ActionScript, voc pode enviar e receber informaes de arquivos de texto, arquivos XML e scripts de servidor. Alm disso, os scripts de servidor podem solicitar informaes especficas a um banco de dados e retransmiti-las para um arquivo SWF. Os scripts do servidor podem ser escritos em diversas linguagens: as mais comuns so CFML, Perl, ASP (Microsoft Active Server Pages, Pginas de servidor ativo da Microsoft) e PHP. Com o armazenamento e recuperao de informaes em um banco de dados, voc pode criar um contedo dinmico e personalizado para o arquivo SWF. Por exemplo, pode criar um quadro de mensagens, perfis pessoais de usurios ou um carrinho de compras que controle o que o usurio comprou para poder determinar suas preferncias.

189

Vrias funes e mtodos do ActionScript permitem passar informaes para/de um arquivo SWF. Cada funo ou mtodo usa um protocolo para transferir as informaes e requer que elas sejam formatadas de uma determinada maneira.

As funes e os mtodos de MovieClip que usam o protocolo HTTP ou HTTPS para enviar
informaes em um formato de cdigo URL so getURL(), loadVariables(), loadVariablesNum(), loadMovie() e loadMovieNum(). Os mtodos LoadVars que usam o protocolo HTTP ou HTTPS para enviar e carregar informaes em formato de cdigo URL so load(), send() e sendAndLoad(). Os mtodos que usam o protocolo HTTP ou HTTPS para enviar e carregar informaes como XML so XML.send(), XML.load() e XML.sendAndLoad(). Os mtodos que criam e usam uma conexo de soquete TCP/IP para enviar e carregar informaes como XML so XMLSocket.connect() e XMLSocket.send().

Verificando os dados carregados Todas as funes ou mtodos que carregam dados em um arquivo SWF (exceto XMLSocket.send()) so assncronas: os resultados da ao so retornados em um momento indeterminado. Antes de usar dados carregados em um arquivo SWF, verifique se eles foram realmente carregados. Por exemplo, no possvel carregar variveis e manipular seus valores no mesmo script. No script a seguir, voc s poder usar a varivel lastFrameVisited aps verificar se ela foi carregada do arquivo myData.txt:
loadVariables("myData.txt", 0); gotoAndPlay(lastFrameVisited);

Cada funo ou mtodo possui uma tcnica especfica que pode ser usada para verificar os dados que foram carregados. Se voc usar loadVariables() ou loadMovie(), poder carregar informaes em um destino de clipe de filme e usar o evento data do manipulador onClipEvent() para executar um script. Se voc usar loadVariables() para carregar os dados, o manipulador onClipEvent(data) ser executado quando a ltima varivel for carregada. Se voc usar loadMovie() para carregar os dados, o manipulador onClipEvent(data) ser executado sempre que um fragmento do arquivo SWF for enviado ao Flash Player. Por exemplo, a ao do boto a seguir carrega as variveis do arquivo myData.txt no clipe de filme loadTargetMC:
on (release) { loadVariables("myData.txt", _root.loadTargetMC); }

Um manipulador onClipEvent() atribudo instncia loadTargetMC usa a varivel lastFrameVisited, que carregada a partir do arquivo myData.txt. A ao a seguir s ser executada aps todas as variveis, incluindo lastFrameVisited, serem carregadas:
onClipEvent(data) { goToAndPlay(lastFrameVisited); }

190

Captulo 10: Trabalhando com dados externos

Se voc usar os mtodos XML.load(), XML.sendAndLoad() e XMLSocket.connect(), dever definir um manipulador para processar os dados quando eles chegarem. Um manipulador uma propriedade do objeto XML ou XMLSocket qual voc atribui uma funo definida. Os manipuladores so chamados automaticamente quando as informaes so recebidas. Para o objeto XML, use XML.onLoad() ou XML.onData(). Para o objeto XMLSocket, use XMLSocket.onConnect(). Para obter mais informaes, consulte Usando a classe XML na pgina 194 e Usando a classe XMLSocket na pgina 197. Usando HTTP para conectar a scripts do servidor As funes loadVariables(), loadVariablesNum(), getURL(), loadMovie() e loadMovieNum() e os mtodos MovieClip.loadVariables(), MovieClip.loadMovie() e MovieClip.getURL() podem se comunicar com scripts de servidor atravs de protocolos HTTP ou HTTPS. Essas funes enviam todas as variveis da Timeline (Linha do tempo) s quais elas esto anexadas. Quando usadas como mtodos do objeto MovieClip, as funes loadVariables(), getURL() e loadMovie() enviam todas as variveis do clipe de filme especificado. Cada funo (ou mtodo) manipula sua resposta da seguinte maneira:

retorna todas as informaes para uma janela do navegador e no para o Flash Player. loadVariables() carrega as variveis em uma Timeline ou em um nvel especificado do Flash Player. loadMovie() carrega um arquivo SWF em um nvel especificado ou um clipe de filme no Flash Player.
getURL()

Ao usar a ao loadVariables(), getURL() ou loadMovie(), voc pode especificar vrios parmetros:

o arquivo onde residem as variveis remotas. Local o nvel ou o destino no arquivo SWF que recebe as variveis. (A funo getURL() no requer esse parmetro.) Para obter mais informaes sobre nveis e destinos, consulte Multiple Timelines and levels (Vrias linhas de tempo e nveis) no Using Flash Help (Ajuda de Usando o Flash). Variables define o mtodo HTTP, GET ou POST, atravs do qual as variveis sero enviadas. Quando omitido, o Flash Player adota como padro GET, mas nenhuma varivel enviada.
URL

Por exemplo, para controlar as pontuaes mais altas de um jogo, voc pode armazen-las em um servidor e usar uma funo loadVariables() para carreg-las no arquivo SWF sempre que algum jogar o jogo. A chamada de funo seria:
loadVariables("http://www.mySite.com/scripts/high_score.php", _root.scoreClip, GET);

Essa ao carrega as variveis do script PHP chamado high_score.php na instncia de clipe de filme scoreClip usando o mtodo HTTP GET.

Enviando e carregando variveis para/de uma origem remota

191

Todas as variveis carregadas com a funo loadVariables() devem estar no formato padro de aplicativo MIME/x-www-form-urlencoded (um formato padro usado pelos scripts CGI). O arquivo especificado no parmetro URL de loadVariables() deve criar os pares de valores e de variveis nesse formato para que o Flash possa l-los. O arquivo pode especificar qualquer nmero de variveis; os pares de valores e de variveis devem ser separados com um E comercial (&) e as palavras dentro de um valor devem ser separadas com um sinal de mais (+). Por exemplo, esta frase define diversas variveis:
highScore1=54000&playerName1=rockin+good&highScore2=53455&playerName2= bonehelmet&highScore3=42885&playerName3=soda+pop

Para obter mais informaes, consulte loadVariables() na pgina 482, getURL() na pgina 446, loadMovie() na pgina 479 e a entrada Classe LoadVars em Captulo 12, Dicionrio do ActionScript, na pgina 219. Usando a classe LoadVars Para transferir variveis entre um arquivo SWF e um servidor, use a classe LoadVars em vez da funo loadVariables() . A classe LoadVars permite enviar todas as variveis de um objeto para um URL especificado e carregar todas as variveis de um URL especificado em um objeto. A resposta do servidor ativa o mtodo LoadVars.onLoad() e define as variveis no destino. Use LoadVars para obter informaes de erro e indicaes de andamento, e para criar um fluxo de dados durante o download. A classe LoadVars semelhante classe XML; ela usa os mtodos load(), send() e sendAndLoad() para iniciar a comunicao com o servidor. A principal diferena entre as classes LoadVars e XML que os dados de LoadVars so uma propriedade do objeto LoadVars, em vez de uma rvore DOM (Document Object Model, Modelo de objetos de documentos) XML armazenada no objeto XML. Voc precisa criar um objeto LoadVars para chamar seus mtodos. Esse objeto um recipiente que mantm os dados carregados. O procedimento a seguir mostra como usar um objeto LoadVars para carregar variveis de um arquivo de texto e exibi-las em um campo de texto.
Para carregar dados com o objeto LoadVars:

1 Em um editor de texto como o Bloco de Notas ou SimpleText, crie um arquivo de texto e

adicione o seguinte texto a ele:


day=11&month=July&year=2003

2 Salve o arquivo como date.txt. 3 No Flash, crie um documento. 4 Crie um campo de texto dinmico no Stage (Palco) e atribua a ele o nome de instncia
date_txt.

5 Selecione Frame 1 (Quadro 1) na Timeline e abra o painel Actions (Aes), em Window

(Janela) > Development Panels (Painis de desenvolvimento) > Actions, caso ainda no esteja aberto.

192

Captulo 10: Trabalhando com dados externos

6 Insira o cdigo a seguir no painel Actions:


var dateVars = new LoadVars(); dateVars.onLoad = function(ok) { if (ok) { date_txt.text = dateVars.day+"/"+dateVars.month+"/"+dateVars.year; } }; dateVars.load("date.txt");

Esse cdigo carrega as variveis de date.txt (day, month, year) e, em seguida, formata-as e exibe-as no campo de texto date_txt. 7 Salve o documento como dateReader.fla no mesmo diretrio de date.txt (o arquivo de texto que voc salvou na etapa 3). 8 Selecione Control (Controlar) > Test Movie (Testar filme) para testar o documento. Para obter mais informaes, consulte a entrada Classe LoadVars no Captulo 12, Dicionrio do ActionScript, na pgina 219. Sobre XML O XML (Extensible Markup Language) est se tornando o padro para o intercmbio de dados estruturados em aplicativos de Internet. possvel integrar dados no Flash com servidores que usam a tecnologia XML para criar aplicativos sofisticados, como sistemas de bate-papo ou de corretagem. No XML, assim como no HTML, use marcas para marcar ou especificar um corpo de texto. No HTML, use as marcas predefinidas para indicar como o texto deve aparecer no navegador da Web (por exemplo, a marca <b> indica que o texto deve estar em negrito). No XML, defina as marcas que identificam o tipo dos dados (por exemplo, <password>VerySecret</password>). O XML separa a estrutura das informaes da forma como elas so exibidas, de modo que o mesmo documento XML possa ser usado e reutilizado em ambientes diferentes. Toda marca XML chamada de n ou elemento. Cada n possui um tipo (1, que indica um elemento XML, ou 3, que indica um n de texto), e os elementos tambm podem ter atributos. Um n aninhado em outro n denominado n-filho. Essa estrutura de rvore hierrquica de ns denominada DOM XML, semelhante ao DOM JavaScript, que a estrutura de elementos de um navegador da Web.
<HOLDING>,

No exemplo a seguir, <PORTFOLIO> o n-pai; ele no possui atributo algum e contm o n-filho que possui os atributos SYMBOL, QTY, PRICE e VALUE:

<PORTFOLIO> <HOLDING SYMBOL="RICH" QTY="75" PRICE="245.50" VALUE="18412.50" /> </PORTFOLIO>

Enviando e carregando variveis para/de uma origem remota

193

Usando a classe XML Os mtodos da classe ActionScript XML (por exemplo, appendChild(), removeNode() e permitem estruturar os dados XML no Flash para envi-los a um servidor e para manipular e interpretar os dados XML descarregados.
insertBefore())

Os mtodos da classe XML a seguir enviam e carregam dados XML em um servidor usando o mtodo POST HTTP:

O mtodo load() faz o download do XML de um URL e coloca-o em um objeto ActionScript


XML. O mtodo send() passa um objeto XML para um URL. Todas as informaes retornadas so enviadas para outra janela do navegador. O mtodo sendAndLoad() passa um objeto XML para um URL. Todas as informaes retornadas so colocadas em um objeto ActionScript XML.

Por exemplo, possvel criar um sistema de corretagem para a venda de ttulos que armazene todas as informaes (nomes de usurios, senhas, identificaes de sesses, ttulos em carteira e informaes sobre transaes) em um banco de dados. O script do servidor que transfere as informaes entre o Flash e o banco de dados l e grava os dados no formato XML. O ActionScript pode ser usado para converter as informaes obtidas no arquivo SWF (por exemplo, um nome de usurio e uma senha) em um objeto XML e, em seguida, enviar os dados para o script de servidor como um documento XML. Voc tambm pode usar o ActionScript para carregar o documento XML retornado pelo servidor em um objeto XML para ser usado no arquivo SWF.
loginReplyXML loginXML
documento XML documento XML Resposta Solicitao SQL

Script de servidor
username Jean Smith password

Banco de dados

Submit

Filme do Flash

O fluxo e a converso de dados entre um filme do Flash, um script do servidor e um banco de dados A validao da senha no sistema de corretagem requer dois scripts: uma funo definida no Frame 1 e um script que cria e envia os objetos XML anexados ao boto Submit (Submeter) no formulrio. Quando os usurios inserem suas informaes em campos de texto no arquivo SWF com as variveis username e password, essas variveis devem ser convertidas em XML antes de serem passadas para o servidor. A primeira seo do script carrega as variveis em um objeto XML criado recentemente chamado loginXML. Quando o usurio clica no boto Submit, o objeto loginXML convertido em uma seqncia de caracteres do XML e enviado para o servidor.

194

Captulo 10: Trabalhando com dados externos

O script a seguir anexado ao boto Submit. Para compreender esse script, leia as linhas de comentrio (indicadas pelos caracteres //):
on (release) { // A. Cria um documento XML com um elemento LOGIN loginXML = new XML(); loginElement = loginXML.createElement("LOGIN"); loginElement.attributes.username = username; loginElement.attributes.password = password; loginXML.appendChild(loginElement); // B. Cria um objeto XML para armazenar a resposta do servidor loginReplyXML = new XML(); loginReplyXML.onLoad = onLoginReply; // C. Envia o elemento LOGIN para o servidor, // coloca a resposta em loginReplyXML loginXML.sendAndLoad("https://www.imexstocks.com/main.cgi", loginReplyXML); }

A primeira seo do script gera o seguinte XML quando o usurio clica no boto Submit (Submeter):
<LOGIN USERNAME="JeanSmith" PASSWORD="VerySecret" />

O servidor recebe o XML, gera uma resposta XML e envia-a de volta ao arquivo SWF. Se a senha for aceita, o servidor responder da seguinte maneira:
<LOGINREPLY STATUS="OK" SESSION="rnr6f7vkj2oe14m7jkkycilb" />

Esse XML inclui um atributo SESSION que contm a identificao de uma sesso exclusiva, gerada aleatoriamente, que ser usada em todas as comunicaes entre o cliente e o servidor no restante da sesso. Se a senha for rejeitada, o servidor responder com a seguinte mensagem:
<LOGINREPLY STATUS="FAILED" />

O n XML LOGINREPLY deve ser carregado em um objeto XML limpo no arquivo SWF. A instruo a seguir cria o objeto XML loginreplyXML para receber o n XML:
// B. Cria um objeto XML para armazenar a resposta do servidor loginReplyXML = new XML(); loginReplyXML.onLoad = onLoginReply;

A segunda instruo atribui a funo onLoginReply() ao manipulador loginReplyXML.onLoad.

Enviando e carregando variveis para/de uma origem remota

195

O elemento XML LOGINREPLY chega de modo assncrono, de maneira semelhante aos dados de uma funo loadVariables() e carregado no objeto loginReplyXML. Quando os dados chegam, o manipulador onLoad do objeto loginReplyXML chamado. Voc deve definir a funo onLoginReply() e atribu-la ao manipulador loginReplyXML.onLoad para que processe o elemento LOGINREPLY. Alm disso, deve atribuir a funo onLoginReply() ao quadro que contm o boto Submit (Submeter).

A funo onLoginReply() definida no primeiro quadro do arquivo SWF. (Para compreender esse script, leia as linhas de comentrio.)

196

Captulo 10: Trabalhando com dados externos

function onLoginReply() { // Obtm o primeiro elemento XML var e = this.firstChild; // Se o primeiro elemento XML for um elemento LOGINREPLY com // status OK, vai para a tela do portflio. Caso contrrio, // vai para a tela de falha de login e permite que o usurio tente novamente. if (e.nodeName == "LOGINREPLY" && e.attributes.status == "OK") { // Salva a identificao de sesso para comunicao futura com o servidor sessionID = e.attributes.session; // Vai para a tela de exibio do portflio gotoAndStop("portfolioView"); else { // Falha no login! Vai para a tela de falha de login. gotoAndStop("loginFailed"); } }

A primeira linha dessa funo, var e = this.firstChild, usa a palavra-chave this para se referir ao objeto XML loginReplyXML que acabou de ser carregado com o XML do servidor. possvel usar this porque onLoginReply() foi chamada como loginReplyXML.onLoad; portanto, embora onLoginReply() seja aparentemente uma funo simples, ela se comporta realmente como um mtodo de loginReplyXML. Para enviar para o servidor o nome de usurio e a senha como XML e carregar uma resposta XML para o arquivo SWF, use o mtodo sendAndLoad(), conforme mostrado a seguir:
// C. Envia o elemento LOGIN para o servidor, // coloca a resposta em loginReplyXML loginXML.sendAndLoad("https://www.imexstocks.com/main.cgi", loginReplyXML); Observao: Esse design apenas um exemplo, e a Macromedia no oferece garantia alguma quanto ao nvel de segurana proporcionado. Se voc estiver implementando um sistema seguro protegido por senha, dever ter um bom conhecimento de segurana de rede.

Para obter mais informaes, consulte Integrating XML and Flash in a Web Application (Integrando XML e o Flash em um aplicativo da Web) em www.macromedia.com/support/flash/ interactivity/xml/ e a entrada Classe XML no Captulo 12, Dicionrio do ActionScript, na pgina 219. Usando a classe XMLSocket O ActionScript dispe de uma classe XMLSocket interna que permite a abertura de uma conexo contnua com um servidor. Uma conexo de soquete permite que o servidor publique (ou envie) informaes para o cliente assim que elas estejam disponveis. Sem uma conexo contnua, o servidor deve aguardar uma solicitao HTTP. Essa conexo aberta elimina os problemas de latncia e normalmente usada para aplicativos em tempo real, como aplicativos de bate-papo. Os dados so enviados atravs da conexo de soquete como uma nica seqncia de caracteres e devem estar no formato XML. Voc pode usar a classe XML para estruturar os dados. Para criar uma conexo de soquete, necessrio criar um aplicativo do servidor para aguardar a solicitao dessa conexo e enviar uma resposta ao arquivo SWF. possvel criar esse tipo de aplicativo de servidor em uma linguagem de programao, como Java. Voc pode usar os mtodos connect() e send() da classe XMLSocket para transferir XML para/de um servidor atravs de uma conexo de soquete. O mtodo connect() estabelece uma conexo de soquete com uma porta do servidor da Web. O mtodo send() envia um objeto XML para o servidor especificado na conexo de soquete.

Enviando e carregando variveis para/de uma origem remota

197

Quando voc chama o mtodo connect(), o Flash Player abre uma conexo TCP/IP com o servidor e mantm a conexo aberta at que ocorra uma das seguintes situaes:

O mtodo close() da classe XMLSocket chamado. No existe mais nenhuma referncia ao objeto XMLSocket. O Flash Player encerrado. A conexo interrompida (por exemplo, o modem desconectado).

O exemplo a seguir cria uma conexo de soquete XML e envia os dados do objeto XML myXML. Para compreender o script, leia as linhas de comentrio (indicadas pelos caracteres //):
// Cria um novo objeto XMLSocket sock = new XMLSocket(); // Chama o seu mtodo connect() para estabelecer uma conexo com a porta 1024 // do servidor no URL sock.connect("http://www.myserver.com", 1024); // Define uma funo para atribuir o objeto de soquete que manipula a // resposta do servidor. Se a conexo for bem sucedida, envia o // objeto myXML. Se falhar, fornece uma mensagem de erro em um campo // de texto. function onSockConnect(success){ if (success) { sock.send(myXML); else { msg="There has been an error connecting to "+serverName; } } // Atribui a funo onSockConnect() propriedade onConnect sock.onConnect = onSockConnect;

Para obter mais informaes, consulte a entrada Classe XMLSocket no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Enviando mensagens para/do Flash Player


Para enviar mensagens de um arquivo SWF para o seu ambiente de host (por exemplo, um navegador da Web, um filme do Macromedia Director ou o Flash Player independente), use a funo fscommand(). Essa funo permite estender o seu arquivo SWF usando os recursos do host. Por exemplo, voc pode enviar uma funo fscommand() para uma funo JavaScript em uma pgina HTML que abra uma nova janela do navegador com propriedades especficas. Para controlar um SWF do Flash Player a partir de linguagens de script do navegador da Web, como JavaScript, VBScript e Microsoft JScript, voc pode usar os mtodos do Flash Player, funes que enviam mensagens de um ambiente de host para o SWF. Por exemplo, voc pode ter um link em uma pgina HTML que envie o arquivo SWF para um quadro especfico.

198

Captulo 10: Trabalhando com dados externos

Usando fscommand() Use a funo fscommand() para enviar uma mensagem para qualquer programa que esteja hospedando o Flash Player. A funo fscommand() tem dois parmetros: command e arguments. Para enviar uma mensagem para a verso independente do Flash Player, use comandos e argumentos predefinidos. Por exemplo, a ao a seguir faz com que o exibidor independente dimensione o arquivo SWF para o tamanho de tela cheia quando o usurio solta o boto:
on (release) { fscommand("fullscreen", "true"); }

A tabela a seguir mostra os valores que podem ser especificados para os parmetros command e arguments da funo fscommand() a fim de controlar um arquivo SWF que esteja sendo reproduzido no exibidor independente (incluindo projetores):
Command
quit fullscreen

Arguments Nenhum
true ou false

Objetivo Fecha o projetor. A especificao de true define o Flash Player no modo de tela cheia. A especificao de false retorna o exibidor para a exibio normal de menu. O valor false define o exibidor para que ele sempre desenhe o arquivo SWF em seu tamanho original e nunca redimensionado. O valor true fora o arquivo SWF a ser redimensionado para a escala de 100% do exibidor. A especificao de true ativa o conjunto completo de itens do menu de contexto. A especificao de false torna esmaecidos todos os itens do menu de contexto, exceto Settings (Configuraes) e About Flash Player (Sobre o Flash Player).

allowscale

true ou false

showmenu

true ou false

exec

Caminho para o Executa um aplicativo no projetor. aplicativo

Para usar fscommand() para enviar uma mensagem para uma linguagem de script como JavaScript em um navegador da Web, passe dois parmetros quaisquer em command e arguments. Esses parmetros podem ser seqncias de caracteres ou expresses e sero usados em uma funo JavaScript que captura, ou manipula, a funo fscommand(). Uma funo fscommand() chama a funo JavaScript moviename_DoFSCommand na pgina HTML que incorpora o arquivo SWF, onde moviename o nome do Flash Player atribudo pelo atributo NAME da marca EMBED ou pelo atributo ID da marca OBJECT. Se o nome atribudo ao Flash Player for myMovie, a funo JavaScript chamada ser myMovie_DoFSCommand.

Enviando mensagens para/do Flash Player

199

Para usar fscommand() a fim de abrir uma caixa de mensagem em um arquivo SWF na pgina HTML atravs de JavaScript:

1 Na pgina HTML que incorpora o arquivo SWF, adicione o seguinte cdigo JavaScript:
function theMovie_DoFSCommand(command, args) { if (command == "messagebox") { alert(args); } }

Na publicao do arquivo SWF que usa o Flash com o modelo FSCommand na caixa de dilogo HTML Publish Settings (Configuraes de publicao HTML), esse cdigo ser inserido automaticamente. Os atributos NAME e ID do arquivo SWF sero o nome do arquivo. Por exemplo, para o arquivo myMovie.fla, os atributos sero definidos como myMovie. Para obter mais informaes sobre publicao, consulte Publishing (Publicao) no Using Flash Help (Usando a Ajuda do Flash). Como alternativa, nos aplicativos do Microsoft Internet Explorer, possvel anexar um manipulador de eventos na marca <SCRIPT>, como mostrado neste exemplo:
<Script Language = "JavaScript" event="FSCommand (comando, args)" for= "theMovie"> ... </Script>

2 No documento do Flash, adicione a funo fscommand() a um boto, como mostrado neste

exemplo:
on(press){ fscommand("messagebox", "This is a message box invoked from within Flash."); }

Alm disso, possvel usar expresses para fscommand() e parmetros, como no exemplo a seguir:
fscommand("messagebox", "Hello, " + name + ", welcome to our website!")

3 Escolha File (Arquivo) > Publish Preview (Visualizar publicao) > HTML para testar o

documento. A funo fscommand() pode enviar mensagens ao Macromedia Director que so interpretadas pelo Lingo como seqncias de caracteres, eventos ou cdigo Lingo executvel. Se a mensagem for uma seqncia de caracteres ou um evento, voc dever criar o cdigo Lingo para receb-la a partir da ao fscommand() e executar uma ao no Director. Para obter mais informaes, consulte o Director Support Center (Centro de suporte do Director) em www.macromedia.com/ support/director. No Visual Basic, Visual C++ e em outros programas que podem hospedar controles ActiveX,
fscommand() envia um evento VB com duas seqncias de caracteres que podem ser manipuladas

na linguagem de programao do ambiente. Para obter mais informaes, use as palavras-chave Flash method e faa uma pesquisa no Flash Support Center (Centro de suporte do Flash) em www.macromedia.com/go/flash_support_br.

200

Captulo 10: Trabalhando com dados externos

Sobre os mtodos do Flash Player Voc pode usar os mtodos do Flash Player para controlar um arquivo SWF no Flash Player a partir de linguagens de script de navegador da Web, como JavaScript e VBScript. Como ocorre em outros mtodos, possvel usar os mtodos do Flash Player para enviar chamadas aos arquivos SWF do Flash a partir de um ambiente de script diferente do ActionScript. Cada mtodo possui um nome, e a maioria dos mtodos contm parmetros. Um parmetro especifica o valor com que o mtodo opera. O clculo executado por alguns mtodos retorna um valor que pode ser usado pelo ambiente de script. H duas tecnologias distintas que permitem a comunicao entre o navegador e o Flash Player: LiveConnect (Netscape Navigator 3.0 ou posterior no Windows 95/98/2000/NT ou Power Macintosh) e ActiveX (Internet Explorer 3.0 e posterior no Windows 95/98/2000/NT). Embora as tcnicas de script sejam semelhantes para todos os navegadores e linguagens, h propriedades e eventos adicionais disponveis para uso com os controles ActiveX. Para obter mais informaes, inclusive uma lista completa dos mtodos de script do Flash Player, use as palavras-chave Flash method para fazer uma busca no Flash Support Center (Centro de suporte do Flash) em www.macromedia.com/go/flash_support_br. Sobre o uso de mtodos do Flash JavaScript com o Flash Player O Flash Player 6 verso 40 e posteriores oferece suporte aos mtodos do Flash JavaScript e ao FSCommand no Netscape 6.2 e verses posteriores. As verses anteriores no oferecem suporte aos mtodos do Flash JavaScript e ao FSCommand no Netscape 6.2 ou verses posteriores. Para o Netscape 6.2 e verses posteriores, no necessrio definir swLiveConnect como true. Entretanto, a definio de swLiveConnect como true no tem efeitos adversos.

Recursos de segurana do Flash Player


Por padro, o Flash Player 7 e verses posteriores impedem que um arquivo SWF de um domnio acesse dados, objetos e variveis de arquivos SWF de outros domnios, de forma que eles no podem acessar os objetos e variveis uns dos outros. Alm disso, o contedo que carregado atravs de protocolos no protegidos (no-HTTPS) no pode acessar contedos protegidos (HTTPS), mesmo que os dois estejam exatamente no mesmo domnio. Por exemplo, um arquivo SWF localizado em http://www.macromedia.com/main.swf no pode carregar dados de https://www.macromedia.com/data.txt sem permisso explcita. Da mesma forma, um arquivo SWF de um domnio no pode carregar dados (usando loadVariables(), por exemplo) de outro domnio. Endereos IP numricos idnticos so compatveis. Contudo, um nome de domnio no compatvel com um endereo IP, mesmo que o nome do domnio corresponda ao mesmo endereo IP. A tabela a seguir mostra exemplos de domnios compatveis:
www.macromedia.com data.macromedia.com 65.57.83.12 www.macromedia.com data.macromedia.com 65.57.83.12

Recursos de segurana do Flash Player

201

A tabela a seguir mostra exemplos de domnios incompatveis:


www.macromedia.com macromedia.com www.macromedia.com 65.57.83.12 www.macromedia.com data.macromedia.com www.macromedia.com macromedia.com www.macromedia.com (mesmo que esse domnio corresponda a 65.57.83.12 ) 65.57.83.12 (mesmo que www.macromedia.com corresponda a esse IP)

Para obter informaes sobre como permitir que um arquivo SWF de um domnio acesse dados, objetos e variveis de arquivos SWF de outro domnio, consulte Como permitir acesso a dados entre arquivos SWF de domnios diferentes na pgina 202. Para obter informaes sobre como permitir que um arquivo SWF de um domnio com protocolo seguro (HTTPS) acesse dados, objetos e variveis de arquivos SWF de domnios que usam protocolos inseguros, consulte Sobre a permisso para que arquivos SWF em protocolo HTTP acessem arquivos SWF em HTTPS na pgina 203. Para obter informaes sobre como permitir que um arquivo SWF de um domnio carregue dados (usando loadVariables(), por exemplo) de outro domnio, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Para obter informaes sobre como essas alteraes de segurana afetam o contedo criado no Flash MX e verses anteriores, consulte Sobre compatibilidade com os modelos de segurana anteriores do Flash Player na pgina 205. Como permitir acesso a dados entre arquivos SWF de domnios diferentes Um arquivo SWF pode carregar outro arquivo SWF de qualquer local da Internet. Contudo, para que dois arquivos SWF possam acessar os dados correspondentes (variveis e objetos), os dois arquivos devem ser provenientes do mesmo domnio. Por padro, no Flash Player 7 e verses posteriores, os dois domnios devem ser exatamente iguais para que os dois arquivos possam compartilhar os dados. Entretanto, um arquivo SWF pode conceder acesso a arquivos SWF de domnios especficos, chamando LocalConnection.allowDomain ou System.security.allowDomain(). Por exemplo, suponha que o arquivo main.swf esteja disponvel a partir de www.macromedia.com. Em seguida, esse arquivo SWF carrega outro arquivo SWF (data.swf ) de data.macromedia.com em uma instncia de clipe de filme (target_mc).
// Em macromedia.swf target_mc.loadMovie("http://data.macromedia.com/data.swf");

Alm disso, suponha que data.swf defina um mtodo chamado getData() em sua Timeline principal. Por padro, main.swf no pode chamar o mtodo getData() definido em data.swf depois que esse arquivo tiver sido carregado. Isso ocorre porque os dois arquivos SWF no residem no mesmo domnio. Por exemplo, ocorrer uma falha na chamada de mtodo a seguir em main.swf, caso data.swf tenha sido carregado.
// Em macromedia.swf, aps o carregamento de data.swf: target_mc.getData(); // Essa chamada de mtodo falhar

202

Captulo 10: Trabalhando com dados externos

Entretanto, data.swf pode conceder acesso a arquivos SWF oriundos de www.macromedia.com usando o manipulador LocalConnection.allowDomain ou o mtodo System.security.allowDomain(), dependendo do tipo de acesso desejado. O cdigo a seguir, includo em data.swf, permite que um arquivo SWF disponibilizado a partir de www.macromedia.com acesse suas variveis e mtodos:
// No data.swf System.security.allowDomain("www.macromedia.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="www.macromedia.com"); }

Observe que allowDomain permite a qualquer arquivo SWF do domnio autorizado acessar qualquer arquivo SWF do domnio que permite o acesso, a menos que o arquivo SWF que esteja sendo acessado esteja hospedado em um site que usa um protocolo seguro (HTTPS). Neste caso, voc dever usar allowInsecureDomain em vez de allowDomain; consulte Sobre a permisso para que arquivos SWF em protocolo HTTP acessem arquivos SWF em HTTPS, a seguir. Para obter mais informaes sobre correspondncias de nomes de domnios, consulte Recursos de segurana do Flash Player na pgina 201. Sobre a permisso para que arquivos SWF em protocolo HTTP acessem arquivos SWF em HTTPS Conforme discutido na seo anterior, voc deve usar um manipulador ou mtodo allowDomain para permitir que um arquivo SWF de um domnio seja acessado por um arquivo SWF de outro domnio. Entretanto, se o arquivo SWF que est sendo acessado estiver hospedado em um site que usa protocolo seguro (HTTPS), o manipulador ou mtodo allowDomain no permitir acesso a partir de um arquivo SWF hospedado em um site que usa um protocolo inseguro. Para permitir esse acesso, voc dever usar as instrues LocalConnection.allowInsecure Domain() ou System.security.allowInsecureDomain(). Por exemplo, se o arquivo SWF em https://www.someSite.com/data.swf tiver de permitir o acesso atravs de um arquivo SWF em http://www.someSite.com, o cdigo a seguir adicionado a data.swf permitir tal acesso:
// No data.swf System.security.allowInsecureDomain("www.someSite.com"); my_lc.allowInsecureDomain = function(sendingDomain) { return(sendingDomain=="www.someSite.com"); }

Sobre a autorizao de carga de dados entre domnios Um documento do Flash pode carregar dados de uma origem externa usando uma das seguintes chamadas de carregamento de dados: XML.load(), XML.sendAndLoad(), LoadVars.load(), LoadVars.sendAndLoad(), loadVariables(), loadVariablesNum(). Alm disso, um arquivo SWF pode importar bibliotecas compartilhadas em tempo de execuo ou recursos definidos em outro arquivo SWF durante a execuo. Por padro, os dados ou a mdia do SWF, no caso de bibliotecas compartilhadas em tempo de execuo, devem residir no mesmo domnio do SWF que est carregando esses dados ou mdia externos.

Recursos de segurana do Flash Player

203

Para disponibilizar dados e recursos em bibliotecas compartilhadas em tempo de execuo para arquivos SWF em diferentes domnios, use um arquivo de diretivas entre domnios. Um arquivo de diretivas entre domnios um arquivo XML que fornece um modo ao servidor para indicar que seus dados e documentos esto disponveis aos arquivos SWF atendidos por determinados domnios ou por todos os domnios. Todos os arquivos SWF que so disponibilizados por um domnio especificado pelo arquivo de diretivas do servidor tero permisso para acessar os dados ou recursos daquele servidor. Quando um documento do Flash tenta acessar os dados de outro domnio, o Flash Player tenta automaticamente carregar um arquivo de diretivas daquele domnio. Se o domnio do documento do Flash que est tentando acessar os dados estiver includo no arquivo de diretivas, os dados ficaro automaticamente acessveis. Os arquivos de diretivas devem receber o nome crossdomain.xml e residir no diretrio raiz do servidor que est fornecendo os dados. Os arquivos de diretivas funcionam somente nos servidores que se comunicam atravs de HTTP, HTTPS ou FTP. O arquivo de diretivas especfico da porta e do protocolo do servidor onde ele reside. Por exemplo, um arquivo de diretivas localizado em https://www.macromedia.com:8080/ crossdomain.xml se aplicar somente s chamadas de carregamento de dados feitas a www.macromedia.com atravs do HTTPS na porta 8080. Uma exceo a essa regra o uso de um objeto XMLSocket para conectar a um servidor de soquete em outro domnio. Nesse caso, um servidor HTTP executado na porta 80 do mesmo domnio que o servidor de soquete deve fornecer o arquivo de diretivas para a chamada do mtodo. Um arquivo de diretivas XML contm uma nica marca <cross-domain-policy>, a qual, por sua vez, contm zero ou mais marcas <allow-access-from>. Cada marca <allow-access-from> contm um atributo, domain, que especifica um endereo IP exato, um domnio exato ou um domnio curinga (qualquer domnio). Os domnios curingas so indicados por um asterisco (*), que corresponde a todos os domnios e todos os endereos IP, ou por um asterisco seguido de um sufixo, que corresponde apenas aos domnios terminados com o sufixo especificado. Os sufixos devem ser iniciados com um ponto. Entretanto os domnios curingas com sufixos podem corresponder a domnios compostos somente pelo sufixo, sem o ponto inicial. Por exemplo, foo.com considerado como parte de *.foo.com. Os curingas no so permitidos nas especificaes de domnios IP. Se voc especificar um endereo IP, ser concedido acesso somente a arquivos SWF carregados a partir daquele endereo IP atravs da sintaxe IP (por exemplo, http://65.57.83.12/ flashmovie.swf ), e no para os carregados utilizando a sintaxe de nome de domnio. O Flash Player no executa a resoluo de DNS. A seguir fornecido um exemplo de arquivo de diretivas que permite acesso aos documentos do Flash provenientes de foo.com, friendOfFoo.com, *.foo.com e 105.216.0.40, a partir de um documento do Flash em foo.com:
<?xml version="1.0" ?> <!-- http://www.foo.com/crossdomain.xml --> <cross-domain-policy> <allow-access-from domain="www.friendOfFoo.com" /> <allow-access-from domain="*.foo.com" /> <allow-access-from domain="105.216.0.40" /> <cross-domain-policy>

204

Captulo 10: Trabalhando com dados externos

Um arquivo de diretivas que no contenha marcas <allow-access-from> tem o mesmo efeito de no haver uma diretiva no servidor. Sobre compatibilidade com os modelos de segurana anteriores do Flash Player Em conseqncia das alteraes no recurso de segurana do Flash Player (consulte Recursos de segurana do Flash Player na pgina 201), o contedo que executado corretamente no Flash Player 6 ou nas verses anteriores pode no ser executado corretamente no Flash Player 7 ou verses posteriores. Por exemplo, no Flash Player 6, um arquivo SWF em www.macromedia.com podia acessar os dados de um servidor localizado em data.macromedia.com. Ou seja, o Flash Player 6 permitia que um arquivo SWF de um domnio carregasse dados de um domnio semelhante. No Flash Player 7 e verses posteriores, se um arquivo SWF da verso 6 (ou anterior) tentar carregar dados de um servidor em outro domnio, e esse servidor no fornecer um arquivo de diretivas que permita acesso a partir do domnio daquele arquivo SWF, ser exibida a caixa de dilogo Macromedia Flash Player Settings (Configuraes do Macromedia Flash Player). A caixa de dilogo solicita que o usurio autorize ou negue o acesso aos dados entre domnios.

Se o usurio clicar em Allow (Autorizar), o arquivo SWF ter permisso de acesso aos dados solicitados; se o usurio clicar em Deny (Negar), o arquivo SWF no ter permisso para acessar os dados solicitados. Para evitar que essa caixa de dilogo seja exibida, crie um arquivo de diretivas de segurana no servidor que est fornecendo os dados. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.

Recursos de segurana do Flash Player

205

206

Captulo 10: Trabalhando com dados externos

CAPTULO 11 Trabalhando com mdia externa

Se voc importar uma imagem ou um som durante a criao de um documento no Macromedia Flash MX 2004 ou no Macromedia Flash MX Professional 2004, a imagem e o som sero empacotados e armazenados no arquivo SWF na publicao do filme. Alm de importar mdia durante a criao, possvel carregar mdia externa durante a execuo. H diversos motivos para manter a mdia fora de um documento do Flash.
Reduzir o tamanho do arquivo Ao manter os grandes arquivos de mdia fora do documento do Flash e carreg-los durante a execuo, voc pode reduzir o tempo de download inicial dos aplicativos e apresentaes, principalmente em conexes lentas da Internet. Criar mdulos de apresentaes grandes Voc pode dividir uma apresentao ou um aplicativo grande em vrios arquivos SWF e depois carregar esses arquivos conforme necessrio durante a execuo. Isso no somente reduz o tempo de download inicial, como tambm facilita a manuteno e a atualizao do contedo da apresentao. Separar o contedo da apresentao Este um tema comum no desenvolvimento de aplicativos, principalmente aplicativos orientados a dados. Por exemplo, um aplicativo de carrinho de compras pode exibir uma imagem JPEG de cada produto. Ao carregar os arquivos JPEG de cada imagem durante a execuo, voc pode atualizar facilmente a imagem de um produto sem modificar o arquivo FLA original. Aproveitar os recursos especficos de tempo de execuo Alguns recursos, como fluxo de FLV e reproduo de MP3, s esto disponveis durante a execuo atravs do ActionScript.

Viso geral de carregamento de mdia externa


Existem quatro tipos de arquivos de mdia que podem ser carregados em um aplicativo Flash durante a execuo: SWF, MP3, JPEG e FLV. O Flash Player pode carregar mdia externa de qualquer endereo HTTP ou FTP, de um disco local usando um caminho relativo ou por meio do protocolo file://. Para carregar arquivos SWF e JPEG externos, voc pode usar a funo loadMovie() ou loadMovieNum(), ou o mtodo MovieClip.loadMovie(). Ao carregar um arquivo SWF ou JPEG, especifique um clipe de filme ou nvel de filme como o destino para aquela mdia. Para obter mais informaes sobre como carregar arquivos SWF e JPEG, consulte Carregando arquivos SWF e JPEG externos na pgina 208.

207

Para reproduzir um arquivo MP3 externo (MPEG Layer 3), use o mtodo loadSound() da classe Sound. Esse mtodo permite especificar se o fluxo ou o download do arquivo MP3 deve ser totalmente concludo antes de ser iniciada a reproduo. Tambm possvel ler as informaes de ID3 incorporadas nos arquivos MP3, se estiverem disponveis. Para obter mais informaes, consulte Lendo marcas de ID3 em arquivos MP3 na pgina 210. O Flash Video (FLV) o formato de vdeo nativo usado pelo Flash Player. possvel reproduzir arquivos FLV atravs do HTTP ou do sistema local de arquivos. A reproduo de arquivos FLV oferece diversas vantagens em relao incorporao de vdeo em um documento do Flash, como melhor gerenciamento de desempenho e memria, alm de taxas de quadros de vdeo e do Flash independentes. Para obter mais informaes, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211. Voc tambm pode pr-carregar ou acompanhar o andamento do download da mdia externa. O Flash Player 7 apresenta a classe MovieClipLoader, que pode ser usada para acompanhar o andamento do download de arquivos SWF ou JPEG. Para pr-carregar arquivos MP3 e FLV, possvel usar o mtodo getBytesLoaded() da classe Sound e a propriedade bytesLoaded da classe NetStream. Para obter mais informaes, consulte Pr-carregando mdia externa na pgina 212.

Carregando arquivos SWF e JPEG externos


Para carregar um arquivo SWF ou JPEG, use a funo global loadMovie() ou loadMovieNum(), ou o mtodo loadMovie() da classe MovieClip. Para carregar um arquivo SWF ou JPEG em um nvel no Flash Player, use loadMovieNum(). Para carregar um arquivo SWF ou JPEG em um destino de clipe de filme, use a funo ou o mtodo loadMovie(). Em qualquer um dos casos, o contedo carregado substitui o contedo do nvel especificado ou do destino de clipe de filme. Quando voc carrega um arquivo SWF ou JPEG em um destino de clipe de filme, o canto superior esquerdo do arquivo SWF ou imagem JPEG posicionado no ponto de registro do clipe de filme. Como geralmente esse ponto de registro o centro do clipe de filme, o contedo carregado pode no aparecer centralizado. Alm disso, quando voc carrega um arquivo SWF ou uma imagem JPEG em uma Timeline (Linha de tempo) raiz, o canto superior esquerdo da imagem posicionado no canto superior esquerdo do Stage (Palco). O contedo carregado herda a rotao e o dimensionamento do clipe de filme, mas o contedo original do clipe do filme removido. Como opo, voc pode enviar variveis do ActionScript com uma chamada loadMovie() ou Isso ser til, por exemplo, se o URL que est sendo especificado na chamada do mtodo for um script de servidor que retorna um arquivo JPEG ou SWF de acordo com os dados passados pelo aplicativo do Flash.
loadMovieNum().

No caso dos arquivos de imagem, o Flash oferece suporte apenas para o tipo de arquivo de imagem JPEG padro, e no para JPEG progressivos. Ao usar a funo loadMovie() ou loadMovieNum(), especifique o nvel ou clipe de destino como um parmetro. Por exemplo, o cdigo a seguir carrega o aplicativo contents.swf do Flash na instncia de clipe de filme chamada target_mc:
loadMovieNum("contents.swf", target_mc);

Do mesmo modo, voc pode usar MovieClip.loadMovie() para obter o mesmo resultado:
target_mc.loadMovie("contents.swf");

208

Captulo 11: Trabalhando com mdia externa

O cdigo a seguir carrega a imagem JPEG flowers.jpg na instncia de clipe de filme image_clip:
image_clip.loadMovie("flowers.jpg");

Para obter mais informaes sobre loadMovie(), loadMovieNum() e MovieClip.loadMovie(), consulte as entradas correspondentes no Captulo 12, Dicionrio do ActionScript, na pgina 219. Sobre arquivos SWF e a Timeline raiz A propriedade ActionScript _root especifica ou retorna uma referncia Timeline raiz de um arquivo SWF. Se voc carregar um arquivo SWF em um clipe de filme dentro de outro arquivo SWF, todas as referncias a _root no arquivo SWF carregado indicaro a Timeline raiz do arquivo SWF host e no a do arquivo SWF carregado. Isso s vezes pode ocasionar um comportamento inesperado durante a execuo como, por exemplo, se tanto o arquivo SWF do host quanto o arquivo SWF carregado usarem _root para especificar uma varivel. No Flash Player 7 e verses posteriores, possvel usar a propriedade MovieClip._lockroot para forar que as referncias a _root feitas por um clipe de filme sejam resolvidas para sua prpria Timeline, em vez de para a Timeline do arquivo SWF que contm o clipe de filme. Para obter mais informaes, consulte Especificando uma Timeline raiz para arquivos SWF carregados na pgina 131. Sobre o acesso a dados em arquivos SWF carregados Um arquivo SWF pode carregar outro arquivo SWF de qualquer local da Internet. Entretanto, para que um arquivo SWF acesse dados (variveis, mtodos etc.) definidos no outro arquivo SWF, ambos os arquivos devem ter o mesmo domnio como origem. No Flash Player 7 e verses posteriores, os scripts entre domnios so proibidos, a menos que o arquivo SWF carregado indique o contrrio chamando System.security.allowDomain().
System.security.allowDomain()

Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 201 e no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Carregando arquivos MP3 externos


Para carregar arquivos MP3 durante a execuo, use o mtodo loadSound() da classe Sound. Inicialmente, crie um objeto Sound:
var song_1_sound = new Sound();

Em seguida, use o novo objeto para chamar loadSound() e carregar um evento ou um fluxo de som. Os sons de evento so totalmente carregados antes da reproduo; os fluxos de som so reproduzidos durante o download. Defina o parmetro isStreaming de loadSound para especificar um som como um som de evento ou um fluxo de som. Depois de carregar um som de evento, chame o mtodo start() da classe Sound para reproduzir o som. Os fluxos de som comeam a ser reproduzidos quando h dados suficientes carregados no arquivo SWF; no necessrio usar start(). Por exemplo, o cdigo a seguir cria um objeto Sound chamado classical e, em seguida, carrega um arquivo MP3 chamado beethoven.mp3:
var classical:Sound = new Sound(); classical.loadSound("http://server.com/mp3s/beethoven.mp3", true);

Carregando arquivos MP3 externos

209

Na maioria dos casos, defina o parmetro isStreaming como true, principalmente se estiver carregando arquivos de sons grandes que devem iniciar a reproduo assim que for possvel, por exemplo, ao criar um aplicativo jukebox MP3. Contudo, se estiver fazendo download de clipes de som menores e precisar reproduzi-los em um determinado momento (por exemplo, quando o usurio clica em um boto), dever definir isStreaming como false.
Sound.onLoad. Esse manipulador de eventos recebe automaticamente um valor ou false) que indica se o download do arquivo foi concludo com sucesso.

Para determinar se o download de um som foi concludo, use o manipulador de eventos Booleano (true

Por exemplo, suponha que voc esteja criando um jogo on-line que utilize diferentes sons dependendo do nvel que o usurio alcanou no jogo. O cdigo a seguir carrega um arquivo MP3 (blastoff.mp3) em um objeto Sound chamado gameSound e, em seguida, reproduz o som quando o download tiver sido concludo:
var gameSound = new Sound(); gameSound.onLoad = function (loadedOK) { if(loadedOK) { gameSound.start(); } } gameSound.loadSound("http://server.com/sounds/blastoff.mp3", false);

Nos arquivos de som, o Flash Player s oferece suporte para os tipos de arquivo de som MP3. Para obter mais informaes, consulte Sound.loadSound(), Sound.start() e Sound.onLoad no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Lendo marcas de ID3 em arquivos MP3


As marcas de ID3 so campos de dados adicionados a um arquivo MP3 que contm informaes sobre o arquivo, como o nome da msica, o nome do lbum e o nome do artista. Para ler as marcas de ID3 de um arquivo MP3, use a propriedade Sound.ID3 cujas propriedades correspondem aos nomes das marcas ID3 includas no arquivo MP3 que est sendo carregado. Para determinar quando as marcas de ID3 de um arquivo MP3 que est sendo carregado estaro disponveis, use o manipulador de eventos Sound.onID3. O Flash Player 7 oferece suporte a marcas das verses 1.0, 1.1, 2.3 e 2.4. No h suporte para marcas da verso 2.2. Por exemplo, o cdigo a seguir carrega um arquivo MP3 denominado favoriteSong.mp3 no objeto Sound chamado song. Quando as marcas de ID3 do arquivo estiverem disponveis, um campo de texto chamado display_txt exibir o nome do artista e o nome da msica.
var song = new Sound(); song.onID3 = function () { display_txt.text = "Artist: " + song.id3.TCOM + newline; display_txt.text += "Song: " + song.id3.TIT2); } song.loadSound("mp3s/favoriteSong.mp3, true");

Como as marcas do ID3 2.0 se localizam no incio do arquivo MP3 (antes dos dados de som), elas ficam disponveis assim que o download do arquivo iniciado. As marcas do ID3 1.0, entretanto, se localizam no final do arquivo (depois dos dados de som) e, conseqentemente, s ficaro disponveis quando o download de todo o arquivo MP3 tiver terminado.

210

Captulo 11: Trabalhando com mdia externa

O manipulador de eventos onID3 chamado sempre que estiverem disponveis novos dados ID3. Isso significa que se um arquivo MP3 contiver marcas do ID3 2.0 e marcas do ID3 1.0, o manipulador onID3 ser chamado duas vezes, pois as marcas estaro localizadas em partes diferentes do arquivo. Para obter uma lista de marcas ID3 suportadas, consulte Sound.ID3 na pgina 726.

Reproduzindo arquivos FLV externos dinamicamente


Como uma alternativa importao de vdeos para o ambiente de criao do Flash, voc pode usar o ActionScript para reproduzir dinamicamente arquivos FLV externos no Flash Player. Os arquivos FLV podem ser reproduzidos de um endereo HTTP ou do sistema local de arquivos. Para reproduzir arquivos FLV, use as classes NetConnection e NetStream, e o mtodo attachVideo() da classe Video. (Para obter informaes completas, consulte as entradas Classe NetConnection, Classe NetStream e Video.attachVideo() no Captulo 12, Dicionrio do ActionScript, na pgina 219.) Voc pode criar arquivos FLV importando o vdeo para a ferramenta de criao do Flash e exportando-o como um arquivo FLV. Consulte Macromedia Flash Video (FLV) no Using Flash Help (Ajuda de Usando o Flash). Se voc tiver o Flash Professional, poder usar o plug-in FLV Export para exportar arquivos FLV de aplicativos de edio de vdeo suportados. Consulte Exporting FLV files from video-editing applications (Flash Professional only) (Exportando arquivos FLV de aplicativos de edio de vdeo [somente Flash Professional]) no Using Flash Help (Ajuda de Usando o Flash). O uso de arquivos FLV externos oferece certos recursos que no esto disponveis quando voc usa vdeo importado:

possvel usar clipes de vdeo mais longos nos documentos do Flash sem diminuir a velocidade
de reproduo. Os arquivos FLV externos so reproduzidos usando a memria cache. Isso significa que arquivos grandes so armazenados em partes pequenas e acessados dinamicamente. Alm disso, eles no exigem tanta memria quanto os arquivos de vdeo incorporados. Um arquivo FLV externo tem uma taxa de quadros diferente do documento do Flash no qual reproduzido. Por exemplo, voc pode definir a taxa de quadros do documento do Flash como 30 qps e a taxa de quadros do vdeo como 21 qps. Isso proporciona um maior controle para garantir uma reproduo suave do vdeo. Com os arquivos FLV externos, a reproduo de documentos do Flash no precisa ser interrompida enquanto o arquivo de vdeo est sendo carregado. Os arquivos de vdeo importados s vezes podem interromper a reproduo do documento para executar determinadas funes; por exemplo, acessar uma unidade de CD-ROM. Os arquivos FLV podem executar funes independentemente do documento do Flash e, desse modo, no interrompem a reproduo. Com arquivos FLV externos, mais fcil criar legendas do contedo do vdeo, pois voc pode usar manipuladores de eventos para acessar os metadados do vdeo.

Os procedimentos a seguir mostram como voc pode reproduzir um arquivo chamado videoFile.flv que est armazenado no mesmo local que o seu arquivo SWF.

Reproduzindo arquivos FLV externos dinamicamente

211

Para reproduzir um arquivo FLV externo em um documento do Flash:

1 Com o documento aberto na ferramenta de criao do Flash, no painel Library (Biblioteca),

2 3 4 5 6 7

acessado a partir de Window (Janela) > Library, selecione New Video (Novo vdeo) no menu de opes da biblioteca para criar um objeto de vdeo. Arraste um objeto de vdeo do painel Library para o Stage (Palco). Isto criar uma instncia de objeto de vdeo. Com o objeto de vdeo selecionado no Stage, no inspetor Properties (Propriedades), em Window > Properties, informe my_video na caixa de texto Instance Name (Nome da instncia). Abra o painel Components (Componentes), em Window > Development Panels (Painis de desenvolvimento) > Components, e arraste o componente TextArea para o Stage. Com o objeto TextArea selecionado no Stage, insira status na caixa de texto Instance Name do inspetor Properties. Selecione Frame 1 (Quadro 1) na Timeline (Linha de tempo) e abra o painel Actions (Aes) em Window > Development Panels > Actions. Adicione o seguinte cdigo ao painel Actions:
// Cria um objeto NetConnection: var netConn:NetConnection = new NetConnection(); // Criar uma conexo de fluxo local: netConn.connect(null); // Cria um objeto NetStream e define uma funo onStatus(): var netStream:NetStream = new NetStream(netConn); netStream.onStatus = function(infoObject) { status.text += "Status (NetStream)" + newline; status.text += "Level: "+infoObject.level + newline; status.text += "Code: "+infoObject.code + newline; }; // Anexa o vdeo NetStream ao objeto Video: my_video.attachVideo(netStream); // Define o tempo do buffer: netStream.setBufferTime(5); // Reproduz o arquivo FLV: netStream.play("videoFile.flv");

Pr-carregando mdia externa


O ActionScript oferece diversas formas de pr-carregar ou acompanhar o andamento do download de mdia externa. Para pr-carregar arquivos SWF e JPEG, use a classe MovieClipLoader, que fornece um mecanismo de ouvinte de eventos para verificar o andamento do download. Essa classe nova no Flash Player 7. Para obter mais informaes, consulte Pr-carregando arquivos SWF e JPEG na pgina 213. Para controlar o andamento do download de arquivos MP3, use os mtodos Sound.getBytesLoaded() e Sound.getBytesTotal(); para controlar o andamento do download de arquivos FLV, use as propriedades NetStream.bytesLoaded e NetStream.bytesTotal. Para obter mais informaes, consulte Pr-carregando arquivos MP3 e FLV na pgina 214.

212

Captulo 11: Trabalhando com mdia externa

Pr-carregando arquivos SWF e JPEG Para pr-carregar arquivos SWF e JPEG em instncias de clipe de filme, use a Classe MovieClipLoader. Essa classe fornece um mecanismo de ouvinte de eventos para informar sobre o status dos downloads de arquivos em clipes de filmes. O uso de um objeto MovieClipLoader para pr-carregar arquivos SWF e JPEG envolve as seguintes etapas:
Criar um novo objeto MovieClipLoader Voc pode usar um nico objeto MovieClipLoader para controlar o andamento do download de vrios arquivos ou criar um objeto separado para o andamento de cada arquivo. var loader:MovieClipLoader = new MovieClipLoader(); Criar um objeto ouvinte e manipuladores de eventos

O objeto ouvinte pode ser qualquer objeto do ActionScript, como um objeto Object genrico, um clipe de filme ou um componente personalizado.

Por exemplo, o cdigo a seguir cria um objeto ouvinte genrico chamado loadListener e define para ele mesmo as funes onLoadStart, onLoadProgress e onLoadComplete.
// Cria objeto ouvinte: var loadListener:Object = new Object(); loadListener.onLoadStart = function (loadTarget) { trace("Loading into " + loadTarget + " has started."); } loadListener.onLoadProgress = function(loadTarget, bytesLoaded, bytesTotal) { var percentLoaded = bytesLoaded/bytesTotal * 100; trace("%" + percentLoaded + " into target " + loadTarget); } loadListener.onLoadComplete = function(loadTarget) { trace("Load completed into: " + loadTarget); } Registrar o objeto ouvinte com o objeto MovieClipLoader Para que o objeto ouvinte receba os eventos de carregamento, registre-o com o objeto MovieClipLoader. loader.addListener(loadListener); Comear a carregar o arquivo (JPEG ou SWF) em um clipe de destino Para iniciar o download do arquivo JPEG ou SWF, use o mtodo MovieClipLoader.loadClip(). loader.loadClip("scene_2.swf"); Observao: Somente os mtodos MovieClipLoader podem ser usados para controlar o andamento do download de arquivos carregados com o mtodo MovieClipLoader.loadClip(). No possvel usar a funo loadMovie() nem o mtodo MovieClip.loadMovie().

O exemplo a seguir usa o mtodo setProgress() do componente ProgressBar para exibir o andamento do download de um arquivo SWF. Consulte o ProgressBar component (Componente ProgressBar) no Using Components Help (Ajuda de Usando componentes).
Para exibir o andamento do download usando o componente ProgressBar:

1 Em um novo documento do Flash, crie um clipe de filme no Stage e atribua a ele o nome
target_mc.

2 Abra o painel Components (Window > Development Panels > Components). 3 Arraste um componente ProgressBar do painel Components at o Stage. 4 No inspetor Properties, atribua o nome pBar ao componente ProgressBar e, na guia Parameters

(Parmetros), selecione Manual no menu pop-up Mode (Modo).

Pr-carregando mdia externa

213

5 Selecione Frame1 na Timeline e abra o painel Actions (Window > Development Panels >

Actions).
6 Adicione o seguinte cdigo ao painel Actions:
// cria um objeto MovieClipLoader e um objeto ouvinte myLoader = new MovieClipLoader(); myListener = new Object(); // adiciona os retornos de MovieClipLoader ao seu objeto ouvinte myListener.onLoadStart = function(clip) { //esse evento ativado uma vez, no incio do carregamento pBar.label = "Now loading: " + clip; }; myListener.onLoadProgress = function(clip, bytesLoaded, bytesTotal) { var percentLoaded = int (100*(bytesLoaded/bytesTotal)); pBar.setProgress(bytesLoaded, bytesTotal); };myLoader.addListener(myListener); myLoader.loadClip("veryLargeFile.swf", target_mc);

7 Teste o documento selecionando Control (Controlar) > Test Movie (Testar filme).

Para obter mais informaes, consulte a entrada Classe MovieClipLoader em Captulo 12, Dicionrio do ActionScript, na pgina 219. Pr-carregando arquivos MP3 e FLV Para pr-carregar arquivos MP3 e FLV, use a funo setInterval() a fim de criar um mecanismo de pesquisa que verifique os bytes carregados para um objeto Sound ou NetStream em intervalos predeterminados. Para controlar o andamento do download de arquivos MP3, use os mtodos Sound.getBytesLoaded() e Sound.getBytesTotal(); para controlar o andamento do download de arquivos FLV, use as propriedades NetStream.bytesLoaded e NetStream.bytesTotal. O cdigo a seguir usa setInterval() para verificar os bytes carregados para um objeto Sound ou NetStream em intervalos predeterminados.
// Cria um novo objeto Sound para reproduzir o som. var songTrack = new Sound(); // Cria a funo de pesquisa que controla o andamento do download. // Esta a funo que "pesquisada". Ela verifica // o andamento do download do objeto Sound passado como referncia. checkProgress = function (soundObj) { var bytesLoaded = soundObj.getBytesLoaded(); var bytesTotal = soundObj.getBytesTotal(); var percentLoaded = Math.floor(bytesLoaded/bytesTotal * 100); trace("%" + percentLoaded + " loaded."); } // Quando o arquivo tiver sido carregado, limpa a pesquisa do intervalo. songTrack.onLoad = function () { clearInterval(poll); } // Carrega o arquivo MP3 de fluxo e comea a chamar checkProgress() songTrack.loadSound("beethoven.mp3", true); var poll = setInterval(checkProgress, 1000, songTrack);

possvel usar esse mesmo tipo de tcnica de pesquisa para pr-carregar arquivos FLV externos. Para obter o total de bytes e o nmero atual de bytes carregados para um arquivo FLV, use as propriedades NetStream.bytesLoaded e NetStream.bytesTotal.

214

Captulo 11: Trabalhando com mdia externa

Outra maneira de pr-carregar arquivos FLV usar o mtodo NetStream.setBufferTime() . Esse mtodo usa um nico parmetro que indica o nmero de segundos do fluxo de FLV para download antes de a reproduo ser iniciada. Para obter mais informaes, consulte MovieClip.getBytesLoaded(), MovieClip.getBytesTotal(), NetStream.bytesLoaded, NetStream.bytesTotal, NetStream.setBufferTime(), setInterval(), Sound.getBytesLoaded() e Sound.getBytesTotal() no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Pr-carregando mdia externa

215

216

Captulo 11: Trabalhando com mdia externa

PARTE V Referncia

PARTE V

Esta parte contm o ActionScript Dictionary (Dicionrio do ActionScript), que fornece informaes sobre a sintaxe e o uso de cada elemento da linguagem ActionScript. Ela tambm contm apndices com o material de referncia a ser consultado durante a criao dos scripts. Captulo 12: Dicionrio do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Apndice A: Mensagens de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 Apndice B: Associatividade e precedncia de operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 Apndice C: Teclas do teclado e valores de cdigos de teclas. . . . . . . . . . . . . . . . . . . . . . . . . . 911 Apndice D: Criando scripts para verses anteriores do Flash Player . . . . . . . . . . . . . . . . . . . 917 Apndice E: Programao orientada a objeto com o ActionScript 1 . . . . . . . . . . . . . . . . . . . . 921

CAPTULO 12 Dicionrio do ActionScript

Este dicionrio descreve a sintaxe e o uso dos elementos do ActionScript no Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004. Para usar exemplos em um script, copie o cdigo de exemplo deste dicionrio e cole-o no painel Script ou em um arquivo de script externo. O dicionrio lista todos os elementos do ActionScript: operadores, palavras-chave, instrues, aes, propriedades, funes, classes e mtodos. Para ter uma viso geral de todas as entradas do dicionrio, consulte Contedo do dicionrio na pgina 221. As tabelas desta seo representam um bom comeo para a verificao dos operadores simblicos ou mtodos cuja classe seja desconhecida. Para obter informaes sobre componentes, consulte Using Components (Usando componentes). H dois tipos de entradas neste dicionrio:

Entradas individuais para operadores, palavras-chave, funes, variveis, propriedades,


mtodos e instrues

Entradas de classes, que fornecem informaes gerais sobre classes internas


Use as informaes nas entradas de exemplo para interpretar a estrutura e as convenes usadas nesses dois tipos de entrada.

Exemplo de entrada da maioria dos elementos do ActionScript


O exemplo de entrada do dicionrio a seguir explica as convenes usadas para todos os elementos do ActionScript que no so classes. Ttulo da entrada Todas as entradas so listadas em ordem alfabtica. A ordem ignora maisculas e minsculas, sublinhados no incio e assim por diante.
Disponibilidade

Salvo indicao em contrrio, a seo Disponibilidade informa as verses do Flash Player que oferecem suporte ao elemento. Isso no o mesmo que a verso do Flash usada para criar o contedo. Por exemplo, se o Macromedia Flash MX 2004 ou o Macromedia Flash MX Professional 2004 forem usados para criar contedo para o Flash Player 6, somente os elementos do ActionScript que estiverem disponveis para o Flash Player 6 podero ser usados. Em alguns casos, essa seo tambm indica a verso da ferramenta de criao que oferece suporte a um elemento. Por exemplo, consulte System.setClipboard().

219

Por fim, se um elemento suportado apenas no ActionScript 2.0, essa informao tambm registrada nessa seo.
Uso

Esta seo fornece a sintaxe correta para usar o elemento do ActionScript em seu cdigo. A parte obrigatria da sintaxe est na fonte Code e o cdigo fornecido pelo usurio est na fonte Code em itlico. Os colchetes ([]) indicam parmetros opcionais.
Parmetros

Esta seo descreve qualquer parmetro listado na sintaxe.


Retorna

Esta seo identificar quais valores, se houver algum, sero retornados pelo elemento.
Descrio

Esta seo identifica o tipo de elemento (por exemplo, um operador, um mtodo, uma funo etc.) e, em seguida, descreve como us-lo.
Exemplo

Esta seo fornece um exemplo de cdigo que demonstra como usar o elemento.
Consulte tambm

Esta seo lista entradas do Dicionrio do ActionScript relacionadas.

Exemplo de entrada de classes


O seguinte exemplo de entrada do dicionrio explica as convenes usadas para exibir classes internas do ActionScript. As classes so apresentadas em ordem alfabtica com todos os outros elementos do dicionrio. Ttulo da entrada O ttulo da entrada fornece o nome da classe. O nome da classe seguido por informaes descritivas gerais. Tabelas de resumo de mtodo e propriedade Cada entrada de classe contm uma tabela com todos os mtodos associados. Se a classe tiver propriedades (normalmente constantes), manipuladores de eventos ou ouvintes de eventos, esses elementos sero apresentados resumidamente em tabelas adicionais. Todos os elementos listados nessas tabelas tambm possuem suas prprias entradas de dicionrio, que seguem a entrada da classe. Construtor Caso uma classe exija o uso de um construtor para acessar seus mtodos e propriedades,o construtor ser descrito em cada entrada de classe. Essa descrio tem todos os elementos padres (sintaxe, descrio etc.) das outras entradas do dicionrio.

220

Captulo 12: Dicionrio do ActionScript

Listagens de mtodos e propriedades Os mtodos e propriedades de uma classe so apresentados em ordem alfabtica depois da entrada da classe.

Contedo do dicionrio
Todas as entradas do dicionrio so listadas em ordem alfabtica. Contudo, alguns operadores so smbolos e so apresentados na ordem ASCII. Alm disso, os mtodos associados a uma classe so apresentados com o nome da classe, por exemplo, o mtodo abs() da classe Math aparece como Math.abs(). As duas tabelas a seguir o ajudaro a localizar esses elementos. A primeira lista os operadores simblicos na ordem em que ocorrem no dicionrio. A segunda lista todos os outros elementos do ActionScript.
Operadores simblicos
++ ! != !== % %= & && &= () * *= , . : ?: / // /* /= []

Consulte a entrada
(decremento) ++ (incremento) ! (NOT lgico) != (diferena) !== (diferena estrita) % (mdulo) %= (atribuio de mdulo) & (operador AND bit a bit) && (AND lgico) &= (atribuio AND bit a bit) () (parnteses) (menos) * (multiplicao) *= (atribuio de multiplicao) , (vrgula) . (ponto) : (tipo) ?: (condicional) / (diviso) // (delimitador de comentrio) /* (delimitador de comentrio) /= (atribuio de diviso) [] (acesso de array)

Contedo do dicionrio

221

Operadores simblicos
^ ^= {} | || |= ~ + += < << <<= <= <> = -= == === > >= >> >>= >>> >>>=

Consulte a entrada
^ (XOR bit a bit) ^= (atribuio XOR bit a bit) {} (inicializador de objeto) | (OR bit a bit) || (OR lgico) |= (atribuio OR bit a bit) ~ (NOT bit a bit) + (adio) += (atribuio de adio) < (menor que) << (deslocamento para a esquerda bit a bit) <<= (deslocamento para a esquerda bit a bit e atribuio) <= (menor que ou igual a) <> (diferena) = (atribuio) -= (atribuio de subtrao) == (igualdade) === (igualdade estrita) > (maior que) >= (maior que ou igual a) >> (deslocamento para a direita bit a bit) >>= (deslocamento para a direita bit a bit e atribuio) >>> (deslocamento para a direita bit a bit sem sinal) >>>= (deslocamento para a direita bit a bit sem sinal e atribuio)

A tabela a seguir lista todos os elementos do ActionScript que no so operadores simblicos.


Elemento do ActionScript
#endinitclip #include #initclip __proto__ _accProps _alpha

Consulte a entrada
#endinitclip #include #initclip Object.__proto__ _accProps MovieClip._alpha, Button._alpha, TextField._alpha

222

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
_currentframe _droptarget _focusrect _framesloaded _global _height _highquality

Consulte a entrada
MovieClip._currentframe MovieClip._droptarget _focusrect, Button._focusrect, MovieClip._focusrect MovieClip._framesloaded Objeto _global Button._height, MovieClip._height, TextField._height _highquality, Button._highquality, MovieClip._highquality, TextField._highquality MovieClip._lockroot Button._name, MovieClip._name, TextField._name _parent, Button._parent, MovieClip._parent, TextField._parent _quality, Button._quality, TextField._quality _root Button._rotation, MovieClip._rotation, TextField._rotation _soundbuftime, Button._soundbuftime, MovieClip._soundbuftime, TextField._soundbuftime Button._target, MovieClip._target, TextField._target MovieClip._totalframes Button._url, MovieClip._url, TextField._url Button._visible, MovieClip._visible, TextField._visible Button._width, MovieClip._width, TextField._width Button._x, MovieClip._x, TextField._x Button._xmouse, MovieClip._xmouse, TextField._xmouse Button._xscale, MovieClip._xscale, TextField._xscale Button._y, MovieClip._y, TextField._y Button._ymouse, MovieClip._ymouse, TextField._ymouse Button._yscale, MovieClip._yscale, TextField._yscale Math.abs() Classe Accessibility Math.acos() Camera.activityLevel, Microphone.activityLevel add

_lockroot _name _parent _quality _root _rotation _soundbuftime

_target _totalframes _url _visible _width _x _xmouse _xscale _y _ymouse _yscale abs Accessibility acos activityLevel add

Contedo do dicionrio

223

Elemento do ActionScript
addListener

Consulte a entrada
Key.addListener(), Mouse.addListener(), MovieClipLoader.addListener(), Selection.addListener(), Stage.addListener(), TextField.addListener() PrintJob.addPage() Object.addProperty() LoadVars.addRequestHeader(), XML.addRequestHeader() Stage.align, TextFormat.align LocalConnection.allowDomain, System.security.allowDomain() LocalConnection.allowInsecureDomain, System.security.allowInsecureDomain() and XML.appendChild() Function.apply() Classe Arguments Classe Array, Array() asfunction Math.asin() Math.atan() Math.atan2() MovieClip.attachAudio() MovieClip.attachMovie() Sound.attachSound() Video.attachVideo() XML.attributes TextField.autoSize System.capabilities.avHardwareDisable TextField.background TextField.backgroundColor Key.BACKSPACE Camera.bandwidth MovieClip.beginFill() MovieClip.beginGradientFill() TextFormat.blockIndent TextFormat.bold

addPage addProperty addRequestHeader align allowDomain allowInsecureDomain

and appendChild apply Arguments Array asfunction asin atan atan2 attachAudio attachMovie attachSound attachVideo attributes autosize avHardwareDisable background backgroundColor BACKSPACE bandwidth beginFill beginGradientFill blockIndent bold

224

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
Boolean border borderColor bottomScroll break bufferLength bufferTime builtInItems bullet Button bytesLoaded bytesTotal call callee caller Camera capabilities CAPSLOCK caption case catch ceil charAt charCodeAt childNodes chr class clear clearInterval cloneNode close Color concat

Consulte a entrada
Boolean(), Classe Boolean TextField.border TextField.borderColor TextField.bottomScroll break NetStream.bufferLength NetStream.bufferTime ContextMenu.builtInItems TextFormat.bullet Classe Button NetStream.bytesLoaded NetStream.bytesTotal call(), Function.call() arguments.callee arguments.caller Classe Camera Objeto System.capabilities Key.CAPSLOCK ContextMenuItem.caption case try..catch..finally Math.ceil() String.charAt() String.charCodeAt() XML.childNodes chr class MovieClip.clear(), SharedObject.clear(), Video.clear() clearInterval() XML.cloneNode() LocalConnection.close(), NetStream.close(), XMLSocket.close() Classe Color, TextFormat.color Array.concat(), String.concat()

Contedo do dicionrio

225

Elemento do ActionScript
connect

Consulte a entrada
LocalConnection.connect(), NetConnection.connect(), XMLSocket.connect() TextField.condenseWhite Classe Array, Classe Boolean, Classe Camera, Classe Color, Classe ContextMenu, Classe ContextMenuItem, Classe Date, Classe Error, Classe LoadVars, Classe LocalConnection, Classe Microphone, Classe NetConnection, Classe NetStream, Classe Number, Classe Object, Classe PrintJob, Classe SharedObject, Classe Sound, Classe String, Classe TextField.StyleSheet, Classe TextFormat, Classe XML, Classe XMLSocket LoadVars.contentType, XML.contentType Classe ContextMenu Classe ContextMenuItem continue Key.CONTROL ContextMenu.copy(), ContextMenuItem.copy() Math.cos() XML.createElement() MovieClip.createEmptyMovieClip() MovieClip.createTextField() XML.createTextNode() Camera.currentFps, NetStream.currentFps MovieClip.curveTo() Classe CustomActions ContextMenu.customItems SharedObject.data Classe Date Video.deblocking default delete Key.DELETEKEY do while XML.docTypeDecl LocalConnection.domain() Key.DOWN duplicateMovieClip(), MovieClip.duplicateMovieClip()

condenseWhite constructor

contentType ContextMenu ContextMenuItem continue CONTROL copy cos createElement createEmptyMovieClip createTextField createTextNode currentFps curveTo CustomActions customItems data Date deblocking default delete DELETEKEY do while docTypeDecl domain DOWN duplicateMovieClip

226

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
duration dynamic E else else if embedFonts enabled END endFill ENTER eq Error ESCAPE (constante) escape (funo) eval exactSettings exp extends false finally findText firstChild floor flush focusEnabled font for for..in fps fromCharCode fscommand function gain ge

Consulte a entrada
Sound.duration dynamic Math.E else else if TextField.embedFonts Button.enabled, ContextMenuItem.enabled, MovieClip.enabled Key.END MovieClip.endFill() Key.ENTER eq (igual especfico de seqncia de caracteres) Classe Error Key.ESCAPE escape eval() System.exactSettings Math.exp() extends false try..catch..finally TextSnapshot.findText() XML.firstChild Math.floor() SharedObject.flush() MovieClip.focusEnabled TextFormat.font for for..in Camera.fps String.fromCharCode() fscommand() function, Classe Function Microphone.gain ge (maior que ou igual a especfico de seqncia de caracteres)

Contedo do dicionrio

227

Elemento do ActionScript
get getAscii getBeginIndex getBounds getBytesLoaded

Consulte a entrada
Camera.get(), CustomActions.get(), get, Microphone.get() Key.getAscii() Selection.getBeginIndex() MovieClip.getBounds() LoadVars.getBytesLoaded(), MovieClip.getBytesLoaded(), Sound.getBytesLoaded(), XML.getBytesLoaded() LoadVars.getBytesTotal(), MovieClip.getBytesTotal(), Sound.getBytesTotal(), XML.getBytesTotal() Selection.getCaretIndex() Key.getCode() TextSnapshot.getCount() Date.getDate() Date.getDay() Button.getDepth(), MovieClip.getDepth(), TextField.getDepth() Selection.getEndIndex() Selection.getFocus() TextField.getFontList() Date.getFullYear() Date.getHours() MovieClip.getInstanceAtDepth() SharedObject.getLocal() Date.getMilliseconds() Date.getMinutes() Date.getMonth() TextField.getNewTextFormat() MovieClip.getNextHighestDepth() Sound.getPan() MovieClipLoader.getProgress() getProperty Color.getRGB() Date.getSeconds() TextSnapshot.getSelected() TextSnapshot.getSelectedText() SharedObject.getSize()

getBytesTotal

getCaretIndex getCode getCount getDate getDay getDepth getEndIndex getFocus getFontList getFullYear getHours getInstanceAtDepth getLocal getMilliseconds getMinutes getMonth getNewTextFormat getNextHighestDepth getPan getProgress getProperty getRGB getSeconds getSelected getSelectedText getSize

228

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
getStyle getStyleNames getSWFVersion getText getTextExtent getTextFormat getTextSnapshot getTime getTimer getTimezoneOffset getTransform getURL getUTCDate getUTCDay getUTCFullYear getUTCHours getUTCMilliseconds getUTCMinutes getUTCMonth getUTCSeconds getVersion getVolume getYear globalToLocal goto gotoAndPlay gotoAndStop gt hasAccessibility hasAudio hasAudioEncoder hasChildNodes hasEmbeddedVideo hasMP3

Consulte a entrada
TextField.StyleSheet.getStyle() TextField.StyleSheet.getStyleNames() MovieClip.getSWFVersion() TextSnapshot.getText() TextFormat.getTextExtent() TextField.getTextFormat() MovieClip.getTextSnapshot() Date.getTime() getTimer Date.getTimezoneOffset() Color.getTransform(), Sound.getTransform() getURL(), MovieClip.getURL() Date.getUTCDate() Date.getUTCDay() Date.getUTCFullYear() Date.getUTCHours() Date.getUTCMilliseconds() Date.getUTCMinutes() Date.getUTCMonth() Date.getUTCSeconds() getVersion Sound.getVolume() Date.getYear() MovieClip.globalToLocal() gotoAndPlay(), gotoAndStop() gotoAndPlay(), MovieClip.gotoAndPlay() gotoAndStop(), MovieClip.gotoAndStop() gt (maior que especfico de seqncia de caracteres) System.capabilities.hasAccessibility System.capabilities.hasAudio System.capabilities.hasAudioEncoder XML.hasChildNodes() System.capabilities.hasEmbeddedVideo System.capabilities.hasMP3

Contedo do dicionrio

229

Elemento do ActionScript
hasPrinting hasScreenBroadcast hasScreenPlayback hasStreamingAudio hasStreamingVideo hasVideoEncoder height hide hideBuiltInItems hitArea hitTest hitTestTextNearPos HOME hscroll html htmlText ID3 if ifFrameLoaded ignoreWhite implements import indent index indexOf Infinity -Infinity INSERT insertBefore install instanceof int interface isActive

Consulte a entrada
System.capabilities.hasPrinting System.capabilities.hasScreenBroadcast System.capabilities.hasScreenPlayback System.capabilities.hasStreamingAudio System.capabilities.hasStreamingVideo System.capabilities.hasVideoEncoder Camera.height, Stage.height, Video.height Mouse.hide() ContextMenu.hideBuiltInItems() MovieClip.hitArea MovieClip.hitTest() TextSnapshot.hitTestTextNearPos() Key.HOME TextField.hscroll TextField.html TextField.htmlText Sound.ID3 if ifFrameLoaded XML.ignoreWhite implements import TextFormat.indent Camera.index, Microphone.index String.indexOf() Infinity -Infinity Key.INSERT XML.insertBefore() CustomActions.install() instanceof int interface Accessibility.isActive()

230

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
isDebugger isDown isFinite isNaN isToggled italic join Key language lastChild lastIndexOf le leading LEFT leftMargin length

Consulte a entrada
System.capabilities.isDebugger Key.isDown() isFinite isNaN() Key.isToggled() TextFormat.italic Array.join() Classe Key System.capabilities.language XML.lastChild String.lastIndexOf() le (menor que ou igual a especfico de seqncia de caracteres) TextFormat.leading Key.LEFT TextFormat.leftMargin length, arguments.length, Array.length, String.length, TextField.length _level MovieClip.lineStyle() MovieClip.lineTo() CustomActions.list() Math.LN10 Math.LN2 LoadVars.load(), TextField.StyleSheet.load(), XML.load(), MovieClipLoader.loadClip() LoadVars.loaded, XML.loaded loadMovie(), MovieClip.loadMovie() loadMovieNum() Sound.loadSound() loadVariables(), MovieClip.loadVariables() loadVariablesNum() Classe LoadVars Classe LocalConnection System.capabilities.localFileReadDisable

level lineStyle lineTo list LN10 LN2 load loadClip loaded loadMovie loadMovieNum loadSound loadVariables loadVariablesNum LoadVars LocalConnection localFileReadDisable

Contedo do dicionrio

231

Elemento do ActionScript
localToGlobal log LOG10E LOG2E lt manufacturer Math max MAX_VALUE maxChars maxhscroll maxscroll mbchr mblength mbord mbsubstring menu message Microphone min MIN_VALUE MMExecute motionLevel motionTimeOut Mouse mouseWheelEnabled moveTo MovieClip MovieClipLoader multiline muted name names

Consulte a entrada
MovieClip.localToGlobal() Math.log() Math.LOG10E Math.LOG2E lt (menor que especfico de seqncia de caracteres) System.capabilities.manufacturer Classe Math Math.max() Number.MAX_VALUE TextField.maxChars TextField.maxhscroll maxscroll, TextField.maxscroll mbchr mblength mbord mbsubstring Button.menu, MovieClip.menu, TextField.menu Error.message Classe Microphone Math.min() Number.MIN_VALUE MMExecute() Camera.motionLevel Camera.motionTimeOut Classe Mouse TextField.mouseWheelEnabled MovieClip.moveTo() Classe MovieClip Classe MovieClipLoader TextField.multiline Camera.muted, Microphone.muted Error.name, Microphone.name Camera.names, Microphone.names

232

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
NaN ne NEGATIVE_INFINITY NetConnection NetStream new (operador) newline nextFrame nextScene nextSibling nodeName nodeType nodeValue not Null Number Object on onActivity onChanged onClipEvent onClose onConnect onData onDragOut onDragOver onEnterFrame onID3 onKeyDown onKeyUp onKillFocus onLoad

Consulte a entrada
NaN, Number.NaN ne (diferente especfico de seqncia de caracteres) Number.NEGATIVE_INFINITY Classe NetConnection Classe NetStream new newline nextFrame(), MovieClip.nextFrame() nextScene() XML.nextSibling XML.nodeName XML.nodeType XML.nodeValue not null Number(), Classe Number Classe Object, Object() on() Camera.onActivity, Microphone.onActivity TextField.onChanged onClipEvent() XMLSocket.onClose() XMLSocket.onConnect() LoadVars.onData, MovieClip.onData, XML.onData, XMLSocket.onData() Button.onDragOut, MovieClip.onDragOut Button.onDragOver, MovieClip.onDragOver MovieClip.onEnterFrame Sound.onID3 Button.onKeyDown, Key.onKeyDown, MovieClip.onKeyDown Button.onKeyUp, Key.onKeyUp, MovieClip.onKeyUp Button.onKillFocus, MovieClip.onKillFocus, TextField.onKillFocus LoadVars.onLoad, MovieClip.onLoad, Sound.onLoad, TextField.StyleSheet.onLoad, XML.onLoad() MovieClipLoader.onLoadComplete()

onLoadComplete

Contedo do dicionrio

233

Elemento do ActionScript
onLoadError onLoadInit onLoadProgress onLoadStart onMouseDown onMouseMove onMouseUp onMouseWheel onPress onRelease onReleaseOutisde onResize onRollOut onRollOver onScroller onSelect onSetFocus

Consulte a entrada
MovieClipLoader.onLoadError() MovieClipLoader.onLoadInit() MovieClipLoader.onLoadProgress() MovieClipLoader.onLoadStart() Mouse.onMouseDown, MovieClip.onMouseDown Mouse.onMouseMove, MovieClip.onMouseMove Mouse.onMouseUp, MovieClip.onMouseUp Mouse.onMouseWheel Button.onPress, MovieClip.onPress Button.onRelease, MovieClip.onRelease Button.onReleaseOutside, MovieClip.onReleaseOutside Stage.onResize Button.onRollOut, MovieClip.onRollOut Button.onRollOver, MovieClip.onRollOver TextField.onScroller ContextMenu.onSelect, ContextMenuItem.onSelect Button.onSetFocus, MovieClip.onSetFocus, Selection.onSetFocus, TextField.onSetFocus Sound.onSoundComplete Camera.onStatus, LocalConnection.onStatus, Microphone.onStatus, NetStream.onStatus, SharedObject.onStatus, System.onStatus MovieClip.onUnload onUpdate XMLSocket.onXML() or ord System.capabilities.os XML.parentNode TextField.StyleSheet.parseCSS() parseFloat() parseInt XML.parseXML() TextField.password NetStream.pause()

onSoundComplete onStatus

onUnload onUpdate onXML or (OR lgico) ord os parentNode parseCSS parseFloat parseInt parseXML password pause

234

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
PGDN PGUP PI pixelAspectRatio play playerType pop position POSITIVE_INFINITY pow prevFrame previousSibling prevScene print printAsBitmap printAsBitmapNum PrintJob printNum private prototype public push quality random rate registerClass removeListener

Consulte a entrada
Key.PGDN Key.PGUP Math.PI System.capabilities.pixelAspectRatio play(), MovieClip.play(), NetStream.play() System.capabilities.playerType Array.pop() Sound.position Number.POSITIVE_INFINITY Math.pow() prevFrame(), MovieClip.prevFrame() XML.previousSibling prevScene() print() printAsBitmap() printAsBitmapNum() Classe PrintJob printNum() private Function.prototype public Array.push() Camera.quality random, Math.random() Microphone.rate Object.registerClass() Key.removeListener(), Mouse.removeListener(), MovieClipLoader.removeListener(), Selection.removeListener(), Stage.removeListener(), TextField.removeListener() removeMovieClip(), MovieClip.removeMovieClip() XML.removeNode() TextField.removeTextField() TextField.replaceSel() TextField.replaceText()

removeMovieClip removeNode removeTextField replaceSel replaceText

Contedo do dicionrio

235

Elemento do ActionScript
resolutionX resolutionY restrict return reverse RIGHT rightMargin round scaleMode screenColor screenDPI screenResolutionX screenResolutionY scroll seek selectable Selection send

Consulte a entrada
System.capabilities.screenResolutionX System.capabilities.screenResolutionY TextField.restrict return Array.reverse() Key.RIGHT TextFormat.rightMargin Math.round() Stage.scaleMode System.capabilities.screenColor System.capabilities.screenDPI System.capabilities.screenResolutionX System.capabilities.screenResolutionY scroll, TextField.scroll NetStream.seek() TextField.selectable Classe Selection LoadVars.send(), LocalConnection.send(), PrintJob.send(), XML.send(), XMLSocket.send() LoadVars.sendAndLoad(), XML.sendAndLoad() ContextMenuItem.separatorBefore System.capabilities.serverString set set variable NetStream.setBufferTime() System.setClipboard() Date.setDate() Selection.setFocus() Date.setFullYear() Microphone.setGain() Date.setHours() setInterval() MovieClip.setMask() Date.setMilliseconds()

sendAndLoad separatorBefore serverString set set variable setBufferTime setClipboard setDate setFocus setFullYear setGain setHours setInterval setMask setMilliseconds

236

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
setMinutes setMode setMonth setMotionLevel setNewTextFormat setPan setProperty setQuality setRate setRGB setSeconds setSelectColor setSelected setSelection setSilenceLevel setStyle setTextFormat setTime setTransform

Consulte a entrada
Date.setMinutes() Camera.setMode() Date.setMonth() Camera.setMotionLevel() TextField.setNewTextFormat() Sound.setPan() setProperty() Camera.setQuality() Microphone.setRate() Color.setRGB() Date.setSeconds() TextSnapshot.setSelectColor() TextSnapshot.setSelected() Selection.setSelection() Microphone.setSilenceLevel() TextField.StyleSheet.setStyle() TextField.setTextFormat() Date.setTime() Color.setTransform(), Sound.setTransform()

setUseEchoSuppression Microphone.setUseEchoSuppression() setUTCDate setUTCFullYear setUTCHours setUTCMilliseconds setUTCMinutes setUTCMonth setUTCSeconds setVolume setYear SharedObject SHIFT (constante) shift (mtodo) show showMenu Date.setUTCDate() Date.setUTCFullYear() Date.setUTCHours() Date.setUTCMilliseconds() Date.setUTCMinutes() Date.setUTCMonth() Date.setUTCSeconds() Sound.setVolume() Date.setYear() Classe SharedObject Key.SHIFT Array.shift() Mouse.show() Stage.showMenu

Contedo do dicionrio

237

Elemento do ActionScript
showSettings silenceLevel silenceTimeout sin size slice smoothing sort sortOn Sound SPACE splice split sqrt SQRT1_2 SQRT2 Stage start startDrag static status stop stopAllSounds stopDrag String StyleSheet (classe) styleSheet (propriedade) substr substring super swapDepths switch System

Consulte a entrada
System.showSettings() Microphone.silenceLevel() Microphone.silenceTimeout() Math.sin() TextFormat.size Array.slice(), String.slice() Video.smoothing Array.sort() Array.sortOn() Classe Sound Key.SPACE Array.splice() String.split() Math.sqrt() Math.SQRT1_2 Math.SQRT2 Classe Stage PrintJob.start(), Sound.start() startDrag(), MovieClip.startDrag() static XML.status stop(), MovieClip.stop(), Sound.stop() stopAllSounds() stopDrag(), MovieClip.stopDrag() Classe String, String() Classe TextField.StyleSheet TextField.styleSheet String.substr() substring, String.substring() super MovieClip.swapDepths() switch Classe System

238

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
TAB tabChildren tabEnabled tabIndex tabStops tan target targetPath tellTarget text textColor TextField TextFormat textHeight TextSnapshot textWidth this throw time toggleHighQuality toLowerCase toString

Consulte a entrada
Key.TAB MovieClip.tabChildren Button.tabEnabled, MovieClip.tabEnabled, TextField.tabEnabled Button.tabIndex, MovieClip.tabIndex, TextField.tabIndex TextFormat.tabStops Math.tan() TextFormat.target targetPath tellTarget TextField.text TextField.textColor Classe TextField Classe TextFormat TextField.textHeight Objeto TextSnapshot TextField.textWidth this throw NetStream.time toggleHighQuality() String.toLowerCase() Array.toString(), Boolean.toString(), Date.toString(), Error.toString(), LoadVars.toString(), Number.toString(), Object.toString(), XML.toString() String.toUpperCase() trace() Button.trackAsMenu, MovieClip.trackAsMenu true try..catch..finally TextField.type typeof undefined TextFormat.underline unescape CustomActions.uninstall()

toUpperCase trace trackAsMenu true try type typeof undefined underline unescape uninstall

Contedo do dicionrio

239

Elemento do ActionScript
unloadClip unloadMovie unLoadMovieNum unshift unwatch UP updateAfterEvent updateProperties url useCodePage useEchoSuppression useHandCursor UTC valueOf var variable version Video visible void watch while width with wordwrap XML xmlDecl XMLNode XMLSocket

Consulte a entrada
MovieClipLoader.unloadClip() unloadMovie(), MovieClip.unloadMovie() unloadMovieNum() Array.unshift() Object.unwatch() Key.UP updateAfterEvent() Accessibility.updateProperties() TextFormat.url System.useCodepage Microphone.useEchoSuppression() Button.useHandCursor, MovieClip.useHandCursor Date.UTC() Boolean.valueOf(), Number.valueOf(), Object.valueOf() var TextField.variable System.capabilities.version Classe Video ContextMenuItem.visible void Object.watch() while Camera.width, Stage.width, Video.width with TextField.wordWrap Classe XML XML.xmlDecl Classe XMLNode Classe XMLSocket

240

Captulo 12: Dicionrio do ActionScript

(decremento)
Disponibilidade

Flash Player 4.
Uso expresso expresso Parmetros

Nenhum.
Retorna

Um nmero.
Descrio

Operador (aritmtico); um operador unrio pr-decremento e ps-decremento que subtrai 1 da expresso. A forma pr-decremento do operador (expresso) subtrai 1 da expresso e retorna o resultado. A forma ps-decremento do operador (expresso) subtrai 1 da expresso e retorna o valor inicial da expresso (o resultado anterior subtrao).
Exemplo

A forma pr-decremento do operador decrementa x para 2 (x - 1 = 2) e retorna o resultado como y:


x = 3; y = --x; //y igual a 2

A forma ps-decremento do operador decrementa x para 2 (x - 1 = 2) e retorna o valor original de x como o resultado y:
x = 3; y = x-//y igual a 3

(decremento)

241

++ (incremento)
Disponibilidade

Flash Player 4.
Uso ++expresso expresso++ Parmetros

Nenhum.
Retorna

Um nmero.
Descrio

Operador (aritmtico); um operador unrio pr-incremento e ps-incremento que soma 1 expresso. A expresso pode ser uma varivel, um elemento de um array ou uma propriedade de um objeto. A forma pr-incremento do operador (++expresso) soma 1 expresso e retorna o resultado. A forma ps-incremento do operador (expresso++) soma 1 expresso e retorna o valor inicial da expresso (o resultado anterior adio). A forma pr-incremento do operador incrementa x para 2 (x + 1 = 2) e retorna o resultado como y:
x = 1; y = ++x //y igual a 2

A forma ps-incremento do operador incrementa x para 2 (x + 1 = 2) e retorna o valor original de x como o resultado y:
x = 1; y = x++; //y igual a 1 Exemplo

O exemplo a seguir usa ++ como operador ps-incremento para fazer com que um loop while seja executado cinco vezes.
i = 0; while(i++ < 5){ trace("isto a execuo " + i); }

Este exemplo usa ++ como operador pr-incremento:


var a = []; var i = 0; while (i < 10) { a.push(++i); } trace(a.join());

Este script exibe o seguinte resultado no painel Output (Sada):


1,2,3,4,5,6,7,8,9,10

242

Captulo 12: Dicionrio do ActionScript

O exemplo a seguir usa ++ como operador ps-incremento:


var a = []; var i = 0; while (i < 10) { a.push(i++); } trace(a.join());

Este script exibe o seguinte resultado no painel Output:


0,1,2,3,4,5,6,7,8,9

++ (incremento)

243

! (NOT lgico)
Disponibilidade

Flash Player 4.
Uso !expresso Parmetros

Nenhum.
Retorna

Um valor booleano.
Descrio

Operador (lgico); inverte o valor booleano de uma varivel ou expresso. Se expresso for uma varivel com o valor absoluto ou convertido true, o valor de !expresso ser false. Se a expresso x && y for avaliada como false, a expresso !(x && y) ser avaliada como true. As expresses a seguir ilustram o resultado do uso do operador !:
!true

retorna false retorna true

!false Exemplo

No exemplo a seguir, a varivel happy definida como false. A condio if avalia a condio !happy e, se ela for true, a ao trace() enviar uma seqncia de caracteres para o painel Output (Sada).
happy = false; if (!happy){ trace("dont worry, be happy"); }

244

Captulo 12: Dicionrio do ActionScript

!= (diferena)
Disponibilidade

Flash Player 5.
Uso expresso1 != expresso2 Parmetros

Nenhum.
Retorna

Um valor booleano.
Descrio

Operador (diferena); testa o oposto exato do operador ==. Se expresso1 for igual a expresso2, o resultado ser false. Assim como o operador ==, a definio de igual depende dos tipos de dados comparados.

Nmeros, seqncias de caracteres e valores booleanos so comparados por valor. Variveis, objetos, arrays e funes so comparadas por referncia.
Exemplo

O exemplo a seguir ilustra o resultado do operador !=:


5 != 8 5 != 5

retorna true retorna false

Este exemplo ilustra o uso do operador != em uma instruo if.


a = "David"; b = "Tolo" if (a != b){ trace("David no um tolo"); } Consulte tambm !== (diferena estrita), == (igualdade), === (igualdade estrita)

!= (diferena)

245

!== (diferena estrita)


Disponibilidade

Flash Player 6.
Uso expresso1 !== expresso2 Descrio

Operador; testa o oposto exato do operador ===. O operador diferena estrita executa a mesma operao que o operador diferena, exceto a converso dos tipos de dados. Se expresso1 for igual a expresso2 e os tipos de dados forem iguais, o resultado ser false. Assim como o operador ===, a definio de igual depende dos tipos de dados comparados.

Nmeros, seqncias de caracteres e valores booleanos so comparados por valor. Variveis, objetos, arrays e funes so comparados por referncia.
Exemplo

O cdigo a seguir exibe o valor retornado de operaes que usam os operadores de igualdade, igualdade estrita e diferena estrita.
s1 = new String("5"); s2 = new String("5"); s3 = new String("Ol"); n = new Number(5); b = new Boolean(true); s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 == == == == === === === === !== !== !== !== s2; // true s3; // false n; // true b; // false s2; // true s3; // false n; // false b; // false s2; // false s3; // true n; // true b; // true

Consulte tambm != (diferena), == (igualdade), === (igualdade estrita)

246

Captulo 12: Dicionrio do ActionScript

% (mdulo)
Disponibilidade

Flash Player 4. Em arquivos do Flash 4, o operador % expandido no arquivo SWF como x - int(x/y) * y e pode no ser to rpido ou preciso quanto nas verses posteriores do Flash Player.
Uso expresso1 % expresso2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador (aritmtico); calcula o resto da expresso1 dividida por expresso2. Se um dos parmetros da expresso no for numrico, o operador mdulo tentar convert-lo(s) em nmeros. A expresso pode ser um nmero ou uma seqncia de caracteres convertida em um valor numrico.
Exemplo

A seguir apresentado um exemplo numrico que usa o operador mdulo (%).


trace (12 % 5); // retorna 2 trace (4.3 % 2.1); // retorna aproximadamente 0,1

% (mdulo)

247

%= (atribuio de mdulo)
Disponibilidade

Flash Player 4.
Uso expresso1 %= expresso2 Parmetros

Nenhum.
Retorna

Nada.
Descrio expresso2. x %= y x = x % y Exemplo

Operador (atribuio composta aritmtica); atribui a expresso1 o valor de expresso1 % Por exemplo, as duas expresses a seguir so idnticas:

O exemplo a seguir atribui o valor 4 varivel x.


x = 14; y = 5; trace(x %= y); // retorna 4 Consulte tambm % (mdulo)

248

Captulo 12: Dicionrio do ActionScript

& (operador AND bit a bit)


Disponibilidade

Flash Player 5. No Flash 4, o operador & era usado para concatenar seqncias de caracteres. No Flash 5 e posteriores, o operador & um AND bit a bit e os operadores add e + devem ser usados para concatenar seqncias de caracteres. Os arquivos do Flash 4 que usam o operador & so atualizados automaticamente para usarem add quando trazidos para o ambiente de criao do Flash 5 ou posterior.
Uso expresso1 & expresso2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits sem sinal e executa uma operao AND booleana em cada bit dos parmetros inteiros. O resultado um novo inteiro de 32 bits sem sinal.

& (operador AND bit a bit)

249

&& (AND lgico)


Disponibilidade

Flash Player 4.
Uso expresso1 && expresso2 Parmetros

Nenhum.
Retorna

Um valor booleano.
Descrio

Operador (lgico); executa uma operao booleana nos valores de uma ou de ambas as expresses. Ele avaliar a expresso1 (a expresso do lado esquerdo do operador) e retornar false se a expresso for avaliada como false. Se a expresso1 for avaliada como true, ento a expresso2 (a expresso do lado direito do operador) ser avaliada. Se a expresso2 for avaliada como true, o resultado final ser true; caso contrrio, ser false.
Exemplo

Este exemplo usa o operador && para realizar um teste e determinar se um jogador venceu o jogo. As variveis rodadas e placar so atualizadas quando for a vez de um jogador ou quando esse marcar um ponto durante o jogo. O script abaixo exibir a mensagem Voc venceu o jogo! no painel Output (Sada) quando a pontuao do jogador atingir 75, ou mais, em 3 rodadas, ou menos.
rodadas=2; placar=77; vencedor = (rodadas <= 3) && (placar >= 75); if (vencedor) { trace("Voc venceu o jogo!"); } else { trace("Tente novamente!"); }

250

Captulo 12: Dicionrio do ActionScript

&= (atribuio AND bit a bit)


Disponibilidade

Flash Player 5.
Uso expresso1 &= expresso2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador; atribui o valor de expresso1 & expresso2 para expresso1. Por exemplo, as duas expresses a seguir so idnticas.
x &= y; x = x & y; Exemplo

O exemplo a seguir atribui o valor 9 a x.


x = 15; y = 9; trace(x &= y); // retorna 9 Consulte tambm & (operador AND bit a bit)

&= (atribuio AND bit a bit)

251

() (parnteses)
Disponibilidade

Flash Player 4.
Uso (expresso1, expresso2) funo(parmetro1,..., parmetroN) Parmetros expresso1, expresso2 funo

Nmeros, seqncias de caracteres, variveis ou texto.

A funo a ser executada no contedo entre parnteses.

parmetro1...parmetroN Uma srie de parmetros que devem ser executados antes de os resultados serem transferidos como parmetros para a funo fora dos parnteses. Retorna

Nada.
Descrio

Operador; executa uma operao de agrupamento em um ou mais parmetros, ou envolve um ou mais parmetros e os passa como parmetros para uma funo fora dos parnteses. Uso 1: Controla a ordem de execuo dos operadores na expresso. Os parnteses substituem a ordem de precedncia normal e fazem com que as expresses neles inseridas sejam avaliadas em primeiro lugar. Quando os parnteses esto aninhados, o contedo dos parnteses mais internos avaliado antes do contedo dos mais externos. Uso 2: Envolve um ou mais parmetros e os passa como parmetros para a funo fora dos parnteses.
Exemplo

Uso 1: As instrues a seguir ilustram o uso de parnteses para controlar a ordem de execuo das expresses. O valor de cada expresso exibido abaixo de cada linha da seguinte maneira:
trace((2 + 3) * (4 + 5)); // exibe 45 trace(2 + (3 * (4 + 5))); // exibe 29 trace(2 + (3 * 4) + 5); // exibe 19

Uso 2: Os exemplos a seguir ilustram o uso de parnteses com funes.


getDate(); invoice(item, quantidade); function traceParameter(param){ trace(param); } traceParameter(2*2); Consulte tambm with

252

Captulo 12: Dicionrio do ActionScript

(menos)
Disponibilidade

Flash Player 4.
Uso

(Negao) -expresso (Subtrao) expresso1 - expresso2


Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador (aritmtico); usado para negao ou subtrao. Uso 1: Quando usado para negao, reverte o sinal da expresso numrica. Uso 2: Quando usado para subtrao, executa uma subtrao aritmtica em duas expresses numricas, subtraindo expresso2 de expresso1. Quando ambas as expresses so inteiras, a diferena um inteiro. Quando uma ou ambas as expresses so nmeros de ponto flutuante, a diferena um nmero de ponto flutuante.
Exemplo

Uso 1: A instruo a seguir reverte o sinal da expresso 2 + 3.


-(2 + 3)

O resultado -5. Uso 2: A instruo a seguir subtrai o inteiro 2 do inteiro 5.


5 - 2

O resultado 3, que um inteiro. Uso 2: A instruo a seguir subtrai o nmero de ponto flutuante 1,5 do nmero de ponto flutuante 3,25.
3.25 - 1.5

O resultado 1,75, que um nmero de ponto flutuante.

(menos)

253

* (multiplicao)
Disponibilidade

Flash Player 4.
Uso expresso1 * expresso2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador (aritmtico); multiplica duas expresses numricas. Se ambas as expresses forem inteiras, o produto ser um inteiro. Se uma ou ambas as expresses forem nmeros de ponto flutuante, o produto ser um nmero de ponto flutuante.
Exemplo

Uso 1: A instruo a seguir multiplica os inteiros 2 e 3.


2 * 3

O resultado 6, que um inteiro. Uso 2: Esta instruo multiplica os nmeros de ponto flutuante 2,0 e 3,1416.
2.0 * 3.1416

O resultado 6,2832, que um nmero de ponto flutuante.

254

Captulo 12: Dicionrio do ActionScript

*= (atribuio de multiplicao)
Disponibilidade

Flash Player 4.
Uso expresso1 *= expresso2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador (atribuio composta aritmtica); atribui a expresso1 o valor da expresso1 * expresso2. Por exemplo, as duas expresses a seguir so idnticas:
x *= y x = x * y Exemplo

Uso 1: O exemplo a seguir atribui o valor 50 varivel x.


x = 5; y = 10; trace (x *= y); // retorna 50

Uso 2: A segunda e a terceira linhas do exemplo a seguir calculam as expresses do lado direito do sinal de igual e atribuem os resultados a x e y.
i = 5; x = 4 - 6; y = i + 2; trace(x *= y); // retorna -14 Consulte tambm * (multiplicao)

*= (atribuio de multiplicao)

255

, (vrgula)
Disponibilidade

Flash Player 4.
Uso expresso1, expresso2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador; avalia expresso1, depois expresso2 e retorna o valor de expresso2. Esse operador usado principalmente com a instruo de loop for.
Exemplo

O exemplo de cdigo a seguir usa um operador vrgula:


var a=1, b=2, c=3;

Isso equivalente a escrever o seguinte cdigo:


var a=1; var b=2; var c=3;

256

Captulo 12: Dicionrio do ActionScript

. (ponto)
Disponibilidade

Flash Player 4.
Uso objeto.propriedade_ou_mtodo nome_da_instncia.varivel nome_da_instncia.instncia_filha.varivel Parmetros objeto Uma instncia de uma classe. O objeto pode ser uma instncia de qualquer uma das classes internas do ActionScript ou de uma classe personalizada. Esse parmetro est sempre esquerda do operador ponto (.). propriedade_ou_mtodo O nome de uma propriedade ou de um mtodo associado ao objeto. Todas as propriedades e mtodos vlidos das classes internas so apresentados nas tabelas de resumo de mtodos e propriedades da classe. Esse parmetro sempre est direita do operador ponto (.). nome_da_instncia instncia_filha varivel

O nome da instncia de um clipe de filme.

Uma instncia do clipe de filme que seja filha do clipe do filme principal, ou que esteja nele aninhada. Uma varivel na Timeline (Linha de tempo) do nome da instncia do clipe de filme esquerda do operador ponto (.).

Retorna

Nada.
Descrio

Operador; usado para navegar por hierarquias de clipes de filmes, para acessar clipes de filmes, variveis ou propriedades (filhas) aninhados. O operador ponto usado tambm para testar ou definir as propriedades de um objeto, executar um mtodo de um objeto ou criar uma estrutura de dados.
Exemplo

A instruo a seguir identifica o valor atual da varivel corCabelo no clipe de filme pessoa_mc.
pessoa_mc.corCabelo

Isso equivale seguinte sintaxe do Flash 4:


/pessoa_mc:corCabelo

. (ponto)

257

: (tipo)
Disponibilidade

Flash Player 6.
Uso [modificadores] [var] nomeVarivel:[tipo] function nomeFuno():[tipo] { ... } function nomeFuno(parmetro1[:tipo], ... , parmetroN[:tipo]) { ... } Parmetros nomeVarivel tipo

Um identificador de uma varivel.

Um tipo de dados nativo, um nome de classe que tenha sido definido ou um nome de interface. Um identificador de uma funo. Um identificador de um parmetro de uma funo.

nomeFuno parmetro Descrio

Operador; especifica o tipo da varivel, o tipo de retorno da funo ou o tipo de parmetro da funo. Quando usado em uma atribuio ou em uma declarao de varivel, esse operador especifica o tipo da varivel; quando usado em uma declarao ou definio de funo, esse operador especifica o tipo de retorno da funo; quando usado com um parmetro de funo em uma definio de funo, esse operador especifica o tipo da varivel esperado para esse parmetro. Os tipos so um recurso de tempo de compilao somente. Todos os tipos so verificados em tempo de compilao e geram-se erros quando h incompatibilidades. Para obter mais informaes, consulte Apndice A, Mensagens de erro, na pgina 903. Incompatibilidade de tipos podem ocorrer durante operaes de atribuio, chamadas de funo e referncia a membro de classe usando o operador ponto (.). Para evitar a incompatibilidade de tipos, use a atribuio explcita de tipos (consulte Atribuio estrita de tipos de dados na pgina 41). Os tipos que podem ser usados incluem todos os tipos de objetos nativos, classes e interfaces que sejam definidos pelo usurio e Void e Function (que existem somente como tipos, no como objetos). Os tipos nativos reconhecidos so Array, Boolean, Button, Color, CustomActions, Date, Function, LoadVars, LocalConnection, Microphone, MovieClip, NetConnection, NetStream, Number, Object, SharedObject, Sound, String, TextField, TextFormat, Video, Void, XML, XMLNode e XMLSocket.
Exemplo

Uso 1: O exemplo a seguir declara uma varivel pblica denominada nomeUsurio cujo tipo String e atribui uma seqncia de caracteres vazia a ela.
public var nomeUsurio:String = "";

Uso 2: Este exemplo demonstra como especificar o tipo de parmetro de uma funo. O cdigo a seguir define uma funo denominada setDate() que requer um parmetro denominado dataAtual do tipo Date.
function setDate(dataAtual:Date) { this.date = dataAtual; }

258

Captulo 12: Dicionrio do ActionScript

Uso 3: O cdigo a seguir define uma funo denominada raizQuad(), que requer um parmetro denominado val do tipo Number, e retorna a raiz quadrada de val, tambm um tipo Number.
function raizQuad(val:Number):Number { return Math.sqrt(val); }

?: (condicional)
Disponibilidade

Flash Player 4.
Uso expresso1 ? Parmetros expresso1 Uma expresso que resulta em um valor booleano, normalmente uma expresso de comparao como x < 5. expresso2, expresso3 Retorna expresso2 : expresso3

Valores de qualquer tipo.

Nada.
Descrio

Operador; instrui o Flash a avaliar a expresso1 e, se o valor da expresso1 for true, ele retornar o valor da expresso2; caso contrrio, retornar o valor da expresso3.
Exemplo

A instruo a seguir atribui o valor da varivel x varivel z, pois a expresso1 foi avaliada como true:
x = 5; y = 10; z = (x < 6) ? x: y; trace (z); // retorna 5

?: (condicional)

259

/ (diviso)
Disponibilidade

Flash Player 4.
Uso expresso1 / expresso2 Parmetros expresso Retorna

Um nmero ou uma varivel que avalia um nmero.

Nada.
Descrio

Operador (aritmtico); divide expresso1 por expresso2. O resultado da operao de diviso um nmero de dupla preciso e ponto flutuante.
Exemplo

A instruo a seguir divide o nmero de ponto flutuante 22,0 por 7,0 e exibe o resultado no painel Output (Sada).
trace(22.0 / 7.0);

O resultado 3,1429, que um nmero de ponto flutuante.

260

Captulo 12: Dicionrio do ActionScript

// (delimitador de comentrio)
Disponibilidade

Flash 1.
Uso // comentrio Parmetros comentrio Retorna

Quaisquer caracteres.

Nada.
Descrio

Comentrio; indica o incio de um comentrio de script. Qualquer caractere que aparea entre o delimitador de comentrio // e o caractere de fim de linha ser interpretado como comentrio e ignorado pelo interpretador ActionScript.
Exemplo

Este script usa delimitadores de comentrio para identificar a primeira, terceira, quinta e stima linhas como comentrios.
// registra a posio ballX = ball._x; // registra a posio ballY = ball._y; // registra a posio batX = bat._x; // registra a posio batY = bat._y; Consulte tambm /* (delimitador de comentrio) X do clipe de filme ball Y do clipe de filme ball X do clipe de filme bat Y do clipe de filme bat

// (delimitador de comentrio)

261

/* (delimitador de comentrio)
Disponibilidade

Flash Player 5.
Uso /* comentrio */ /* comentrio comentrio */ Parmetros comentrio Retorna

Quaisquer caracteres.

Nada.
Descrio

Comentrio; indica uma ou mais linhas de comentrios de script. Quaisquer caracteres que apaream entre a marca de comeo de comentrio /* e a marca de fechamento de comentrio */ so interpretados como comentrios e ignorados pelo interpretador ActionScript. Use o primeiro tipo de sintaxe para identificar comentrios de uma linha. Use o segundo tipo de sintaxe para identificar comentrios de vrias linhas sucessivas. Se no for usada a marca de fechamento */ com essa forma de delimitador de comentrio, ser gerada uma mensagem de erro.
Exemplo

Este script usa delimitadores de comentrio no incio do script.


/* grava as posies X e Y dos clipes de filme ball e bat */ ballX = ball._x; ballY = ball._y; batX = bat._x; batY = bat._y; Consulte tambm // (delimitador de comentrio)

262

Captulo 12: Dicionrio do ActionScript

/= (atribuio de diviso)
Disponibilidade

Flash Player 4.
Uso expresso1 Parmetros expresso1,expresso2 Retorna /= expresso2

Um nmero ou uma varivel que avaliada para um nmero.

Nada.
Descrio

Operador (atribuio composta aritmtica); atribui a expresso1 o valor da expresso1 / expresso2. Por exemplo, as duas instrues a seguir so equivalentes:
x /= y x = x / y Exemplo

O cdigo a seguir ilustra o uso do operador /= com variveis e nmeros.


x = 10; y = 2; x /= y; // x agora contm o valor 5

/= (atribuio de diviso)

263

[] (acesso de array)
Disponibilidade

Flash Player 4.
Uso meu_array = ["a0", a1,...aN] meu_arrayMultiDimensional = [["a0",...aN],...["a0",...aN]] meu_array[E] = valor meu_arrayMultiDimensional[E][E] = valor objeto["valor"] Parmetros meu_array

O nome de um array. Elementos de um array. O nome de uma matriz simulada.

a0, a1,...aN

meu_arrayMultiDimensional E

O nmero (ou ndice) de um elemento de um array. O nome de um objeto. Uma seqncia de caracteres ou expresso que d nome a uma propriedade do objeto.

objeto valor Retorna

Nada.
Descrio

Operador; inicializa um novo array ou uma matriz com os elementos especificados (a0 e assim por diante), ou acessa elementos de um array. O operador de acesso ao array permite definir e recuperar dinamicamente nomes de instncia, de varivel e de objeto. Alm disso, permite o acesso s propriedades de objeto. Uso 1: Um array um objeto cujas propriedades, denominadas elementos, so identificadas individualmente por um nmero chamado de ndice. Quando voc cria um array, cerca seus elementos com operadores de acesso ao array (ou colchetes). Um array pode conter elementos de vrios tipos. Por exemplo, o seguinte array, denominado funcionrio, possui trs elementos; o primeiro um nmero e os outros dois so seqncias de caracteres (dentro de aspas).
funcionrio = [15, "Brbara", "rico"];

Uso 2: possvel aninhar os colchetes para simular matrizes. O cdigo a seguir cria um array denominado ticTacToe com trs elementos; cada um deles tambm um array com trs elementos.
ticTacToe = [[1,2,3],[4,5,6],[7,8,9]]; // escolha Debug (Depurar) > List Variables (Listar variveis) no modo de teste // de filme para ver uma lista com os elementos do array

264

Captulo 12: Dicionrio do ActionScript

Uso 3: Coloque o ndice de cada elemento entre colchetes para acess-lo diretamente. possvel incluir um novo elemento e alterar ou recuperar o valor de um elemento existente no array. O ndice do primeiro elemento de um array sempre 0:
meu_array[0] = 15; meu_array[1] = "Ol"; meu_array[2] = true;

Use colchetes para incluir um quarto elemento, como no exemplo a seguir:


meu_array[3] = "George";

Uso 4: Para acessar um elemento de uma matriz, use colchetes. O primeiro conjunto de colchetes identifica o elemento do array original e o segundo conjunto identifica o elemento do array aninhado. A linha de cdigo a seguir envia o nmero 6 para o painel Output (Sada).
ticTacToe = [[1,2,3],[4,5,6],[7,8,9]]; trace(ticTacToe[1][2]); // retorna 6

Uso 5: possvel usar o operador de acesso ao array em vez da funo eval para atribuir e recuperar dinamicamente valores de nomes de clipes de filme ou qualquer propriedade de um objeto:
nome["mc" + i] = "canto_esquerdo"; Exemplo

Uso 1: Os exemplos de cdigo a seguir mostram duas maneiras diferentes de criar um novo objeto Array vazio; a primeira linha usa colchetes.
meu_array =[]; meu_array = new Array();

Usos 1 e 2: O exemplo a seguir cria um array chamado array_funcionrios e usa a ao trace() para enviar os elementos para o painel Output. Na quarta linha altera-se um elemento do array e a quinta linha envia o array recentemente modificado para o painel Output:
array_funcionrios = ["Brbara", "George", "Maria"]; trace(array_funcionrios); // Brbara, George, Maria array_funcionrios[2]="Sam"; trace(array_funcionrios); // Brbara, George, Sam

Uso 3: No exemplo a seguir, a expresso entre parnteses ("trecho" + i) avaliada e o resultado usado como o nome da varivel a ser recuperada do clipe de filme meu_mc. Neste exemplo, a varivel i deve estar na mesma Timeline (Linha de tempo) que o boto. Se a varivel i for igual a 5, por exemplo, o valor da varivel trecho5 no clipe de filme meu_mc ser exibido no painel Output:
on (release) { x = meu_mc["trecho"+i]; trace(x); }

[] (acesso de array)

265

Uso 3: No cdigo a seguir, a expresso dentro dos colchetes avaliada e o resultado usado como o nome da varivel a ser recuperada do clipe de filme nome_mc:
nome_mc["A" + i];

Caso conhea a sintaxe de barra do ActionScript do Flash 4, use a funo eval para obter o mesmo resultado:
eval("name.A" & i);

Uso 3: Tambm possvel usar o operador de acesso ao array que fica do lado esquerdo de uma instruo de atribuio para definir dinamicamente a instncia, a varivel e os nomes de objeto:
nome[ndice] = "Gary"; Consulte tambm

Classe Array, Classe Object, eval()

266

Captulo 12: Dicionrio do ActionScript

^ (XOR bit a bit)


Disponibilidade

Flash Player 5.
Uso expresso1 ^ expresso2 Parmetros expresso1,expresso2 Retorna

Um nmero.

Nenhum.
Descrio

Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits sem sinal e retorna um 1 em cada posio de bit onde os bits correspondentes na expresso1 ou expresso2, mas no em ambas, sejam 1.
Exemplo

O exemplo a seguir usa o operador XOR bit a bit nos decimais 15 e 9 e atribui o resultado varivel x.
// 15 decimal = 1111 binrio // 9 decimal = 1001 binrio x = 15 ^ 9 trace(x) // 1111 ^ 1001 = 0110 // retorna 6 decimal( = 0110 binrio)

^ (XOR bit a bit)

267

^= (atribuio XOR bit a bit)


Disponibilidade

Flash Player 5.
Uso expresso1 Parmetros expresso1,expresso2 Retorna ^=expresso2

Inteiros e variveis.

Nenhum.
Descrio expresso2. x ^= y x = x ^ y Exemplo

Operador (atribuio composta bit a bit); atribui a expresso1 o valor de expresso1 ^ Por exemplo, as duas instrues a seguir so equivalentes:

A seguir, h o exemplo de uma operao ^=.


// 15 decimal = 1111 binrio x = 15; // 9 decimal = 1001 binrio y = 9; trace(x ^= y); //retorna 6 decimal ( = 0110 binrio) Consulte tambm ^ (XOR bit a bit)

{} (inicializador de objeto)
Disponibilidade

Flash Player 5.
Uso objeto = {nome1: valor1, nome2: valor2,...nomeN: valorN} Parmetros objeto

O objeto a ser criado. Os nomes das propriedades. Os valores correspondentes de cada propriedade nome.

nome1,2,...N valor1,2,...N

268

Captulo 12: Dicionrio do ActionScript

Retorna

Nenhum.
Descrio

Operador; cria um novo objeto e o inicializa com os pares de propriedades nome e valor especificados. Usar este operador o mesmo que usar a sintaxe new Object e preencher os pares de propriedades com o operador de atribuio. O prottipo do objeto recm-criado genericamente denominado como objeto Object.
Exemplo

A primeira linha do cdigo a seguir cria um objeto vazio usando o operador de inicializao do objeto; a segunda cria um novo objeto usando uma funo construtora.
objeto = {}; objeto = new Object();

O exemplo a seguir cria um objeto conta e inicializa as propriedades nome, endereo, cidade, estado, cep e saldo com os respectivos valores.
conta = { nome: "Bete Silva", endereo: "Rua Principal, 123", cidade: "Cidade Flash", estado: "So Paulo", cep: "12345", saldo: "1000" };

O exemplo a seguir mostra como inicializadores de arrays e de objetos podem ser aninhados um dentro do outro.
pessoa = { nome: "Gina Vechio", filhos: [ "Ruby", "Chickie", "Puppa"] };

O exemplo a seguir usa as informaes do exemplo anterior e apresenta o mesmo resultado usando as funes construtoras.
pessoa = new Object(); pessoa.nome = 'Gina Vechio'; pessoa.filhos = new Array(); pessoa.filhos[0] = 'Ruby'; pessoa.filhos[1] = 'Chickie'; pessoa.filhos[2] = 'Puppa'; Consulte tambm [] (acesso de array), new,

Classe Object

{} (inicializador de objeto)

269

| (OR bit a bit)


Disponibilidade

Flash Player 5.
Uso expresso1 | expresso2 Parmetros expresso1,expresso2 Retorna

Um nmero.

Nenhum.
Descrio

Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits sem sinal e retorna um 1 em cada posio de bit onde os bits correspondentes na expresso1 ou expresso2 sejam 1.
Exemplo

A seguir, h o exemplo de uma operao OR bit a bit.


// 15 decimal = 1111 binrio x = 15; // 9 decimal = 1001 binrio y = 9; trace(x | y); // 1111 | 0011 = 1111 // retorna 15 decimal (= 1111 binrio)

270

Captulo 12: Dicionrio do ActionScript

|| (OR lgico)
Disponibilidade

Flash Player 4.
Uso expresso1 || expresso2 Parmetros expresso1,expresso2

Um valor ou uma expresso booleana convertida em um valor

booleano.
Retorna

Um valor booleano.
Descrio

Operador (lgico); avalia a expresso1 e a expresso2. O resultado ser (true) se uma ou ambas as expresses forem avaliadas como true; o resultado ser (false) apenas se ambas as expresses forem avaliadas como false. possvel usar o operador OR lgico com qualquer nmero de operandos; se algum operando for avaliado como true, o resultado ser true. Com expresses no-booleanas, o operador lgico OR faz com que o Flash avalie a expresso da esquerda; se ela puder ser convertida em true, o resultado ser true. Caso contrrio, ele avaliar a expresso da direita e o resultado ser o valor dessa expresso.
Exemplo

Uso 1: O exemplo a seguir usa o operador || em uma instruo if: A segunda expresso avaliada como true para que o resultado final seja true:
x = 10 y = 250 start = false if(x >25 || y > 200 || start){ trace('passou pelo teste de OR lgico'); }

Uso 2: Este exemplo demonstra como uma expresso no-booleana pode apresentar um resultado inesperado. Se o valor da expresso da esquerda for true, esse resultado ser retornado sem converter a expresso da direita.
function fx1(){ trace ("fx1 chamado"); returns true; } function fx2(){ trace ("fx2 chamado"); return true; } if (fx1() || fx2()){ trace ("entrou na instruo IF"); } // O que se segue enviado para o painel Output (Sada): // fx1 chamado // entrou na instruo IF

|| (OR lgico)

271

|= (atribuio OR bit a bit)


Disponibilidade

Flash Player 5.
Uso expresso1 |= expresso2 Parmetros expresso1,expresso2 Retorna

Um nmero ou uma varivel.

Nenhum.
Descrio

Operador (atribuio bit a bit); atribui a expresso1 o valor de expresso1 | expresso2. Por exemplo, as duas instrues a seguir so equivalentes:
x |= y; x = x | y; Exemplo

O exemplo a seguir usa o operador |=:


// 15 decimal = 1111 binrio x = 15; // 9 decimal = 1001 binrio y = 9; trace(x |= y); // 1111 |= 1001 // retorna 15 decimal (= 1111 binrio) Consulte tambm | (OR bit a bit)

272

Captulo 12: Dicionrio do ActionScript

~ (NOT bit a bit)


Disponibilidade

Flash Player 5.
Uso ~ expresso Parmetros expresso Retorna

Um nmero.

Nenhum.
Descrio

Operador (bit a bit); converte a expresso em um inteiro de 32 bits sem sinal, depois inverte os bits. Uma operao NOT bit a bit altera o sinal de um nmero e subtrai 1.
Exemplo

O exemplo a seguir mostra uma operao NOT bit a bit executada em uma varivel.
a = 0; trace ("quando a = 0, ~a = "+~a); // quando a = 0, ~a = -1 a = 1; trace ("quando a = 1, ~a = "+~a); // quando a = 0, ~a = -2 // portanto, ~0=-1 e ~1=-2

~ (NOT bit a bit)

273

+ (adio)
Disponibilidade

Flash Player 4; Flash Player 5. No Flash 5 e verses posteriores, + um operador numrico ou concatenador de seqncias de caracteres, dependendo dos tipos de dados dos parmetros. No Flash 4, + somente um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados. O exemplo a seguir ilustra a converso de um arquivo do Flash 4 que contm uma comparao do tipo numrica. Arquivo do Flash 4:
x + y

Arquivo do Flash 5, ou verso posterior, convertido:


Number(x) + Number(y) Uso expresso1 + expresso2 Parmetros expresso1,expresso2 Retorna

Um nmero ou uma seqncia de caracteres.

Nenhum.
Descrio

Operador; soma expresses numricas ou concatena (combina) seqncias de caracteres. Se uma expresso for uma seqncia de caracteres, todas as outras expresses sero convertidas em seqncias de caracteres e concatenadas. Se ambas as expresses forem inteiras, a soma ser um inteiro; se uma ou ambas as expresses forem nmeros de ponto flutuante, a soma ser um nmero de ponto flutuante.
Exemplo

Uso 1: O exemplo a seguir concatena duas seqncias de caracteres e exibe o resultado no painel Output (Sada).
nome = "Cola"; instrumento = "Baterias"; trace (nome + " toca " + instrumento);

Uso 2: As variveis associadas a campos de texto dinmico e de entrada so do tipo de dados String. No exemplo a seguir, o depsito da varivel um campo de texto de entrada em Stage (Palco). Aps a insero de um valor por um usurio, o script tentar incluir o depsito no saldoAnterior. Contudo, como depsito uma seqncia de caracteres, o script concatena (combina os dados para formar uma nica seqncia de caracteres) os valores da varivel em vez de som-los.
saldoAnterior = 1345.23; saldoAtual = depsito + saldoAnterior; trace (saldoAtual);

Por exemplo, se um usurio inserir 475 no campo de texto de depsito, a ao trace() enviar o valor 4751345,23 para o painel Output.

274

Captulo 12: Dicionrio do ActionScript

Para corrigir isso, use a funo Number() para converter a seqncia de caracteres em um nmero, como no exemplo a seguir:
saldoAtual = Number(depsito) + saldoAnterior;

Uso 3: Esta instruo soma os inteiros 2 e 3 e exibe o inteiro resultante, 5, no painel Output:
trace (2 + 3);

Esta instruo soma os nmeros de ponto flutuante 2,5 e 3,25 e exibe o resultado, 5,75, que um nmero de ponto flutuante, no painel Output:
trace (2.5 + 3.25); Consulte tambm _accProps

+ (adio)

275

+= (atribuio de adio)
Disponibilidade

Flash Player 4.
Uso expresso1 Parmetros expresso1,expresso2 Retorna += expresso2

Um nmero ou uma seqncia de caracteres.

Nada.
Descrio expresso2. x += y; x = x + y;

Operador (atribuio composta aritmtica); atribui a expresso1 o valor de expresso1 + Por exemplo, as duas instrues a seguir tm o mesmo resultado:

Este operador tambm executa concatenao de seqncias de caracteres. Todas as regras do operador de adio (+) so aplicadas ao operador de atribuio de adio (+=).
Exemplo

O exemplo a seguir mostra um uso numrico do operador +=.


x = 5; y = 10; x += y; trace(x); //x retorna 15

Este exemplo usa o operador += com uma expresso de seqncia de caracteres e envia Meu nome Gilberto para o painel Output (Sada).
x = "Meu nome " x += "Gilberto" trace (x) // retorna "Meu nome Gilberto" Consulte tambm + (adio)

276

Captulo 12: Dicionrio do ActionScript

< (menor que)


Disponibilidade

Flash Player 4; Flash Player 5. No Flash 5 e verses posteriores, o operador < (menor que) um operador de comparao capaz de manipular vrios tipos de dados. No Flash 4, < um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados. O exemplo a seguir ilustra a converso de um arquivo do Flash 4 que contm uma comparao do tipo numrica. Arquivo do Flash 4:
x < y

Arquivo do Flash 5, ou verso posterior, convertido:


Number(x) < Number(y) Uso expresso1 < expresso2 Parmetros expresso1,expresso2 Descrio

Um nmero ou uma seqncia de caracteres.

Operador (comparao); compara duas expresses e determina se expresso1 menor que expresso2; em caso positivo, o operador retorna true. Se expresso1 for maior ou igual a expresso2, o operador retornar false. As expresses de seqncia de caracteres so avaliadas em ordem alfabtica; todas as letras maisculas vm antes das minsculas.
Exemplo

Os exemplos a seguir ilustram retornos true e false para comparaes entre nmeros e entre seqncias de caracteres:
3 < 10; // true 10 < 3; //false "Alex" < "Carlos"; // true "Carlos" < "Alex"; //false "11" < "3"; //true "11" < 3; // comparao numrica //false "C" < "abc"; //false "A" < "a"; // true

< (menor que)

277

<< (deslocamento para a esquerda bit a bit)


Disponibilidade

Flash Player 5.
Uso expresso1 << expresso2 Parmetros expresso1 expresso2 Retorna

Nmero ou expresso a ser deslocada para a esquerda. Nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.

Nada.
Descrio

Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits e desloca todos os bits em expresso1 para a esquerda de acordo com o nmero de casas especificado pelo inteiro que resulta da converso de expresso2. As posies dos bits que ficarem vazias como resultado dessa operao so preenchidas com 0. Deslocar um valor uma posio para a esquerda o equivalente a multiplic-lo por 2.
Exemplo

No exemplo a seguir, o inteiro 1 deslocado 10 bits para a esquerda.


x = 1 << 10

O resultado dessa operao x = 1024. Isso porque 1 decimal igual a 1 binrio, 1 binrio deslocado 10 para a esquerda 10000000000 binrio e 10000000000 binrio 1024 decimal. No exemplo a seguir, o inteiro 7 deslocado 8 bits para a esquerda.
x = 7 << 8

O resultado dessa operao x = 1792. Isso porque 7 decimal igual a 111 binrio, 111 binrio deslocado 8 bits para a esquerda 11100000000 binrio e 11100000000 binrio 1792 decimal.
Consulte tambm >>= (deslocamento para a direita bit a bit e atribuio), >> (deslocamento para a direita bit a bit), <<= (deslocamento para a esquerda bit a bit e atribuio)

278

Captulo 12: Dicionrio do ActionScript

<<= (deslocamento para a esquerda bit a bit e atribuio)


Disponibilidade

Flash Player 5.
Uso expresso1 <<= expresso2 Parmetros expresso1 expresso2 Retorna

Nmero ou expresso a ser deslocada para a esquerda. Nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.

Nada.
Descrio

Operador (atribuio composta bit a bit); esse operador executa uma operao de deslocamento para esquerda bit a bit e armazena o contedo como um resultado na expresso1. As duas expresses a seguir so equivalentes.
A <<= B A = (A << B) Consulte tambm << (deslocamento para a esquerda bit a bit), >>= (deslocamento para a direita bit a bit e atribuio), >> (deslocamento para a direita bit a bit)

<<= (deslocamento para a esquerda bit a bit e atribuio)

279

<= (menor que ou igual a)


Disponibilidade

Flash Player 4. Arquivo do Flash 4:


x <= y

Arquivo do Flash 5, ou verso posterior, convertido:


Number(x) <= Number(y) Uso expresso1 <= expresso2 Parmetros expresso1,expresso2 Retorna

Um nmero ou uma seqncia de caracteres.

Um valor booleano.
Descrio

Operador (comparao); compara duas expresses e determina se expresso1 menor ou igual a expresso2 ; em caso positivo, o operador retorna true. Se expresso1 for maior que expresso2, o operador retornar false. As expresses de seqncia de caracteres so avaliadas em ordem alfabtica; todas as letras maisculas vm antes das minsculas. No Flash 5 ou verso posterior, o operador menor ou igual a (<=) um operador de comparao, capaz de manipular vrios tipos de dados. No Flash 4, <= um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados. O exemplo a seguir ilustra a converso de um arquivo do Flash 4 que contm uma comparao do tipo numrica.
Exemplo

Os exemplos a seguir ilustram resultados true e false para comparaes entre nmeros e entre seqncias de caracteres:
5 <= 10; // true 2 <= 2; // true 10 <= 3; //false "Alex" <= "Carlos"; // true "Carlos" <= "Alex"; //false "11" <= "3"; //true "11" <= 3; // comparao numrica //false "C" <= "abc"; //false "A" <= "a"; // true

280

Captulo 12: Dicionrio do ActionScript

<> (diferena)
Disponibilidade

Flash 2.
Uso expresso1 <> expresso2 Parmetros expresso1,expresso2

Nmero, seqncia de caracteres, valor booleano, varivel, objeto,

array ou funo.
Retorna

Um valor booleano.
Descrio

Operador (diferena); testa o oposto exato do operador ==. Se expresso1 for igual a expresso2, o resultado ser false. Assim como o operador ==, a definio de igual depende dos tipos de dados comparados.

Nmeros, seqncias de caracteres e valores booleanos so comparados por valor. Variveis, objetos, arrays e funes so comparadas por referncia.
Este operador tornou-se obsoleto no Flash 5 e a Macromedia recomenda o uso do operador !=.
Consulte tambm != (diferena)

<> (diferena)

281

= (atribuio)
Disponibilidade

Flash Player 4. Arquivo do Flash 4:


x = y

Arquivo do Flash 5, ou verso posterior, convertido:


Number(x) == Number(y) Uso expresso1 = expresso2 Parmetros expresso1 expresso2 Retorna

Varivel, elemento de um array ou propriedade de um objeto. Valor de qualquer tipo.

Nada.
Descrio

Operador; atribui o tipo de expresso2 (o parmetro da direita) varivel, ao elemento do array ou propriedade em expresso1. No Flash 5 ou verso posterior, = um operador de atribuio e o operador == usado para avaliar a igualdade. No Flash 4, = um operador de igualdade numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados.
Exemplo

O exemplo a seguir usa o operador de atribuio para associar o tipo de dados Number varivel x.
x = 5

O exemplo a seguir usa o operador de atribuio para associar o tipo de dados String varivel x.
x = "Ol" Consulte tambm == (igualdade)

282

Captulo 12: Dicionrio do ActionScript

-= (atribuio de subtrao)
Disponibilidade

Flash Player 4.
Uso expresso1 -= expresso2 Parmetros expresso1,expresso2 Retorna

Nmero ou expresso que avalia um nmero.

Nada.
Descrio expresso2. x -= y; x = x - y;

Operador (atribuio composta aritmtica); atribui a expresso1 o valor de expresso1 Por exemplo, as duas instrues a seguir so equivalentes:

As expresses de seqncia de caracteres devem ser convertidas em nmeros ou ser retornado NaN.
Exemplo

Uso 1: O exemplo a seguir usa o operador -= para subtrair 10 de 5 e atribui o resultado varivel x.
x = 5; y = 10; x -= y trace(x); //retorna -5

Uso 2: O exemplo a seguir mostra como converter seqncias de caracteres em nmeros.


x = "5"; y = "10"; x -= y; trace(x); // retorna -5

-= (atribuio de subtrao)

283

== (igualdade)
Disponibilidade

Flash Player 5.
Uso expresso1 == expresso2 Parmetros expresso1,expresso2

Nmero, seqncia de caracteres, valor booleano, varivel, objeto,

array ou funo.
Retorna

Um valor booleano.
Descrio

Operador (igualdade); testa a igualdade de duas expresses. O resultado ser true se as expresses forem iguais. A definio de igual depende do tipo de dados do parmetro:

Nmeros e valores booleanos so comparados por valor e, se tiverem o mesmo valor, sero
considerados iguais. Expresses de seqncia de caracteres sero iguais se tiverem o mesmo nmero de caracteres e os caracteres forem idnticos. Variveis, objetos, arrays e funes so comparadas por referncia. Duas variveis sero iguais se fizerem referncia ao mesmo objeto, array ou funo. Dois arrays separados nunca so considerados iguais, mesmo que tenham o mesmo nmero de elementos.

Exemplo

Uso 1: O exemplo a seguir usa o operador == com uma instruo if:


a = "David" , b = "David"; if (a == b){ trace("David David"); }

Uso 2: Estes exemplos mostram os resultados de operaes que comparam tipos misturados.
x = "5"; y = "5"; trace(x == y); // true x = "5"; y = "66"; trace(x ==y); //false x = "chris"; y = "steve"; trace (x == y); //false Consulte tambm != (diferena), === (igualdade estrita), !== (diferena estrita)

284

Captulo 12: Dicionrio do ActionScript

=== (igualdade estrita)


Disponibilidade

Flash Player 6.
Uso expresso1 === expresso2 Retorna

Um valor booleano.
Descrio

Operador; testa a igualdade de duas expresses; o operador de igualdade estrita executado da mesma forma que o operador de igualdade, exceto pela converso dos tipos de dados. Se ambas as expresses forem idnticas, inclusive os tipos de dados, o resultado ser true. A definio de igual depende do tipo de dados do parmetro:

Nmeros e valores booleanos so comparados por valor e, se tiverem o mesmo valor, sero
considerados iguais.

Expresses de seqncia de caracteres sero iguais se tiverem o mesmo nmero de caracteres e


os caracteres forem idnticos. Variveis, objetos, arrays e funes so comparadas por referncia. Duas variveis sero iguais se fizerem referncia ao mesmo objeto, array ou funo. Dois arrays separados nunca so considerados iguais, mesmo que tenham o mesmo nmero de elementos.

Exemplo

O cdigo a seguir exibe o valor retornado de operaes que usam os operadores de igualdade, igualdade estrita e diferena estrita.
s1 = new String("5"); s2 = new String("5"); s3 = new String("Ol"); n = new Number(5); b = new Boolean(true); s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 == == == == === === === === !== !== !== !== s2; // true s3; // false n; // true b; // false s2; // true s3; // false n; // false b; // false s2; // false s3; // true n; // true b; // true

Consulte tambm == (igualdade), != (diferena), === (igualdade estrita)

=== (igualdade estrita)

285

> (maior que)


Disponibilidade

Flash Player 4. Arquivo do Flash 4:


x > y

Arquivo do Flash 5, ou verso posterior, convertido:


Number(x) > Number(y) Uso expresso1 >expresso2 Parmetros expresso1,expresso2 Retorna

Um nmero ou uma seqncia de caracteres.

Um valor booleano.
Descrio

Operador (comparao); compara duas expresses e determina se expresso1 menor ou igual a expresso2; em caso positivo, o operador retorna true. Se expresso1 for menor ou igual a expresso2, o operador retornar false. As expresses de seqncia de caracteres so avaliadas em ordem alfabtica; todas as letras maisculas vm antes das minsculas. No Flash 5 ou verso posterior, o operador menor ou igual a (<=) um operador de comparao, capaz de manipular vrios tipos de dados. No Flash 4, <= um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados.

286

Captulo 12: Dicionrio do ActionScript

>= (maior que ou igual a)


Disponibilidade

Flash Player 4. Arquivo do Flash 4:


x > y

Arquivo do Flash 5, ou verso posterior, convertido:


Number(x) > Number(y) Uso expresso1 >= expresso2 Parmetros expresso1, expresso2

Uma seqncia de dados, um inteiro ou um nmero de ponto

flutuante.
Retorna

Um valor booleano.
Descrio

Operador (comparao); compara duas expresses e determina se expresso1 maior ou igual a expresso2 (true) ou se expresso1 menor que expresso2 (false). No Flash 5 ou verso posterior, maior ou igual a (>) um operador de comparao capaz de manipular vrios tipos de dados. No Flash 4, > um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados.

>= (maior que ou igual a)

287

>> (deslocamento para a direita bit a bit)


Disponibilidade

Flash Player 5.
Uso expresso1 >> expresso2 Parmetros expresso1 expresso2 Retorna

Nmero ou expresso a ser deslocada para a direita. Nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.

Nada.
Descrio

Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits e desloca todos os bits em expresso1 para a direita de acordo com o nmero de casas especificado pelo inteiro que resulta da converso de expresso2. Bits deslocados para a direita so descartados. Para preservar o sinal da expresso original, os bits na esquerda sero preenchidos com 0 se o bit mais significativo (o mais esquerda) da expresso1 for 0 e preenchidos com 1 se o bit mais significativo for 1. O deslocamento de um valor em uma posio para a direita equivale diviso por 2 e ao descarte do resto.
Exemplo

O exemplo a seguir converte 65535 em um inteiro de 32 bits e o desloca 8 bits para a direita.
x = 65535 >> 8

O resultado da operao acima :


x = 255

Isso porque 65535 decimal igual a 1111111111111111 binrio (dezesseis 1), 1111111111111111 binrio deslocado 8 bits para a direita 11111111 binrio e 11111111 binrio 255 decimal. O bit mais significativo 0, pois os inteiros so de 32 bits, portanto o bit de preenchimento 0. O exemplo a seguir converte -1 em um inteiro de 32 bits e o desloca 1 bit para a direita.
x = -1 >> 1

O resultado da operao acima :


x = -1

Isso porque -1 decimal igual a 11111111111111111111111111111111 binrio (trinta e dois 1), o deslocamento de um bit para a direita faz com que o bit menos significativo (bit mais direita) seja descartado e o bit mais significativo seja preenchido com 1. O resultado 11111111111111111111111111111111 (trinta e dois 1) binrio, que representa o inteiro de 32 bits -1.
Consulte tambm >>= (deslocamento para a direita bit a bit e atribuio)

288

Captulo 12: Dicionrio do ActionScript

>>= (deslocamento para a direita bit a bit e atribuio)


Disponibilidade

Flash Player 5.
Uso expresso1 =>>expresso2 Parmetros expresso1 expresso2 Retorna

Nmero ou expresso a ser deslocada para a esquerda. Nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.

Nada.
Descrio

Operador (atribuio composta bit a bit); este operador executa uma operao de deslocamento para direita bit a bit e armazena o contedo como um resultado em expresso1.
Exemplo

As duas expresses a seguir so equivalentes.


A >>= B A = (A >> B)

O cdigo comentado a seguir usa o operador bit a bit (>>=). Ele tambm um exemplo do uso de todos os operadores bit a bit.
function convertToBinary(nmero){ var result = ""; for (var i=0; i32; i++) { // Extrai o bit menos significativo pelo uso de AND bit a bit var bms = nmero & 1; // Inclui esse bit na nossa seqncia de caracteres de resultado result = (bms ? "1" : "0") + result; // Desloca o nmero um bit para a direita para ver prximo bit nmero >>= 1;} return result; } trace(convertToBinary(479)); // Retorna a seqncia de caracteres 00000000000000000000000111011111 // A seqncia de caracteres acima a representao binria do nmero // decimal 479 Consulte tambm << (deslocamento para a esquerda bit a bit)

>>= (deslocamento para a direita bit a bit e atribuio)

289

>>> (deslocamento para a direita bit a bit sem sinal)


Disponibilidade

Flash Player 5.
Uso expresso1 >>> expresso2 Parmetros expresso1 expresso2 Retorna

Nmero ou expresso a ser deslocada para a direita. Um nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.

Nada.
Descrio

Operador (bit a bit); o mesmo que o operador de deslocamento para a direita bit a bit (>>), exceto que ele no mantm o sinal da expresso original, pois os bits da esquerda sempre so preenchidos com 0.
Exemplo

O exemplo a seguir converte -1 em um inteiro de 32 bits e o desloca 1 bit para a direita.


x = -1 >>> 1

O resultado da operao acima :


x = 2147483647

Isso porque -1 decimal 11111111111111111111111111111111 binrio (trinta e dois 1) e, quando deslocado um bit (sem sinal) para a direita, o bit menos significativo (mais direita) descartado e o bit mais significativo (mais esquerda) preenchido com um 0. O resultado 01111111111111111111111111111111 binrio, que representa o inteiro de 32 bits 2147483647.
Consulte tambm >>= (deslocamento para a direita bit a bit e atribuio)

290

Captulo 12: Dicionrio do ActionScript

>>>= (deslocamento para a direita bit a bit sem sinal e atribuio)


Disponibilidade

Flash Player 5.
Uso expresso1 >>>= expresso2 Parmetros expresso1 expresso2 Retorna

Nmero ou expresso a ser deslocada para a esquerda. Um nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.

Nada.
Descrio

Operador (atribuio composta bit a bit); executa uma operao de deslocamento para direita bit a bit sem sinal e armazena o contedo como um resultado em expresso1. As duas expresses a seguir so equivalentes:
A >>>= B A = (A >>> B) Consulte tambm >>> (deslocamento para a direita bit a bit sem sinal), >>= (deslocamento para a direita bit a bit e atribuio)

Classe Accessibility
Disponibilidade

Flash Player 6 verso 65.


Descrio

A classe Accessibility gerencia a comunicao com leitores de tela. Os mtodos da classe Accessibility so estticos, ou seja, no preciso criar uma instncia da classe para usar seus mtodos. Para obter e definir propriedades acessveis para um objeto especfico, como um boto, clipe de filme ou campo de texto, use a propriedade global _accProps. Para determinar se o exibidor est sendo executado em um sistema que suporta recursos de acessibilidade, use System.capabilities.hasAccessibility. Resumo dos mtodos da classe Accessibility
Mtodo
Accessibility.isActive() Accessibility.updateProperties()

Descrio Indica se um programa leitor de tela est ativo. Atualiza a descrio de objetos na tela para leitores de tela.

Classe Accessibility

291

Accessibility.isActive()
Disponibilidade

Flash Player 6 verso 65.


Uso Accessibility.isActive() Parmetros

Nenhum.
Retorna

Um valor booleano true se houver clientes ativos do MSAA (Microsoft Active Accessibility) e o exibidor estiver sendo executado em um ambiente que suporte a comunicao entre o Flash Player e os recursos de acessibilidade; caso contrrio, o valor ser false.
Descrio

Mtodo; indica se um programa leitor de tela do MSAA est ativo no momento e se o exibidor est sendo executado em um ambiente que suporta a comunicao entre o Flash Player e os recursos de acessibilidade. Use este mtodo quando desejar que seu aplicativo tenha um comportamento diferente diante de um leitor de tela. Para determinar se o exibidor est sendo executado em um sistema que suporta recursos de acessibilidade, use System.capabilities.hasAccessibility.
Observao: Se esse mtodo for chamado dentro de, aproximadamente, um ou dois segundos depois que aparecer pela primeira vez a janela do Flash na qual o seu documento est sendo reproduzido, o valor false poder ser retornado mesmo que haja um cliente ativo do MSAA. Isso ocorre devido a um mecanismo de comunicao assncrono entre o Flash e clientes do MSAA. O usurio pode solucionar essa limitao garantindo que v ocorrer um atraso de um ou dois segundos depois de carregar o documento antes de chamar esse mtodo. Consulte tambm Accessibility.updateProperties(), _accProps, System.capabilities.hasAccessibility

292

Captulo 12: Dicionrio do ActionScript

Accessibility.updateProperties()
Disponibilidade

Flash Player 6 verso 65.


Uso Accessibility.updateProperties() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; faz com que o Flash Player reexamine todas as propriedades de acessibilidade, atualize sua descrio de objetos para leitores de tela e, se necessrio, envie eventos para os leitores de tela para indicar que ocorreram alteraes. Para obter informaes sobre como definir propriedades de acessibilidade, consulte _accProps. Para determinar se o exibidor est sendo executado em um sistema que suporta recursos de acessibilidade, use System.capabilities.hasAccessibility. Se voc modificar as propriedades de acessibilidade para vrios objetos, ser necessria apenas uma chamada a Accessibility.updateProperties(). Vrias chamadas podem causar reduo do desempenho e resultados ilegveis do leitor de tela.
Exemplo

O cdigo ActionScript a seguir utiliza as propriedades dinmicas de acessibilidade. Este exemplo refere-se a um boto no-textual que pode mudar o cone exibido.
function setIcon( newIconNum, newTextEquivalent ) { this.iconImage = this.iconImages[ newIconNum ]; if ( newTextEquivalent != undefined ) { if ( this._accProps == undefined ) this._accProps = new Object(); this._accProps.name = newTextEquivalent; Accessibility.updateProperties(); } } Consulte tambm Accessibility.isActive(), _accProps, System.capabilities.hasAccessibility

Accessibility.updateProperties()

293

_accProps
Disponibilidade

Flash Player 6 verso 65.


Uso _accProps.nomePropriedade nomeInstncia._accProps.nomePropriedade Parmetros nomePropriedade

Nome de propriedade de acessibilidade (consulte a descrio dos nomes

vlidos, a seguir).
nomeInstncia Nome atribudo a uma instncia de um clipe de filme, boto, campo de texto dinmico ou campo de texto de entrada. Descrio

Propriedade; permite controlar as opes de acessibilidade do leitor de tela para arquivos SWF, clipes de filme, botes, campos de texto dinmicos ou campos de texto de entrada durante a execuo. Essas propriedades substituem as configuraes correspondentes disponveis no painel Accessibility (Acessibilidade) durante a criao. Para que as alteraes feitas nessas propriedades tenham efeito, chame Accessibility.updateProperties(). Para obter informaes sobre o painel Accessibility, consulte The Flash Accessibility panel (Painel Accessibility do Flash) no Using Flash Help (Ajuda de Usando o Flash). Para determinar se o exibidor est sendo executado em um sistema que suporta recursos de acessibilidade, use System.capabilities.hasAccessibility. A tabela a seguir lista o nome e o tipo de dados de cada propriedade _accProps, a configurao equivalente no painel Accessibility e os tipos de objeto aos quais a propriedade pode ser aplicada. O termo lgica inversa indica que a configurao da propriedade o inverso da configurao correspondente no painel Accessibility. Por exemplo, definir a propriedade silent como true equivale a desmarcar a opo Make Movie Accessible (Tornar filme acessvel) ou Make Object Accessible (Tornar objeto acessvel).
Propriedade
silent

Tipo de dados Equivalente no painel Accessibility Aplicvel a Boolean Make Movie Accessible/ Make Object Accessible (lgica inversa) Filmes inteiros Clipes de filme Botes Texto dinmico Entrada de texto Filmes inteiros Clipes de filme Filmes inteiros Clipes de filme Botes Entrada de texto

forceSimple

Boolean

Make Child Objects Accessible (Tornar objetos-filhos acessveis) (lgica inversa) Name

name

String

294

Captulo 12: Dicionrio do ActionScript

Propriedade
description

Tipo de dados Equivalente no painel Accessibility Aplicvel a String Description (Descrio) Filmes inteiros Clipes de filme Botes Texto dinmico Entrada de texto Clipes de filme Botes Entrada de texto

shortcut

String

Shortcut (Atalho)*

Para obter informaes sobre como atribuir um atalho de teclado a um objeto acessvel, consulte Key.addListener().

Para especificar configuraes que correspondam configurao Tab Index (ndice de tabulao) do painel Accessibility, use a propriedade Button.tabIndex, MovieClip.tabIndex ou TextField.tabIndex. No possvel especificar uma configurao Auto Label (Rtulo automtico) durante a execuo. Quando as propriedades _accProps so usadas sem o parmetro nomeInstncia, as alteraes feitas nessas propriedades aplicam-se a todo o filme. Por exemplo, o cdigo a seguir atribui a seqncia de caracteres "Loja de animais" propriedade de acessibilidade name de todo o filme e, em seguida, chama Accessibility.updateProperties() para executar essa alterao.
_accprops.name = "Loja de animais"; Accessbility.updateProperties();

O cdigo a seguir, por outro lado, atribui a seqncia de caracteres "Preo" propriedade name de um clipe de filme com nome de instncia preo_mc:
preo_mc._accProps.name = "Preo"; Accessbility.updateProperties();

Se voc estiver especificando vrias propriedades de acessibilidade, procure fazer as alteraes antes de chamar Accessibility.updateProperties(), em vez de cham-la aps cada instruo de propriedade:
_accprops.name = "Loja de animais"; animal_mc._accProps.name = "Animal"; animal_mc._accProps.description = "Gatos, cachorros, peixes, etc."; preo_mc._accProps.name = "Preo"; preo_mc._accProps.description = "Custo unitrio"; Accessbility.updateProperties();

Se voc no especificar uma propriedade de acessibilidade para um filme ou objeto, os valores definidos no painel Accessibility sero implementados. Aps a especificao de uma propriedade de acessibilidade, no possvel reverter o valor para aquele definido no painel Accessibility. No entanto, voc pode definir a propriedade com seu valor padro (false para valores booleanos, seqncias de caracteres vazias para valores de seqncia de caracteres) excluindo o objeto _accProps:
meu_mc._accProps.silent = true; // define uma propriedade // outro cdigo entra aqui delete meu_mc._accProps.silent; // reverte para o valor padro

_accProps

295

Para reverter todos os valores de acessibilidade de um objeto para os valores padro, voc pode excluir o objeto nomeInstncia._accProps:
delete meu_boto._accProps;

Para reverter os valores de acessibilidade de todos os objetos para os valores padro, voc pode excluir o objeto global _accProps:
delete _accProps;

Se voc especificar uma propriedade para um tipo de objeto que no oferea suporte a essa propriedade, a atribuio da propriedade ser ignorada e nenhum erro ser gerado. Por exemplo, a propriedade forceSimple no suportada para botes. Por isso, uma linha como esta ignorada:
meu_boto._accProps.forceSimple = false; //ignorada Exemplo

A seguir fornecido um cdigo ActionScript de exemplo que utiliza propriedades dinmicas de acessibilidade. Voc atribuiria esse cdigo a um componente de boto com cone no-textual, que pode mudar o cone exibido.
function setIcon( newIconNum, newTextEquivalent ) { this.iconImage = this.iconImages[ newIconNum ]; if ( newTextEquivalent != undefined ) { if ( this._accProps == undefined ) this._accProps = new Object(); this._accProps.name = newTextEquivalent; Accessibility.updateProperties(); } } Consulte tambm Accessibility.isActive(), Accessibility.updateProperties(), System.capabilities.hasAccessibility

296

Captulo 12: Dicionrio do ActionScript

add
Disponibilidade

Flash Player 4.
Uso seq_caract1 add seq_caract2 Parmetros seq_caract1, seq_caract2 Retorna

Uma seqncia de caracteres.

Nada.
Descrio

Operador; concatena (combina) duas ou mais seqncias de caracteres. O operador add substitui o operador add (&) do Flash 4. Os arquivos do Flash Player 4 que usam o operador & so convertidos automaticamente para usar o operador add na concatenao de seqncias de caracteres quando trazidos para o ambiente de criao do Flash 5 ou verses posteriores. Entretanto, o operador add tornou-se obsoleto no Flash Player 5 e a Macromedia recomenda que o operador + seja usado para criar contedo para o Flash Player 5 ou verses posteriores. Use o operador add para concatenar seqncias de caracteres se estiver criando contedo para o Flash 4 ou verses anteriores do Flash Player.
Consulte tambm + (adio)

and
Disponibilidade

Flash Player 4.
Uso condio1 and condio2 Parmetros condio1,condio2 Retorna

Condies ou expresses que resultam em true ou false.

Nada.
Descrio

Operador; executa uma operao AND lgica no Flash Player 4. Se ambas as expresses forem avaliadas como true, toda a expresso ser true. Este operador tornou-se obsoleto no Flash 5, e a Macromedia recomenda que o operador && seja usado.
Consulte tambm && (AND lgico)

and

297

Classe Arguments
Disponibilidade

Flash Player 5; propriedade includa no Flash Player 6.


Descrio

A classe Arguments um array que contm os valores passados como parmetros para qualquer funo. Toda vez que uma funo chamada no ActionScript, um objeto Arguments criado automaticamente para essa funo. Alm disso, criada uma varivel local, arguments, que permite a consulta ao objeto Arguments. Resumo das propriedades da classe Arguments
Propriedade arguments.callee arguments.caller arguments.length Descrio

Refere-se funo que est sendo chamada. Refere-se funo que est chamando. O nmero de parmetros passados para uma funo.

arguments.callee
Disponibilidade

Flash Player 5.
Uso arguments.callee Descrio

Propriedade; refere-se funo que est sendo chamada atualmente.


Exemplo

possvel usar a propriedade arguments.callee para tornar uma funo annima recursiva, como no exemplo a seguir:
factorial = function (x) { if (x <= 1) { return 1; } else { return x * arguments.callee(x-1); } };

A seguir apresentada uma funo recursiva nomeada:


function factorial (x) { if (x <= 1) { return 1; } else { return x * factorial(x-1); } }

298

Captulo 12: Dicionrio do ActionScript

arguments.caller
Disponibilidade

Flash Player 6.
Uso arguments.caller Descrio

Propriedade; refere-se funo que est chamando.

arguments.length
Disponibilidade

Flash Player 5.
Uso arguments.length Descrio

Propriedade; o nmero de parmetros realmente passados para uma funo.

Classe Array
Disponibilidade

Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio

A classe Array permite acessar e manipular arrays. Um array um objeto cujas propriedades so identificadas por nmeros que representam suas posies dentro dele. Esse nmero chamado de ndice. Todos os arrays tm zero como base, o que significa que o seu primeiro elemento [0], o segundo [1] e assim sucessivamente. No exemplo a seguir, meu_array contm os meses do ano.
meu_array[0] meu_array[1] meu_array[2] meu_array[3] = = = = "Janeiro" "Fevereiro" "Maro" "Abril"

Para criar um objeto Array, use o construtor new Array() ou o operador de acesso ao array ([]). Para acessar os elementos de um array, use o operador de acesso ao array ([]).

Classe Array

299

Resumo dos mtodos da classe Array


Mtodo
Array.concat() Array.join() Array.pop() Array.push() Array.reverse() Array.shift() Array.slice() Array.sort() Array.sortOn() Array.splice() Array.toString()

Descrio Concatena os parmetros e retorna-os como um novo array. Rene todos os elementos de um array em uma seqncia de caracteres. Remove o ltimo elemento de um array e retorna seu valor. Inclui um ou mais elementos no fim de um array e retorna o seu novo tamanho. Inverte a direo de um array. Remove o primeiro elemento de um array e retorna seu valor. Extrai uma seo de um array e retorna-a como um novo array. Ordena um array nele mesmo. Ordena um array, tendo como base um dos seus campos. Inclui elementos em um array e dele remove-os. Retorna uma seqncia de caracteres que representa os elementos no objeto Array. Inclui um ou mais elementos no incio de um array e retorna o seu novo tamanho.

Array.unshift()

Resumo das propriedades da classe Array


Propriedade
Array.length

Descrio Inteiro que no tem zero como base e especifica o nmero de elementos do array.

Construtor da classe Array


Disponibilidade

Flash Player 5.
Uso new Array() new Array(tamanho) new Array(elemento0, elemento1, elemento2,...elementoN) Parmetros tamanho

Um inteiro que especifica o nmero de elementos do array. No caso de elementos no contguos, o parmetro tamanho especifica o nmero do ndice do ltimo elemento do array mais 1.
elemento0...elementoN Uma lista de dois ou mais valores arbitrrios. Os valores podem ser nmeros, seqncias de caracteres, objetos ou outros arrays. O primeiro elemento de um array sempre tem um ndice ou posio 0.

300

Captulo 12: Dicionrio do ActionScript

Retorna

Nada.
Descrio

Construtor; permite-lhe criar um array. possvel usar o construtor para criar diferentes tipos de arrays: um array vazio, um array com tamanho especfico, mas cujos elementos no possuem nenhum valor, ou um array cujos elementos possuem valores especficos. Uso 1: Se os parmetros no forem especificados, ser criado um array com tamanho 0. Uso 2: Se voc especificar somente um tamanho, ser criado um array com tamanho elementos, sem valores. Uso 3: Se os parmetros elemento forem usados para especificar valores, ser criado um array com valores especficos.
Exemplo

Uso 1: O exemplo a seguir cria um novo objeto Array com um tamanho inicial 0.
meu_array = new Array(); trace(meu_array.length); // retorna 0

Uso 2: O exemplo a seguir cria um novo objeto Array com um tamanho inicial 4.
meu_array = new Array(4); trace(meu_array.length); // retorna 4

Uso 3: O exemplo a seguir cria um novo objeto Array chamado go_gos_array, com tamanho inicial 5.
go_gos_array = new Array("Belinda", "Gina", "Kathy", "Charlotte", "Jane"); trace(go_gos_array.length); // retorna 5 trace(go_gos_array.join(", ")); // exibe elementos

Os elementos iniciais do array go_gos so estes:


go_gos_array[0] go_gos_array[1] go_gos_array[2] go_gos_array[3] go_gos_array[4] = = = = = "Belinda"; "Gina"; "Kathy"; "Charlotte"; "Jane";

O cdigo a seguir inclui um sexto elemento no array go_gos_array e altera o segundo elemento:
go_gos_array[5] = "Donna"; go_gos_array[1] = "Nina" trace(go_gos_array.join(" + ")); Consulte tambm Array.length, [] (acesso de array)

Classe Array

301

Array.concat()
Disponibilidade

Flash Player 5.
Uso meu_array.concat( [ valor0,valor1,...valorN ]) Parmetros valor0,...valorN Nmeros, elementos ou seqncias de caracteres a serem concatenados em um novo array. Se nenhum valor for passado, ser criada uma duplicata de meu_array. Retorna

Nada.
Descrio

Mtodo; concatena os elementos especificados nos parmetros com os elementos em meu_array e cria um novo array. Se os parmetros valor especificarem um array, os seus elementos que sero concatenados e no o prprio array. O array meu_array permanecer inalterado.
Exemplo

O cdigo a seguir concatena dois arrays:


alpha_array = new Array("a","b","c"); numeric_array = new Array(1,2,3); alphaNumeric_array=alpha_array.concat(numeric_array); trace(alphaNumeric_array); // cria array ["a","b","c",1,2,3]

O cdigo a seguir concatena trs arrays:


num1_array = [1,3,5]; num2_array = [2,4,6]; num3_array = [7,8,9]; nums_array=num1_array.concat(num2_array,num3_array) trace(nums_array); // cria array [1,3,5,2,4,6,7,8,9]

Os arrays aninhados no so linearizados da mesma forma que os arrays comuns. Os elementos de um array aninhado no so desmembrados em elementos separados no array x_array, como pode ser observado no exemplo abaixo:
a_array = new Array ("a","b","c"); // 2 e 3 so elementos de um array aninhado n_array = new Array(1, [2, 3], 4); x_array = a_array.concat(n_array); trace(x_array[0]); // "a" trace(x_array[1]); // "b" trace(x_array[2]); // "c" trace(x_array[3]); // 1 trace(x_array[4]); // 2, 3 trace(x_array[5]); // 4

302

Captulo 12: Dicionrio do ActionScript

Array.join()
Disponibilidade

Flash Player 5.
Uso meu_array.join([separador]) Parmetros separador

Um caractere ou uma seqncia de caracteres que separa elementos de um array na seqncia de caracteres retornada. A omisso desse parmetro resulta no uso de uma vrgula como separador padro. String.

Retorna

Descrio

Mtodo; converte os elementos de um array em seqncias de caracteres, insere o separador especificado entre eles, concatena os elementos e retorna a seqncia de caracteres resultante. Um array aninhado sempre separado por vrgulas e no pelo separador definido no mtodo join().
Exemplo

O exemplo a seguir cria um array com trs elementos: Terra, Lua e Sol. Depois, une o array trs vezes primeiro, usando o separador padro (uma vrgula e um espao), depois usando um trao e, em seguida, usando um sinal de mais (+) e exibe-os no painel Output (Sada):
a_array = new Array("Terra","Lua","Sol") trace(a_array.join()); // retorna Terra, Lua, Sol trace(a_array.join(" - ")); // retorna Terra - Lua - Sol trace(a_array.join(" + ")); // retorna Terra + Lua + Sol

Array.join()

303

Array.length
Disponibilidade

Flash Player 5.
Uso meu_array.length Descrio

Propriedade; um inteiro que no tem zero como base e especifica o nmero de elementos do array. Essa propriedade atualizada automaticamente quando se incluem novos elementos no array. Quando o usurio atribuir um valor ao elemento de um array (por exemplo, meu_array[ndice] = valor), se ndice for um nmero e ndice+1 for maior do que a propriedade length, a propriedade length ser atualizada para ndice+1.
Exemplo

O cdigo a seguir explica como a propriedade length atualizada.


meu_array = new Array(); trace(meu_array.length); meu_array[0] = 'a'; trace(meu_array.length); meu_array[1] = 'b'; trace(meu_array.length); meu_array[9] = 'c'; trace(meu_array.length); // o tamanho inicial 0 // meu_array.length atualizado para 1 // meu_array.length atualizado para 2 // meu_array.length atualizado para 10

Array.pop()
Disponibilidade

Flash Player 5.
Uso meu_array.pop() Parmetros

Nenhum.
Retorna

O valor do ltimo elemento do array especificado.


Descrio

Mtodo; remove o ltimo elemento de um array e retorna o valor desse elemento.


Exemplo

O cdigo a seguir cria o array minhasMascotes, com quatro elementos, depois remove seu ltimo elemento.
minhasMascotes = ["gato", "cachorro", "pssaro", "peixe"]; popped = minhasMascotes.pop(); trace(popped); // retorna peixe

304

Captulo 12: Dicionrio do ActionScript

Array.push()
Disponibilidade

Flash Player 5.
Uso meu_array.push(valor,...) Parmetros valor Retorna

Um ou mais valores a serem anexados ao array.

O tamanho do novo array.


Descrio

Mtodo; inclui um ou mais elementos no fim de um array e retorna o seu novo tamanho.
Exemplo

O exemplo a seguir cria o array minhasMascotes com dois elementos, gato e cachorro. A segunda linha inclui dois elementos no array. Aps a chamada do mtodo push(), a varivel pushed conter quatro elementos. Como o mtodo push() retorna o novo tamanho do array, a ao trace() na ltima linha envia o novo tamanho de minhasMascotes (4) para o painel Output (Sada):
minhasMascotes = ["gato", "cachorro"]; pushed = minhasMascotes.push("pssaro", "peixe"); trace(pushed);

Array.push()

305

Array.reverse()
Disponibilidade

Flash Player 5.
Uso meu_array.reverse() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; inverte um array nele mesmo.


Exemplo

O exemplo a seguir mostra o uso deste mtodo.


var nmeros_array = [1, 2, 3, 4, 5, 6]; trace(nmeros_array.join()); //1,2,3,4,5,6 nmeros_array.reverse(); trace(nmeros_array.join()); // 6,5,4,3,2,1

306

Captulo 12: Dicionrio do ActionScript

Array.shift()
Disponibilidade

Flash Player 5.
Uso meu_array.shift() Parmetros

Nenhum.
Retorna

O primeiro elemento de um array.


Descrio

Mtodo; remove o primeiro elemento de um array e retorna esse elemento.


Exemplo

O cdigo a seguir cria o array minhasMascotes e, em seguida, remove o seu primeiro elemento e o atribui varivel deslocada.
var minhasMascotes_array = ["gato", "cachorro", "pssaro", "peixe"]; deslocada = minhasMascotes_array.shift(); trace(deslocada); // retorna "gato" Consulte tambm Array.pop()

Array.shift()

307

Array.slice()
Disponibilidade

Flash Player 5.
Uso meu_array.slice( [ incio [ , fim ] ] ) Parmetros incio fim

Um nmero que especifica o ndice do ponto inicial do trecho. Se incio for um nmero negativo, o ponto inicial comear no fim do array, onde -1 o ltimo elemento.

Um nmero que especifica o ndice do ponto final do trecho. Caso omita esse parmetro, o trecho incluir todos os elementos do incio ao fim do array. Se fim for um nmero negativo, o ponto final ser especificado a partir do fim do array, onde -1 o ltimo elemento.
Retorna

Um array.
Descrio

Mtodo; extrai um trecho ou uma subseqncia de caracteres do array e retorna-o como um novo array, sem modificar o original. O array retornado inclui o elemento incio e todos os demais elementos, at o elemento fim, mas sem inclu-lo. Se nenhum parmetro for passado, ser criada uma duplicata de meu_array.

308

Captulo 12: Dicionrio do ActionScript

Array.sort()
Disponibilidade

Flash Player 5; recursos adicionais includos no Flash Player 7.


Uso meu_array.sort() meu_array.sort(funoComparao) meu_array.sort(opo | opo |... ) meu_array.sort(funoComparao, opo | opo |... ) Parmetros funoComparao

Uma funo de comparao opcional usada para determinar a ordenao dos elementos de um array. Dados os elementos A e B, o resultado de funoComparao pode ter um dos trs seguintes valores:

-1 caso A deva aparecer antes de B na seqncia classificada 0 se A = B 1 caso A deva aparecer depois de B na seqncia classificada
opo Um ou mais nmeros ou seqncias de caracteres, separados pelo operador | (OR bit a bit), que alteram o comportamento da classificao a partir do padro. Os seguintes valores so aceitos para opo:

1 ou Array.CASEINSENSITIVE 2 ou Array.DESCENDING 4 ou Array.UNIQUE 8 ou Array.RETURNINDEXEDARRAY 16 ou Array.NUMERIC

Para obter informaes sobre esse parmetro, consulte Array.sortOn().


Retorna

O valor de retorno depende da passagem dos parmetros:

Se voc especificar o valor 4 ou Array.UNIQUE para opo e dois ou mais elementos que
estiverem sendo classificados tiverem campos de classificao idnticos, o Flash retornar o valor 0 e no modificar o array. Se voc especificar o valor 8 ou Array.RETURNINDEXEDARRAY para opo, o Flash retornar um array que reflete os resultados da classificao e no o modificar. Caso contrrio, o Flash no retornar nenhum valor e modificar o array para refletir a ordem de classificao.

Descrio

Mtodo; classifica os elementos de um array. O Flash executa a classificao de acordo com os valores ASCII (Unicode). Se algum dos elementos que esto sendo comparados no contiver o campo especificado no parmetro nomeCampo, o campo ser subentendido como undefined e os elementos sero inseridos consecutivamente no array classificado sem uma ordem especfica.

Array.sort()

309

Por padro, Array.sort() funciona da seguinte forma:

A classificao faz distino entre maisculas e minsculas (Z precede a). A classificao crescente (a precede b). O array modificado para refletir a ordem de classificao. Vrios elementos que tm campos
de classificao idnticos so colocados consecutivamente no array classificado sem uma ordem especfica. Os campos numricos so classificados como se fossem seqncias de caracteres. Dessa forma, 100 precede 99, pois 1 um valor menor de seqncia de caracteres que 9. Nada retornado.

Se voc quiser fazer a classificao de outra maneira, crie uma funo para executar a classificao e passe seu nome como o parmetro funoComparao. Voc poder fazer isso, por exemplo, se desejar classificar os dados alfabeticamente pelo sobrenome em ordem crescente e, depois, pelo CEP em ordem decrescente. Se voc quiser especificar um ou mais campos para classificao, usando a classificao padro ou o parmetro opes, use Array.sortOn().
Exemplo

Uso 1: O exemplo a seguir mostra o uso de Array.sort() com e sem um valor passado para opo:
var frutas_array = ["laranjas", "mas", "morangos", "abacaxis", "cerejas"]; trace(frutas_array.join()); frutas_array.sort(); trace(frutas_array.join()); frutas_array.sort(Array.DESCENDING); trace(frutas_array.join());

O painel Output (Sada) exibir os seguintes resultados:


laranjas,mas,morangos,abacaxis,cerejas// array original abacaxis,cerejas,laranjas,mas,morangos// classificao padro morangos,mas,laranjas,cerejas,abacaxis// classificao decrescente

Uso 2: O exemplo a seguir usa Array.sort() com uma funo de comparao.


var senhas = ["me:linda","ana:anel","jonas:livro","alice:casa","regina:bonita"]; function order (a,b){ // As entradas a serem classificadas esto no formato nome:senha // Classificao usando apenas a parte do nome da entrada como chave. var nome1 =a.split(":")[0 ]; var nome2 =b.split(":")[0 ]; if (nome1 <nome2){ return -1; } else if (nome1 >nome2){ return 1; } else { return 0; } } trace ("No classificado:");

310

Captulo 12: Dicionrio do ActionScript

trace (senhas.join()); senhas.sort(order); trace ("Classificado:"); trace (senhas.join());

O painel Output exibir os seguintes resultados:


No classificado: me:linda,ana:anel,jonas:livro,alice:casa,regina:bonita Classificado: alice:casa,ana:anel,jonas:livro,me:linda,regina:bonita Consulte tambm | (OR bit a bit), Array.sortOn()

Array.sort()

311

Array.sortOn()
Disponibilidade

Flash Player 6; recursos adicionais includos no Flash Player 7.


Uso meu_array.sortOn("nomeCampo" ) meu_array.sortOn("nomeCampo", opo | opo |... ) meu_array.sortOn( [ "nomeCampo" , "nomeCampo" , ... ] ) meu_array.sortOn( [ "nomeCampo" , "nomeCampo" , ... ] , opo | opo |... ) Observao: Onde h colchetes ([]), voc deve inclu-los no cdigo. Ou seja, os colchetes no representam parmetros opcionais. Parmetros nomeCampo

Seqncia de caracteres que identifica um campo, em um elemento do Array, para ser usado como valor de classificao.

opo Um ou mais nmeros ou seqncias de caracteres, separados pelo operador | (OR bit a bit), que alteram o comportamento da classificao a partir do padro. Os seguintes valores so aceitos para opo:

1 ou Array.CASEINSENSITIVE 2 ou Array.DESCENDING 4 ou Array.UNIQUE 8 ou Array.RETURNINDEXEDARRAY 16 ou Array.NUMERIC

Cada uma dessas opes est descrita com mais detalhes em Descrio, a seguir.
Retorna

O valor de retorno depende da passagem dos parmetros:

Se voc especificar o valor 4 ou Array.UNIQUE para opo e dois ou mais elementos que
estiverem sendo classificados tiverem campos de classificao idnticos, o Flash retornar o valor 0 e no modificar o array. Se voc especificar o valor 8 ou Array.RETURNINDEXEDARRAY para opo, o Flash retornar um array que reflete os resultados da classificao e no o modificar. Caso contrrio, o Flash no retornar nenhum valor e modificar o array para refletir a ordem de classificao.

Descrio

Mtodo; classifica os elementos de um array de acordo com um ou mais campos do array. Se voc passar vrios parmetros nomeCampo, o primeiro campo representar o campo de classificao primrio, o segundo representar o prximo campo de classificao e assim por diante. O Flash executa a classificao de acordo com os valores ASCII (Unicode). Se algum dos elementos que esto sendo comparados no contiver o campo especificado no parmetro nomeCampo, o campo ser subentendido como undefined e os elementos sero inseridos consecutivamente no array classificado sem uma ordem especfica.

312

Captulo 12: Dicionrio do ActionScript

Por padro, Array.sortOn() funciona da seguinte forma:

A classificao faz distino entre maisculas e minsculas (Z precede a). A classificao crescente (a precede b). O array modificado para refletir a ordem de classificao. Vrios elementos que tm campos
de classificao idnticos so colocados consecutivamente no array classificado sem uma ordem especfica. Os campos numricos so classificados como se fossem seqncias de caracteres. Dessa forma, 100 precede 99, pois 1 um valor menor de seqncia de caracteres que 9. Nada retornado.

Voc pode usar os sinalizadores opo para substituir esses padres. Os exemplos a seguir usam diferentes tipos de sinalizador opo para fins de demonstrao. Se voc quiser classificar um array simples (por exemplo, um array com apenas um campo) ou especificar uma ordem de classificao que o parmetro opes no suporte, use Array.sort(). Para passar vrios sinalizadores no formato numrico, separe-os com o operador | (OR bit a bit) ou some os valores dos sinalizadores. O cdigo a seguir mostra trs diferentes maneiras de especificar uma classificao numrica decrescente:
meu_Array.sortOn(umNomeCampo, 2 | 16); meu_Array.sortOn(umNomeCampo, 18); meu_Array.sortOn(umNomeCampo, Array.DESCENDING | Array.NUMERIC);

As referncias de cdigo (consulte Usando referncias de cdigo na pgina 68) estaro ativadas se voc usar o formato de seqncia de caracteres do sinalizador (por exemplo, DESCENDING), em vez do formato numrico (2). Considere o seguinte array:
var meu_array:Array = new Array(); meu_array.push({senha: "Beto", idade:29}); meu_array.push({senha: "abcd", idade:3}); meu_array.push({senha: "baby", idade:35}); meu_array.push({senha: "carla", idade:4});

A classificao padro no campo de senha produz os seguintes resultados:


meu_array.sortOn("senha") // Beto // abcd // baby // carla

A classificao sem distino entre maisculas e minsculas no campo de senha produz os seguintes resultados:
meu_array.sortOn("senha", Array.CASEINSENSITIVE) // abcd // baby // Beto // carla

A classificao decrescente e sem distino entre maisculas e minsculas no campo de senha produz os seguintes resultados:
meu_array.sortOn("senha", 1|2) // carla // Beto

Array.sortOn()

313

// baby // abcd

A classificao padro no campo de idade produz os seguintes resultados:


meu_array.sortOn("idade") // 29 // 3 // 35 // 4

A classificao numrica no campo de idade produz os seguintes resultados:


meu_array.sortOn("idade", 16) // 3 // 4 // 29 // 35

A classificao numrica decrescente no campo de idade produz os seguintes resultados:


meu_array.sortOn("idade", 18) // 35 // 29 // 4 // 3

A classificao altera os elementos do array da seguinte forma:


// // // // // Antes da classificao meu_array[0].idade = 29; meu_array[1].idade = 3; meu_array[2].idade = 35; meu_array[3].idade = 4;

// Aps uma classificao que no passe valor 8 para opo meu_array.sortOn("idade", Array.NUMERIC); // meu_array[0].idade = 3; // meu_array[1].idade = 4; // meu_array[2].idade = 29; // meu_array[3].idade = 35;

Uma classificao que retorne um array de ndice no altera os elementos do array:


// // // // // Antes da classificao meu_array[0].idade = 29; meu_array[1].idade = 3; meu_array[2].idade = 35; meu_array[3].idade = 4;

// Aps uma classificao que retorne um array com valores de ndice // Observe que o array original no se altera. // Voc pode ento usar o array retornado para exibir as informaes // classificadas, sem modificar o array original. var indexArray:Array = meu_array.sortOn("idade", Array.RETURNINDEXEDARRAY); // meu_array[0].idade = 29; // meu_array[1].idade = 3; // meu_array[2].idade = 35; // meu_array[3].idade = 4;

314

Captulo 12: Dicionrio do ActionScript

Exemplo

Este exemplo cria um novo array e o classifica de acordo com os campos nome and cidade: A primeira classificao usa nome como o primeiro valor de classificao e cidade como o segundo. A segunda classificao usa cidade como o primeiro valor de classificao e nome como o segundo.
var rec_array = new Array(); rec_array.push( { nome: "joo", cidade: "olinda", cep: 68144 } ); rec_array.push( { nome: "joo", cidade: "joo pessoa", cep: 72345 } ); rec_array.push( { nome: "beto", cidade: "olinda", cep: 94010 } ); for(i=0; i<rec_array.length; i++) { trace(rec_array[i].nome + ", " + rec_array[i].cidade); } // resulta em // joo, olinda // joo, joo pessoa // beto, olinda rec_array.sortOn( [ "nome", "cidade" ]); for(i=0; i<rec_array.length; i++) { trace(rec_array[i].nome + ", " + rec_array[i].cidade); } // resulta em // beto, olinda // joo, joo pessoa // joo, olinda rec_array.sortOn( ["cidade", "nome" ]); for(i=0; i<rec_array.length; i++) { trace(rec_array[i].nome + ", " + rec_array[i].cidade); } // resulta em // joo, joo pessoa // beto, olinda // joo, olinda Consulte tambm | (OR bit a bit), Array.sort()

Array.sortOn()

315

Array.splice()
Disponibilidade

Flash Player 5.
Uso meu_array.splice(incio, contExcl [, valor0, valor1...valorN]) Parmetros incio contExcl

O ndice de um elemento do array, onde comea a insero e/ou excluso.

O nmero de elementos a serem excludos. Esse nmero inclui o elemento especificado no parmetro incio. Se no houver nenhum valor especificado para contExcl, o mtodo excluir todos os valores, desde o elemento incio at o ltimo elemento do array Se o valor for 0, nenhum elemento ser excludo.

valor Um parmetro opcional que especifica os valores a serem inseridos no array no ponto de insero especificado no parmetro incio. Retorna

Nada.
Descrio

Mtodo; inclui elementos em um array e dele remove-os. Esse mtodo modifica o array sem fazer uma cpia.

316

Captulo 12: Dicionrio do ActionScript

Array.toString()
Disponibilidade

Flash Player 5.
Uso meu_array.toString() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna um valor de seqncia de caracteres que representa os elementos no objeto Array especificado. Todos os elementos do array, iniciando pelo ndice 0 e terminando no ndice meu_array.length-1, so convertidos em uma seqncia de caracteres concatenados e separados por vrgulas.
Exemplo

O exemplo a seguir cria meu_array, converte-o em uma seqncia de caracteres e exibe 1, 2, 3, 4, 5 no painel Output (Sada).
meu_array = new Array(); meu_array[0] = 1; meu_array[1] = 2; meu_array[2] = 3; meu_array[3] = 4; meu_array[4] = 5; trace(meu_array.toString());

Array.unshift()
Disponibilidade

Flash Player 5.
Uso meu_array.unshift(valor1,valor2,...valorN) Parmetros valor1,...valorN

Um ou mais nmeros, elementos ou variveis a serem inseridos no incio

do array.
Retorna

O novo tamanho do array.


Descrio

Mtodo; inclui um ou mais elementos no incio de um array e retorna o seu novo tamanho.

Array.unshift()

317

Array()
Disponibilidade

Flash Player 6.
Uso Array() Array( [elemento0 [, elemento1 , elemento2,...elementoN ] ]) Parmetros elemento Retorna

Um ou mais elementos para colocar no array.

Um array.
Descrio

Funo de converso; cria um novo array vazio ou converte os elementos especificados em um array. Essa funo semelhante criao de um array usando o construtor Array (consulte Construtor da classe Array na pgina 300).

318

Captulo 12: Dicionrio do ActionScript

asfunction
Disponibilidade

Flash Player 5.
Uso asfunction:funo,"parmetro" Parmetros funo

Um identificador para uma funo. Uma seqncia de caracteres que passada para a funo identificada no parmetro

parmetro funo. Retorna

Nada.
Descrio

Protocolo; um protocolo especial para URLs em campos de texto HTML. Nos campos de texto HTML, o texto pode ter um hiperlink usando a marca A de HTML. O atributo HREF da marca A contm um URL que pode servir para um protocolo padro como HTTP, HTTPS ou FTP. O protocolo asfunction um protocolo adicional, especfico do Flash, que faz com que o link chame uma funo do ActionScript.
Exemplo

Neste exemplo, a funo MinhaFuno() definida nas trs primeiras linhas de cdigo. O objeto TextField meuTextField associado a um campo de texto HTML. O texto Clique em mim! um hiperlink dentro do campo de texto. A funo MinhaFuno() ser chamada quando o usurio clicar no hiperlink:
function MinhaFuno(arg){ trace ("Voc me clicou! O parmetro foi "+arg); } myTextField.htmlText ="<A HREF=\"asfunction:MinhaFuno,Foo \">Clique em mim!</A>";

Ao clicar no hiperlink, os resultados a seguir so exibidos no painel Output (Sada):


Voc clicou em mim! O parmetro foi Foo

Classe Boolean
Disponibilidade

Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio

A classe Boolean um objeto envoltrio que funciona da mesma forma que o objeto Boolean padro do JavaScript. Use a classe Boolean para recuperar o tipo de dados primitivo ou o objeto Boolean representado por uma seqncia de caracteres. Use o construtor new Boolean() para criar um objeto Boolean antes de chamar seus mtodos.

Classe Boolean

319

Resumo dos mtodos da classe Boolean


Mtodo
Boolean.toString()

Descrio Retorna a representao da seqncia de caracteres ("true" ou "false") do objeto Boolean. Retorna o tipo de valor primitivo do objeto Boolean especificado.

Boolean.valueOf()

Construtor da classe Boolean


Disponibilidade

Flash Player 5.
Uso new Boolean(x) Parmetros x

Qualquer expresso. Este parmetro opcional.

Retorna

Nada.
Descrio

Construtor; cria um objeto Boolean. Se o parmetro x for omitido, o objeto Boolean ser inicializado com um valor false. Se voc especificar um valor para o parmetro x, o mtodo o avaliar e retornar o resultado como um valor booleano de acordo com as regras estabelecidas na funo Boolean().
Exemplo

O cdigo a seguir cria um novo objeto Boolean vazio denominado meuBoolean.


meuBoolean = new Boolean();

Boolean.toString()
Disponibilidade

Flash Player 5.
Uso meuBoolean.toString() Parmetros

Nenhum.
Retorna

Um valor booleano.
Descrio

Mtodo; retorna a representao da seqncia de caracteres ("true" ou "false") do objeto Boolean.

320

Captulo 12: Dicionrio do ActionScript

Boolean.valueOf()
Disponibilidade

Flash Player 5.
Uso meuBoolean.valueOf() Parmetros

Nenhum.
Retorna

Um valor booleano.
Descrio

Mtodo; retornar true se o tipo de valor primitivo do objeto booleano especificado for true; retornar false se esse tipo for false.
Exemplo var x:Boolean = new Boolean(); trace(x.valueOf()); // false x = (6==3+3); trace(x.valueOf()); // true

Boolean.valueOf()

321

Boolean()
Disponibilidade

Flash Player 5; comportamento modificado no Flash Player 7.


Uso Boolean(expresso) Parmetros expresso Retorna

Uma expresso a ser convertida em um valor booleano.

Um valor booleano ou a expresso do valor, como descrito a seguir.


Descrio

Funo; converte a expresso do parmetro em um valor booleano e retorna um valor da seguinte maneira: Se expresso for um valor booleano, o valor de retorno ser expresso. Se expresso for um nmero e este for diferente de zero, o valor de retorno ser true, caso contrrio, ser false. Se expresso for uma seqncia de caracteres, o valor de retorno ser o seguinte:

Em arquivos publicados para Flash Player 6 ou verses anteriores, a seqncia de caracteres


primeiramente convertida em um nmero. O valor ser true se o nmero for diferente de zero; caso contrrio, ser false. Em arquivos publicados para Flash Player 7 ou verses posteriores, o resultado ser true se o tamanho da seqncia de caracteres for maior que zero. O valor ser false se a seqncia de caractere estiver vazia.

Se expresso for indefinida, o valor de retorno ser false. Se expresso for um clipe de filme ou um objeto, o valor de retorno ser true.
Consulte tambm

Classe Boolean

322

Captulo 12: Dicionrio do ActionScript

break
Disponibilidade

Flash Player 4.
Uso break Parmetros

Nenhum.
Retorna

Nada.
Descrio

Instruo; aparece em um loop (for, for..in, do while ou while) ou em um bloco de instrues associadas a um case em uma ao switch. A ao break instrui o Flash a ignorar o resto do corpo do loop, parar a ao de loop e executar a instruo aps o comando loop. Ao usar a ao break, o interpretador Flash ignorar as instrues restantes desse bloco case e vai para a primeira instruo subseqente ao switch em questo. Use a ao break para interromper uma srie de loops aninhados.
Exemplo

O exemplo a seguir usa a ao break para sair de um loop infinito.


i = 0; while (true) { if (i >= 100) { break; } i++; } Consulte tambm break, for, for..in, do while, while, switch, case

Classe Button
Disponibilidade

Flash Player 6.
Descrio

Todos os smbolos de boto em um arquivo SWF so instncias do objeto Button. possvel dar um nome de instncia a um boto no inspetor Properties (Propriedades) e usar os mtodos e as propriedades da classe Button para manipular botes com o ActionScript. Nomes de instncias de boto so exibidos no Movie Explorer (Explorador de filmes) e na caixa de dilogo Insert Target Path (Inserir caminho de destino) no painel Actions (Aes). A classe Button herda propriedades e mtodos da Classe Object.

Classe Button

323

Resumo dos mtodos da classe Button


Mtodo
Button.getDepth()

Descrio Retorna a profundidade de uma instncia de boto.

Resumo das propriedades da classe Button


Propriedade
Button._alpha Button.enabled Button._focusrect Button._height Button._highquality Button.menu Button._name Button._parent

Descrio O valor de transparncia de uma instncia de boto. Indica se o boto est ativo. Indica se um boto focalizado tem um retngulo amarelo em volta dele. A altura de uma instncia de boto, em pixels. O nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Associa um objeto ContextMenu ao objeto Button. O nome de uma instncia de boto. Uma referncia ao clipe de filme ou objeto que contm o clipe de filme ou objeto atual. Indica a qualidade de renderizao de um arquivo SWF. O grau de rotao de uma instncia de boto. Nmero de segundos para que um som seja pr-carregado. Indica se um boto est includo na ordenao de tabulao automtica. Indica a ordem de tabulao de um objeto. O caminho de destino de uma instncia de boto. Indica se outros botes podem receber eventos de liberao de mouse. O URL do arquivo SWF que criou a instncia de boto. Indica se o cursor em forma de mo indicadora est sendo exibido quando se passa o mouse sobre um boto. Um valor booleano que indica se a instncia de boto est oculta ou visvel. A largura de uma instncia de boto, em pixels. A coordenada x de uma instncia de boto. A coordenada x do ponteiro do mouse relativa instncia de um boto. O valor que especifica a porcentagem para o dimensionamento horizontal de uma instncia de boto. A coordenada y de uma instncia de boto. A coordenada y do ponteiro do mouse relativa instncia de um boto. O valor que especifica a porcentagem para o dimensionamento vertical de uma instncia de boto.

Button._quality Button._rotation Button._soundbuftime Button.tabEnabled Button.tabIndex Button._target Button.trackAsMenu Button._url Button.useHandCursor

Button._visible

Button._width Button._x Button._xmouse Button._xscale

Button._y Button._ymouse Button._yscale

324

Captulo 12: Dicionrio do ActionScript

Resumo dos manipuladores de eventos da classe Button


Manipulador de eventos
Button.onDragOut

Descrio Chamado quando o boto do mouse pressionado sobre o boto e, em seguida, o ponteiro arrastado para fora do boto. Chamado quando o usurio pressiona o boto do mouse fora do boto e, em seguida, arrasta o mouse passando sobre o boto. Chamado quando uma tecla liberada. Chamado quando o foco removido de um boto. Chamado quando o mouse pressionado enquanto o ponteiro est sobre um boto. Chamado quando o mouse liberado enquanto o ponteiro est sobre um boto. Chamado na liberao do mouse enquanto o ponteiro estiver fora do boto depois de pressionar o boto enquanto o ponteiro estiver dentro do boto. Chamado quando o ponteiro rola para fora da rea de um boto. Chamado quando o ponteiro do mouse rola sobre um boto. Chamado quando um boto tem foco de entrada e uma tecla liberada.

Button.onDragOver

Button.onKeyUp Button.onKillFocus Button.onPress

Button.onRelease

Button.onReleaseOutside

Button.onRollOut Button.onRollOver Button.onSetFocus

Button._alpha
Disponibilidade

Flash Player 6.
Uso meu_boto._alpha Descrio

Propriedade; o valor da transparncia alfa do boto especificado por meu_boto. A faixa de valores vlidos vai de 0 (totalmente transparente) a 100 (totalmente opaco). O valor padro 100. Os objetos em um boto com _alpha definida como 0 so ativos, apesar de invisveis.
Exemplo

O cdigo a seguir define a propriedade _alpha de um boto denominado boto_estrela como 30% quando se clica no boto:
on (release) { boto_estrela._alpha = 30; } Consulte tambm MovieClip._alpha, TextField._alpha

Button._alpha

325

Button.enabled
Disponibilidade

Flash Player 6.
Uso meu_boto.enabled Descrio

Propriedade; um valor booleano que especifica se um boto est ativado. O valor padro true.

Button._focusrect
Disponibilidade

Flash Player 6.
Uso meu_boto._focusrect Descrio

Propriedade; um valor booleano que especifica se um boto tem um retngulo amarelo em volta dele quando tiver foco de teclado. Esta propriedade pode prevalecer sobre a propriedade global _focusrect.

Button.getDepth()
Disponibilidade

Flash Player 6.
Uso meu_boto.getDepth() Retorna

Um inteiro.
Descrio

Mtodo; retorna a profundidade de uma instncia de boto.

326

Captulo 12: Dicionrio do ActionScript

Button._height
Disponibilidade

Flash Player 6.
Uso meu_boto._height Descrio

Propriedade; a altura do boto em pixels.


Exemplo

O exemplo de cdigo a seguir define a altura e a largura de um boto quando o usurio clicar com o mouse:
meu_boto._width = 200; meu_boto._height = 200;

Button._highquality
Disponibilidade

Flash Player 6.
Uso meu_boto._highquality Descrio

Propriedade (global); especifica o nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Especifique 2 (melhor qualidade) para aplicar alta qualidade com a suavizao de bitmap sempre ativada. Especifique 1 (alta qualidade) para aplicar o recurso de eliminao de serrilhado. Isso suavizar os bitmaps se o arquivo SWF no tiver animao. Especifique 0 (baixa qualidade) para evitar o recurso de eliminao de serrilhado.
Consulte tambm _quality

Button._highquality

327

Button.menu
Disponibilidade

Flash Player 7.
Uso meu_boto.menu = menuContexto Parmetros menuContexto Descrio

Um objeto ContextMenu.

Propriedade; associa o objeto menuContexto da classe ContextMenu ao objeto meu_boto da classe Button. A classe ContextMenu permite modificar o menu de contexto que aparece quando o usurio clica com o boto direito do mouse (Windows) ou com a tecla Control pressionada (Macintosh) no Flash Player.
Exemplo

O exemplo a seguir atribui um objeto ContextMenu a um objeto Button denominado boto_salvar. O objeto ContextMenu conter um nico item de menu, Salvar..., com uma funo manipuladora de retorno associada denominada execSalvar (no apresentada).
var menu_cm = new ContextMenu(); menu_cm.customItems.push(new ContextMenuItem("Salvar...", execSalvar)); function execSalvar(menu, obj) { // o cdigo de "Salvar" entra aqui } boto_salvar.menu = menu_cm; Consulte tambm

Classe ContextMenu, Classe ContextMenuItem, MovieClip.menu, TextField.menu

Button._name
Disponibilidade

Flash Player 6.
Uso meu_boto._name Descrio

Propriedade; nome da instncia do boto especificado por meu_boto.

328

Captulo 12: Dicionrio do ActionScript

Button.onDragOut
Disponibilidade

Flash Player 6.
Uso meu_boto.onDragOut = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o boto do mouse estiver pressionado sobre o boto e o ponteiro rolar para fora do boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.

Button.onDragOut

329

Button.onDragOver
Disponibilidade

Flash Player 6.
Uso meu_boto.onDragOver = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o usurio pressiona e arrasta o boto do mouse para fora e sobre o boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o manipulador onKeyDown que envia uma ao trace() para o painel Output (Sada):
meu_boto.onDragOver = function () { trace ("onDragOver chamado"); }; Consulte tambm Button.onKeyUp

330

Captulo 12: Dicionrio do ActionScript

Button.onKeyDown
Disponibilidade

Flash Player 6.
Uso meu_boto.onKeyDown = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando um boto tiver foco de teclado e uma tecla for pressionada. O manipulador de eventos onKeyDown chamado sem nenhum parmetro. possvel usar Key.getAscii() e Key.getCode() para definir qual tecla foi pressionada. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onKeyDown.
meu_boto.onKeyDown = function () { trace ("onKeyDown chamado"); }; Consulte tambm Button.onKeyUp

Button.onKeyDown

331

Button.onKeyUp
Disponibilidade

Flash Player 6.
Uso meu_boto.onKeyUp = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando um boto tiver foco de entrada e uma tecla for liberada. O manipulador de eventos onKeyUp chamado sem nenhum parmetro. possvel usar Key.getAscii() e Key.getCode() para definir qual tecla foi pressionada. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onKeyPress.
meu_boto.onKeyUp = function () { trace ("onKeyUp chamado"); };

Button.onKillFocus
Disponibilidade

Flash Player 6.
Uso meu_boto.onKillFocus = function (novoFoco) { // suas instrues entram aqui } Parmetros novoFoco

O objeto que est recebendo o foco.

332

Captulo 12: Dicionrio do ActionScript

Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando um boto perde o foco do teclado. O mtodo onKillFocus recebe um parmetro, novoFoco, que um objeto representando o novo objeto a receber o foco. Se nenhum objeto receber o foco, novoFoco conter o valor null.

Button.onPress
Disponibilidade

Flash Player 6.
Uso meu_boto.onPress = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando um boto for pressionado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onPress.
meu_boto.onPress = function () { trace ("onPress chamado"); };

Button.onPress

333

Button.onRelease
Disponibilidade

Flash Player 6.
Uso meu_boto.onRelease = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado na liberao de um boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onRelease.
meu_boto.onRelease = function () { trace ("onRelease chamado"); };

334

Captulo 12: Dicionrio do ActionScript

Button.onReleaseOutside
Disponibilidade

Flash Player 6.
Uso meu_boto.onReleaseOutside = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado na liberao do mouse enquanto o ponteiro estiver fora do boto depois de pressionar o boto enquanto o ponteiro estiver dentro do boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onReleaseOutside.
meu_boto.onReleaseOutside = function () { trace ("onReleaseOutside chamado"); };

Button.onReleaseOutside

335

Button.onRollOut
Disponibilidade

Flash Player 6.
Uso meu_boto.onRollOut = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o ponteiro movido para fora da rea de um boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onRollOut.
meu_boto.onRollOut = function () { trace ("onRollOut chamado"); };

336

Captulo 12: Dicionrio do ActionScript

Button.onRollOver
Disponibilidade

Flash Player 6.
Uso meu_boto.onRollOver = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o ponteiro passa sobre a rea de um boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onRollOver.
meu_boto.onRollOver = function () { trace ("onRollOver chamado"); };

Button.onSetFocus
Disponibilidade

Flash Player 6.
Uso meu_boto.onSetFocus = function(focoAnterior){ // suas instrues entram aqui } Parmetros focoAnterior Retorna

O objeto a perder o foco de teclado.

Nada.
Descrio

Manipulador de eventos; chamado quando um boto recebe foco de teclado. O parmetro focoAnterior o objeto que perde o foco. Por exemplo, se o usurio pressionar a tecla Tab para mover o foco de entrada de um campo de texto para um boto, o parmetro focoAnterior passar a conter a instncia do campo de texto. Se no havia nenhum objeto em foco anteriormente, focoAnterior conter um valor null.

Button.onSetFocus

337

Button._parent
Disponibilidade

Flash Player 6.
Uso meu_boto._parent.propriedade _parent.propriedade Descrio

Propriedade; uma referncia ao clipe de filme ou objeto que contm o clipe de filme ou objeto atual. O objeto atual aquele que contm o cdigo ActionScript que faz referncia a _parent. Use _parent para especificar um caminho relativo para clipes de filme ou objetos que estiverem acima do clipe de filme ou objeto atual. possvel usar _parent para subir vrios nveis na lista de exibio, conforme mostrado a seguir:
_parent._parent._alpha = 20; Consulte tambm MovieClip._parent, _root, targetPath

Button._quality
Disponibilidade

Flash Player 6.
Uso meu_boto._quality Descrio

Propriedade (global); define ou recupera a qualidade de renderizao usada para um filme SWF. As fontes de dispositivo so sempre serrilhadas, sendo assim no so afetadas pela propriedade _quality.
Observao: Embora voc possa especificar essa propriedade para um objeto Button, ela , na verdade, uma propriedade global e seu valor pode ser especificado simplesmente como _quality. Para obter mais informaes, consulte _quality.

338

Captulo 12: Dicionrio do ActionScript

Button._rotation
Disponibilidade

Flash Player 6.
Uso meu_boto._rotation Descrio

Propriedade; a rotao do boto, em graus, a partir da orientao original. Os valores de 0 a 180 representam a rotao no sentido horrio. E os valores de 0 a -180 representam a rotao no sentido anti-horrio. Os valores fora desse intervalo so somados a 360 ou subtrados de 360 para que seja obtido um valor contido no intervalo. Por exemplo, a instruo meu_boto._rotation = 450 igual a meu_boto._rotation = 90.
Consulte tambm MovieClip._rotation, TextField._rotation

Button._soundbuftime
Disponibilidade

Flash Player 6.
Uso meuBoto._soundbuftime Descrio

Propriedade (global); um inteiro que especifica o nmero de segundos em que um som armazenado em pr-buffer antes de comear a ser reproduzido.
Observao: Embora voc possa especificar essa propriedade para um objeto Button, ela , na verdade, uma propriedade global e seu valor pode ser especificado simplesmente como _soundbuftime. Para obter mais informaes, consulte _soundbuftime.

Button._soundbuftime

339

Button.tabEnabled
Disponibilidade

Flash Player 6.
Uso meu_boto.tabEnabled Descrio

Propriedade; especifica se meu_boto est includo na ordenao de tabulao automtica. A opo undefined utilizada por padro. Se a propriedade tabEnabled for undefined ou true, o objeto ser includo na ordenao de tabulao automtica. Se a propriedade tabIndex tambm estiver definida com determinado valor, o objeto tambm ser includo na ordenao de tabulao personalizada. Se tabEnabled for false, o objeto no ser includo nem na ordenao de tabulao automtica nem na personalizada, ainda que a propriedade tabIndex esteja definida.
Consulte tambm Button.tabIndex, MovieClip.tabEnabled, TextField.tabEnabled

340

Captulo 12: Dicionrio do ActionScript

Button.tabIndex
Disponibilidade

Flash Player 6.
Uso meu_boto.tabIndex Descrio

Propriedade; permite personalizar a ordenao de tabulao dos objetos em um filme SWF. possvel definir a propriedade tabIndex em um boto, clipe de filme ou instncia de campo de texto. Por padro, ela undefined. Se algum objeto que esteja sendo exibido no momento no arquivo SWF tiver uma propriedade a ordenao de tabulao automtica ser desativada e a ordenao de tabulao ser calculada a partir das propriedades tabIndex dos objetos do arquivo SWF. A ordenao de tabulao personalizada inclui apenas os objetos que tm propriedades tabIndex.
tabIndex,

A propriedade tabIndex pode ser um inteiro no negativo. Os objetos so ordenados de acordo com suas propriedades tabIndex, em ordem ascendente. Um objeto cujo tabIndex tenha valor 1 precede um objeto com tabIndex com valor 2. Se dois objetos tiverem o mesmo valor tabIndex, aquele que preceder o outro na ordenao de tabulao ser undefined. A ordenao de tabulao personalizada definida pela propriedade tabIndex flat. Isso significa que as relaes hierrquicas de objetos so ignoradas no arquivo SWF. Todos os objetos do arquivo SWF com propriedades tabIndex so colocados na ordem de tabulao, que, por sua vez, determinada pela ordem dos valores de tabIndex. Se dois objetos tiverem o mesmo valor tabIndex, o primeiro ser undefined. Voc no deve usar o mesmo valor de tabIndex para vrios objetos.
Consulte tambm Button.tabEnabled, MovieClip.tabChildren, MovieClip.tabEnabled, MovieClip.tabIndex, TextField.tabIndex

Button._target
Disponibilidade

Flash Player 6.
Uso meuBoto._target Descrio

Propriedade (somente de leitura); retorna o caminho de destino da instncia de boto especificada por meu_boto.
Consulte tambm targetPath

Button._target

341

Button.trackAsMenu
Disponibilidade

Flash Player 6.
Uso meu_boto.trackAsMenu Descrio

Propriedade; um valor booleano que indica se outros botes ou clipes de filme podem receber eventos de liberao de mouse. Permite a criao de menus. Voc pode definir a propriedade trackAsMenu em qualquer boto ou objeto de clipe de filme. Se a propriedade trackAsMenu no tiver sido definida, o comportamento padro ser false. possvel alterar a qualquer momento a propriedade trackAsMenu; o boto modificado assume o novo comportamento logo em seguida.
Consulte tambm MovieClip.trackAsMenu

Button._url
Disponibilidade

Flash Player 6.
Uso meu_boto._url Descrio

Propriedade (somente de leitura); recupera o URL do arquivo SWF que criou o boto.

Button.useHandCursor
Disponibilidade

Flash Player 6.
Uso meu_boto.useHandCursor Descrio

Propriedade; um valor booleano que, quando definido como true (o padro), indica se ser exibido um cursor em forma de mo (mo indicadora) quando o usurio passar o mouse sobre o boto. Se essa propriedade for definida como false, o cursor de seta ser usado. Se a qualquer momento a propriedade useHandCursor for alterada; o boto modificado logo assumir o comportamento do novo cursor. possvel ler a propriedade useHandCursor de um objeto prottipo.

342

Captulo 12: Dicionrio do ActionScript

Button._visible
Disponibilidade

Flash Player 6.
Uso meu_boto._visible Descrio

Propriedade; um valor booleano que indica se o boto especificado por meu_boto est visvel. Os botes invisveis (propriedade _visible definida como false) so desativados.
Consulte tambm MovieClip._visible, TextField._visible

Button._width
Disponibilidade

Flash Player 6.
Uso meu_boto._width Descrio

Propriedade; a largura do boto, em pixels.


Exemplo

O exemplo a seguir define as propriedades de altura e de largura de um boto.


meu_boto._width=200; meu_boto._height=200; Consulte tambm MovieClip._width

Button._width

343

Button._x
Disponibilidade

Flash Player 6.
Uso meu_boto._x Descrio

Propriedade; um inteiro que define a coordenada x de um boto em relao s coordenadas locais do clipe de filme pai. Se um boto estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas far referncia ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o boto estiver dentro de outro clipe de filme que tenha sofrido transformaes, estar no sistema de coordenadas locais do clipe de filme anexado. Assim, para um clipe de filme girado 90 no sentido anti-horrio, o boto embutido herda um sistema de coordenadas que est girado 90 no sentido anti-horrio. As coordenadas do boto referem-se posio do ponto do registro.
Consulte tambm Button._xscale, Button._y, Button._yscale

Button._xmouse
Disponibilidade

Flash Player 6.
Uso meu_boto._xmouse Descrio

Propriedade (somente de leitura); retorna a coordenada x da posio do mouse em relao ao boto.


Consulte tambm Button._ymouse

344

Captulo 12: Dicionrio do ActionScript

Button._xscale
Disponibilidade

Flash Player 6.
Uso meu_boto._xscale Descrio

Propriedade; o dimensionamento vertical do boto conforme aplicado do ponto de registro do mesmo, expresso como uma porcentagem. O ponto de registro padro (0,0). Dimensionar o sistema de coordenadas local afeta as configuraes da propriedade _x e _y, que so definidas em pixels. Por exemplo, se o clipe de filme pai for dimensionado em 50%, a definio da propriedade _x mover um objeto no boto pela metade do nmero de pixels, como se o arquivo SWF tivesse sido dimensionado em 100%.
Consulte tambm Button._x, Button._y, Button._yscale

Button._y
Disponibilidade

Flash Player 6.
Uso meu_boto._y Descrio

Propriedade; a coordenada y do boto em relao s coordenadas locais do clipe de filme pai. Se um boto estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas far referncia ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o boto estiver dentro de outro clipe de filme que tenha sofrido transformaes, estar no sistema de coordenadas locais do clipe de filme anexado. Assim, para um clipe de filme girado 90 no sentido anti-horrio, o boto embutido herda um sistema de coordenadas que est girado 90 no sentido anti-horrio. As coordenadas do boto referem-se posio do ponto do registro.
Consulte tambm Button._x, Button._xscale, Button._yscale

Button._y

345

Button._ymouse
Disponibilidade

Flash Player 6.
Uso meu_boto._ymouse Descrio

Propriedade (somente de leitura); indica a coordenada y da posio do mouse em relao ao boto.


Consulte tambm Button._xmouse

Button._yscale
Disponibilidade

Flash Player 6.
Uso meu_boto._yscale Descrio

Propriedade; o dimensionamento vertical do boto conforme aplicado do ponto de registro do mesmo, expresso como uma porcentagem. O ponto de registro padro (0,0).
Consulte tambm Button._y, Button._x, Button._xscale

346

Captulo 12: Dicionrio do ActionScript

call()
Disponibilidade

Flash Player 4. Esta ao tornou-se obsoleta no Flash 5 e a Macromedia recomenda que a ao function seja usada no seu lugar.
Uso call(quadro) Parmetros quadro Retorna

O rtulo ou nmero de um quadro na Timeline (Linha de tempo).

Nada.
Descrio

Ao obsoleta; executa o script no quadro chamado, sem mover a reproduo para esse quadro. As variveis locais no mais existiro depois da execuo do script.
Consulte tambm function, Function.call()

Classe Camera
Disponibilidade

Flash Player 6.
Descrio

A classe Camera para ser usada, principalmente, com o Macromedia Flash Communication Server, mas pode ser usada, de uma forma limitada, sem o servidor. A classe Camera permite a captura de vdeo de uma cmera de vdeo conectada ao computador que esteja executando o Macromedia Flash Player por exemplo, para monitorar um fluxo de vdeo de uma web camera conectada ao seu sistema local. O Flash fornece recursos semelhantes de udio. Para obter mais informaes, consulte a entrada Classe Microphone. Para criar ou fazer referncia a um objeto Camera, use Camera.get().

Classe Camera

347

Resumo dos mtodos da classe Camera


Mtodo
Camera.get()

Descrio Retornar um objeto Camera padro ou especificado, ou null se a cmera no estiver disponvel. Define aspectos do modo de captura da cmera, incluindo altura, largura e quadros por segundo. Especifica quanto movimento necessrio para chamar Camera.onActivity(true) e quanto tempo deve decorrer sem movimento antes que Camera.onActivity(false) seja chamado. Um inteiro que especifica o valor mximo de largura de banda que um fluxo de sada de vdeo atual pode usar, em bytes por segundo.

Camera.setMode()

Camera.setMotionLevel()

Camera.setQuality()

Resumo das propriedades da classe Camera


Propriedade (somente de leitura)
Camera.activityLevel Camera.bandwidth

Descrio A intensidade de movimento que a cmera est detectando. A mxima largura de banda que o fluxo de sada de vdeo atual pode usar, em bytes. A taxa na qual a cmera est capturando dados, em quadros por segundo. A taxa desejada de captura de dados, em quadros por segundo. A altura atual da captura, em pixels. O ndice da cmera, conforme refletido no array retornado por Camera.names. A intensidade de movimento necessria para chamar Camera.onActivity(true). O nmero de milissegundos entre o momento em que a cmera pra de detectar movimento e o momento em que Camera.onActivity(false) chamado. Um valor booleano que especifica se o usurio permitiu ou negou o acesso cmera. O nome da cmera conforme especificado pelo hardware da cmera. Propriedade de classe; um array de seqncias de caracteres que refletem os nomes de todos os dispositivos de captura de vdeo disponveis, incluindo placas de vdeo e cmeras. Um inteiro que especifica o nvel desejado de qualidade de vdeo, determinado pelo nvel de compactao aplicado a cada quadro de vdeo. A largura atual da captura, em pixels.

Camera.currentFps

Camera.fps Camera.height Camera.index

Camera.motionLevel

Camera.motionTimeOut

Camera.muted

Camera.name Camera.names

Camera.quality

Camera.width

348

Captulo 12: Dicionrio do ActionScript

Resumo dos manipuladores de eventos da classe Camera


Manipulador de eventos Descrio
Camera.onActivity Camera.onStatus

Chamado quando a cmera comea ou pra de detectar movimento. Chamado quando o usurio permite ou nega o acesso cmera.

Construtor da classe Camera Consulte Camera.get().

Camera.activityLevel
Disponibilidade

Flash Player 6.
Uso cmera_ativa.activityLevel Descrio

Propriedade somente de leitura; valor numrico que especifica a intensidade de movimento que a cmera est detectando. Os valores vo de 0 (nenhum movimento detectado) a 100 (grande intensidade de movimento detectada). O valor dessa propriedade pode ajud-lo a determinar se necessrio passar uma configurao para Camera.setMotionLevel(). Se a cmera estiver disponvel mas ainda no estiver sendo usada porque Video.attachVideo() no foi chamado, esta propriedade ter o valor -1. Se somente estiver sendo gerado fluxo de vdeo local no compactado, esta propriedade estar definida apenas se uma funo tiver sido atribuda ao manipulador de eventos Camera.onActivity. Do contrrio, ela estar indefinida.
Consulte tambm Camera.motionLevel, Camera.setMotionLevel()

Camera.activityLevel

349

Camera.bandwidth
Disponibilidade

Flash Player 6.
Uso cmera_ativa.bandwidth Descrio

Propriedade somente de leitura; um inteiro que especifica a mxima largura de banda que o fluxo de sada de vdeo atual pode usar, em bytes. O valor 0 significa que o vdeo do Flash pode usar toda a largura de banda necessria para manter a qualidade de quadro desejada. Para definir esta propriedade, use Camera.setQuality().
Exemplo

Se a largura de banda da cmera for de 32 kilobytes ou mais, o exemplo a seguir carregar outro arquivo SWF.
if(minhaCmera.bandwidth >= 32768){ loadMovie("splat.swf",_root.hiddenvar); } Consulte tambm Camera.setQuality()

Camera.currentFps
Disponibilidade

Flash Player 6.
Uso cmera_ativa.currentFps Descrio

Propriedade somente de leitura; a taxa na qual a cmera est capturando dados, em quadros por segundo. Esta propriedade no pode ser definida. No entanto, possvel usar o mtodo Camera.setMode() para definir uma propriedade relacionada Camera.fps que especifica a taxa mxima de quadros desejada para a captura de dados.
Consulte tambm Camera.fps, Camera.setMode()

350

Captulo 12: Dicionrio do ActionScript

Camera.fps
Disponibilidade

Flash Player 6.
Uso cmera_ativa.fps Descrio

Propriedade somente de leitura; a taxa mxima desejada para a captura de dados, em quadros por segundo. A taxa mxima possvel depende dos recursos da cmera; ou seja, se a cmera no suportar o valor definido aqui, esta taxa de quadros no ser alcanada.

Para definir o valor desejado para esta propriedade, use Camera.setMode(). Para descobrir a taxa na qual a cmera est capturando dados no momento, use a propriedade
Camera.currentFps. Exemplo

O exemplo a seguir define a taxa de quadros por segundo da cmera ativa, minhaCmera.fps, como o valor fornecido pela caixa de texto do usurio, this.config.txt_fps.
if (this.config.txt_fps != undefined) { minhaCmera.setMode(minhaCmera.width, minhaCmera.height, this.config.txt_fps, false); } Observao: A funo setMode no garante a configurao de fps solicitada; ela define a fps solicitada ou a fps mais rpida disponvel. Consulte tambm Camera.currentFps, Camera.setMode()

Camera.fps

351

Camera.get()
Disponibilidade

Flash Player 6.
Uso Camera.get([ndice]) Observao: A sintaxe correta Camera.get(). Para atribuir o objeto Camera a uma varivel, use uma sintaxe como cmera_ativa = Camera.get(). Parmetros ndice

Inteiro opcional que tem zero como base e especifica qual cmera selecionar, seguindo o array retornado pela propriedade Camera.names. Para selecionar a cmera padro (que o recomendvel para a maioria dos aplicativos), omita esse parmetro.

Retorna

Se ndice no estiver especificado, este mtodo retornar uma referncia cmera padro ou,
se ela estiver sendo usada por outro aplicativo, primeira cmera disponvel. Se houver mais de uma cmera instalada, o usurio poder especificar qual a cmera padro no painel Camera Settings (Configuraes de cmera) do Flash Player. Se no houver nenhuma cmera disponvel nem instalada, o mtodo retornar null. Se ndice estiver especificado, este mtodo retornar uma referncia cmera solicitada ou null se ela no estiver disponvel.

Descrio

Mtodo; retorna uma referncia a um objeto Camera para captura de vdeo. Para realmente comear a capturar o vdeo, necessrio conectar o objeto Camera a um objeto Video (consulte Video.attachVideo()). Ao contrrio dos objetos criados com o construtor new, vrias chamadas para Camera.get() fazem referncia mesma cmera. Assim, se o script contiver as linhas cm_1=Camera.get() e cm_2=Camera.get(), tanto cm_1 quanto cm_2 faro referncia mesma cmera (padro). Em geral, no se deve passar um valor para ndice. Simplesmente use Camera.get() para retornar uma referncia cmera padro. Atravs do painel Camera settings, que ser apresentado posteriormente nesta seo, o usurio pode especificar a cmera padro que o Flash deve usar. Se voc passar um valor para ndice, poder estar tentando fazer referncia a uma cmera que no seja a preferida do usurio. O ndice ser usado em poucos casos por exemplo, se o aplicativo estiver capturando vdeo de duas cmeras ao mesmo tempo. Quando um arquivo SWF tenta acessar a cmera retornada por Camera.get(), o Flash Player exibe uma caixa de dilogo Privacy (Privacidade) para que o usurio permita ou negue o acesso cmera. Certifique-se de que o tamanho do Stage (Palco) seja de pelo menos 215 x 138 pixels. Esse o tamanho mnimo de que o Flash necessita para exibir a caixa de dilogo.

352

Captulo 12: Dicionrio do ActionScript

Quando o usurio responde a esta caixa de dilogo, o manipulador de eventos Camera.onStatus retorna um objeto de informao que indica a resposta do usurio. Para descobrir se o usurio negou ou permitiu acesso cmera sem processar esse manipulador de eventos, use a propriedade Camera.muted. O usurio tambm pode especificar configuraes permanentes de privacidade para determinado domnio clicando com o boto direito do mouse (no Windows) ou pressionando Control e clicando com o mouse (no Macintosh) enquanto um arquivo SWF estiver sendo reproduzido, escolhendo Settings (Configuraes), abrindo o painel Privacy (Privacidade) e selecionando Remember (Lembrar-se).

No possvel usar o ActionScript para definir o valor Allow (Permitir) ou Deny (Proibir) para um usurio. Mas voc pode exibir o painel Privacy para o usurio usando System.showSettings(0). Se o usurio selecionar Remember, o Flash Player no exibir mais a caixa de dilogo Privacy para filmes desse domnio. Se Camera.get retornar null, a cmera est sendo usada por outro aplicativo ou no h cmeras instaladas no sistema. Para descobrir se h cmeras instaladas, use Camera.names.length. Para exibir o painel Camera Settings (Configuraes de cmera) do Flash Player, que permite que o usurio escolha a cmera qual Camera.get() far referncia, use System.showSettings(3).

Lembre-se de que a procura de cmeras no hardware demorada. Depois que o Flash encontrar pelo menos uma cmera, no ser feita uma nova busca no hardware enquanto a instncia do exibidor estiver ativa. Entretanto, se o Flash no encontrar nenhuma cmera, ele ir procurar por uma toda vez que Camera.get for chamado. Isso pode ser til caso um usurio tenha se esquecido de conectar a cmera. Se o arquivo SWF apresentar um boto Try Again (Tentar novamente) que chame Camera.get, o Flash poder localizar a cmera sem que o usurio precise reiniciar o arquivo SWF.

Camera.get()

353

Exemplo

O exemplo a seguir captura e exibe vdeo localmente no Stage (Palco) dentro de um objeto Video denominado meu_vdeo.
var minha_cm = Camera.get(); meu_vdeo.attachVideo(minhaCmera); Consulte tambm Camera.index, Camera.muted, Camera.names, Camera.onStatus, Camera.setMode(), System.showSettings(), Video.attachVideo()

Camera.height
Disponibilidade

Flash Player 6.
Uso cmera_ativa.height Descrio

Propriedade somente de leitura; a altura atual da captura, em pixels. Para definir um valor para essa propriedade, use Camera.setMode().
Exemplo

A linha de cdigo a seguir atualiza uma caixa de texto na interface do usurio com o valor da altura atual.
meu_txt._height = minhaCmera.height;

Consulte tambm o exemplo para Camera.setMode().


Consulte tambm Camera.setMode(), Camera.width

354

Captulo 12: Dicionrio do ActionScript

Camera.index
Disponibilidade

Flash Player 6.
Uso cmera_ativa.index Descrio

Propriedade somente de leitura; um inteiro que tem zero como base e especifica o ndice da cmera, seguindo o array retornado por Camera.names.
Exemplo

O exemplo a seguir obtm a cmera que possui o valor de ndice.


minha_cm = Camera.get(index); Consulte tambm Camera.get(), Camera.names

Camera.motionLevel
Disponibilidade

Flash Player 6.
Uso cmera_ativa.motionLevel Descrio

Propriedade somente de leitura; um valor numrico que especifica a intensidade de movimento necessria para chamar Camera.onActivity(true). O intervalo de valores aceitveis vai de 0 a 100. O valor padro 50. O vdeo pode ser exibido independentemente do valor da propriedade motionLevel. Para obter mais informaes, consulte Camera.setMotionLevel().
Consulte tambm Camera.activityLevel, Camera.onActivity, Camera.onStatus, Camera.setMotionLevel()

Camera.motionLevel

355

Camera.motionTimeOut
Disponibilidade

Flash Player 6.
Uso cmera_ativa.motionTimeOut Descrio

Propriedade somente de leitura; o nmero de milissegundos entre o momento em que a cmera pra de detectar movimento e o momento em que Camera.onActivity(false) chamado. O valor padro 2000 (2 segundos). Para definir este valor, use Camera.setMotionLevel().
Exemplo

O exemplo a seguir define o nmero de milissegundos entre o momento em que a cmera pra de detectar movimento e o momento em que Camera.onActivity(false) chamado em 1000 milissegundos ou um segundo.
if(minha_cm.motionTimeOut >= 1000){ minha_cm.setMotionLevel(minhaCmera.motionLevel, 1000); } Consulte tambm Camera.onActivity, Camera.setMotionLevel()

Camera.muted
Disponibilidade

Flash Player 6.
Uso cmera_ativa.muted Descrio

Propriedade somente de leitura; um valor booleano que especifica se o usurio negou acesso cmera (true) ou permitiu acesso (false) no painel Privacy Settings (Configuraes de privacidade) do Flash Player. Quando este valor alterado, Camera.onStatus chamado. Para obter mais informaes, consulte Camera.get().
Consulte tambm Camera.get(), Camera.onStatus

356

Captulo 12: Dicionrio do ActionScript

Camera.name
Disponibilidade

Flash Player 6.
Uso cmera_ativa.name Descrio

Propriedade somente de leitura; uma seqncia de caracteres que especifica o nome da cmera atual, como retornado pelo hardware da cmera.
Exemplo

O exemplo a seguir exibe o nome da cmera padro no painel Output (Sada). No Windows, esse nome o mesmo do dispositivo listado na folha de propriedades Scanners and Cameras (Scanners e cmeras).
minha_cm = Camera.get(); trace("O nome da cmera : " + minha_cm.name); Consulte tambm Camera.get(), Camera.names

Camera.name

357

Camera.names
Disponibilidade

Flash Player 6.
Uso Camera.names Observao: A sintaxe correta Camera.names. Para atribuir o valor de retorno a uma varivel, use uma sintaxe do tipo cam_array=Camera.names. Para determinar o nome da cmera atual, use cmera_ativa.name. Descrio

Propriedade de classe somente de leitura; recupera um array de seqncias de caracteres que refletem os nomes de todas as cmeras disponveis sem exibir o painel Privacy Settings (Configuraes de privacidade) do Flash Player. Esse array tem o mesmo comportamento de qualquer outro array do ActionScript: fornece implicitamente o ndice (que inicia em zero) de cada cmera e o nmero de cmeras presentes no sistema (atravs de Camera.names.length). Para obter mais informaes, consulte a entrada da Classe Array. necessrio realizar uma busca extensiva no hardware para chamar a propriedade Camera.names; desta forma, a construo do array pode demorar alguns segundos. Na maioria dos casos, possvel usar diretamente a cmera padro.
Exemplo

O exemplo a seguir usa a cmera padro, a menos que haja mais de uma cmera disponvel. Nesse caso, o usurio poder escolher qual cmera deseja definir como padro.
cam_array = Camera.names; if (cam_array.length == 1){ minha_cm = Camera.get(); } else { System.showSettings(3); minha_cm = Camera.get(); } Consulte tambm Camera.get(), Camera.index, Camera.name

358

Captulo 12: Dicionrio do ActionScript

Camera.onActivity
Disponibilidade

Flash Player 6.
Uso cmera_ativa.onActivity = function(atividade) { // suas instrues entram aqui } Parmetros atividade

Um valor booleano definido como true quando a cmera comea a detectar movimento e como false quando ela pra. Nada.

Retorna

Descrio

Manipulador de eventos; chamado quando a cmera comea ou pra de detectar movimento. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o valor atividade. Para especificar a intensidade de movimento necessria para chamar Camera.onActivity(true) e a quantidade de tempo que deve decorrer sem atividade antes de chamar Camera.onActivity(false), use Camera.setMotionLevel().
Exemplo

O exemplo a seguir exibe true ou false no painel Output (Sada) quando a cmera comea ou pra de detectar movimento.
// Presume que um objeto Video denominado "meuObjetoVdeo" esteja no Stage // (Palco) minha_cm = Camera.get(); meuObjetoVdeo.attachVideo(minha_cm); minha_cm.setMotionLevel(10, 500); minha_cm.onActivity = function(mode) { trace(mode); } Consulte tambm Camera.onActivity, Camera.setMotionLevel()

Camera.onActivity

359

Camera.onStatus
Disponibilidade

Flash Player 6.
Uso cmera_ativa.onStatus = function(objetoInfo) { // suas instrues entram aqui } Parmetros objetoInfo Retorna

Parmetro definido de acordo com a mensagem de status.

Nada.
Descrio

Manipulador de eventos; chamado quando o usurio permite ou nega o acesso cmera. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o objeto de informao gerado pela cmera. Quando um arquivo SWF tenta acessar a cmera, o Flash Player exibe uma caixa de dilogo Privacy (Privacidade) para que o usurio permita ou negue o acesso.

Se o usurio permitir o acesso, a propriedade Camera.muted ser definida como false e esse
manipulador ser chamado com um objeto de informao cuja propriedade code "Camera.Unmuted" e cuja propriedade level "Status". Se o usurio negar o acesso, a propriedade Camera.muted ser definida como true e esse manipulador ser chamado com um objeto de informao cuja propriedade code "Camera.Muted" e cuja propriedade level "Status".

Para descobrir se o usurio negou ou permitiu acesso cmera sem processar esse manipulador de eventos, use a propriedade Camera.muted.
Observao: Se o usurio optar por permitir ou negar o acesso permanentemente para todos os arquivos SWF de um domnio especfico, esse manipulador somente ser chamado para arquivos SWF desse domnio se o usurio alterar posteriormente a configurao de privacidade. Para obter mais informaes, consulte Camera.get().

360

Captulo 12: Dicionrio do ActionScript

Exemplo

O manipulador de eventos a seguir exibe uma mensagem sempre que o usurio permite ou nega acesso cmera.
minhaCmera = Camera.get(); meuObjetoVdeo.attachVideo(minhaCmera); minhaCmera.onStatus = function(infoMsg) { if(infoMsg.code == "Camera.Muted"){ trace("O usurio probe o acesso cmera"); } else trace("O usurio permite o acesso cmera"); } // Altere o valor Allow (Permitir) ou Deny (Proibir) para chamar a funo // System.showSettings(0); Consulte tambm Camera.get(), Camera.muted

Camera.quality
Disponibilidade

Flash Player 6.
Uso cmera_ativa.quality Descrio

Propriedade somente de leitura; um inteiro que especifica o nvel desejado de qualidade de vdeo, conforme determinado pelo nvel de compactao aplicado a cada quadro de vdeo. Os valores de qualidade aceitveis variam de 1 (menor qualidade, mxima compactao) a 100 (maior qualidade, sem compactao). O valor padro 0, o que significa que a qualidade do vdeo pode variar conforme o necessrio para evitar exceder a largura de banda disponvel.
Consulte tambm Camera.setQuality()

Camera.quality

361

Camera.setMode()
Disponibilidade

Flash Player 6.
Uso cmera_ativa.setMode(largura, altura, qps [,tamFavor]) Parmetros largura altura qps

A largura solicitada da captura, em pixels. O valor padro 160. A altura solicitada da captura, em pixels. O valor padro 120.

A taxa solicitada na qual a cmera deve capturar os dados, em quadros por segundo. O valor padro 15. Opcional: Valor booleano que especifica como manipular a largura, altura e taxa de quadros se a cmera no tiver um modo nativo que corresponda aos requisitos especificados. O valor padro true, o que significa que prefervel que se mantenha o tamanho da captura; o uso desse parmetro seleciona o modo que mais se aproxima dos valores largura e altura, mesmo que isso afete negativamente o desempenho reduzindo a taxa de quadros. Para maximizar a taxa de quadros em detrimento da altura e da largura da cmera, passe false para o parmetro tamFavor.

tamFavor

Retorna

Nada.
Descrio

Mtodo; define o modo de captura da cmera como o modo nativo que melhor corresponda aos requisitos especificados. Se a cmera no tiver um modo nativo que corresponda a todos os parmetros passados, o Flash selecionar um modo de captura que melhor sintetize o modo solicitado. Essa manipulao pode envolver o corte da imagem e a eliminao de quadros. Por padro, o Flash elimina quadros quando necessrio para manter o tamanho da imagem. Para minimizar o nmero de quadros eliminados, mesmo que isso signifique a reduo do tamanho da imagem, passe false para o parmetro tamFavor. Ao escolher um modo nativo, o Flash tenta manter a proporo solicitada sempre que possvel. Por exemplo, se o comando cmera_ativa.setMode(400,400,30) for executado, e os valores mximos de largura e altura disponveis na cmera forem 320 e 288, o Flash definir a largura e a altura como 288. Ao definir essas propriedades com o mesmo valor, o Flash mantm a proporo 1:1 solicitada. Para determinar os valores que sero atribudos a essas propriedades depois que o Flash selecionar o modo que mais se aproximar dos valores solicitados, use Camera.width, Camera.height e Camera.fps.

362

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir define a largura, altura e qps com base na entrada do usurio se ele clicar no boto. O parmetro opcional tamFavor no foi usado porque o valor padro, true, fornecer as configuraes mais prximas da preferncia do usurio sem prejudicar a qualidade do vdeo, embora o qps possa, assim, ser prejudicado. A interface do usurio , ento, atualizada com as novas configuraes.
on (press) { // Define largura, altura e qps para a entrada do usurio. _root.minhaCmera.setMode(txt_width, meu_txt._height, txt_fps); // Atualiza os campos de texto do usurio com a nova configurao. _root.txt_width = minhaCmera.width; _root.txt_height = minhaCmera.height; _root.txt_fps = minhaCmera.fps; } Consulte tambm Camera.currentFps, Camera.fps, Camera.height, Camera.width

Camera.setMode()

363

Camera.setMotionLevel()
Disponibilidade

Flash Player 6.
Uso cmera_ativa.setMotionLevel(sensibilidade [, tempoLimite]) Parmetros sensibilidade Valor numrico que especifica a intensidade de movimento necessria para chamar Camera.onActivity(true). O intervalo de valores aceitveis vai de 0 a 100. O valor

padro 50.
tempoLimite

Parmetro inteiro opcional que especifica quantos milissegundos devem decorrer sem atividade antes de o Flash considerar que a atividade parou e chamar o manipulador de eventos Camera.onActivity(false). O valor padro 2000 (2 segundos).

Retorna

Nada.
Descrio

Mtodo; especifica quanto movimento necessrio para chamar Camera.onActivity(true). Define opcionalmente o nmero de milissegundos que devem decorrer sem atividade antes de o Flash considerar que o movimento foi interrompido e chamar Camera.onActivity(false).
Observao: O vdeo pode ser exibido independentemente do valor do parmetro sensibilidade. Esse parmetro somente determina quando e sob quais circunstncias Camera.onActivity chamado, no determina se o vdeo est realmente sendo capturado ou exibido.

Para impedir que a cmera detecte qualquer movimento, passe o valor 100 para
sensibilidade; Camera.onActivity

nunca ser chamado. Esse valor provavelmente s ser usado para fazer testes por exemplo, para desativar temporariamente quaisquer aes definidas para ocorrer quando Camera.onActivity for chamado. Para descobrir a intensidade de movimento que a cmera est detectando no momento, use a propriedade Camera.activityLevel.

Os valores de sensibilidade de movimento correspondem diretamente aos valores de atividade. A total falta de movimento possui um valor de atividade 0. O movimento constante possui um valor de atividade 100. O valor de atividade ser menor que o valor de sensibilidade de movimento quando no houver movimento; quando houver movimento, os valores de atividade freqentemente excedero o valor de sensibilidade de movimento. Este mtodo semelhante, na sua finalidade, a Microphone.setSilenceLevel(). Ambos so usados para especificar quando o manipulador de eventos onActivity deve ser chamado. No entanto, esses mtodos tm impacto significativamente diferente na publicao de fluxos:

Microphone.setSilenceLevel() foi criado para otimizar a largura de banda. Quando um fluxo de udio considerado silencioso, nenhum dado de udio enviado. Em vez disso, uma nica mensagem enviada, indicando que o silncio foi iniciado. Camera.setMotionLevel() foi criado para detectar movimento e no afeta o uso da largura de banda. Mesmo que um fluxo de vdeo no detecte movimento, o vdeo enviado.

364

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir envia mensagens ao painel Output (Sada) quando a atividade de vdeo inicia ou termina. Altere o valor de sensibilidade de movimento de 30 para um nmero maior ou menor para ver como os valores diferentes afetam a deteco de movimento.
// Presume que um objeto Video denominado "meuObjetoVdeo" esteja no Stage // (Palco) c = Camera.get(); x = 0; function motion(mode) { trace(x + ": " + mode); x++; } c.onActivity = function(mode) {motion(mode);}; c.setMotionLevel(30, 500); meuObjetoVdeo.attachVideo(c); Consulte tambm Camera.activityLevel, Camera.motionLevel, Camera.motionTimeOut, Camera.onActivity

Camera.setMotionLevel()

365

Camera.setQuality()
Disponibilidade

Flash Player 6.
Uso cmera_ativa.setQuality(larguraBanda, qlddQuadro) Parmetros larguraBanda

Um inteiro que especifica a mxima largura de banda que o fluxo de sada de vdeo atual pode usar, em bytes por segundo. Para especificar que o vdeo do Flash use a largura de banda necessria para manter o valor de qlddQuadro, passe 0 para larguraBanda. O valor padro 16384.
qlddQuadro

Um inteiro que especifica o nvel desejado de qualidade de vdeo, conforme determinado pelo nvel de compactao aplicado a cada quadro de vdeo. Os valores aceitveis variam de 1 (menor qualidade, mxima compactao) a 100 (maior qualidade, sem compactao). Para especificar que a qualidade do vdeo pode variar conforme a necessidade para evitar exceder a largura de banda, passe 0 para qlddQuadro. O valor padro 0.

Retorna

Nada.
Descrio

Mtodo; define a mxima largura de banda por segundo ou a qualidade de vdeo necessria do fluxo de sada de vdeo atual. Este mtodo ser aplicvel somente se o vdeo estiver sendo transmitido pelo Flash Communication Server. Use este mtodo para especificar qual elemento do fluxo de sada de vdeo mais importante para o seu aplicativo uso de largura de banda ou qualidade de vdeo.

Para indicar que a prioridade a largura de banda, passe um valor para larguraBanda e 0 para
O Flash transmitir vdeo com a melhor qualidade possvel dentro da largura de banda especificada. Se necessrio, o Flash reduzir a qualidade do vdeo para evitar que a largura de banda especificada seja excedida. Em geral, quando o movimento aumenta, a qualidade diminui. Para indicar que a qualidade a prioridade, passe 0 para larguraBanda e um valor numrico para qlddQuadro. O Flash usar a largura de banda necessria para manter a qualidade especificada. Se necessrio, o Flash reduzir a taxa de quadros para manter a qualidade do vdeo. Em geral, quando o movimento aumenta, a largura de banda tambm aumenta. Para especificar que a largura de banda e a qualidade so igualmente importantes, passe valores numricos para ambos os parmetros. O Flash transmitir vdeo que alcance a qualidade especificada e que no exceda a largura de banda especificada. Se necessrio, o Flash reduzir a taxa de quadros para manter a qualidade de vdeo sem exceder a largura de banda especificada.
qlddQuadro.

366

Captulo 12: Dicionrio do ActionScript

Exemplo

Os exemplos a seguir ilustram como usar este mtodo para controlar o uso de largura de banda e a qualidade de vdeo.
// Garante que no mais de 8192 (8 Kb/segundo) estejam sendo usados para enviar // vdeo cmera_ativa.setQuality(8192,0); // Garante que no mais de 8192 (8 Kb/segundo) estejam sendo usados para enviar // video com uma qualidade mnima de 50 cmera_ativa.setQuality(8192,50); // Garante a qualidade mnima de 50, no importa quanta largura de banda seja // necessria cmera_ativa.setQuality(0,50); Consulte tambm Camera.bandwidth, Camera.quality

Camera.width
Disponibilidade

Flash Player 6.
Uso cmera_ativa.width Descrio

Propriedade somente de leitura; a largura atual da captura, em pixels. Para definir o valor desejado para esta propriedade, use Camera.setMode().
Exemplo

A linha de cdigo a seguir atualiza uma caixa de texto na interface do usurio com o valor da largura atual.
meuTextField.text=minhaCmera.width;

Consulte tambm o exemplo para Camera.setMode().


Consulte tambm Camera.height

Camera.width

367

case
Disponibilidade

Flash Player 4.
Uso case expresso: instrues Parmetros expresso instrues Retorna

Qualquer expresso. Quaisquer instrues.

Nada.
Descrio

Instruo; define uma condio para a ao switch. As instrues no parmetro instrues sero executadas se o parmetro expresso subseqente palavra-chave case for igual ao parmetro expresso da ao switch, usando a igualdade estrita (===). O uso da ao case fora de uma instruo switch produz erro e como conseqncia o script no compilado.
Consulte tambm break, default, === (igualdade estrita), switch

368

Captulo 12: Dicionrio do ActionScript

chr
Disponibilidade

Flash Player 4. Esta funo foi substituda no Flash 5 por String.fromCharCode().


Uso chr(nmero) Parmetros nmero Retorna

Um nmero de cdigo ASCII.

Nada.
Descrio

Funo de seqncia de caracteres; converte cdigo ASCII em caracteres.


Exemplo

O exemplo a seguir converte o nmero 65 na letra A e o atribui varivel minhaVar.


minhaVar = chr(65); Consulte tambm String.fromCharCode()

chr

369

class
Disponibilidade

Flash Player 6.
Uso [dynamic] class nomeClasse [ extends superClasse ] [ implements nomeInterface [, nomeInterface... ] ] { // a definio de classe entra aqui } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros nomeClasse superClasse

O nome totalmente qualificado da classe. Opcional; o nome da classe que nomeClasse estende (da qual herda propriedades Opcional; o nome da interface cujos mtodos nomeClasse deve implementar.

e mtodos).
nomeInterface Descrio

Instruo; define uma classe personalizada que permite instanciar objetos que compartilham mtodos e propriedades definidos por voc. Por exemplo, se estiver desenvolvendo um sistema de controle de faturas, voc poder criar uma classe faturas que defina todos os mtodos e propriedades que todas as faturas devem ter. Em seguida, usaria o comando new invoice() para criar objetos fatura. O nome da classe deve ser igual ao do arquivo externo que a contm. Por exemplo, se voc atribuir o nome Aluno a uma classe, o arquivo que a definir dever ser denominado Aluno.as. O nome da classe deve ser totalmente qualificado dentro do arquivo em que for declarado. Ou seja, ele deve incluir o diretrio em que est armazenado Por exemplo, para criar uma classe denominada ClasseNecessria que est armazenada no diretrio minhasClasses/educao/ currculo, voc deve declarar a classe no arquivo ClasseNecessria.as conforme mostrado a seguir:
class minhasClasses.educao.currculo.ClasseNecessria { }

Por essa razo, recomendvel planejar a sua estrutura de diretrios antes de comear a criar as classes. De outra forma, se voc decidir mover os arquivos das classes depois de cri-los, ser necessrio modificar as instrues de declarao dessas classes para refletir sua nova localizao. No possvel aninhar definies de classe; ou seja, no possvel definir classes adicionais dentro de uma definio de classe. Para indicar que os objetos podem adicionar e acessar propriedades dinmicas durante a execuo, preceda a instruo class com a palavra-chave dynamic. Para criar classes baseadas em interfaces, use a palavra-chave implements. Para criar subclasses de uma classe, use a palavra-chave extends. Uma classe pode estender somente uma classe, mas pode implementar vrias interfaces. possvel usar implements e extends em uma nica instruo.

370

Captulo 12: Dicionrio do ActionScript

class C implements Interface_i, Interface_j // OK class C extends Class_d implements Interface_i, Interface_j class C extends Class_d, Class_e // no OK

// OK

Para obter mais informaes, consulte Criando e usando classes na pgina 171.
Exemplo

O exemplo a seguir cria uma classe chamada Planta. O construtor requer dois parmetros.
// Nome do arquivo Planta.as class Planta { // Define nomes e tipos de propriedades var tipoFolha:String; var estaoFlor:String; // A linha a seguir um construtor // pois tem o mesmo nome que a classe function Planta (param_tipoFolha:String, param_estaoFlor:String) { // Associa os valores passados s propriedades quando um novo objeto // Planta criado tipoFolha = param_tipoFolha; estaoFlor = param_estaoFlor; } // Cria mtodos para retornar os valores das propriedades, pois as melhores // prticas probem referncias diretas a uma propriedade de uma classe function getTipoFolha():String {return tipoFolha}; function getEstaoFlor():String {return estaoFlor}; }

Em um arquivo de script externo ou no painel Actions, use o operador new para criar um objeto Planta.
var pinheiro:Planta = new Planta("Folha perene","N/A"); // Verifique se os parmetros foram passados corretamente trace(pinheiro.getTipoFolha()); trace(pinheiro.getEstaoFlor()); Consulte tambm dynamic, extends, implements, import, interface, new, Object.registerClass()

class

371

clearInterval()
Disponibilidade

Flash Player 6.
Uso clearInterval( ID_intervalo ) Parmetros ID_intervalo Retorna

Objeto retornado de uma chamada a setInterval().

Nada.
Descrio

Funo; limpa uma chamada a setInterval().


Exemplo

O exemplo a seguir em primeiro lugar define uma chamada de intervalo, depois a limpa:
function callback() { trace("intervalo chamado"); } var ID_intervalo; ID_intervalo = setInterval( callback, 1000 ); // depois de algum tempo clearInterval( ID_intervalo ); Consulte tambm setInterval()

Classe Color
Disponibilidade

Flash Player 5.
Descrio

A classe Color define o valor de cor RGB e a transformao de cor de clipes de filmes e recupera esses valores depois da definio. Use o construtor new Color() para criar um objeto Color antes de chamar seus mtodos.

372

Captulo 12: Dicionrio do ActionScript

Resumo dos mtodos da classe Color


Mtodo
Color.getRGB() Color.getTransform()

Descrio Retorna o valor RGB numrico definido pela ltima chamada setRGB(). Retorna a informao de transformao definida pela ltima chamada setTransform(). Define a representao hexadecimal do valor RGB de um objeto Color. Define a transformao de cor de um objeto Color.

Color.setRGB() Color.setTransform()

Construtor da classe Color


Disponibilidade

Flash Player 5.
Uso new Color(destino); Parmetros destino Retorna

O nome da instncia de um clipe de filme.

Nada.
Descrio

Construtor; cria um objeto Color para o clipe de filme especificado pelo parmetro destino. Depois ser possvel usar os mtodos desse objeto Color para alterar a cor de todo o clipe de filme de destino.
Exemplo

O exemplo a seguir cria um objeto Color denominado minha_cor para o clipe de filme meu_mc e define seu valor RGB:
minha_cor = new Color(meu_mc); minha_cor.setRGB(0xff9933);

Classe Color

373

Color.getRGB()
Disponibilidade

Flash Player 5.
Uso minha_cor.getRGB() Parmetros

Nenhum.
Retorna

Um nmero que representa o valor numrico RGB para a cor especificada.


Descrio

Mtodo; retorna os valores numricos definidos pela ltima chamada setRGB().


Exemplo

O cdigo a seguir recupera o valor RGB do objeto Color minha_cor, converte-o em uma seqncia de caracteres hexadecimal e a atribui varivel valor.
valor = minha_cor.getRGB().toString(16); Consulte tambm Color.setRGB()

Color.getTransform()
Disponibilidade

Flash Player 5.
Uso minha_cor.getTransform() Parmetros

Nenhum.
Retorna

Um objeto cujas propriedades contm os valores atuais de deslocamento e de porcentagem da cor especificada.
Descrio

Mtodo; retorna o valor de transformao definido pela ltima chamada Color.setTransform().


Consulte tambm Color.setTransform()

374

Captulo 12: Dicionrio do ActionScript

Color.setRGB()
Disponibilidade

Flash Player 5.
Uso minha_cor.setRGB(0xRRGGBB) Parmetros 0xRRGGBB

Cor hexadecimal ou RGB a ser definida. RR, GG e BB consistem cada um em dois dgitos hexadecimais que especifiquem o deslocamento de cada componente de cor. A seqncia 0x informa ao compilador do ActionScript que o nmero um valor hexadecimal. Mtodo; especifica uma cor RGB para um objeto Color. Se esse mtodo for chamado, as configuraes anteriores de Color.setTransform() sero substitudas.

Descrio

Retorna

Nada.
Exemplo

Este exemplo define o valor de cor RGB do clipe de filme meu_mc. Para observar o funcionamento deste cdigo, coloque um clipe de filme no Stage (Palco) com nome de instncia meu_mc. Depois, coloque o cdigo a seguir no Frame (Quadro) 1 na Timeline (Linha de tempo) principal e escolha Control (Controlar) > Test Movie (Testar filme).
minha_cor = new Color(meu_mc); minha_cor.setRGB(0x993366); Consulte tambm Color.setTransform()

Color.setRGB()

375

Color.setTransform()
Disponibilidade

Flash Player 5.
Uso minha_cor.setTransform(objTransfCor) Parmetros objTransfCor

Um objeto criado com o construtor new Object. Essa instncia da Classe Object deve ter as seguintes propriedades que especificam valores de transformao de cor: ra, rb, ga, gb, ba, bb, aa, ab. Essas propriedades so explicadas a seguir. Nada.

Retorna

Descrio

Mtodo; define informaes de transformao de cor para um objeto Color. O parmetro objTransfCor um objeto genrico criado a partir do construtor new Object. Ele tem parmetros que especificam os valores de porcentagem e de deslocamento dos componentes vermelho, verde, azul e alfa (transparncia) de uma cor, inseridos no formato 0xRRGGBBAA. Os parmetros de um objeto de transformao de cor correspondem s configuraes estabelecidas na caixa de dilogo Advanced Effect (Efeito avanado) e so definidos da seguinte forma:

a porcentagem do componente vermelho (-100 a 100). rb o deslocamento do componente vermelho (-255 a 255). ga a porcentagem do componente verde (-100 a 100). gb o deslocamento do componente verde (-255 a 255). ba a porcentagem do componente azul (-100 a 100). bb o deslocamento do componente azul (-255 a 255). aa a porcentagem de alfa (-100 a 100). ab o deslocamento de alfa (-255 a 255).
ra

Crie um parmetro objTransfCor desta maneira:


minhaTransfCor = new Object(); minhaTransfCor.ra = 50; minhaTransfCor.rb = 244; minhaTransfCor.ga = 40; minhaTransfCor.gb = 112; minhaTransfCor.ba = 12; minhaTransfCor.bb = 90; minhaTransfCor.aa = 40; minhaTransfCor.ab = 70;

Alm disso, possvel usar a seguinte sintaxe para criar um parmetro objTransfCor:
minhaTransfCor = { ra: 50, rb: 244, ga: 40, gb: 112, ba: 12, bb: 90, aa: 40, ab: 70}

376

Captulo 12: Dicionrio do ActionScript

Exemplo

Este exemplo cria um novo objeto Color para um arquivo SWF especfico. Alm disso, cria um objeto genrico denominado minhaTransfCor com as propriedades definidas acima e usa o mtodo setTransform() para passar o ObjTransfCor para um objeto Color. Para usar esse cdigo em um documento Flash (FLA), coloque-o no Frame 1 na Timeline (Linha de tempo) principal e coloque um clipe de filme no Stage (Palco) com o nome de instncia meu_mc, como no cdigo a seguir:
// Cria um objeto Color denominado minha_cor no clipe de destino meu_mc minha_cor = new Color(meu_mc); // Cria um objeto de transformao de cor denominado minhaTransfCor usando // o objeto genrico Object minhaTransfCor = new Object(); // Define os valores de minhaTransfCor minhaTransfCor = { ra: '50', rb: '244', ga: '40', gb: '112', ba: '12', bb: '90', aa: '40', ab: '70'}; // Associa o objeto de transformao de cor ao objeto Color // criado para meu_mc minha_cor.setTransform(minhaTransfCor);

Classe ContextMenu
Disponibilidade

Flash Player 7.
Descrio

A classe ContextMenu fornece controle do tempo de execuo sobre os itens do menu de contexto do Flash Player, que aparece quando um usurio clica com o boto direito do mouse (no Windows) ou pressiona Control e clica com o mouse (no Macintosh) no Flash Player. possvel usar os mtodos e propriedades da classe ContextMenu para incluir itens de menu personalizados, controlar a exibio dos itens internos do menu de contexto, por exemplo, Zoom In (Mais zoom) e Print (Imprimir), ou criar cpias de menus. possvel anexar um objeto ContextMenu a um boto, clipe de filme ou objeto de campo de texto especficos, ou a um nvel de filme inteiro. Use a propriedade menu das classes Button, MovieClip ou TextField para fazer isso. Para obter mais informaes sobre a propriedade menu, consulte Button.menu, MovieClip.menu e TextField.menu. Para adicionar novos itens a um objeto ContextMenu, possvel criar um objeto ContextMenuItem e depois adicion-lo ao array ContextMenu.customItems. Para obter mais informaes sobre a criao de itens de menu de contexto, consulte a entrada da Classe ContextMenuItem. O Flash Player possui trs tipos de menus contextuais: o menu padro (que aparece quando voc clica com o boto direito do mouse no Flash Player), o menu de edio (que aparece quando voc clica com o boto direito sobre um campo de texto selecionvel ou editvel) e um menu de erro (que aparece quando um arquivo SWF falhou ao carregar no Flash Player). Somente os menus padro e de edio podem ser modificados com a classe ContextMenu. Os itens de menu personalizados sempre aparecem na parte superior do menu de contexto do Flash Player, acima de quaisquer itens de menu internos visveis; uma barra separadora distingue os itens de menu internos dos personalizados. Um menu de contexto no pode conter mais de 15 itens de menu personalizados.

Classe ContextMenu

377

Use o construtor new ContextMenu() para criar um objeto ContextMenu antes de chamar seus mtodos. Resumo dos mtodos da classe ContextMenu
Mtodo
ContextMenu.copy()

Descrio Retorna uma cpia do objeto ContextMenu especificado. Flash Player.

ContextMenu.hideBuiltInItems() Oculta a maioria dos itens internos do menu de contexto do

Resumo das propriedades da classe ContextMenu


Propriedade
ContextMenu.builtInItems

Descrio Um objeto cujos membros correspondem a itens internos do menu de contexto. Um array, indefinido por padro, que contm objetos ContextMenuItem.

ContextMenu.customItems

Resumo dos manipuladores de eventos da classe ContextMenu


Propriedade
ContextMenu.onSelect

Descrio Chamado antes de o menu ser exibido.

Construtor da classe ContextMenu


Disponibilidade

Flash Player 7.
Uso new ContextMenu ([funoRetorno]) Parmetros funoRetorno Uma referncia a uma funo que chamada quando o usurio clica com o boto direito do mouse, ou pressiona Control e clica com o mouse, antes do menu ser exibido. Este parmetro opcional. Retorna

Nada.
Descrio

Construtor; cria um novo objeto ContextMenu. possvel especificar um identificador para um manipulador de eventos quando o objeto criado. A funo especificada chamada quando o usurio chama o menu de contexto, mas antes que o menu seja realmente exibido. Isso til para a personalizao de contedo do menu com base no estado do aplicativo ou no tipo de objeto (clipe de filme, campo de texto ou boto) em que o usurio clica com o boto direito do mouse ou pressiona Control e clica com o mouse. Para obter um exemplo da criao de um manipulador de eventos, consulte ContextMenu.onSelect.

378

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir oculta todos os objetos internos no menu de contexto. Entretanto, os itens Settings (Configuraes) e About (Sobre) ainda aparecem, porque no podem ser desativados.
var newMenu = new ContextMenu(); newMenu.hideBuiltInItems(); _root.menu = newMenu;

Neste exemplo, o manipulador de eventos, manipMenu, ativa ou desativa um item de menu personalizado (usando o array ContextMenu.customItems) com base no valor de uma varivel booleana denominada showItem. Se ela for false, o item de menu personalizado ser desativado; do contrrio, ser ativado.
var showItem = false; // Altere para true para ver o efeito meu_cm = new ContextMenu(manipMenu); meu_cm.customItems.push(new ContextMenuItem("Ol", itemHandler)); function manipMenu(obj, menuObj) { if (showItem == false) { menuObj.customItems[0].enabled = false; } else { menuObj.customItems[0].enabled = true; } } function itemHandler(obj, item) { } _root.menu = meu_cm; Consulte tambm Button.menu, ContextMenu.onSelect, ContextMenu.customItems, ContextMenu.hideBuiltInItems(), MovieClip.menu, TextField.menu

Classe ContextMenu

379

ContextMenu.builtInItems
Disponibilidade

Flash Player 7.
Uso meu_cm.builtInItems Descrio

Propriedade; um objeto que possui as seguintes propriedades booleanas: save, zoom, quality, play, loop, rewind, forward_back e print. Se essas variveis forem definidas como false, os itens de menu correspondentes sero removidos do objeto ContextMenu especificado. Essas propriedades so enumerveis e so definidas como true por padro.
Exemplo

Neste exemplo, os itens de menu internos Quality (Qualidade) e Print (Imprimir) esto desativados para o objeto ContextMenu, meu_cm, que est anexado Timeline (Linha de tempo) raiz do arquivo SWF.
var meu_cm = new ContextMenu (); meu_cm.builtInItems.quality=false; meu_cm.builtInItems.print=false; _root.menu = meu_cm;

No prximo exemplo, um loop for..in enumera todos os nomes e valores dos itens de menu internos do objeto ContextMenu, meu_cm.
meu_cm = new ContextMenu(); for(cadaProp in meu_cm.builtInItems) { var nomeProp = cadaProp; var valorProp = meu_cm.builtInItems[nomeProp]; trace(nomeProp + ": " + valorProp); }

380

Captulo 12: Dicionrio do ActionScript

ContextMenu.copy()
Disponibilidade

Flash Player 7.
Uso meu_cm.copy() Parmetros

Nenhum.
Retorna

Um objeto ContextMenu.
Descrio

Mtodo; cria uma cpia do objeto ContextMenu especificado. A cpia herda todas as propriedades do objeto de menu original.
Exemplo

Este exemplo cria uma cpia do objeto ContextMenu denominado meu_cm cujos itens de menu internos esto ocultos e inclui um item de menu com o texto Salvar.... Ele depois cria uma cpia de meu_cm e a atribui varivel clone_cm, que herda todas as propriedades do menu original.
meu_cm = new ContextMenu(); meu_cm.hideBuiltInItems(); meu_cm.customItems.push(new ContextMenuItem("Salvar...", salvaManipul); function salvaManipul (obj, menuItem) { saveDocument(); // funo personalizada (no exibida) } clone_cm = meu_cm.copy();

ContextMenu.copy()

381

ContextMenu.customItems
Disponibilidade

Flash Player 7.
Uso meu_cm.customItems Descrio

Propriedade; um array com os objetos ContextMenuItem. Cada objeto no array representa um item de menu de contexto definido por voc. Use essa propriedade para incluir, remover ou modificar esses itens de menu personalizados. Para adicionar novos itens de menu, crie primeiramente um novo objeto ContextMenuItem e, em seguida, adicione-o ao array menu_mc.customItems (usando Array.push(), por exemplo). Para obter mais informaes sobre a criao de novos itens de menu, consulte a entrada da Classe ContextMenuItem.
Exemplo

O exemplo a seguir cria um novo item de menu personalizado denominado menuItem_cm com a legenda Enviar e-mail e um manipulador de retorno de chamada denominado manipEmail (no mostrado). O novo item de menu depois includo no objeto ContextMenu, meu_cm, usando o array customItems. E, por fim, o novo menu anexado a um clipe de filme denominado email_mc.
var meu_cm = new ContextMenu(); var menuItem_cm = new ContextMenuItem("Enviar e-mail", manipEmail); meu_cm.customItems.push(menuItem_cm); email_mc.menu = meu_cm; Consulte tambm Button.menu,

Classe ContextMenu, MovieClip.menu, TextField.menu

382

Captulo 12: Dicionrio do ActionScript

ContextMenu.hideBuiltInItems()
Disponibilidade

Flash Player 7.
Uso meu_cm.hideBuiltInItems() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; oculta todos os itens de menu internos, exceto Settings (Configurao), no objeto ContextMenu especificado. Se o Flash Debug Player estiver sendo executado, o item de menu Debugging (Depurao) ser exibido. No entanto, no estar disponvel para arquivos SWF em que a depurao remota no esteja ativada. Esse mtodo oculta somente os itens de menu que aparecem no menu de contexto padro; ele no afeta os itens que aparecem nos menus de edio ou de erro. Para obter mais informaes sobre os diferentes tipos de menu, consulte a entrada da Classe ContextMenu. Este mtodo funciona definindo todos os membros booleanos de meu_cm.builtInItems como false. possvel tornar um item interno visvel definindo seu membro correspondente em meu_cm.builtInItems como true (como demonstrado no exemplo a seguir).
Exemplo

O exemplo a seguir cria um novo objeto ContextMenu denominado meu_cm cujos itens de menu internos esto ocultos, exceto para o recurso Print (Imprimir). O objeto de menu anexado Timeline (Linha de tempo) raiz.
meu_cm = new ContextMenu(); meu_cm.hideBuiltInItems(); meu_cm.builtInItems.print = true; _root.menu = meu_cm;

ContextMenu.hideBuiltInItems()

383

ContextMenu.onSelect
Disponibilidade

Flash Player 7.
Uso meu_cm.onSelect = function (item:Object, item_menu:ContextMenu) { // aqui entra o seu cdigo } Parmetros item

Uma referncia ao objeto (clipe de filme, boto ou campo de texto selecionvel) que estava sob o ponteiro do mouse quando o menu de contexto do Flash Player foi chamado e cuja propriedade menu definida como um objeto ContextMenu vlido.
item_menu

Uma referncia ao objeto ContextMenu atribudo propriedade menu de object.

Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando um usurio chama o menu de contexto do Flash Player, mas antes do menu ser realmente exibido. Isso permite que o contedo do menu de contexto seja personalizado com base no estado atual do aplicativo. possvel tambm especificar o manipulador de retorno de chamada para um objeto ContextMenu quando um novo objeto ContextMenu for construdo. Para obter mais informaes, consulte a entrada da Classe ContextMenu.
Exemplo

O exemplo a seguir descobre sobre qual tipo de objeto o menu de contexto foi chamado.
meu_cm = new ContextMenu(); manipMenu = function (obj:Object, menu:ContextMenu) { if(obj instanceof MovieClip) { trace("Clipe de filme: " + obj); } if(obj instanceof TextField) { trace("Campo de texto: " + obj); } if(obj instanceof Button) { trace("Boto: " + obj); } } meu_cm.onSelect = manipMenu;

384

Captulo 12: Dicionrio do ActionScript

Classe ContextMenuItem
Disponibilidade

Flash Player 7.
Descrio

Use a classe ContextMenuItem para criar itens de menu personalizados para exibio no menu de contexto do Flash Player. Cada objeto ContextMenuItem possui uma legenda (texto) que exibida no menu de contexto e um manipulador de retorno de chamada (uma funo) que chamado quando o item de menu selecionado. Para incluir um novo item em um menu de contexto, inclua-o no array customItems de um objeto ContextMenu. possvel ativar ou desativar itens de menu especficos, tornar os itens visveis ou invisveis ou alterar a legenda ou o manipulador de retorno de chamada associados a um item de menu. Itens de menu personalizados aparecem na parte superior do menu de contexto, acima de todos os itens internos. Uma barra separadora sempre divide itens de menu personalizados de itens internos. possvel incluir, no mximo, 15 itens personalizados no menu de contexto do Flash Player. Cada item deve conter pelo menos um caractere visvel caracteres de controle, newlines e outros caracteres de espao em branco so ignorados. Nenhum item pode ter mais de 100 caracteres de comprimento. Os itens idnticos a qualquer outro item de menu interno, ou outro item personalizado, sero ignorados, estando o item correspondente visvel ou no. A comparao dos itens de menu no considera maisculas e minsculas, pontuao ou espao em branco. Nenhuma das seguintes palavras pode aparecer em um item personalizado: Macromedia, Flash Player ou Configuraes. Resumo dos mtodos da classe ContextMenuItem
Mtodo
ContextMenuItem.copy()

Descrio Retorna uma cpia do objeto ContextMenuItem especificado.

Resumo das propriedades da classe ContextMenuItem


Propriedade
ContextMenuItem.caption ContextMenuItem.enabled

Descrio Especifica o texto exibido no item de menu. Especifica se o item de menu est ativado ou desativado. item de menu.

ContextMenuItem.separatorBefore Especifica se uma barra separadora deve aparecer acima do

ContextMenuItem.visible

Especifica se o item de menu est visvel ou no.

Resumo dos manipuladores de eventos da classe ContextMenuItem


Manipulador de eventos Descrio
ContextMenuItem.onSelect Chamado quando o item de menu selecionado.

Classe ContextMenuItem

385

Construtor da classe ContextMenuItem


Disponibilidade

Flash Player 7.
Uso new ContextMenuItem(legenda, funoRetorno, [separadorAntes, [ ativado, [ visvel ] ] ] ) Parmetros legenda

Uma seqncia de caracteres que contm o texto associado ao item de menu. Uma funo que voc define e que chamada quando o item de menu

funoRetorno

selecionado.
separadorAntes Um valor booleano que indica se uma barra separadora deve aparecer acima do item de menu no menu de contexto. Esse parmetro opcional; seu valor padro false. ativado visvel

Um valor booleano que indica se o item de menu est ativado ou desativado no menu de contexto. Esse parmetro opcional; seu valor padro true. Um valor booleano que indica se o item de menu est visvel ou invisvel. Esse parmetro opcional; seu valor padro true.

Retorna

Nada.
Descrio

Construtor; cria um novo objeto ContextMenuItem que pode ser includo no array ContextMenu.customItems.
Exemplo

Este exemplo inclui itens de menu Iniciar e Parar, separados por uma barra, no objeto ContextMenu, meu_cm. A funo startHandler() chamada quando se seleciona Iniciar no menu de contexto; stopHandler() chamada quando Parar selecionado. O objeto ContextMenu aplicado Timeline (Linha de tempo) raiz.
meu_cm = new ContextMenu(); meu_cm.customItems.push(new ContextMenuItem("Iniciar", startHandler)); meu_cm.customItems.push(new ContextMenuItem("Parar", stopHandler, true)); function stopHandler(obj, item) { trace("Parando..."); } function startHandler(obj, item) { trace("Iniciando..."); } _root.menu = meu_cm;

386

Captulo 12: Dicionrio do ActionScript

ContextMenuItem.caption
Disponibilidade

Flash Player 7.
Uso menuItem_cmi.caption Descrio

Propriedade; uma seqncia de caracteres que especifica a legenda (texto) do item de menu exibida no menu de contexto.
Exemplo

Este exemplo exibe a legenda do item de menu selecionado (Interromper jogo) no painel Output (Sada).
meu_cm = new ContextMenu(); menuItem_cmi = new ContextMenuItem("Interromper jogo", onPause); meu_cm.customItems. function onPause(obj, menuItem) { trace("Voc selecionou: " + menuItem.caption); }

ContextMenuItem.copy()
Disponibilidade

Flash Player 7.
Uso menuItem_cmi.copy(); Retorna

Um objeto ContextMenuItem.
Descrio

Mtodo; cria e retorna uma cpia do objeto ContextMenuItem especificado. A cpia inclui todas as propriedades do objeto original.
Exemplo

Este exemplo cria um novo objeto ContextMenuItem denominado original_cmi com o texto de legenda Pausa e um manipulador de retorno de chamada definido como a funo onPause. O exemplo depois cria uma cpia do objeto ContextMenuItem e a atribui varivel cpia_cmi.
original_cmi = new ContextMenuItem("Pausa", onPause); function onPause(obj, menu) { _root.stop(); } original_cmi.visible = false; cpia_cmi = orig_cmi.copy();

ContextMenuItem.copy()

387

ContextMenuItem.enabled
Disponibilidade

Flash Player 7.
Uso menuItem_cmi.enabled Descrio

Propriedade; um valor booleano que indica se o item de menu especificado est ativado ou desativado. Por padro, essa propriedade true.
Exemplo

O exemplo a seguir cria um novo item de menu de contexto e depois desativa esse item de menu.
var menuItemSalvar = new ContextMenuItem("Salvar...", execSalvar); menuItemSalvar.enabled = false;

ContextMenuItem.onSelect
Disponibilidade

Flash Player 7.
Uso menuItem_cmi.onSelect = function (obj, menuItem) { // suas instrues entram aqui } Parmetros obj

Uma referncia ao clipe de filme ou Timeline (Linha de tempo), boto ou campo de texto selecionvel (editvel) que o usurio clicou com o boto direito do mouse ou pressionou Control e clicou com o mouse. Uma referncia ao objeto ContextMenuItem selecionado.

menuItem Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o item de menu especificado selecionado no menu de contexto do Flash Player. O manipulador de retorno de chamada especificado recebe dois parmetros: obj, uma referncia ao objeto sob o mouse quando o usurio chamou o menu de contexto do Flash Player e menuItem, uma referncia ao objeto ContextMenuItem que representa o item de menu selecionado.

388

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir atribui uma funo ao manipulador onSelect para um objeto ContextMenuItem denominado start_cmi. A funo exibe a legenda do item de menu selecionado.
start_cmi.onSelect = function (obj, item) { trace("Voc selecionou: " + item.caption); } Consulte tambm ContextMenu.onSelect

ContextMenuItem.separatorBefore
Disponibilidade

Flash Player 7.
Uso menuItem_cmi.separatorBefore Descrio

Propriedade; um valor booleano que indica se uma barra separadora deve aparecer acima do item de menu especificado. Por padro, essa propriedade false.
Observao: Uma barra separadora sempre aparece entre os itens de menu personalizados e os itens de menu internos. Exemplo

Este exemplo cria trs itens de menu rotulados Abrir, Salvar e Imprimir. Uma barra separadora divide os itens Salvar e Imprimir. Os itens de menu so depois includos no array customItems do objeto ContextMenu. E, por fim, o menu anexado Timeline (Linha de tempo) raiz do arquivo SWF.
meu_cm = new ContextMenu(); open_cmi = new ContextMenuItem("Abrir", manipItem); save_cmi = new ContextMenuItem("Salvar", manipItem); print_cmi = new ContextMenuItem("Imprimir", manipItem); print_cmi.separatorBefore = true; meu_cm.customItems.push(open_cmi, save_cmi, print_cmi); function manipItem(obj, menuItem) { trace("Voc selecionou: " + menuItem.caption); }; _root.menu = meu_cm; Consulte tambm ContextMenu.onSelect

ContextMenuItem.separatorBefore

389

ContextMenuItem.visible
Disponibilidade

Flash Player 7.
Uso menuItem_cmi.visible Descrio

Propriedade; um valor booleano que indica se o item de menu especificado estar visvel quando o menu de contexto do Flash Player for exibido. Por padro, essa propriedade true.

continue
Disponibilidade

Flash Player 4.
Uso continue Parmetros

Nenhum.
Retorna

Nada.
Descrio

Instruo; aparece em vrios tipos de instrues de loop e tem um comportamento distinto em cada um desses tipos. Em um loop while, continue faz o interpretador do Flash ignorar o resto do corpo do loop e saltar para o incio do loop, onde a condio testada. Em um loop do...while, continue faz o interpretador do Flash ignorar o resto do corpo do loop e saltar para o fim do loop, onde a condio testada. Em um loop for, continue faz o interpretador do Flash ignorar o resto do corpo do loop e saltar para a avaliao da ps-expresso for do loop. Em um loop for...in, continue faz o interpretador do Flash ignorar o resto do corpo do loop e voltar ao incio do loop, onde o prximo valor na enumerao processado.
Consulte tambm do while, for, for..in, while

390

Captulo 12: Dicionrio do ActionScript

Classe CustomActions
Disponibilidade

Flash Player 6.
Descrio

Os mtodos da classe CustomActions permitem que um arquivo SWF que esteja sendo executado na ferramenta de criao do Flash gerencie quaisquer aes personalizadas que estejam registradas com a ferramenta de criao. Um arquivo SWF pode instalar e desinstalar aes personalizadas, recuperar a definio XML de uma ao personalizada e recuperar a lista de aes personalizadas registradas. Use esses mtodos para criar arquivos SWF que sejam extenses da ferramenta de criao do Flash. Uma extenso como essa poderia, por exemplo, usar o protocolo do aplicativo Flash para navegar em um repositrio UDDI e fazer download de servios da Web na caixa de ferramentas Actions (Aes). Resumo dos mtodos da classe CustomActions
Mtodo
CustomActions.get()

Descrio L o contedo de um arquivo de definio XML de aes personalizadas. Instala um novo arquivo de definio XML de aes personalizadas. Retorna uma lista de todas as aes personalizadas registradas. Remove um arquivo de definio XML de aes personalizadas.

CustomActions.install() CustomActions.list() CustomActions.uninstall()

Classe CustomActions

391

CustomActions.get()
Disponibilidade

Flash Player 6.
Uso CustomActions.get(nomeAesPerso) Parmetros nomeAesPerso Retorna

O nome da definio de aes personalizadas a ser recuperada.

Caso seja encontrada a definio XML das aes personalizadas, retornar uma seqncia de caracteres; do contrrio, retornar undefined.
Descrio

Mtodo; l o contedo do arquivo de definio XML de aes personalizadas denominado nomeAesPerso. O nome do arquivo de definies deve ser simples, sem a extenso de arquivo .xml e sem qualquer separador de diretrio (:, / ou \). Se o arquivo de definies especificado por nomeAesPerso no puder ser encontrado, ser retornado o valor undefined. Caso seja encontrada a definio XML das aes personalizadas especificada pelo parmetro nomeAesPerso, ela ser lida por inteiro e retornada como uma seqncia de caracteres.

392

Captulo 12: Dicionrio do ActionScript

CustomActions.install()
Disponibilidade

Flash Player 6.
Uso CustomActions.install(nomeAesPerso, definioXMLPerso) Parmetros nomeAesPerso

O nome da definio de aes personalizadas a ser instalada. O texto da definio XML a ser instalada.

definioXMLPerso Retorna

Um valor booleano false se ocorrer um erro durante a instalao. Caso contrrio, um valor true ser retornado para indicar que a ao personalizada foi instalada com xito.
Descrio

Mtodo; instala um novo arquivo de definio XML de aes personalizadas indicado pelo parmetro nomeAesPerso. O contedo do arquivo especificado pela seqncia de caracteres definioXMLPerso. O nome do arquivo de definies deve ser simples, sem a extenso de arquivo .xml e sem qualquer separador de diretrio (:, / ou \). Se j existir um arquivo de aes personalizadas com o nome nomeAesPerso, ele ser substitudo. Se o diretrio Configuration/ActionsPanel/CustomActions no existir quando esse mtodo for chamado, ele ser criado.

CustomActions.list()
Disponibilidade

Flash Player 6.
Uso CustomActions.list() Parmetros

Nenhum.
Retorna

Um array.
Descrio

Mtodo; retorna um objeto Array que contm os nomes de todas as aes personalizadas registradas na ferramenta de criao do Flash. Os elementos do array so nomes simples, sem a extenso de arquivo .xml e sem nenhum separador de diretrio (por exemplo, :, / ou \). Se no houver nenhuma ao personalizada registrada, list() retornar um array de tamanho zero. Se ocorrer um erro, list() retornar o valor undefined.

CustomActions.list()

393

CustomActions.uninstall()
Disponibilidade

Flash Player 6.
Uso CustomActions.uninstall(nomeAesPerso) Parmetros nomeAesPerso Retorna

O nome da definio de aes personalizadas a ser desinstalada.

Um valor booleano false se no for encontrada nenhuma ao personalizada com o nome nomeAesPerso. Se a remoo das aes personalizadas for bem sucedida, ser retornado o valor true.
Descrio

Mtodo; remove o arquivo de definio XML de aes personalizadas denominado nomeAesPerso. O nome do arquivo de definies deve ser simples, sem a extenso de arquivo .xml e sem qualquer separador de diretrio (:, / ou \).

Classe Date
Disponibilidade

Flash Player 5.
Descrio

A classe Date permite a recuperao dos valores de data e hora relativos hora universal (Hora de Greenwich, agora chamada de hora universal ou UTC) ou ao sistema operacional em que o Flash Player est sendo executado. Os mtodos da classe Date no so estticos, mas se aplicam somente ao objeto Date especificado quando o mtodo chamado. O mtodo Date.UTC() uma exceo; ele esttico. A classe Date trata do horrio de vero de modo diferente, de acordo com o sistema operacional usado e com a verso do Flash Player. O Flash Player 6 e as verses posteriores gerenciam o horrio de vero nos sistemas operacionais a seguir das seguintes maneiras:

Windows a sada do objeto Date ajustada automaticamente para o horrio de vero. O


objeto Date detecta se o horrio de vero est em vigor no local atual. Em caso positivo, ele detectar a data e hora da transio do horrio padro para o horrio de vero. Contudo, as datas de mudana atualmente em vigor so aplicadas a datas passadas e futuras, sendo assim, as diferenas de horrio de vero podem ser calculadas de forma errada em datas passadas quando o local tiver datas de mudana diferentes.

394

Captulo 12: Dicionrio do ActionScript

Mac OS X o objeto Date ajusta automaticamente a sada para horrio de vero. No Mac OS
X, o banco de dados com as informaes de fuso horrio usado para determinar se a diferena de horrio de vero deve ser aplicada a alguma data ou hora atual ou passada. O Flash Player 5 gerencia o horrio de vero nestes sistemas operacionais da seguinte maneira:

Windows as regras americanas para o horrio de vero so sempre aplicadas, o que leva a
mudanas incorretas nos pases da Europa e de outras regies que adotam o horrio de vero com horas de transio diferentes das dos Estados Unidos. O Flash detecta corretamente se o horrio de vero est em vigor no local atual. Para chamar os mtodos da classe Date, necessrio criar primeiro um objeto Date usando o construtor para a classe Date, descrito posteriormente nesta seo. Resumo dos mtodos da classe Date
Mtodo
Date.getDate() Date.getDay() Date.getFullYear() Date.getHours() Date.getMilliseconds() Date.getMinutes() Date.getMonth() Date.getSeconds() Date.getTime()

Descrio Retorna o dia do ms de acordo com a hora local. Retorna o dia da semana de acordo com a hora local. Retorna o ano com quatro dgitos de acordo com a hora local. Retorna a hora de acordo com a hora local. Retorna os milissegundos de acordo com a hora local. Retorna os minutos de acordo com a hora local. Retorna o ms de acordo com a hora local. Retorna os segundos de acordo com a hora local. Retorna o nmero de milissegundos desde a meia-noite de 1 de janeiro de 1970, hora universal. Retorna a diferena, em minutos, entre o a hora local do computador e a hora universal. Retorna o dia (data) do ms de acordo com a hora universal. Retorna o dia da semana de acordo com a hora universal. Retorna o ano com quatro dgitos de acordo com a hora universal. Retorna a hora de acordo com a hora universal. Retorna os milissegundos de acordo com a hora universal. Retorna os minutos de acordo com a hora universal. Retorna o ms de acordo com a hora universal. Retorna os segundos de acordo com a hora universal. Retorna o ano de acordo com a hora local. Define o dia do ms de acordo com a hora local. Retorna a nova hora em milissegundos. Define o ano completo de acordo com a hora local. Retorna a nova hora em milissegundos.

Date.getTimezoneOffset()

Date.getUTCDate() Date.getUTCDay() Date.getUTCFullYear() Date.getUTCHours() Date.getUTCMilliseconds() Date.getUTCMinutes() Date.getUTCMonth() Date.getUTCSeconds() Date.getYear() Date.setDate()

Date.setFullYear()

Classe Date

395

Mtodo
Date.setHours()

Descrio Define a hora de acordo com a hora local. Retorna a nova hora em milissegundos. Define os milissegundos de acordo com a hora local. Retorna a nova hora em milissegundos. Define os minutos de acordo com a hora local. Retorna a nova hora em milissegundos. Define o ms de acordo com a hora local. Retorna a nova hora em milissegundos. Define os segundos de acordo com a hora local. Retorna a nova hora em milissegundos. Define a data em milissegundos. Retorna a nova hora em milissegundos. Define a data de acordo com a hora universal. Retorna a nova hora em milissegundos. Define o ano de acordo com a hora universal. Retorna a nova hora em milissegundos. Define a hora de acordo com a hora universal. Retorna a nova hora em milissegundos. Define os milissegundos de acordo com a hora universal. Retorna a nova hora em milissegundos. Define os minutos de acordo com a hora universal. Retorna a nova hora em milissegundos. Define o ms de acordo com a hora universal. Retorna a nova hora em milissegundos. Define os segundos de acordo com a hora universal. Retorna a nova hora em milissegundos. Define o ano de acordo com a hora local. Retorna uma seqncia de caracteres representando a data e a hora armazenadas no objeto Date especificado. Retorna o nmero de milissegundos entre a meia-noite de 1 de janeiro de 1970, hora universal, e a hora especificada.

Date.setMilliseconds()

Date.setMinutes()

Date.setMonth()

Date.setSeconds()

Date.setTime()

Date.setUTCDate()

Date.setUTCFullYear()

Date.setUTCHours()

Date.setUTCMilliseconds()

Date.setUTCMinutes()

Date.setUTCMonth()

Date.setUTCSeconds()

Date.setYear() Date.toString()

Date.UTC()

396

Captulo 12: Dicionrio do ActionScript

Construtor da classe Date


Disponibilidade

Flash Player 5.
Uso new Date() new Date(ano [, ms [, data [, hora [, minutos [, segundos [, milissegundos ]]]]]) Parmetros ano

Um valor de 0 a 99 indica 1900 a 1999; caso contrrio, especifique todos os 4 dgitos do Um inteiro entre 0 (janeiro) e 11 (dezembro). Um inteiro de 1 a 31. Este parmetro opcional. Um inteiro entre 0 (meia-noite) e 23 (11 p.m.). Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 999. Este parmetro opcional.

ano.
ms dia hora minutos segundos milissegundos Retorna

Nada.
Descrio

Objeto; constri um objeto new Date que mantm a data e hora atuais ou a data especificada.
Exemplo

O exemplo a seguir recupera a data e hora atuais.


data_agora = new Date();

O exemplo a seguir cria um novo objeto Date para o dia de nascimento de Beto, 12 de agosto de 1974. Como o parmetro ms comea em zero, o exemplo usa 7 para o ms, no 8.
dataNasc_Beto = new Date (74, 7, 12);

O exemplo a seguir cria um novo objeto Date, concatena os valores retornados por Date.getMonth(), Date.getDate() e Date.getFullYear(), e exibe esses valores no campo de texto especificado pela varivel data_str.
data_hoje = new Date(); data_str = ((data_hoje.getMonth() + 1) + "/" + data_hoje.getDate() + "/" + data_hoje.getFullYear());

Classe Date

397

Date.getDate()
Disponibilidade

Flash Player 5.
Uso minha_data.getDate() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o dia do ms (um inteiro de 1 a 31) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.getDay()
Disponibilidade

Flash Player 5.
Uso minha_data.getDay() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o dia da semana (0 para domingo, 1 para segunda-feira 1, etc.) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

398

Captulo 12: Dicionrio do ActionScript

Date.getFullYear()
Disponibilidade

Flash Player 5.
Uso minha_data.getFullYear() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o ano completo (um nmero de quatro dgitos, por exemplo, 2000) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Exemplo

O exemplo a seguir usa o construtor para criar um novo objeto Date e enviar o valor retornado pelo mtodo getFullYear() para o painel Output (Sada):
data = new Date(); trace(data.getFullYear());

Date.getFullYear()

399

Date.getHours()
Disponibilidade

Flash Player 5.
Uso minha_data.getHours() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna a hora (um inteiro de 0 a 23) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.getMilliseconds()
Disponibilidade

Flash Player 5.
Uso minha_data.getMilliseconds() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna os milissegundos (um inteiro de 0 a 999) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

400

Captulo 12: Dicionrio do ActionScript

Date.getMinutes()
Disponibilidade

Flash Player 5.
Uso minha_data.getMinutes() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna os minutos (um inteiro de 0 a 59) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.getMonth()
Disponibilidade

Flash Player 5.
Uso minha_data.getMonth() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o ms (0 para janeiro, 1 para fevereiro, etc.) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.getMonth()

401

Date.getSeconds()
Disponibilidade

Flash Player 5.
Uso minha_data.getSeconds() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna os segundos (um inteiro de 0 a 59) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.getTime()
Disponibilidade

Flash Player 5.
Uso minha_data.getTime() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o nmero de milissegundos desde a meia-noite de 1 de janeiro de 1970, hora universal, do objeto Date especificado. Use este mtodo para representar um instante especfico no tempo quando comparar dois ou mais objetos Date.

402

Captulo 12: Dicionrio do ActionScript

Date.getTimezoneOffset()
Disponibilidade

Flash Player 5.
Uso minha_data.getTimezoneOffset() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna a diferena, em minutos, entre a hora local do computador e a hora universal.
Exemplo

O exemplo a seguir retorna a diferena entre o horrio de vero de So Francisco e a hora universal. O horrio de vero ser includo no resultado retornado somente se a data definida no objeto Date constar do perodo do horrio de vero.
trace(new Date().getTimezoneOffset()); // // // // // ser apresentado o valor 420 no painel Output (Sada) (7 horas * 60 minutos/hora = 420 minutos) Este exemplo usa o horrio de vero do Pacfico (PDT (Pacific Daylight Time) GMT-0700). O resultado varia em funo do local e da poca do ano.

Date.getUTCDate()
Disponibilidade

Flash Player 5.
Uso minha_data.getUTCDate() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o dia do ms (um inteiro de 1 a 31) do objeto Date especificado, de acordo com a hora universal.

Date.getUTCDate()

403

Date.getUTCDay()
Disponibilidade

Flash Player 5.
Uso minha_data.getUTCDay() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o dia da semana (0 para domingo, 1 para segunda-feira e assim por diante) do objeto Date especificado, de acordo com a hora universal.

Date.getUTCFullYear()
Disponibilidade

Flash Player 5.
Uso minha_data.getUTCFullYear() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o ano com quatro dgitos do objeto Date especificado, de acordo com a hora universal.

404

Captulo 12: Dicionrio do ActionScript

Date.getUTCHours()
Disponibilidade

Flash Player 5.
Uso minha_data.getUTCHours() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna a hora do objeto Date especificado, de acordo com a hora universal.

Date.getUTCMilliseconds()
Disponibilidade

Flash Player 5.
Uso minha_data.getUTCMilliseconds() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna os milissegundos do objeto Date especificado, de acordo com a hora universal.

Date.getUTCMilliseconds()

405

Date.getUTCMinutes()
Disponibilidade

Flash Player 5.
Uso minha_data.getUTCMinutes() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna os minutos do objeto Date especificado, de acordo com a hora universal.

Date.getUTCMonth()
Disponibilidade

Flash Player 5.
Uso minha_data.getUTCMonth() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o ms (0 para janeiro, 1 para fevereiro e assim por diante) do objeto Date especificado, de acordo com a hora universal.

406

Captulo 12: Dicionrio do ActionScript

Date.getUTCSeconds()
Disponibilidade

Flash Player 5.
Uso minha_data.getUTCSeconds() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna os segundos do objeto Date especificado, de acordo com a hora universal.

Date.getYear()
Disponibilidade

Flash Player 5.
Uso minha_data.getYear() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o ano do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado. O ano o ano completo menos 1900. Por exemplo, o ano 2000 representado como 100.
Consulte tambm Date.getFullYear()

Date.getYear()

407

Date.setDate()
Disponibilidade

Flash Player 5.
Uso minha_data.setDate(dia) Parmetros dia Retorna

Um inteiro de 1 a 31.

Um inteiro.
Descrio

Mtodo; define o dia do ms do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.setFullYear()
Disponibilidade

Flash Player 5.
Uso minha_data.setFullYear(ano [, ms [, dia]] ) Parmetros ano

Um nmero de quatro dgitos que especifica um ano. Nmeros de dois dgitos no representam anos; por exemplo, 99 no o ano 1999, mas o ano 99. Um inteiro entre 0 (janeiro) e 11 (dezembro). Este parmetro opcional. Um inteiro de 1 a 31. Este parmetro opcional.

ms dia Retorna

Um inteiro.
Descrio

Mtodo; define o ano do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. Se os parmetros ms e dia forem especificados, tambm sero definidos para a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado. Quando este mtodo chamado, os outros campos do objeto Date especificado no so modificados, mas Date.getUTCDay() e Date.getDay() podero retornar um novo valor se o dia da semana for alterado em conseqncia da chamada desse mtodo.

408

Captulo 12: Dicionrio do ActionScript

Date.setHours()
Disponibilidade

Flash Player 5.
Uso minha_data.setHours(hora) Parmetros hora Retorna

Um inteiro entre 0 (meia-noite) e 23 (11 p.m.).

Um inteiro.
Descrio

Mtodo; define as horas do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.setMilliseconds()
Disponibilidade

Flash Player 5.
Uso minha_data.setMilliseconds(milissegundos) Parmetros milissegundos Retorna

Um inteiro de 0 a 999.

Um inteiro.
Descrio

Mtodo; define os milissegundos do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.setMilliseconds()

409

Date.setMinutes()
Disponibilidade

Flash Player 5.
Uso minha_data.setMinutes(minutos) Parmetros minutos Retorna

Um inteiro de 0 a 59.

Um inteiro.
Descrio

Mtodo; define os minutos do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.setMonth()
Disponibilidade

Flash Player 5.
Uso minha_data.setMonth(ms [, dia ]) Parmetros ms dia Retorna

Um inteiro entre 0 (janeiro) e 11 (dezembro). Um inteiro de 1 a 31. Este parmetro opcional.

Um inteiro.
Descrio

Mtodo; define o ms do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

410

Captulo 12: Dicionrio do ActionScript

Date.setSeconds()
Disponibilidade

Flash Player 5.
Uso minha_data.setSeconds(segundos) Parmetros segundos Retorna

Um inteiro de 0 a 59.

Um inteiro.
Descrio

Mtodo; define os segundos do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.setTime()
Disponibilidade

Flash Player 5.
Uso minha_data.setTime(milissegundos) Parmetros milissegundos Retorna

Um valor inteiro onde 0 representa 0:00 GMT de 1 jan. 1970.

Um inteiro.
Descrio

Mtodo; define a data do objeto Date especificado, em milissegundos, desde a meia-noite de 1 de janeiro de 1970, e retorna a nova hora em milissegundos.

Date.setTime()

411

Date.setUTCDate()
Disponibilidade

Flash Player 5.
Uso minha_data.setUTCDate(dia) Parmetros dia Retorna

Um inteiro de 1 a 31.

Um inteiro.
Descrio

Mtodo; define a data do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos. Quando este mtodo chamado, os outros campos do objeto Date especificado no so modificados, mas Date.getUTCDay() e Date.getDay() podero retornar um novo valor se o dia da semana for alterado em conseqncia da chamada desse mtodo.

Date.setUTCFullYear()
Disponibilidade

Flash Player 5.
Uso minha_data.setUTCFullYear(ano [, ms [, dia]] ) Parmetros ano ms dia Retorna

O ano especificado com quatro dgitos completos; por exemplo, 2000. Um inteiro entre 0 (janeiro) e 11 (dezembro). Este parmetro opcional. Um inteiro de 1 a 31. Este parmetro opcional.

Um inteiro.
Descrio

Mtodo; define o ano do objeto Date especificado (minha_data), de acordo com a hora universal, e retorna a nova hora em milissegundos. Opcionalmente, este mtodo tambm pode definir o ms e a data representados pelo objeto Date especificado. Quando este mtodo chamado, os outros campos do objeto Date especificado no so modificados, mas Date.getUTCDay() e Date.getDay() podero retornar um novo valor se o dia da semana for alterado em conseqncia da chamada desse mtodo.

412

Captulo 12: Dicionrio do ActionScript

Date.setUTCHours()
Disponibilidade

Flash Player 5.
Uso minha_data.setUTCHours(horas [, minutos [, segundos [, milissegundos]]]) Parmetros hora minutos segundos milissegundos Retorna

Um inteiro entre 0 (meia-noite) e 23 (11 p.m.). Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 999. Este parmetro opcional.

Um inteiro.
Descrio

Mtodo; define a hora do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos.

Date.setUTCMilliseconds()
Disponibilidade

Flash Player 5.
Uso minha_data.setUTCMilliseconds(milissegundos) Parmetros milissegundos Retorna

Um inteiro de 0 a 999.

Um inteiro.
Descrio

Mtodo; define os milissegundos do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos.

Date.setUTCMilliseconds()

413

Date.setUTCMinutes()
Disponibilidade

Flash Player 5.
Uso minha_data.setUTCMinutes(minutos [, segundos [, milissegundos]]) Parmetros minutos segundos milissegundos Retorna

Um inteiro de 0 a 59. Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 999. Este parmetro opcional.

Um inteiro.
Descrio

Mtodo; define os minutos do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos.

Date.setUTCMonth()
Disponibilidade

Flash Player 5.
Uso minha_data.setUTCMonth(ms [, data]) Parmetros ms dia Retorna

Um inteiro entre 0 (janeiro) e 11 (dezembro). Um inteiro de 1 a 31. Este parmetro opcional.

Um inteiro.
Descrio

Mtodo; define o ms e, opcionalmente, o dia (data), do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos. Quando este mtodo chamado, os outros campos do objeto Date especificado no so modificados, mas Date.getUTCDay() e Date.getDay() podero retornar um novo valor se o dia da semana for alterado em conseqncia da especificao de um valor para o parmetro dia.

414

Captulo 12: Dicionrio do ActionScript

Date.setUTCSeconds()
Disponibilidade

Flash Player 5.
Uso minha_data.setUTCSeconds(segundos [, milissegundos])) Parmetros segundos

Um inteiro de 0 a 59. Um inteiro de 0 a 999. Este parmetro opcional.

milissegundos Retorna

Um inteiro.
Descrio

Mtodo; define os segundos do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos.

Date.setYear()
Disponibilidade

Flash Player 5.
Uso minha_data.setYear(ano) Parmetros ano

Se ano for um nmero inteiro entre 099, setYear definir o ano como 1900 + ano; caso contrrio, o ano ser o valor do parmetro ano. Um inteiro.

Retorna

Descrio

Mtodo; define o ano do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.

Date.setYear()

415

Date.toString()
Disponibilidade

Flash Player 5.
Uso minha_data.toString() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna, em um formato legvel, o valor de uma seqncia de caracteres do objeto Date especificado, e retorna a nova hora em milissegundos.
Exemplo

O exemplo a seguir retorna as informaes no objeto Date dataNasc_date como uma seqncia de caracteres.
var dataNasc_date = new Date(74, 7, 12, 18, 15); trace (dataNasc_date.toString());

Sada (para Hora padro do Pacfico):


Seg Ago 12 18:15:00 GMT-0700 1974

416

Captulo 12: Dicionrio do ActionScript

Date.UTC()
Disponibilidade

Flash Player 5.
Uso Date.UTC(ano, ms [, dia [, hora [, minutos [, segundos [, milissegundos ]]]]]); Parmetros ano ms dia hora minutos segundos milissegundos Retorna

Um nmero de quatro dgitos; por exemplo, 2000. Um inteiro entre 0 (janeiro) e 11 (dezembro). Um inteiro de 1 a 31. Este parmetro opcional. Um inteiro entre 0 (meia-noite) e 23 (11 p.m.). Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 999. Este parmetro opcional.

Um inteiro.
Descrio

Mtodo; retorna o nmero de milissegundos entre a meia-noite de 1 de janeiro de 1970, hora universal, e a hora especificada nos parmetros. Este um mtodo esttico chamado pelo construtor do objeto Date, no por um objeto Date especfico. Este mtodo permite criar um objeto Date que assuma uma hora universal, enquanto o construtor de Date assume a hora local.
Exemplo

O exemplo a seguir cria um novo objeto Date dataNasc_Beto, definido de acordo com a hora universal. Esta a variao de hora universal do exemplo usado para o mtodo construtor new Date:
dataNasc_Beto = new Date(Date.UTC(1974, 7, 12));

Date.UTC()

417

default
Disponibilidade

Flash Player 6.
Uso default: instrues Parmetros instrues Retorna

Quaisquer instrues.

Nada.
Descrio

Instruo; define o caso padro de uma ao switch. As instrues sero executadas se o parmetro expresso da ao switch for diferente (usando a igualdade estrita) de todos os parmetros expresso que seguem as palavras-chave de case de uma ao switch. Uma ao switch no precisa ter uma clusula default. O default no precisa ser o ltimo da lista. O uso de uma ao default fora de uma ao switch representa um erro e o script no compilado.
Exemplo

No exemplo a seguir, a expresso A no igual s expresses B e D. Portanto, a instruo que vem aps a palavra-chave default executada e a ao trace() enviada para o painel Output (Sada).
switch ( A ) { case B: C; break; case D: E; break; default: trace ("no foi encontrado nenhum caso especfico"); } Consulte tambm switch, case, break

418

Captulo 12: Dicionrio do ActionScript

delete
Disponibilidade

Flash Player 5.
Uso delete referncia Parmetros referncia Retorna

O nome da varivel ou do objeto a ser eliminado.

Um valor booleano.
Descrio

Operador; eliminar o objeto ou a varivel especificada pelo parmetro referncia e retornar true se o objeto for excludo com xito; do contrrio, retornar false. Este operador til para liberar memria usada pelos scripts. Embora delete seja um operador, normalmente ele usado como uma instruo, como no exemplo a seguir:
delete x;

O operador delete poder falhar e retornar false se o parmetro referncia no existir ou no puder ser excludo. Objetos e propriedades predefinidos e variveis declaradas com var no podem ser excludas. No possvel usar o operador delete para remover clipes de filme.
Exemplo

Uso 1: O exemplo a seguir cria um objeto, usa-o e depois o exclui quando no for mais necessrio.
conta = new Object(); conta.nome = 'Joo'; conta.saldo = 10000; delete account;

Uso 2: O exemplo a seguir exclui uma propriedade de um objeto.


// cria um novo objeto "conta" conta = new Object(); // atribui nome de propriedade a conta conta.nome = 'Joo'; // exclui a propriedade delete conta.nome;

delete

419

Uso 3: O exemplo a seguir outro exemplo de excluso da propriedade de um objeto.


// cria um objeto Array com tamanho 0 meu_array = new Array(); // inclui um elemento no array. A propriedade Array.length agora vale 1 meu_array[0] = "abc"; // inclui outro elemento no array. A propriedade Array.length agora vale 2 meu_array[1] = "def"; // inclui outro elemento no array. A propriedade Array.length agora vale 3 meu_array[2] = "ghi"; // meu_array[2] ser excludo, mas Array.length no alterado delete array[2]; trace(meu_array.length);

Uso 4: O exemplo a seguir mostra o comportamento de delete em referncias de objeto.


// cria um novo objeto e atribui a varivel ref1 // para fazer referncia ao objeto ref1 = new Object(); ref1.name = "Jody"; // copia a varivel de referncia para uma nova varivel // e exclui ref1 ref2 = ref1; delete ref1;

Se o contedo do parmetro ref1 no tivesse sido copiado para ref2, o objeto teria sido excludo durante a excluso de ref1, pois no haveria referncias a ele. Se o parmetro ref2 for excludo, no haver mais referncias ao objeto; ele ser eliminado e a memria que estava sendo usada ficar disponvel.
Consulte tambm var

420

Captulo 12: Dicionrio do ActionScript

do while
Disponibilidade

Flash Player 4.
Uso do { instrues } while (condio) Parmetros condio

A condio a ser avaliada.

instrues A(s) instruo(es) a ser(em) executada(s) desde que o parmetro condio seja avaliado como true. Retorna

Nada.
Descrio

Instruo; executa as instrues e, em seguida, avalia a condio do loop e repete todo o processo enquanto a condio for verdadeira.
Consulte tambm break, continue

do while

421

duplicateMovieClip()
Disponibilidade

Flash Player 4.
Uso duplicateMovieClip(destino, novonome, profundidade) Parmetros destino novonome

O caminho de destino do clipe de filme a ser duplicado. Um identificador exclusivo do clipe de filme duplicado.

profundidade

Um nvel de profundidade exclusivo para o clipe de filme duplicado. O nvel de profundidade uma ordem de empilhamento para os clipes de filmes duplicados. Essa ordem de empilhamento muito parecida com a ordem de empilhamento das camadas na Timeline (Linha de tempo); os clipes de filmes com um nvel de profundidade inferior ficam ocultos abaixo de clipes com uma ordem de empilhamento superior. Deve-se atribuir um nvel de profundidade exclusivo para cada clipe de filme duplicado, para evitar que ele substitua arquivos SWF em nveis ocupados.

Retorna

Uma referncia ao clipe de filme duplicado.


Descrio

Funo; cria uma instncia de um clipe de filme durante a reproduo do arquivo SWF. A reproduo em clipes de filme duplicados sempre comea pelo Frame (Quadro) 1, independente da posio da reproduo no clipe de filme original (ou pai). As variveis no clipe de filme pai no so copiadas para o clipe de filme duplicado. Se o clipe de filme pai for excludo, o clipe de filme duplicado tambm ser. Use a ao ou mtodo removeMovieClip() para excluir uma instncia de clipe de filme criada com duplicateMovieClip().
Consulte tambm MovieClip.duplicateMovieClip(), removeMovieClip(), MovieClip.removeMovieClip()

422

Captulo 12: Dicionrio do ActionScript

dynamic
Disponibilidade

Flash Player 6.
Uso dynamic class nomeClasse [ extends superClasse ] [ implements nomeInterface [, nomeInterface... ] ] { // a definio de classe entra aqui } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). Descrio

Palavra-chave; determina que os objetos baseados na classe especificada podem adicionar e acessar propriedades dinmicas durante a execuo. A verificao de tipo em classes dinmicas menos estrita que em classes no-dinmicas, pois os membros acessados na definio de classe e em instncias da classe no so comparados com aqueles definidos no escopo da classe. No entanto, possvel realizar a verificao de tipo das funes de membros de classes para detectar tipo de retorno e tipos de parmetro. Esse comportamento especialmente til ao trabalhar com objetos MovieClip, pois h diversas maneiras de adicionar propriedades e objetos a um clipe de filme dinamicamente, como MovieClip.createEmptyMovieClip() e MovieClip.createTextField(). Subclasses de classes dinmicas tambm sero dinmicas. Para obter mais informaes, consulte Criando classes dinmicas na pgina 184.
Exemplo

No exemplo a seguir, a classe B foi marcada como dinmica. Por isso, chamar nessa classe uma funo no declarada no gerar um erro durante a compilao.
// em B.as dynamic class B extends class_A { function B() { /*este o construtor*/ } function m():Number {return 25;} function o(s:String):Void {trace(s);} } // em C.as class C extends class_A { function C() { /*este o construtor*/ } function m():Number {return 25;} function o(s:String):Void {trace(s);} }

dynamic

423

// em outro script var var1 = B.n(); var var2 = C.n() Consulte tambm class, extends

// nenhum erro // erro, pois no h funo n em C.as

else
Disponibilidade

Flash Player 4.
Uso if (condio){ instrues; } else (condio){ instrues; } Parmetros condio

Uma expresso que seja avaliada como true ou false. alternativa de instrues a ser executada se a condio especificada na

instrues Uma srie instruo if for false. Retorna

Nada.
Descrio

Instruo; especifica as instrues que sero executadas se a condio estabelecida pela instruo if retornar false.
Consulte tambm if

424

Captulo 12: Dicionrio do ActionScript

else if
Disponibilidade

Flash Player 4.
Uso if (condio){ instrues; } else if (condio){ instrues; } Parmetros condio

Uma expresso que seja avaliada como true ou false. alternativa de instrues a ser executada se a condio especificada na

instrues Uma srie instruo if for false. Retorna

Nada.
Descrio

Instruo; avaliar a condio e especificar as instrues que sero executadas se a condio estabelecida pela instruo if inicial retornar false. Se a condio de else if retornar true, o interpretador Flash executar as instrues entre chaves ({}) que seguem a condio. Se a condio else if for false, o Flash ignorar as instrues entre chaves e executar as instrues aps as chaves. Use a ao else if para criar uma lgica ramificada em seus scripts.
Exemplo

O exemplo a seguir faz uso de aes else if para verificar se cada lado de um objeto est dentro de um limite especfico.
// se o objeto ultrapassar os limites, // envia-o de volta e inverte a velocidade de percurso if (this._x>rightBound) { this._x = rightBound; xInc = -xInc; } else if (this._x<leftBound) { this._x = leftBound; xInc = -xInc; } else if (this._y>bottomBound) { this._y = bottomBound; yInc = -yInc; } else if (this._y<topBound) { this._y = topBound; yInc = -yInc; } Consulte tambm if

else if

425

#endinitclip
Disponibilidade

Flash Player 6.
Uso #endinitclip Parmetros

Nenhum.
Retorna

Nada.
Descrio

Diretiva do compilador; indica o trmino de um bloco de aes de inicializao.


Exemplo #initclip ... as aes de inicializao entram aqui... #endinitclip Consulte tambm #initclip

eq (igual especfico de seqncia de caracteres)


Disponibilidade

Flash Player 4. Este operador foi substitudo no Flash 5 pelo operador == (igualdade).
Uso expresso1 eq expresso2 Parmetros expresso1, expresso2 Retorna

Nmeros, seqncias de caracteres ou variveis.

Nada.
Descrio

Operador de comparao; avaliar se duas expresses so iguais e retornar o valor true se a representao da seqncia de caracteres da expresso1 for igual representao da seqncia de caracteres da expresso2; caso contrrio, a operao retornar o valor false.
Consulte tambm == (igualdade)

426

Captulo 12: Dicionrio do ActionScript

Classe Error
Disponibilidade

Flash Player 7.
Descrio

Contm informaes sobre um erro que ocorreu em um script. possvel criar um objeto Error usando a funo construtora Error. Em geral, um novo objeto Error gerado (throw) a partir de um bloco de cdigo try e depois capturado por um bloco de cdigo catch ou finally. possvel tambm criar uma subclasse da classe Error e lanar instncias dessa subclasse. Resumo dos mtodos da classe Error
Mtodo
Error.toString()

Descrio Retorna uma seqncia de caracteres representando o objeto Error.

Resumo das propriedades da classe Error


Propriedade
Error.message

Descrio Uma seqncia de caracteres que contm uma mensagem de erro associada a um erro. Uma seqncia de caracteres que contm o nome do objeto Error.

Error.name

Construtor da classe Error


Disponibilidade

Flash Player 7.
Uso new Error([mensagem]) Parmetros mensagem Retorna

Uma seqncia de caracteres associada ao objeto Error; este parmetro opcional.

Nada.
Descrio

Construtor; cria um novo objeto Error. Se mensagem for especificada, seu valor ser atribudo propriedade Error.message do objeto.

Classe Error

427

Exemplo

No exemplo a seguir, uma funo lanar um erro (com uma mensagem especificada) se as duas seqncias de caracteres passadas para ela no forem idnticas.
function compareStrings(string_1, string_2) { if(string_1 != string_2) { throw new Error("As seqncias de caracteres no coincidem."); } } try { compareStrings("Co","co"); } catch (e) { trace(e.toString()); } Consulte tambm throw, try..catch..finally

Error.message
Disponibilidade

Flash Player 7.
Uso meuErro.message Descrio

Propriedade; contm a mensagem associada ao objeto Error. O valor padro desta propriedade "Error". possvel dar um valor para a propriedade message ao criar um novo objeto Error, passando a seqncia de caracteres de erro para a funo construtora Error.
Consulte tambm throw, try..catch..finally

Error.name
Disponibilidade

Flash Player 7.
Uso meuErro.name Descrio

Propriedade; contm o nome do objeto Error. O valor padro desta propriedade "Error".
Consulte tambm throw, try..catch..finally

428

Captulo 12: Dicionrio do ActionScript

Error.toString()
Disponibilidade

Flash Player 7.
Uso meuErro.toString() Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retornar por padro a seqncia de caracteres "Error" ou o valor contido em Error.message, se definido.
Consulte tambm Error.message, throw, try..catch..finally

escape
Disponibilidade

Flash Player 5.
Uso escape(expresso) Parmetros expresso

A expresso a ser convertida em seqncia de caracteres e codificada em formato de

URL.
Retorna

Nada.
Descrio

Funo; converte o parmetro em uma seqncia de caracteres e o codifica em um formato de cdigo URL, onde todos os caracteres no-alfanumricos so substitudos por seqncias hexadecimais de %.
Exemplo

A execuo do cdigo a seguir apresenta o resultado Ol%7B%5BMundo%5D%7D.


escape("Ol{[Mundo]}"); Consulte tambm unescape

escape

429

eval()
Disponibilidade

Flash Player 5 ou verso posterior com funcionalidade completa. Voc pode usar a funo eval() ao exportar para o Flash Player 4, mas deve usar a notao de barra e s pode acessar variveis, mas no propriedades ou objetos.
Uso eval(expresso) Parmetros expresso Uma seqncia de caracteres que contm o nome de uma varivel, propriedade, objeto ou clipe de filme a ser recuperado. Retorna

Um valor, uma referncia a um objeto ou clipe de filme, ou undefined.


Descrio

Funo; acessa variveis, propriedades, objetos ou clipes de filmes por nome. Se expresso for uma varivel ou propriedade, ser retornado o valor da varivel ou propriedade. Se expresso for um objeto ou clipe de filme, ser retornada uma referncia ao objeto ou clipe de filme. Se no for possvel encontrar o elemento citado na expresso, ser retornado o valor undefined. No Flash 4, eval() era usada para simular arrays; no Flash 5 ou posterior, recomenda-se o uso da classe Array para esse fim. No Flash 4, tambm possvel usar eval() para definir e recuperar de forma dinmica o valor de uma varivel ou um nome de instncia. Porm, tambm possvel executar essa tarefa atravs do operador de acesso a arrays ([]). No Flash 5 e verses posteriores, no possvel usar eval() para definir e recuperar dinamicamente o valor de uma varivel ou nome de instncia porque no possvel usar eval() no lado esquerdo de uma equao. Por exemplo, substitua o cdigo
eval ("var" + i) = "primeiro";

por este:
this["var"+i] = "primeiro"

ou este:
set ("var" + i, "primeiro"); Exemplo

O exemplo a seguir usa eval() para determinar o valor da expresso "trecho" + x. Como o resultado um nome de varivel, trecho3, eval() retorna o valor da varivel e o atribui a y:
trecho3 = "perigoso"; x = 3; y = eval("trecho" + x); trace(y); // Sada: perigoso Consulte tambm

Classe Array

430

Captulo 12: Dicionrio do ActionScript

extends
Disponibilidade

Flash Player 6.
Uso class nomeClasse extends outroNomeClasse {} interface nomeInterface extends outroNomeInterface {} Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). Parmetros nomeClasse

O nome da classe que voc est definindo. O nome da classe em que nomeClasse se baseia. O nome da interface que voc est definindo. O nome da interface em que nomeInterface se baseia.

outroNomeClasse nomeInterface

outroNomeInterface Descrio

Palavra-chave; define uma classe ou interface como subclasse de outra classe ou interface; a ltima a superclasse. A subclasse herda todos os mtodos, propriedades, funes e tudo o que for definido na superclasse. Para obter mais informaes, consulte Criando subclasses na pgina 173.
Exemplo

Na classe B definida abaixo, ser inserida automaticamente uma chamada para o superconstrutor da classe A, como a primeira instruo da funo construtora de B, pois ainda no existe uma chamada nela. Ou seja, ela aparece como comentrio no exemplo.
class B extends class A { function B() { // este o construtor // super(); // opcional; ser inserida durante a compilao se tiver sido // omitida } function m():Number {return 25;} function o(s:String):Void {trace(s);} } Consulte tambm class, implements, interface

extends

431

false
Disponibilidade

Flash Player 5.
Uso false Descrio

Constante; um valor booleano nico que representa o oposto de true.


Consulte tambm true

_focusrect
Disponibilidade

Flash Player 4.
Uso _focusrect = Booleano; Descrio

Propriedade (global); define se exibido um retngulo amarelo em volta do boto ou clipe de filme que possui foco de teclado. O valor padro, true, faz exibir um retngulo amarelo em volta do boto ou clipe de filme com foco no momento em que o usurio pressiona a tecla Tab para navegar pelos objetos em um arquivo SWF. Especifique false se voc no desejar exibir o retngulo amarelo. Essa uma propriedade global que pode ser cancelada para instncias especficas.
Consulte tambm Button._focusrect, MovieClip._focusrect

432

Captulo 12: Dicionrio do ActionScript

for
Disponibilidade

Flash Player 5.
Uso for(incio; condio; prxima) { instrues; } Parmetros incio Uma expresso a ser avaliada antes do incio da seqncia de loop, geralmente uma expresso de atribuio. A instruo var tambm permitida para este parmetro. condio Uma expresso que seja avaliada como true ou false. A condio avaliada antes de cada iterao do loop; o loop termina quando a condio avaliada como false. prxima

Uma expresso que avaliada aps cada iterao do loop; geralmente uma expresso de atribuio com os operadores ++ (incremento) ou -- (decremento). Uma ou mais instrues a serem executadas no corpo do loop.

instrues Descrio

Instruo; uma estrutura de loop (repetio) que avalia uma vez a expresso incio (inicializao) e depois comea uma seqncia de repetio pela qual, enquanto condio for true, as instrues sero executadas e a expresso prxima ser avaliada. Algumas propriedades no podem ser enumeradas pelas aes for nem for..in. Por exemplo, os mtodos internos da classe Array, como Array.sort() e Array.reverse(), no so includos na enumerao de um objeto Array e as propriedades de clipe de filme, como _x e _y, no so enumeradas. Em arquivos de classe externos, os membros de instncia no so enumerveis. Apenas os membros dinmicos e estticos so enumerveis.
Exemplo

O exemplo a seguir usa for para incluir os elementos em um array:


meu_array=new Array(); for(i=0; i < 10; i++) { meu_array [i] = (i + 5)*10; trace(meu_array[i]); }

Os seguintes resultados so exibidos no painel Output (Sada):


50 60 70 80 90 100 110 120 130 140

for

433

O exemplo a seguir mostra o uso de for para executar a mesma ao repetidamente. No cdigo a seguir, o loop for soma os nmeros de 1 a 100.
var soma = 0; for (var i=1; i<=100; i++) { soma = soma + i; } Consulte tambm ++ (incremento), (decremento), for..in, var

for..in
Disponibilidade

Flash Player 5.
Uso for(varivelIterao in objeto){ instrues; } Parmetros varivelIterao objeto

O nome de uma varivel que age como iterando, fazendo referncia a cada propriedade de um objeto ou elemento de um array. O nome de um objeto a ser repetido. Instrues a serem executadas a cada iterao.

instrues Retorna

Nada.
Descrio

Instruo; realiza uma passagem pelas propriedades de um objeto ou elemento de um array e executa as instrues para cada propriedade de um objeto. Algumas propriedades no podem ser enumeradas pelas aes for nem for..in. Por exemplo, os mtodos internos da classe Array, como Array.sort() e Array.reverse(), no so includos na enumerao de um objeto Array e as propriedades de clipe de filme, como _x e _y, no so enumeradas. Em arquivos de classe externos, os membros de instncia no so enumerveis. Apenas os membros dinmicos e estticos so enumerveis. A instruo for..in faz a iterao das propriedades de objetos na cadeia prottipo do objeto iterado. Se o prottipo do filho for pai, a iterao das propriedades do filho com for..in tambm far a iterao das propriedades do pai. A ao for..in enumera todos os objetos na cadeia prottipo de um objeto. As propriedades do objeto so enumeradas primeiro, a seguir, as propriedades de seu prottipo imediato, a seguir, as propriedades do prottipo do prottipo e assim por diante. A ao for..in no enumera o mesmo nome de propriedade duas vezes. Caso o objeto filho tenha um pai prottipo e ambos possuam a propriedade prop, a ao for..in iniciada sobre o filho enumerar prop a partir do filho, mas ignorar a que est no pai.

434

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir mostra o uso de for..in para iterao das propriedades de um objeto:
meuObjeto = { nome:'Sara', idade:27, cidade:'So Francisco' }; for (nome in meuObjeto) { trace ("meuObjeto." + nome + " = " + meuObjeto[nome]); }

A sada desse exemplo :


meuObjeto.nome = Sara meuObjeto.idade = 27 meuObjeto.cidade = So Francisco

O exemplo a seguir mostra o uso do operador typeof com for..in para iterar um tipo especfico de filho:
for (nome in meu_mc) { if (typeof (meu_mc[nome]) = "movieclip") { trace ("Eu tenho um clipe denominado " + nome); } }

O exemplo a seguir enumera os filhos de um clipe de filme e envia cada um para o Frame (Quadro) 2 de suas respectivas Timelines (Linhas de tempo). O clipe de filme RadioButtonGroup pai de vrios filhos, _RedRadioButton_, _GreenRadioButton_ e _BlueRadioButton.
for (var nome in RadioButtonGroup) { RadioButtonGroup[nome].gotoAndStop(2); }

for..in

435

fscommand()
Disponibilidade

Flash Player 3.
Uso fscommand("comando", "parmetros") Parmetros comando Uma seqncia de caracteres passada ao aplicativo host para qualquer uso ou um comando passado ao Flash Player. parmetros

Uma seqncia de caracteres passada ao aplicativo host para qualquer uso ou um valor passado ao Flash Player.

Retorna

Nada.
Descrio

Funo; permite que o arquivo SWF se comunique com o Flash Player ou com o programa que hospeda o Flash Player, como um navegador da Web. Voc tambm pode usar a ao fscommand para passar mensagens para o Macromedia Director ou para o Visual Basic, Visual C++ e outros programas que possam hospedar controles ActiveX. Uso 1: Para enviar uma mensagem ao Flash Player, voc deve usar comandos e parmetros predefinidos. A tabela a seguir mostra os valores que podem ser especificados para os parmetros comando e parmetros da ao fscommand para controlar um arquivo SWF reproduzido no Flash Players (incluindo projetores):
Comando
quit fullscreen

Parmetros
Nenhum true ou false

Objetivo Fecha o projetor. A especificao de true define o Flash Player no modo de tela cheia. A especificao de false retorna o exibidor para a exibio normal de menu. O valor false define o exibidor para que ele sempre desenhe o arquivo SWF em seu tamanho original e nunca redimensionado. O valor true fora o arquivo SWF a ser redimensionado para a escala de 100% do exibidor. A especificao de true ativa o conjunto completo de itens do menu de contexto. A especificao de false torna esmaecidos todos os itens do menu de contexto, exceto o About Flash Player (Sobre o Flash Player). Executa um aplicativo no projetor. A especificao de true envia todos os eventos de teclas, incluindo as teclas de acelerao, para o manipulador onClipEvent(keyDown/keyUp) no Flash Player.

allowscale

true ou false

showmenu

true ou false

exec trapallkeys

Caminho para o aplicativo true ou false

436

Captulo 12: Dicionrio do ActionScript

O comando exec s pode conter os caracteres AZ, az, 09, ponto (.) e sublinhado (_). O comando exec executado somente no subdiretrio fscommand. Em outras palavras, se voc usar o comando fscommand exec para chamar um aplicativo, o aplicativo dever residir em um subdiretrio com o nome fscommand. Uso 2: Para usar a ao fscommand para enviar uma mensagem para uma linguagem de script, como JavaScript, em um navegador da Web, voc pode passar dois valores quaisquer nos parmetros comando e parmetros. Esses parmetros podem ser seqncias de caracteres ou expresses e sero usados em uma funo JavaScript que captura, ou manipula, a ao fscommand. Em um navegador da Web, a ao fscommand chama a funo JavaScript na pgina HTML que contm o filme Flash. O nomefilme o nome do Flash Player conforme atribudo pelo atributo NAME da marca EMBED ou pela propriedade ID da marca OBJECT. Se o nome atribudo ao Flash Player for meuDocumento, a funo JavaScript chamada ser meuDocumento_DoFSCommand.
nomefilme_DoFScommand

Uso 3: A ao fscommand pode enviar mensagens ao Macromedia Director que so interpretadas pelo Lingo como seqncias de caracteres, eventos ou cdigo Lingo executvel. Se a mensagem for uma seqncia de caracteres ou um evento, voc dever criar o cdigo Lingo para receb-la a partir da ao fscommand e executar uma ao no Director. Para obter mais informaes, consulte o Director Support Center (Centro de suporte do Director) em www.macromedia.com/support/ director. Uso 4: No Visual Basic, Visual C++ e em outros programas que podem hospedar controles ActiveX, fscommand envia um evento VB com duas seqncias de caracteres que podem ser manipuladas na linguagem de programao do ambiente. Para obter mais informaes, use as palavras-chave Flash method e faa uma pesquisa no Flash Support Center (Centro de suporte do Flash) em www.macromedia.com/go/flash_support_br.
Exemplo

Uso 1: No exemplo a seguir, a ao fscommand faz o Flash Player dimensionar o arquivo SWF para o tamanho de tela cheia quando o usurio solta o boto.
on (release) { fscommand("fullscreen", true); }

Uso 2: O exemplo abaixo usa a ao fscommand aplicada a um boto no Flash para abrir uma caixa de mensagem JavaScript em uma pgina HTML. A mensagem em si enviada para JavaScript como o parmetro de fscommand. Voc deve incluir uma funo na pgina HTML que contm o arquivo SWF. Essa funo, meuDocumento_DoFSCommand, ficar situada na pgina HTML e aguardar uma ao fscommand no Flash. Quando fscommand ativado no Flash (por exemplo, quando um usurio pressiona o boto), as seqncias de caracteres comando e parmetros so passadas para a funo meuDocumento_DoFSCommand. Voc pode usar as seqncias de caracteres passadas no seu cdigo JavaScript ou VBScript da maneira que desejar. Neste exemplo, a funo contm uma instruo condicional if que verifica se a seqncia de caracteres de comando caixaMensagem. Se for o caso, ser aberta uma caixa de alerta JavaScript (ou caixa de mensagem) que exibir o contedo da seqncia de caracteres parmetros.

fscommand()

437

function meuDocumento_DoFSCommand(comando, args) { if (comando == "caixaMensagem") { alert(args); } }

No documento Flash, adicione a ao fscommand a um boto:


fscommand("caixaMensagem", "Esta uma caixa de mensagem chamada de dentro do Flash.")

Voc tambm pode usar expresses para a ao fscommand e seus parmetros, como no seguinte exemplo:
fscommand("caixaMensagem", "Ol, " + name + ", bem-vindo ao nosso site!")

Para testar o filme, escolha File (Arquivo) > Publish Preview (Visualizar Publicao) > HTML.
Observao: Na publicao do arquivo SWF que usa o Flash com o modelo FSCommand na caixa de dilogo HTML Publish Settings (Configuraes de publicao HTML), a funo meuDocumento_DoFSCommand inserida automaticamente. Os atributos NAME e ID do arquivo SWF sero o nome do arquivo. Por exemplo, para o arquivo meuDocumento.fla, os atributos sero definidos como meuDocumento.

function
Disponibilidade

Flash Player 5.
Uso function nomeFuno ([parmetro0, parmetro1,...parmetroN]){ instrues } function ([parmetro0, parmetro1,...parmetroN]){ instrues } Parmetros nomeFuno

O nome da nova funo.

parmetro Um identificador que representa um parmetro a ser passado para a funo. Esses parmetros so opcionais. instrues Retorna

Qualquer instruo do ActionScript definida para o corpo de function.

Nada.
Descrio

Instruo; um conjunto de instrues que voc define para realizar determinada tarefa. Voc pode declarar, ou definir, uma funo em um local e cham-la de diferentes scripts em um arquivo SWF. Quando voc define uma funo, tambm pode especificar parmetros para ela. Os parmetros so espaos reservados para valores sobre os quais a funo far suas operaes. Voc pode passar parmetros diferentes para uma funo todas as vezes que cham-la. Isso permite reutilizar uma funo em diversas situaes diferentes.

438

Captulo 12: Dicionrio do ActionScript

Use a ao return nas instrues de uma funo para fazer a funo retornar, ou gerar, um valor. Uso 1: Declarao de function com o nomeFuno, os parmetros e as instrues especificadas. Quando uma funo chamada, a declarao da funo chamada. No permitido repassar uma referncia; na mesma lista de aes, uma funo pode ser declarada aps ser chamada. Uma declarao de funo substitui qualquer declarao anterior da mesma funo. possvel usar esta sintaxe sempre que se permita uma instruo. Uso 2: Criao de uma funo annima e retorno. Esta sintaxe usada em expresses e particularmente til para a instalao de mtodos em objetos.
Exemplo

Uso 1: O exemplo abaixo define a funo sqr, que aceita um parmetro e retorna o quadrado (sqr (x*x)) do parmetro. Se a funo for declarada e usada no mesmo script, a declarao da funo poder aparecer aps o uso da funo.
y=sqr(3); function sqr(x) { return x*x; }

Uso 2: A funo abaixo define um objeto Circle:


function Circle(radius) { this.radius = radius; }

A instruo a seguir define uma funo annima que calcula a rea de um crculo e anexa-a ao objeto Circle como um mtodo:
Circle.prototype.area = function () {return Math.PI * this.radius * this.radius}

Classe Function
Disponibilidade

Flash Player 6. Resumo dos mtodos da classe Function


Mtodo
Function.apply() Function.call()

Descrio Ativa o cdigo ActionScript para chamar uma funo. Chama a funo representada por um objeto Function.

Resumo das propriedades da classe Function


Propriedade
Function.prototype

Descrio Refere-se a um objeto que o prottipo de uma classe.

Classe Function

439

Function.apply()
Disponibilidade

Flash Player 6.
Uso minhaFuno.apply(esteObjeto, objetoArgumentos) Parmetros esteObjeto

O objeto ao qual minhaFuno aplicada. Um array cujos elementos so passados como parmetros para

objetoArgumentos minhaFuno. Retorna

Qualquer valor que a funo chamada especifica.


Descrio

Mtodo; especifica o valor de this para ser usado em qualquer funo que ActionScript chame. Esse mtodo tambm especifica os parmetros a serem passados a qualquer funo chamada. Como apply() um mtodo da classe Function, tambm um mtodo de todo objeto Function no ActionScript. Os parmetros so especificados como um objeto Array. Em geral, isso til quando o nmero de parmetros a serem passados s conhecido quando o script realmente executado.
Exemplo

As chamadas de funo a seguir so equivalentes.


Math.atan2(1, 0) Math.atan2.apply(null, [1, 0])

Voc pode construir um arquivo SWF com campos de entrada que permitem que o usurio insira o nome de uma funo a ser chamada e zero ou mais parmetros a serem passados para a funo. O boto Chamar usaria ento o mtodo apply para chamar a funo, especificando os parmetros. No exemplo, o usurio especifica um nome de funo em um campo de texto de entrada denominado nomeFuno. A quantidade de parmetros especificada em um campo de texto de entrada denominado nmParmetros. At 10 parmetros so especificados em campos de texto denominados parmetro1, parmetro2, at parmetro10.

440

Captulo 12: Dicionrio do ActionScript

on (release) { callTheFunction(); } ... function callTheFunction() { var theFunction = eval(nomeFuno.text); var n = Number(nmParmetros); var parmetros = []; for (var i = 0; i < n; i++) { parmetros.push(eval("parmetro" + i)); } theFunction.apply(null, parmetros); }

Function.call()
Disponibilidade

Flash Player 6.
Uso minhaFuno.call(esteObjeto, parmetro1, ..., parmetroN) Parmetros esteObjeto parmetro1

Especifica o valor de this no corpo da funo. Um parmetro a ser passado a minhaFuno. Voc pode especificar zero ou mais

parmetros.
parmetroN Retorna

Nada.
Descrio

Mtodo; chama a funo representada por um objeto Function. Toda funo em ActionScript representada por um objeto Function para que todas as funes ofeream suporte a esse mtodo. Em quase todos os casos, o operador de chamada de funo (()) pode ser usado no lugar desse mtodo. O operador de chamada de funo produz um cdigo conciso e de fcil leitura. Esse mtodo til principalmente quando o parmetro this da chamada da funo precisa ser explicitamente controlado. Normalmente, se uma funo for chamada como um mtodo de um objeto, no corpo da funo, this ser definido como meuObjeto como no exemplo a seguir
meuObjeto.meuMtodo(1, 2, 3);

Em algumas situaes, pode ser prefervel que this aponte para algum outro lugar, por exemplo, nos casos em que uma funo tiver que ser chamada como um mtodo de um objeto, mas sem estar realmente armazenada como um mtodo desse objeto.
meuObjeto.meuMtodo.call(meuOutroObjeto, 1, 2, 3);

Voc pode passar o valor null para o parmetro esteObjeto para chamar uma funo como uma funo regular e no como um mtodo de um objeto. Por exemplo, as seguintes chamadas de funo so equivalentes:

Function.call()

441

Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4) Exemplo

Este exemplo usa o mtodo Function.call() para fazer uma funo se comportar como um mtodo de outro objeto, sem armazenar a funo no objeto.
function MeuObjeto() { } function MeuMtodo(obj) { trace("this == obj? " + (this == obj)); } var obj = new MeuObjeto(); MeuMtodo.call(obj, obj);

A ao trace() envia o seguinte cdigo ao painel Output (Sada):


this == obj? true

Function.prototype
Disponibilidade

Flash Player 5. Se voc estiver usando o ActionScript 2.0, no precisar usar essa propriedade. Ela reflete a implementao da herana no ActionScript 1.
Uso minhaFuno.prototype Descrio

Propriedade; em uma funo construtora do ActionScript 1, a propriedade prototype refere-se a um objeto que o prottipo da classe construda. Cada instncia da classe que criada pela funo construtora herda todas as propriedades e mtodos do objeto prottipo.

442

Captulo 12: Dicionrio do ActionScript

ge (maior que ou igual a especfico de seqncia de caracteres)


Disponibilidade

Flash Player 4. Este operador foi substitudo no Flash 5 pelo operador >= (maior que ou igual a).
Uso expresso1 ge expresso2 Parmetros expresso1, expresso2 Retorna

Nmeros, seqncias de caracteres ou variveis.

Nada.
Descrio

Operador (comparao); far uma comparao da representao em seqncia de caracteres de expresso1 com a representao em seqncia de caracteres de expresso2 e retornar true se expresso1 for maior ou igual a expresso2; caso contrrio, retornar false.
Consulte tambm >= (maior que ou igual a)

ge (maior que ou igual a especfico de seqncia de caracteres)

443

get
Disponibilidade

Flash Player 6.
Uso function get propriedade() { // suas instrues entram aqui } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros propriedade

A palavra que voc deseja usar para se referir propriedade acessada por get. Esse valor deve ser igual quele usado no comando set correspondente. O valor da propriedade especificada por nomePropriedade.

Retorna

Descrio

Palavra-chave; permite a obteno (get) implcita de propriedades associadas a objetos baseados em classes que voc definiu em arquivos de classe externos. O uso de mtodos get implcitos permite acessar as propriedades dos objetos sem acess-los diretamente. Os mtodos get/set implcitos so abreviaes sintticas do mtodo Object.addProperty() do ActionScript 1. Para obter mais informaes, consulte Mtodos get/set implcitos na pgina 183.
Consulte tambm Object.addProperty(), set

444

Captulo 12: Dicionrio do ActionScript

getProperty
Disponibilidade

Flash Player 4.
Uso getProperty(meu_mc, propriedade) Parmetros meu_mc

O nome da instncia de um clipe de filme da qual a propriedade est sendo recuperada. Uma propriedade de um clipe de filme.

propriedade Retorna

O valor da propriedade especificada.


Descrio

Funo; retorna o valor da propriedade especificada do clipe de filme meu_mc.


Exemplo

O exemplo a seguir recupera a coordenada do eixo horizontal (_x) do clipe de filme meu_mc e a atribui varivel meu_mc_x:
meu_mc_x = getProperty(_root.meu_mc, _x);

getTimer
Disponibilidade

Flash Player 4.
Uso getTimer() Parmetros

Nenhum.
Retorna

A quantidade de milissegundos decorridos desde o incio da reproduo do arquivo SWF.


Descrio

Funo; retorna o nmero de milissegundos decorridos desde o incio da reproduo do arquivo SWF.

getTimer

445

getURL()
Disponibilidade

Flash 2. As opes GET e POST s esto disponveis no Flash Player 4 e verses posteriores.
Uso getURL(url [, janela [, "variveis"]]) Parmetros url

O URL de onde o documento ser obtido.

janela Um parmetro opcional que especifica a janela ou quadro HTML em que o documento deve ser carregado. Voc pode inserir o nome de uma janela especfica ou escolher um dos seguintes nomes de destino reservados:

especifica o quadro atual na janela atual. especifica uma nova janela. _parent especifica a origem do quadro atual. _top especifica o quadro de nvel superior na janela atual.
_self _blank

variveis Um mtodo GET ou POST para envio de variveis. Caso no haja variveis, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado com longas seqncias de caracteres. Retorna

Nada.
Descrio

Funo; carrega um documento de um URL especfico em uma janela ou passa variveis para outro aplicativo em um URL definido. Para testar esta ao, certifique-se de que o arquivo a ser carregado esteja no local especificado. Para usar um URL absoluto (por exemplo, http://www.meuservidor.com), voc precisa de uma conexo de rede.
Exemplo

Este exemplo carrega um novo URL em uma janela em branco do navegador. A ao getURL() utiliza a varivel incomingAd como o parmetro url, para que voc possa alterar o URL carregado sem ter que editar o arquivo SWF. O valor da varivel incomingAd passado para o Flash no incio do arquivo SWF usando a ao loadVariables().
on (release) { getURL(incomingAd, "_blank"); } Consulte tambm loadVariables(), XML.send(), XML.sendAndLoad(), XMLSocket.send()

446

Captulo 12: Dicionrio do ActionScript

getVersion
Disponibilidade

Flash Player 5.
Uso getVersion() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres contendo informaes sobre a verso e a plataforma do Flash Player.
Descrio

Funo; retorna uma seqncia de caracteres contendo informaes sobre a verso e a plataforma do Flash Player. A funo getVersion s retorna informaes do Flash Player 5 ou verses posteriores.
Exemplo

O exemplo a seguir mostra uma seqncia de caracteres apresentada como resposta pela funo getVersion.
WIN 5,0,17,0

Esta seqncia indica que a plataforma Windows e que a verso principal do Flash Player a 5 e a verso secundria a 17 (5.0r17).
Consulte tambm System.capabilities.os, System.capabilities.version

getVersion

447

Objeto _global
Disponibilidade

Flash Player 6.
Uso _global.identificador Parmetros

Nenhum.
Retorna

Uma referncia ao objeto global que possui as principais classes ActionScript, como String, Object, Math e Array.
Descrio

Identificador; cria variveis globais, objetos ou classes. Por exemplo, voc poderia criar uma biblioteca que exposta como um objeto global ActionScript, muito parecido com o objeto Math ou Date. Ao contrrio das funes e variveis declaradas localmente ou na Timeline (Linha de tempo), as variveis e funes globais so visveis para todas as Timelines e escopos em um arquivo SWF, desde que no sejam encobertas por identificadores com nomes idnticos em escopos internos.
Exemplo

Este exemplo cria a funo de alto nvel factorial(), disponvel para todas as linhas de tempo e escopos em um arquivo SWF:
_global.factorial = function (n) { if (n <= 1) { return 1; } else { return n * factorial(n-1); } } Consulte tambm var, set variable

448

Captulo 12: Dicionrio do ActionScript

gotoAndPlay()
Disponibilidade

Flash 2.
Uso gotoAndPlay([cena] quadro) Parmetros cena

Seqncia de caracteres opcional que especifica o nome da cena para a qual a reproduo seguir.
quadro

Um nmero que representa o nmero do quadro, ou uma seqncia de caracteres que representa o rtulo do quadro, para o qual a reproduo seguir.

Retorna

Nada.
Descrio

Funo; desloca a reproduo para o quadro especificado em uma cena e reproduz a partir desse quadro. Se no for especificada uma cena, a reproduo seguir para o quadro definido na cena atual.
Exemplo

Quando o usurio clicar em um boto que tem a funo gotoAndPlay() associada, a reproduo ser deslocada ao Frame 16 (Quadro 16) da cena atual e ser iniciada.
on (release) { gotoAndPlay(16); } Consulte tambm MovieClip.gotoAndPlay()

gotoAndPlay()

449

gotoAndStop()
Disponibilidade

Flash 2.
Uso gotoAndStop([cena,] quadro) Parmetros cena

Seqncia de caracteres opcional que especifica o nome da cena para a qual a reproduo seguir.
quadro

Um nmero que representa o nmero do quadro, ou uma seqncia de caracteres que representa o rtulo do quadro, para o qual a reproduo seguir.

Retorna

Nada.
Descrio

Funo; desloca a reproduo para o quadro especificado em uma cena e a interrompe. Se no for especificada uma cena, a reproduo seguir para o quadro definido na cena atual.
Exemplo

Quando o usurio clica em um boto ao qual gotoAndStop() est associada, a reproduo deslocada ao Frame 5 (Quadro 5) da cena atual e a reproduo do arquivo SWF interrompida.
on (release) { gotoAndStop(5); } Consulte tambm stop()

450

Captulo 12: Dicionrio do ActionScript

gt (maior que especfico de seqncia de caracteres)


Disponibilidade

Flash Player 4. Este operador foi substitudo no Flash 5 pelo novo operador > (maior que).
Uso expresso1 gt expresso2 Parmetros expresso1, expresso2 Descrio

Nmeros, seqncias de caracteres ou variveis.

Operador (comparao); far uma comparao da representao em seqncia de caracteres da expresso1 com a representao em seqncia de caracteres da expresso2 e retornar true se a expresso1 for maior que a expresso2; caso contrrio, retornar false.
Consulte tambm > (maior que)

_highquality
Disponibilidade

Flash Player 4; substituda por _quality.


Uso _highquality Descrio

Propriedade obsoleta (global); especifica o nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Especifique 2 (melhor qualidade) para aplicar alta qualidade com a suavizao de bitmap sempre ativada. Especifique 1 (alta qualidade) para aplicar o recurso de eliminao de serrilhado. Isso suavizar os bitmaps se o arquivo SWF no tiver animao. Especifique 0 (baixa qualidade) para impedir a eliminao de serrilhado.
Exemplo _highquality = 1; Consulte tambm _quality, toggleHighQuality()

_highquality

451

if
Disponibilidade

Flash Player 4.
Uso if(condio) { instrues; } Parmetros condio instrues Retorna

Uma expresso que seja avaliada como true ou false. As instrues que sero executadas se ou quando a condio for avaliada como true.

Nada.
Descrio

Instruo; avalia uma condio para determinar a prxima ao em um arquivo SWF. Se a condio for true, o Flash executar as instrues que estiverem dentro das chaves ({}) aps a condio. Se a condio for false, o Flash ignorar as instrues contidas nas chaves e executar as posteriores a elas. Use a ao if para criar lgica ramificada em seus scripts.
Exemplo

No exemplo a seguir, a condio entre parnteses avaliar a varivel nome para verificar se ela tem o valor literal Erica. Se tiver, ser executada a ao play() entre chaves.
if(nome == "Erica"){ play(); }

O exemplo abaixo utiliza uma ao if para avaliar quando o usurio solta um objeto arrastvel no arquivo SWF. Se o objeto tiver sido liberado menos de 300 milissegundos depois de arrastado, a condio ser avaliada como true e as instrues entre chaves sero executadas. Essas instrues definem variveis para armazenar informaes tais como a nova posio do objeto, a fora e a velocidade com que ele foi lanado. A varivel tempoPressionado tambm recebe o valor 0. Se o objeto tiver sido liberado mais de 300 milissegundos depois de arrastado, a condio ser avaliada como false e nenhuma instruo ser executada.
if (getTimer() < tempoPressionado+300) { // se a condio for true, // o objeto ter sido jogado. // qual ser a nova posio deste objeto? xNewLoc = this._x; yNewLoc = this._y; // qual a fora do lanamento? xTravel = xNewLoc-xLoc; yTravel = yNewLoc-yLoc; // definindo a velocidade do objeto, // dependendo de quanto ele viajou xInc = xTravel/2; yInc = yTravel/2; tempoPressionado = 0; }

452

Captulo 12: Dicionrio do ActionScript

Consulte tambm else

ifFrameLoaded
Disponibilidade

Flash Player 3. A ao ifFrameLoaded foi substituda no Flash 5. A Macromedia recomenda o uso da propriedade MovieClip._framesloaded.
Uso ifFrameLoaded([cena,] quadro) { instrues; } Parmetros cena

Seqncia de caracteres opcional que especifica o nome da cena que deve ser carregada.

quadro O nmero ou rtulo de um quadro que deve ser carregado antes da execuo da prxima instruo. instrues

As instrues que sero executadas se uma determinada cena (ou cena e quadro) for

carregada.
Retorna

Nada.
Descrio

Ao substituda; verifica se o contedo de um quadro especfico est disponvel localmente. Use ifFrameLoaded para iniciar a reproduo de uma animao simples durante o download do restante do arquivo SWF no computador local. A diferena entre o uso de _framesloaded e ifFrameLoaded que _framesloaded permite que voc adicione suas prprias instrues if ou else.
Consulte tambm MovieClip._framesloaded

ifFrameLoaded

453

implements
Disponibilidade

Flash Player 6.
Uso minhaClasse implements interface01 [, interface02, ...] Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Descrio

Palavra-chave; define uma classe que deve fornecer implementao para todos os mtodos definidos nas interfaces que esto sendo implementadas. Para obter mais informaes, consulte Interfaces como tipos de dados na pgina 178.
Exemplo

Consulte interface.
Consulte tambm class, extends, interface

454

Captulo 12: Dicionrio do ActionScript

import
Disponibilidade

Flash Player 6.
Uso import nomeClasse import nomePacote.* Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa instruo suportada no painel Actions (Aes) e em arquivos de classe externos. Parmetros nomeClasse

O nome totalmente qualificado de uma classe que voc definiu em um arquivo de Um diretrio em que voc armazenou arquivos de classe relacionados.

classe externo.
nomePacote Descrio

Palavra-chave; permite acessar classes sem especificar seus nomes totalmente qualificados. Por exemplo, se voc quiser usar a classe macr.util.users.UserClass.as em um script, dever fazer referncia a ela pelo nome totalmente qualificado ou import-la. Se voc a importar, poder ento fazer referncia a ela pelo nome de classe:
// antes da importao var meuUsurio:UserClass = new macr.util.users.UserClass(); // aps a importao import macr.util.users.UserClass; var meuUsurio:UserClass = new UserClass();

Se houver vrios arquivos de classe no diretrio a ser acessado, voc poder importar todos em uma nica instruo:
import macr.util.users.*;

Voc deve emitir a instruo import antes de tentar acessar a classe importada sem especificar seu nome completo. Se voc importar uma classe, mas no a usar no script, a classe no ser exportada como parte do arquivo SWF. Isso significa que voc pode importar pacotes grandes sem se preocupar com o tamanho do arquivo SWF. O bytecode associado a uma classe ser includo em um arquivo SWF somente se a classe for realmente usada. A instruo import aplica-se apenas ao script atual (quadro ou objeto) no qual ela chamada. Por exemplo, suponha que voc importe todas as classes do pacote macr.util no Frame 1 (Quadro 1) de um documento do Flash. Nesse quadro, voc pode fazer referncia s classes desse pacote por seus nomes simples.

import

455

// No Frame 1 de um FLA: import macr.util.*; var meuFoo:foo = new foo();

Em outro script do quadro, entretanto, voc precisar fazer referncia s classes desse pacote por seus nomes totalmente qualificados (var meuFoo:foo = new macr.util.foo();) ou adicionar uma instruo import ao outro quadro que importe as classes desse pacote. Para obter mais informaes, consulte Importando classes na pgina 182 e Usando pacotes na pgina 181.

#include
Disponibilidade

Flash Player 4.
Uso #include "[caminho] nomearq.as" Observao: No coloque ponto-e-vrgula (;) no final da linha que contm a instruo #include. Parmetros [caminho] nomearq.as o nome do arquivo e o caminho (opcional) do script que ser includo no painel Actions (Aes); .as a extenso de arquivo recomendada. Retorna

Nada.
Descrio

Diretiva de compilador; inclui o contedo do arquivo especificado, como se os comandos presentes no arquivo fossem parte do prprio script. A diretiva #include chamada no momento da compilao. Portanto, se voc fizer qualquer alterao em um arquivo externo, ser preciso salv-lo e recompilar os arquivos FLA que o utilizam. Se voc usar o boto Check Syntax (Verificar sintaxe) em um script que contenha instrues #include, a sintaxe dos arquivos includos tambm ser verificada. Voc pode usar o #include em arquivos FLA e em arquivos de script externos, mas no em arquivos de classe ActionScript 2.0. Voc pode especificar um caminho relativo, um caminho absoluto ou nenhum caminho para o arquivo a ser includo.

Se voc no especificar um caminho, o arquivo AS dever estar no mesmo diretrio do arquivo


FLA ou do script que contm a instruo #include. Para especificar um caminho para o arquivo AS relacionado ao arquivo FLA ou script, use um nico ponto (.) para indicar o diretrio atual, dois pontos (..) para indicar um diretrio pai e barras (/). Consulte os exemplos a seguir. Para especificar um caminho absoluto para o arquivo AS, use o formato suportado por sua plataforma (Macintosh ou Windows). Consulte os exemplos a seguir. Contudo, no se recomenda este uso porque ele requer que a estrutura de diretrio seja a mesma em qualquer mquina usada para compilar o script.

456

Captulo 12: Dicionrio do ActionScript

Exemplo

Os exemplos abaixo mostram vrias maneiras de especificar um caminho para um arquivo a ser includo no script.
// Note que as instrues #include no terminam com um ponto-e-vrgula (;) // O arquivo AS est no mesmo diretrio do arquivo FLA ou do script #include "init_script.as" // O arquivo AS est em um subdiretrio do diretrio // que contm o arquivo FLA ou o script // O subdiretrio chama-se "FLA_includes" #include "FLA_includes/init_script.as" // O arquivo AS est em um diretrio no mesmo nvel do arquivo FLA ou do script // O diretrio chama-se "ALL_includes" #include "../ALL_includes/init_script.as" // O arquivo AS definido por um caminho absoluto no Windows // Note que se usam barras e no barras invertidas #include "C:/Flash_scripts/init_script.as" // O arquivo AS definido por um caminho absoluto no Macintosh #include "Mac HD:Flash_scripts:init_script.as" Consulte tambm import

Infinity
Disponibilidade

Flash Player 5.
Uso Infinity Descrio

Constante; especifica o valor IEEE-754 que representa o infinito positivo. O valor dessa constante o mesmo de Number.POSITIVE_INFINITY.

-Infinity
Disponibilidade

Flash Player 5.
Uso -Infinity Descrio

Constante; especifica o valor IEEE-754 que representa o infinito negativo. O valor dessa constante o mesmo de Number.NEGATIVE_INFINITY.

-Infinity

457

#initclip
Disponibilidade

Flash Player 6.
Uso #initclip ordem Parmetros ordem Um nmero inteiro que especifica a ordem de execuo de blocos de cdigo #initclip. Este um parmetro opcional. Descrio

Diretiva de compilador; indica o incio de um bloco de aes de inicializao. Quando vrios clipes so inicializados ao mesmo tempo, voc pode usar o parmetro ordem para especificar a inicializao que ocorrer primeiro. As aes de inicializao so executadas quando definido um smbolo de clipe de filme. Se o clipe de filme for um smbolo exportado, as aes de inicializao sero executadas antes das aes do Frame (Quadro) 1 do arquivo SWF. Caso contrrio, elas sero executadas imediatamente antes das aes do quadro que contm a primeira instncia do smbolo de clipe de filme associado. As aes de inicializao so executadas apenas uma vez durante a reproduo de um SWF. Use-as para inicializaes realizadas somente uma vez, como a definio e o registro de classes.
Consulte tambm #endinitclip

458

Captulo 12: Dicionrio do ActionScript

instanceof
Disponibilidade

Flash Player 6.
Uso objeto instanceof classe Parmetros objeto classe Retorna

Um objeto ActionScript. Uma referncia a uma funo construtora ActionScript, como String ou Date.

Se o objeto for uma instncia de classe, instanceof retornar true; caso contrrio, instanceof retornar false. Alm disso, _global instanceof Object retorna false.
Descrio

Operador; determina se um objeto pertence a determinada classe. Verifica se o objeto uma instncia de classe. O operador instanceof no converte tipos primitivos em objetos envoltrios. Por exemplo, o cdigo a seguir retorna true:
new String("Ol") instanceof String;

J o cdigo a seguir retorna false:


"Ol" instanceof String; Consulte tambm typeof

instanceof

459

int
Disponibilidade

Flash Player 4. Esta funo foi substituda no Flash 5 por Math.round().


Uso int(valor) Parmetros valor Retorna

Um nmero a ser arredondado para um inteiro.

Nada.
Descrio

Funo; converte um nmero decimal no valor inteiro mais prximo.


Consulte tambm Math.floor()

460

Captulo 12: Dicionrio do ActionScript

interface
Disponibilidade

Flash Player 6.
Uso interface nomeInterface {} interface nomeInterface [extends nomeInterface [, nomeInterface ...] {} Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Descrio

Palavra-chave; define uma interface. Interfaces so semelhantes s classes, com as seguintes diferenas relevantes:

As interfaces contm somente descries de mtodos e no sua implementao. Ou seja, toda


classe que implementa uma interface deve fornecer uma implementao para cada mtodo definido na interface. Em uma definio de interface, so permitidos apenas membros pblicos. Alm disso, membros de instncias e classes no so permitidos. As instrues get e set no so permitidas em definies de interface.

Para obter mais informaes, consulte Criando e usando interfaces na pgina 177.
Exemplo

O exemplo a seguir mostra vrias maneiras de definir e implementar interfaces.


(em arquivos .as de pacote de nvel superior Ia, B, C, Ib, D, Ic, E) // nome do arquivo Ia.as interface Ia { function k():Number; // somente a declarao do mtodo function n(x:Number):Number; // sem implementao } // nome do arquivo B.as class B implements Ia { function k():Number {return 25;} function n(x:Number):Number {return x+5;} } // script externo ou painel Actions var mvar:B = new B(); trace(mvar.k()); // 25 trace(mvar.n(7)); // 12 // nome do arquivo c.as class C implements Ia { function k():Number {return 25;} } // erro: a classe deve implementar todos os mtodos da interface

interface

461

// nome do arquivo Ib.as interface Ib { function o():Void; } class D implements Ia, Ib { function k():Number {return 15;} function n(x:Number):Number {return x*x;} function o():Void {trace("o");} } // script externo ou painel Actions mvar = new D(); trace(D.k()); // 15 trace(D.n(7)); // 49 trace(D.o()); // "o" interface Ic extends Ia { function p():Void; } class E implements Ib, Ic { function k():Number {return 25;} function n(x:Number):Number {return x+5;} function o():Void {trace("o");} function p():Void {trace("p");} } Consulte tambm class, extends, implements

462

Captulo 12: Dicionrio do ActionScript

isFinite
Disponibilidade

Flash Player 5.
Uso isFinite(expresso) Parmetros expresso Retorna

Valor booleano, varivel ou outra expresso a ser avaliada.

Um valor booleano.
Descrio

Funo; avaliar a expresso e retornar true se for um nmero finito ou false se for um nmero infinito ou infinito negativo. A presena do infinito ou infinito negativo indica uma condio de erro matemtico como uma diviso por 0.
Exemplo

A seguir so mostrados exemplos dos valores retornados por isFinite:


isFinite(56) // retorna true isFinite(Number.POSITIVE_INFINITY) // retorna false

isFinite

463

isNaN()
Disponibilidade

Flash Player 5.
Uso isNaN(expresso) Parmetros expresso Retorna

Um valor booleano, varivel ou outra expresso a ser avaliada.

Um valor booleano.
Descrio

Funo; avaliar o parmetro e retornar true se o valor no for um nmero (NaN), o que indicar a presena de erros matemticos.
Exemplo

O cdigo a seguir demonstra valores de retorno para a funo isNaN.


isNaN("rvore") // retorna true isNaN(56) // retorna false isNaN(Number.POSITIVE_INFINITY) // retorna false Consulte tambm NaN, Number.NaN

Classe Key
Disponibilidade

Flash Player 6.
Descrio

A classe Key uma classe do nvel mais alto cujos mtodos e propriedades podem ser usados sem lanar um construtor. Use os mtodos da classe Key para criar uma interface que possa ser controlada por um usurio com um teclado padro. As propriedades da classe Key so constantes que representam as teclas mais comumente usadas para controlar jogos. Para obter a lista completa dos valores de cdigos de teclas, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 911.

464

Captulo 12: Dicionrio do ActionScript

Resumo dos mtodos da classe Key


Mtodo
Key.addListener()

Descrio Registra um objeto para receber a notificao quando os mtodos onKeyDown e onKeyUp so chamados. Retorna o valor ASCII da ltima tecla pressionada. Retorna o cdigo de tecla virtual da ltima tecla pressionada. Retornar true caso se pressione a tecla especificada no parmetro. Retornar true caso a tecla Num Lock ou Caps Lock esteja ativada.

Key.getAscii() Key.getCode() Key.isDown() Key.isToggled()

Key.removeListener() Remove um objeto registrado anteriormente com Key.addListener().

Resumo das propriedades da classe Key Todas as propriedades da classe Key so constantes.
Propriedade
Key.BACKSPACE Key.CAPSLOCK Key.CONTROL Key.DELETEKEY Key.DOWN Key.END Key.ENTER Key.ESCAPE Key.HOME Key.INSERT Key.LEFT

Descrio Constante associada ao cdigo da tecla Backspace (8). Constante associada ao cdigo da tecla Caps Lock (20). Constante associada ao cdigo da tecla Control (17). Constante associada ao cdigo da tecla Delete (46). Constante associada ao valor do cdigo da tecla de seta para baixo (40). Constante associada ao valor do cdigo da tecla End (35). Constante associada ao valor do cdigo da tecla Enter (13). Constante associada ao valor do cdigo da tecla Escape (27). Constante associada ao valor do cdigo da tecla Home (36). Constante associada ao valor do cdigo da tecla Insert (45). Constante associada ao valor do cdigo da tecla de seta para esquerda (37). Constante associada ao valor do cdigo da tecla Page Down (34). Constante associada ao valor do cdigo da tecla Page Up (33). Constante associada ao valor do cdigo da tecla de seta para direita (39). Constante associada ao valor do cdigo da tecla Shift (16). Constante associada ao valor do cdigo da tecla Barra de espaos (32). Constante associada ao valor do cdigo da tecla Tab (9). Constante associada ao valor do cdigo da tecla de seta para cima (38).

Key.PGDN Key.PGUP Key.RIGHT Key.SHIFT Key.SPACE Key.TAB Key.UP

Classe Key

465

Resumo dos ouvintes da classe Key


Mtodo
Key.onKeyDown Key.onKeyUp

Descrio Notificado quando uma tecla pressionada. Notificado quando uma tecla liberada

Key.addListener()
Disponibilidade

Flash Player 6.
Uso Key.addListener (novoOuvinte) Parmetros novoOuvinte Retorna

Um objeto com os mtodos onKeyDown e onKeyUp.

Nada.
Descrio

Mtodo; registra um objeto para receber a notificao onKeyDown e onKeyUp. Quando uma tecla pressionada ou liberada, independentemente do foco de entrada, todos os objetos ouvintes registrados com addListener() tm o mtodo onKeyDown ou onKeyUp chamado. Vrios objetos podem ouvir notificaes de teclado. Se o ouvinte novoOuvinte j estiver registrado, nenhuma alterao ocorrer.
Exemplo

O exemplo a seguir cria um novo objeto ouvinte e define uma funo para onKeyDown e onKeyUp. A ltima linha usa o addListener() para registrar o ouvinte com o objeto Key, de forma a poder receber notificaes dos eventos de tecla pressionada e de tecla liberada.
meuOuvinte = new Object(); meuOuvinte.onKeyDown = function () { trace ("Voc pressionou uma tecla."); } meuOuvinte.onKeyUp = function () { trace ("Voc liberou uma tecla."); } Key.addListener(meuOuvinte);

O exemplo a seguir atribui o atalho de teclado Control+7 a um boto com nome de instncia meuBoto e disponibiliza informaes sobre o atalho para o leitor de tela (consulte _accProps). Neste exemplo, quando voc pressiona Control+7, a funo myOnPress exibe o texto ol no painel Output (Sada). No seu arquivo, voc criaria uma funo que faria algo mais significativo.

466

Captulo 12: Dicionrio do ActionScript

function myOnPress() { trace( "ol" ); } function myOnKeyDown() { if (Key.isDown(Key.CONTROL) && Key.getCode() == 55) // 55 o cdigo da // tecla 7 { Selection.setFocus( meuBoto ); meuBoto.onPress } } var meuOuvinte = new Object(); meuOuvinte.onKeyDown = myOnKeyDown; Key.addListener( meuOuvinte ); meuBoto.onPress = myOnPress; meuBoto._accProps.shortcut = "Ctrl+7" Accessibility.updateProperties(); Consulte tambm Key.getCode(), Key.isDown(), Key.onKeyDown, Key.onKeyUp, Key.removeListener()

Key.BACKSPACE
Disponibilidade

Flash Player 5.
Uso Key.BACKSPACE Descrio

Propriedade; constante associada ao valor do cdigo da tecla Backspace (8).

Key.CAPSLOCK
Disponibilidade

Flash Player 5.
Uso Key.CAPSLOCK Descrio

Propriedade; constante associada ao valor do cdigo da tecla Caps Lock (20).

Key.CAPSLOCK

467

Key.CONTROL
Disponibilidade

Flash Player 5.
Uso Key.CONTROL Descrio

Propriedade; constante associada ao valor do cdigo da tecla Control (17).

Key.DELETEKEY
Disponibilidade

Flash Player 5.
Uso Key.DELETEKEY Descrio

Propriedade; constante associada ao valor do cdigo da tecla Delete (46).

Key.DOWN
Disponibilidade

Flash Player 5.
Uso Key.DOWN Descrio

Propriedade; constante associada ao valor do cdigo da tecla de seta para baixo (40).

Key.END
Disponibilidade

Flash Player 5.
Uso Key.END Descrio

Propriedade; constante associada com o valor do cdigo de chave da tecla End (35).

468

Captulo 12: Dicionrio do ActionScript

Key.ENTER
Disponibilidade

Flash Player 5.
Uso Key.ENTER Descrio

Propriedade; constante associada ao valor do cdigo da tecla Enter (13).

Key.ESCAPE
Disponibilidade

Flash Player 5.
Uso Key.ESCAPE Descrio

Propriedade; constante associada ao valor do cdigo da tecla Escape (27).

Key.getAscii()
Disponibilidade

Flash Player 5.
Uso Key.getAscii(); Parmetros

Nenhum.
Retorna

Um inteiro que representa o valor ASCII da ltima tecla pressionada.


Descrio

Mtodo; retorna o cdigo ASCII da ltima tecla pressionada ou liberada. Os valores ASCII retornados correspondem aos valores do teclado ingls. Se, por exemplo, voc pressionar Shift+2, o mtodo Key.getAscii() retornar @ tanto em um teclado japons, quanto em um teclado ingls.

Key.getAscii()

469

Key.getCode()
Disponibilidade

Flash Player 5.
Uso Key.getCode(); Parmetros

Nenhum.
Retorna

Um inteiro que representa o cdigo de tecla da ltima tecla pressionada.


Descrio

Mtodo; retorna o valor do cdigo de tecla da ltima tecla pressionada. Para que o valor do cdigo de tecla retornado coincida com a tecla de um teclado padro, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 911.

Key.HOME
Disponibilidade

Flash Player 5.
Uso Key.HOME Descrio

Propriedade; constante associada ao valor do cdigo da tecla Home (36).

Key.INSERT
Disponibilidade

Flash Player 5.
Uso Key.INSERT Descrio

Propriedade; constante associada ao valor do cdigo da tecla Insert (45).

470

Captulo 12: Dicionrio do ActionScript

Key.isDown()
Disponibilidade

Flash Player 5.
Uso Key.isDown(cdTecla) Parmetros cdTecla

Valor do cdigo de tecla atribudo a uma determinada tecla ou a uma propriedade da classe Key associada a uma tecla especfica. Para que o valor do cdigo de tecla retornado coincida com a tecla de um teclado padro, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 911.

Retorna

Um valor booleano.
Descrio

Mtodo; retornar true, caso a tecla especificada em cdTecla esteja pressionada ou false, caso no esteja. No Macintosh, os valores do cdigo de tecla das teclas Caps Lock e Num Lock so idnticos.
Exemplo

O script a seguir permite que o usurio controle a localizao de um clipe de filme.


onClipEvent (enterFrame) { if(Key.isDown(Key.RIGHT)) { this._x=_x+10; } else if (Key.isDown(Key.DOWN)) { this._y=_y+10; } }

Key.isToggled()
Disponibilidade

Flash Player 5.
Uso Key.isToggled(cdTecla) Parmetros cdTecla Retorna

O cdigo da tecla Caps Lock (20) ou Num Lock (144).

Um valor booleano.
Descrio

Mtodo; retornar true, se a tecla Caps Lock ou Num Lock estiver ativada (alternada) ou false, se no estiver. No Macintosh, os valores do cdigo de tecla das teclas Caps Lock e Num Lock so idnticos.

Key.isToggled()

471

Key.LEFT
Disponibilidade

Flash Player 5.
Uso Key.LEFT Descrio

Propriedade; constante associada ao valor do cdigo da tecla de seta para esquerda (37).

Key.onKeyDown
Disponibilidade

Flash Player 6.
Uso umOuvinte.onKeyDown Descrio

Ouvinte; notificado quando uma tecla pressionada. necessrio criar um objeto ouvinte para usar onKeyDown. Em seguida, possvel definir uma funo para onKeyDown e usar o addListener() para registrar o ouvinte junto ao objeto Key, como abaixo:
umOuvinte = new Object(); umOuvinte.onKeyDown = function () { ... }; Key.addListener(umOuvinte);

Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Key.addListener()

472

Captulo 12: Dicionrio do ActionScript

Key.onKeyUp
Disponibilidade

Flash Player 6.
Uso umOuvinte.onKeyUp Descrio

Ouvinte; notificado quando uma tecla liberada. necessrio criar um objeto ouvinte para usar onKeyUp. Em seguida, possvel definir uma funo para onKeyUp e usar o addListener() para registrar o ouvinte junto ao objeto Key, como abaixo:
umOuvinte = new Object(); umOuvinte.onKeyUp = function () { ... }; Key.addListener(umOuvinte);

Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Key.addListener()

Key.PGDN
Disponibilidade

Flash Player 5.
Uso Key.PGDN Descrio

Propriedade; constante associada ao valor do cdigo de tecla para a tecla Page Down (34).

Key.PGUP
Disponibilidade

Flash Player 5.
Uso Key.PGUP Descrio

Propriedade; constante associada ao valor do cdigo da tecla Page Up (33).

Key.PGUP

473

Key.removeListener()
Disponibilidade

Flash Player 6.
Uso Key.removeListener (ouvinte) Parmetros ouvinte Retorna

Um objeto.

Se o ouvinte tiver sido removido com xito, o mtodo retornar true. Caso o ouvinte no tenha sido removido com xito, por exemplo, se o ouvinte no estava na lista de ouvintes do objeto Key, o mtodo retornar false.
Descrio

Mtodo; remove um objeto anteriormente registrado com Key.addListener().

Key.RIGHT
Disponibilidade

Flash Player 5.
Uso Key.RIGHT Descrio

Propriedade; constante associada ao valor do cdigo da tecla de seta para direita (39).

Key.SHIFT
Disponibilidade

Flash Player 5.
Uso Key.SHIFT Descrio

Propriedade; constante associada ao valor do cdigo da tecla Shift (16).

474

Captulo 12: Dicionrio do ActionScript

Key.SPACE
Disponibilidade

Flash Player 5.
Uso Key.SPACE Descrio

Propriedade; constante associada ao valor do cdigo de tecla da Barra de espaos (32).

Key.TAB
Disponibilidade

Flash Player 5.
Uso Key.TAB Descrio

Propriedade; constante associada ao valor do cdigo da tecla Tab (9).

Key.UP
Disponibilidade

Flash Player 5.
Uso Key.UP Descrio

Propriedade; constante associada ao valor do cdigo da tecla de seta para cima (38).

Key.UP

475

le (menor que ou igual a especfico de seqncia de caracteres)


Disponibilidade

Flash Player 4. Este operador foi substitudo no Flash 5 pelo operador <= (menor que ou igual a).
Uso expresso1 le expresso2 Parmetros expresso1, expresso2 Retorna

Nmeros, seqncias de caracteres ou variveis.

Nada.
Descrio

Operador (comparao); comparar expresso1 com expresso2 e retornar um valor true se expresso1 for menor ou igual a expresso2; caso contrrio, retornar um valor false.
Consulte tambm <= (menor que ou igual a)

476

Captulo 12: Dicionrio do ActionScript

length
Disponibilidade

Flash Player 4. Esta funo, assim como todas as funes de seqncia de caracteres, foi substituda no Flash 5. A Macromedia recomenda o uso dos mtodos da classe String e da propriedade String.length para a realizao das mesmas operaes.
Uso length(expresso) length(varivel) Parmetros expresso varivel Retorna

Uma seqncia de caracteres. O nome de uma varivel.

O comprimento da seqncia de caracteres ou da varivel definida.


Descrio

Funo de seqncia de caracteres; retorna o comprimento da seqncia de caracteres ou do nome da varivel especificada.
Exemplo

O exemplo a seguir retorna o valor da seqncia de caracteres "Ol".


length("Ol");

O resultado 3.
Consulte tambm " " (delimitador de seqncia de caracteres),

Classe String, String.length

length

477

_level
Disponibilidade

Flash Player 4.
Uso _levelN Descrio

Identificador; uma referncia Timeline (Linha de tempo) raiz de _levelN. preciso usar loadMovieNum() para carregar arquivos SWF no Flash Player, antes de usar a propriedade _level para especific-los. Tambm possvel utilizar _levelN para especificar um arquivo SWF carregado no nvel atribudo por N. O arquivo SWF inicial carregado em uma instncia do Flash Player carregado automaticamente em _level0. O arquivo SWF em _level0 define a taxa de quadros, a cor de fundo e o tamanho do quadro para todos os arquivos SWF que forem carregados em seguida. Os arquivos SWF so ento empilhados em nveis superiores acima do arquivo SWF em _level0. necessrio atribuir um nvel para cada arquivo SWF carregado no Flash Player com possvel atribuir nveis em qualquer ordem. Se voc atribuir um nvel que j contenha um arquivo SWF (inclusive _level0), o arquivo SWF nesse nvel ser descarregado e substitudo pelo novo arquivo SWF.
loadMovieNum(). Exemplo

O exemplo abaixo interrompe a reproduo da Timeline (Linha de tempo) principal do arquivo SWF em _level9.
_level9.stop();

O exemplo a seguir desloca a reproduo da Timeline principal do arquivo SWF em _level4 para o Frame 5 (Quadro 5). O arquivo SWF em _level4 dever ter sido carregado anteriormente com uma ao loadMovieNum().
_level4.gotoAndStop(5); Consulte tambm loadMovie(), MovieClip.swapDepths()

478

Captulo 12: Dicionrio do ActionScript

loadMovie()
Disponibilidade

Flash Player 3.
Uso loadMovie("url",destino [, mtodo]) Parmetros url

O URL absoluto ou relativo do arquivo SWF ou JPEG a ser carregado. Um caminho relativo deve ser relacionado ao arquivo SWF no nvel 0. Os URLs absolutos devem incluir a referncia de protocolo, como http:// ou file:///. Um caminho para um clipe de filme de destino. O clipe de filme de destino ser substitudo pela imagem ou arquivo SWF carregado.

destino

mtodo Parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna

Nada.
Descrio

Funo; carrega um arquivo SWF ou JPEG no Flash Player durante a reproduo do arquivo SWF original.
Dica: Se voc quiser monitorar o andamento do download, use MovieClipLoader.loadClip(), em vez desta funo.

A funo loadMovie() permite exibir vrios arquivos SWF de uma vez e alternar entre eles sem carregar outro documento HTML. Sem a funo loadMovie(), o Flash Player exibe um nico arquivo SWF e encerrado em seguida. Se quiser carregar um arquivo SWF ou JPEG em um determinado nvel, use loadMovieNum() em vez de loadMovie(). Se um SWF for carregado em um clipe de filme de destino, use o caminho de destino desse clipe para especificar o arquivo SWF carregado. Um arquivo SWF ou imagem carregada em um destino herda as propriedades de posio, rotao e dimensionamento do clipe de filme de destino. O canto superior esquerdo da imagem ou arquivo SWF carregado se alinha com o ponto de registro do clipe de filme de destino. Como alternativa, se o destino for a Timeline (Linha de tempo) _root, o canto superior esquerdo da imagem ou do arquivo SWF se alinhar com o canto superior esquerdo do Stage (Palco). Use unloadMovie() para remover arquivos SWF carregados com loadMovie().

loadMovie()

479

Exemplo

A instruo loadMovie() a seguir anexada a um boto de navegao chamado Products (Produtos). H um clipe de filme invisvel no Stage (Palco) com o nome de instncia dropZone. A funo loadMovie() usa esse clipe de filme como parmetro de destino para carregar os produtos no arquivo SWF, na posio correta no Stage.
on (release) { loadMovie("products.swf",_root.dropZone); }

O exemplo a seguir carrega uma imagem JPEG do mesmo diretrio do arquivo SWF que chama a funo loadMovie():
loadMovie("image45.jpeg", "nosso_clipe_de_filme"); Consulte tambm _level, loadMovieNum(), MovieClipLoader.loadClip(), unloadMovie()

loadMovieNum()
Disponibilidade

Flash Player 4. Os arquivos do Flash 4, abertos no Flash 5 ou verso posterior, so convertidos para que usem a sintaxe correta.
Uso loadMovieNum("url",nvel [, variveis]) Parmetros url O URL absoluto ou relativo do arquivo SWF ou JPEG a ser carregado. Um caminho relativo deve ser relacionado ao arquivo SWF no nvel 0. Para que sejam usados no Flash Player independente ou no modo de teste de filme, no aplicativo de criao Flash, todos os arquivos SWF devem ser armazenados na mesma pasta e os nomes dos arquivos no podem incluir especificaes da pasta ou da unidade de disco. nvel

Um inteiro que especifica o nvel em que o arquivo SWF ser carregado no Flash Player.

variveis Um parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna

Nada.
Descrio

Funo; carrega um arquivo SWF ou JPEG em um nvel do Flash Player durante a reproduo do arquivo SWF carregado originalmente.
Dica: Se voc quiser monitorar o andamento do download, use MovieClipLoader.loadClip(), em vez desta funo.

480

Captulo 12: Dicionrio do ActionScript

Normalmente, o Flash Player exibe um nico arquivo SWF e, em seguida, encerrado. A ao loadMovieNum() permite exibir vrios arquivos SWF de uma vez e alternar entre eles sem carregar outro documento HTML. Se quiser especificar um destino em vez de um nvel, use loadMovie() em vez de loadMovieNum(). O Flash Player tem uma ordem de empilhamento de nveis que comea no nvel 0. Esses nveis so como folhas de transparncias: eles so transparentes, a no ser pelos objetos presentes em cada nvel. Ao usar loadMovieNum(), necessrio especificar um nvel do Flash Player em que o arquivo SWF ser carregado. Depois que um arquivo SWF carregado em um nvel, possvel usar a sintaxe _levelN, onde N o nmero do nvel, para especificar o arquivo SWF. Quando carrega um arquivo SWF, voc pode especificar qualquer nmero de nvel e carregar arquivos SWF em um nvel em que um arquivo SWF j tenha sido carregado. Se voc fizer isso, o novo arquivo SWF substituir o existente. Se voc carregar um arquivo SWF no nvel 0, todos os nveis do Flash Player sero descarregados e o nvel 0 ser substitudo pelo novo arquivo. O arquivo SWF no nvel 0 define a taxa de quadros, a cor de fundo e o tamanho do quadro de todos os outros arquivos SWF carregados. A ao loadMovieNum() tambm permite carregar arquivos JPEG em um arquivo SWF durante a reproduo do mesmo. No caso de imagens e arquivos SWF, o canto superior esquerdo da imagem alinhado com o canto superior esquerdo do Stage (Palco) durante o carregamento do arquivo. Alm disso, nos dois casos, o arquivo carregado herda a rotao e o dimensionamento e o contedo original substitudo. Use unloadMovieNum() loadMovieNum().
Exemplo

para remover imagens ou arquivos SWF carregados com

Este exemplo carrega a imagem JPEG image45.jpg no nvel 2 do Flash Player.


loadMovieNum("http://www.blag.com/image45.jpg", 2); Consulte tambm loadMovie(), unloadMovieNum(), _level

loadMovieNum()

481

loadVariables()
Disponibilidade

Flash Player 4; comportamento modificado no Flash Player 7.


Uso loadVariables ("url" , destino [, variveis]) Parmetros url Um URL absoluto ou relativo no qual as variveis esto localizadas. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir. destino

O caminho de destino para um clipe de filme que recebe as variveis carregadas.

variveis Um parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna

Nada.
Descrio

Funo; l os dados de um arquivo externo, como um arquivo de texto ou um texto gerado por um script CGI, ASP (Active Server Pages), PHP ou script Perl, e define os valores das variveis em um clipe de filme de destino. Essa ao tambm pode ser usada para atualizar variveis no arquivo SWF ativo com novos valores. O texto no URL especificado deve estar no formato MIME padro aplicativo/x-www-formurlencoded (um formato padro usado por scripts CGI). Qualquer nmero de variveis pode ser especificado. Por exemplo, a frase abaixo define diversas variveis:
empresa=Macromedia&endereo=600+Townsend&cidade=San+Francisco&zip=94103

Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Se quiser carregar variveis em um nvel especfico, use loadVariablesNum() em vez de
loadVariables().

482

Captulo 12: Dicionrio do ActionScript

Exemplo

Este exemplo carrega informaes de um arquivo de texto em campos de texto no clipe de filme varTarget da Timeline (Linha de tempo) principal . Os nomes das variveis dos campos de texto devem corresponder aos nomes das variveis no arquivo data.txt.
on (release) { loadVariables("data.txt", "_root.varTarget"); } Consulte tambm loadVariablesNum(), loadMovie(), loadMovieNum(), getURL(), MovieClip.loadMovie(), MovieClip.loadVariables()

loadVariablesNum()
Disponibilidade

Flash Player 4. Os arquivos Flash 4 abertos no Flash 5 ou verso posterior sero convertidos para que usem a sintaxe correta. O comportamento foi modificado no Flash Player 7.
Uso loadVariablesNum ("url" ,nvel [, variveis]) Parmetros url Um URL absoluto ou relativo no qual as variveis esto localizadas. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir. nvel

Um inteiro que especifica o nvel que receber as variveis no Flash Player.

variveis Um parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna

Nada.
Descrio

Funo; l os dados de um arquivo externo, como um arquivo de texto ou um texto gerado por um script CGI, Active Server Pages (ASP), PHP ou script Perl, e define os valores das variveis em um nvel do Flash Player. Voc tambm pode usar esta funo para atualizar variveis no arquivo SWF ativo com novos valores. O texto no URL especificado deve estar no formato MIME padro aplicativo/x-www-formurlencoded (um formato padro usado por scripts CGI). Qualquer nmero de variveis pode ser especificado. Por exemplo, a frase abaixo define diversas variveis:
company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103

loadVariablesNum()

483

Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Se quiser carregar variveis em um MovieClip de destino, use loadVariables() em vez de
loadVariablesNum(). Exemplo

Este exemplo carrega informaes de um arquivo de texto em campos de texto na Timeline (Linha de tempo) principal do SWF, no nvel 0 do Flash Player. Os nomes das variveis dos campos de texto devem corresponder aos nomes das variveis no arquivo data.txt.
on (release) { loadVariablesNum("data.txt", 0); } Consulte tambm getURL(), loadMovie(), loadMovieNum(), loadVariables(), MovieClip.loadMovie(), MovieClip.loadVariables()

Classe LoadVars
Disponibilidade

Flash Player 6.
Descrio

A classe LoadVars uma alternativa funo loadVariables() para transferncia de variveis entre um aplicativo Flash e um servidor. Voc pode usar a classe LoadVars para obter a verificao de carregamento de dados adequado, indicaes de progresso e fluxo de dados durante o download. A classe LoadVars funciona de maneira muito semelhante Classe XML. Ela utiliza os mtodos load(), send() e sendAndLoad() para se comunicar com um servidor. A diferena principal entre a classe LoadVars e a XML que a primeira transfere pares de nome e valor ActionScript, em vez da rvore DOM XML armazenada no objeto XML. A classe LoadVars segue as mesmas restries de segurana da classe XML.

484

Captulo 12: Dicionrio do ActionScript

Resumo dos mtodos da classe LoadVars


Mtodo Descrio

LoadVars.addRequestHeader() Adiciona ou altera cabealhos HTTP de operaes POST. LoadVars.getBytesLoaded()

Retorna o nmero de bytes descarregados por LoadVars.load() ou por LoadVars.sendAndLoad(). Retorna o nmero total de bytes que sero descarregados por um mtodo load ou sendAndLoad. Faz download de variveis de um URL especificado. Envia variveis de um objeto LoadVars para um URL. Envia variveis de um objeto LoadVars para um URL e faz o download da resposta do servidor para um objeto de destino. Retorna uma seqncia de caracteres codificados de URL que contenha todas as variveis enumerveis do objeto LoadVars.

LoadVars.getBytesTotal()

LoadVars.load() LoadVars.send() LoadVars.sendAndLoad()

LoadVars.toString()

Resumo das propriedades da classe LoadVars


Propriedade
LoadVars.contentType LoadVars.loaded

Descrio Indica um tipo de dados MIME. Um valor booleano que indica se foi realizada uma operao load ou sendAndLoad.

Resumo dos manipuladores de eventos da classe LoadVars


Manipulador de eventos
LoadVars.onData

Descrio Chamado quando o download de dados do servidor totalmente concludo ou quando ocorre um erro durante o download. Chamado quando uma operao load ou sendAndLoad concluda.

LoadVars.onLoad

Construtor da classe LoadVars


Disponibilidade

Flash Player 6.
Uso new LoadVars() Parmetros

Nenhum.
Retorna

Nada.

Classe LoadVars

485

Descrio

Construtor; cria um objeto LoadVars. Em seguida, voc pode usar os mtodos desse objeto LoadVars para enviar e carregar dados.
Exemplo

O exemplo abaixo cria um objeto LoadVars chamado meu_lv:


var meu_lv = new LoadVars();

LoadVars.addRequestHeader()
Disponibilidade

Flash Player 6.
Uso meu_lv.addRequestHeader(nomeCabealho, valorCabealho) meu_lv.addRequestHeader(["nomeCabealho_1", "valorCabealho_1" ... "nomeCabealho_n", "valorCabealho_n"]) Parmetros nomeCabealho valorCabealho Retorna

Nome de cabealho da solicitao HTTP. Valor associado a nomeCabealho.

Nada.
Descrio

Mtodo; adiciona ou altera os cabealhos de solicitao HTTP (como Content-Type ou SOAPAction) enviados com aes POST. No primeiro uso, duas seqncias de caracteres so passadas para o mtodo: nomeCabealho e valorCabealho. No segundo uso, passa-se um array de seqncias de caracteres, que alterna nomes e valores de cabealho. Se forem feitas vrias chamadas para a definio do mesmo nome de cabealho, cada valor sucessivo substituir o valor definido na chamada anterior. Os seguintes cabealhos HTTP padro no podem ser includos nem alterados com este mtodo:
Accept-Ranges, Age, Allow, Allowed, Connection, Content-Length, Content-Location, Content-Range, ETag, Host, Last-Modified, Locations, Max-Forwards, ProxyAuthenticate, Proxy-Authorization, Public, Range, Retry-After, Server, TE, Trailer, Transfer-Encoding, Upgrade, URI, Vary, Via, Warning e WWW-Authenticate.

486

Captulo 12: Dicionrio do ActionScript

Exemplo

Este exemplo acrescenta ao objeto meu_lv um cabealho HTTP personalizado, denominado SOAPAction, com o valor Foo.
meu_lv.addRequestHeader("SOAPAction", "'qualquer");

O seguinte exemplo cria um array denominado cabealhos que contm dois cabealhos HTTP alternados com seus respectivos valores. O array passado como argumento para addRequestHeader().
var headers = ["Content-Type", "text/plain", "X-ClientAppVersion", "2.0"]; meu_lv.addRequestHeader(cabealhos); Consulte tambm XML.addRequestHeader()

LoadVars.contentType
Disponibilidade

Flash Player 6.
Uso meu_lv.contentType Descrio

Propriedade; o tipo MIME enviado ao servidor quando voc chama LoadVars.send() ou LoadVars.sendAndLoad(). O padro application/x-www-form-urlencoded.
Consulte tambm LoadVars.send(), LoadVars.sendAndLoad()

LoadVars.getBytesLoaded()
Disponibilidade

Flash Player 6.
Uso meu_lv.getBytesLoaded() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna a quantidade de bytes descarregada por LoadVars.load() ou LoadVars.sendAndLoad(). Este mtodo retornar undefined se no houver nenhuma operao de carregamento em execuo ou se ainda no tiver sido iniciada.

LoadVars.getBytesLoaded()

487

LoadVars.getBytesTotal()
Disponibilidade

Flash Player 6.
Uso meu_lv.getBytesTotal() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna a quantidade total de bytes descarregada por LoadVars.load() ou LoadVars.sendAndLoad(). Este mtodo retornar undefined se no houver nenhuma operao de carregamento em execuo ou se ainda no tiver sido iniciada. Este mtodo tambm retornar undefined se no for possvel determinar o nmero total de bytes, por exemplo, quando o download tiver sido iniciado, mas o servidor no tiver transmitido um elemento content-length de HTTP.

488

Captulo 12: Dicionrio do ActionScript

LoadVars.load()
Disponibilidade

Flash Player 6; comportamento modificado no Flash Player 7.


Uso meu_lv.load(url) Parmetros url O URL de onde ser feito o download das variveis. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir. Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; faz download de variveis do URL especificado, analisa os dados da varivel e coloca as variveis resultantes em meu_lv. As propriedades de meu_lv com o mesmo nome de variveis descarregadas so substitudas. As propriedades de meu_lv com nomes diferentes das variveis descarregadas no so excludas. Esta uma ao assncrona. Os dados descarregados devem estar codificados com o tipo de contedo MIME application/xwww-form-urlencoded. Este o mesmo formato usado por loadVariables(). Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Alm disso, em arquivos publicados para o Flash Player 7, a distino entre maisculas e minsculas (consulte Distino entre maisculas e minsculas na pgina 32) suportada para variveis externas carregadas com LoadVars.load(). Este mtodo semelhante a XML.load().

LoadVars.load()

489

LoadVars.loaded
Disponibilidade

Flash Player 6.
Uso meu_lv.loaded Descrio

Propriedade; indefinida por padro. Quando iniciada a operao LoadVars.load() ou LoadVars.sendAndLoad(), a propriedade loaded definida como false; quando a operao concluda, a propriedade loaded definida como true. Se a operao ainda no tiver sido concluda ou se tiver apresentado erros, a propriedade loaded permanecer definida como false. Esta propriedade semelhante a XML.loaded.

LoadVars.onData
Disponibilidade

Flash Player 6.
Uso meu_lv.onData = function(fonte) { // suas instrues entram aqui } Parmetros fonte Dados brutos (no analisados) LoadVars.sendAndLoad(). Retorna

de uma chamada de mtodo LoadVars.load() ou

Nada.
Descrio

Manipulador de eventos; chamado quando o download de dados do servidor estiver totalmente concludo ou se ocorrer um erro durante o download de dados de um servidor. Este manipulador chamado antes da anlise dos dados e, portanto, pode ser usado para chamar uma rotina de anlise personalizada em vez da anlise incorporada ao Flash Player. O valor do parmetro fonte passado para a funo associada a LoadVars.onData pode ser undefined ou uma seqncia de caracteres que contenha os pares de valores de nome com codificao URL descarregados do servidor. Se o valor retornado for undefined, ter ocorrido um erro durante o download dos dados do servidor. A implementao padro de LoadVars.onData chama LoadVars.onLoad. Voc pode substituir a implementao padro atribuindo uma funo personalizada a LoadVars.onData, porm LoadVars.onLoad no ser mais chamado, a menos que voc o chame na implementao de LoadVars.onData.

490

Captulo 12: Dicionrio do ActionScript

LoadVars.onLoad
Disponibilidade

Flash Player 6.
Uso meu_lv.onLoad = function(sucesso) { // suas instrues entram aqui } Parmetros sucesso O parmetro indica se a operao de carregamento foi concluda com xito (true) ou no (false). Retorna

Um valor booleano.
Descrio

Manipulador de eventos; chamado quando uma operao LoadVars.load() ou LoadVars.sendAndLoad() concluda. Se a operao tiver sido bem sucedida, meu_lv ser preenchida com variveis descarregadas pela operao, que ficaro disponveis quando este manipulador for chamado. Este manipulador indefinido por padro. Este mtodo semelhante a XML.onLoad().

LoadVars.onLoad

491

LoadVars.send()
Disponibilidade

Flash Player 6.
Uso meu_lv.send(url [,destino, mtodo]) Parmetros url

O URL no qual as variveis devem ser carregadas. A janela de quadro do navegador na qual as respostas sero exibidas. O mtodo GET ou POST do protocolo HTTP.

destino mtodo Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; envia as variveis do objeto meu_lv para o URL especificado. Todas as variveis enumerveis de meu_lv so concatenadas em uma seqncia de caracteres no formato application/ x-www-form-urlencoded, por padro, e a seqncia de caracteres enviada para o URL usando o mtodo HTTP POST. Este o mesmo formato usado pela ao loadVariables(). O tipo de contedo MIME enviado nos cabealhos de solicitao HTTP o valor de meu_lv.contentType ou o padro application/x-www-form-urlencoded. usado o mtodo POST, a menos que seja especificado GET. Se o parmetro destino for especificado, a resposta do servidor ser exibida na janela de quadro do navegador chamada destino. Se o parmetro destino for omitido, a resposta do servidor ser descartada. Este mtodo semelhante a XML.send().

492

Captulo 12: Dicionrio do ActionScript

LoadVars.sendAndLoad()
Disponibilidade

Flash Player 6; comportamento modificado no Flash Player 7.


Uso meu_lv.sendAndLoad(url, objetoDestino[, mtodo]) Parmetros url

O URL no qual as variveis devem ser carregadas. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir. O objeto LoadVars que recebe as variveis descarregadas. O mtodo GET ou POST do protocolo HTTP.

objetoDestino mtodo Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; envia variveis do objeto meu_lv para o URL especificado. A resposta do servidor descarregada e analisada como dados variveis. As variveis resultantes so colocadas no objeto objetoDestino. As variveis so enviadas da mesma maneira que em LoadVars.send(). As variveis so descarregadas em objetoDestino da mesma maneira que em LoadVars.load(). Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Este mtodo semelhante a XML.sendAndLoad().

LoadVars.sendAndLoad()

493

LoadVars.toString()
Disponibilidade

Flash Player 6.
Uso meu_lv.toString() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna uma seqncia de caracteres que contm todas as variveis enumerveis de meu_lv, na codificao de contedo MIME application/x-www-form-urlencoded.
Exemplo var minhasVars = new LoadVars(); minhasVars.nome = Beto; minhasVars.idade = 26; trace (minhasVars.toString()); //geraria a sada //nome=Beto&idade=26

Classe LocalConnection
Disponibilidade

Flash Player 6.
Descrio

A classe LocalConnection permite desenvolver arquivos SWF que possam enviar instrues uns para os outros sem usar fscommand() ou JavaScript. Objetos LocalConnection s podem se comunicar entre arquivos SWF em execuo na mesma mquina cliente, porm podem ser executados em dois aplicativos diferentes por exemplo, um arquivo SWF em execuo em um navegador e um arquivo SWF em execuo em um projetor. Os objetos LocalConnection podem ser usados para enviar e receber dados em um nico arquivo SWF, mas essa no uma implementao padro. Todos os exemplos desta seo ilustram a comunicao entre diferentes arquivos SWF.
LocalConnection.connect().

Os principais mtodos usados para enviar e receber dados so LocalConnection.send() e No modo mais simples, o cdigo implementar os comandos a seguir. Observe que tanto o comando LocalConnection.send() quanto o LocalConnection.connect() especificam o mesmo nome de conexo, lc_nome:
// Cdigo no filme receptor recebe_lc = new LocalConnection(); recebe_lc.mtodoAExecutar = function(param1, param2) { // Cdigo a executar }

494

Captulo 12: Dicionrio do ActionScript

recebe_lc.connect("lc_nome"); // Cdigo no filme emissor emissor_lc = new LocalConnection(); envia_lc.send("lc_nome", "mtodoAExecutar", dado1, dado2)

A maneira mais simples de usar um objeto LocalConnection permitindo a comunicao somente entre objetos LocalConnection localizados no mesmo domnio, pois voc no ter de cuidar de questes relativas segurana. Entretanto, se for necessrio permitir a comunicao entre domnios, voc ter vrias maneiras de implementar medidas de segurana. Para obter mais informaes, consulte a descrio do parmetro nomeConexo em LocalConnection.send(), alm das entradas LocalConnection.allowDomain e LocalConnection.domain(). Resumo dos mtodos da classe LocalConnection
Mtodo
LocalConnection.close() LocalConnection.connect()

Descrio Fecha (desconecta) o objeto LocalConnection. Prepara o objeto LocalConnection para receber comandos de um comando LocalConnection.send(). Retorna uma seqncia de caracteres que representa o domnio superior do local do arquivo SWF atual. Chama um mtodo de um objeto LocalConnection especfico.

LocalConnection.domain()

LocalConnection.send()

Resumo dos manipuladores de eventos da classe LocalConnection


Manipulador de eventos
LocalConnection.allowDomain

Descrio Chamado sempre que o objeto LocalConnection (receptor) atual recebe uma solicitao para chamar um mtodo de um objeto LocalConnection emissor. Chamado sempre que o objeto LocalConnection atual (receptor), que um arquivo SWF hospedado em um domnio que usa um protocolo seguro (HTTPS), recebe uma solicitao para chamar um mtodo de um objeto LocalConnection emissor contido em um arquivo SWF que est hospedado com um protocolo no-seguro. Chamado depois que um objeto LocalConnection emissor tenta enviar um comando para um objeto LocalConnection receptor.

LocalConnection.allowInsecureDomain

LocalConnection.onStatus

Classe LocalConnection

495

Construtor da classe LocalConnection


Disponibilidade

Flash Player 6.
Uso new LocalConnection() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Construtor; cria um objeto LocalConnection.


Exemplo

O exemplo a seguir mostra como o envio e recebimento de arquivos SWF cria objetos LocalConnnection. Observe que os dois arquivo SWF podem usar o mesmo nome ou nomes diferentes para os respectivos objetos LocalConnection. Neste exemplo, eles usam o mesmo nome meu_lc.
// Cdigo do SWF receptor meu_lc = new LocalConnection(); meu_lc.umMtodo = function() { // Suas instrues entram aqui } meu_lc.connect("nomeConexo"); // Cdigo do SWF emissor meu_lc = new LocalConnection(); meu_lc.send("nomeConexo", "umMtodo"); Consulte tambm LocalConnection.connect(), LocalConnection.send()

496

Captulo 12: Dicionrio do ActionScript

LocalConnection.allowDomain
Disponibilidade

Flash Player 6; comportamento modificado no Flash Player 7.


Uso recebe_lc.allowDomain = function([domnioEmissor]) { // Suas instrues que entram aqui retornam true ou false } Parmetros domnioEmissor

Um parmetro opcional que especifica o domnio do arquivo SWF que contm o objeto LocalConnection emissor. Nada.

Retorna

Descrio

Manipulador de eventos; chamado sempre que recebe_lc recebe uma solicitao para chamar um mtodo de um objeto LocalConnection emissor. O Flash espera que o cdigo implementado neste manipulador retorne um valor booleano true ou false. Se o manipulador no retornar true, a solicitao do objeto emissor ser ignorada e o mtodo no ser chamado. Use este comando para permitir explicitamente que objetos LocalConnection dos domnios especificados ou de qualquer domnio executem mtodos do objeto LocalConnection receptor. Se voc no declarar o parmetro domnioEmissor, presume-se que deseja aceitar comandos de qualquer domnio. Nesse caso, o cdigo do seu manipulador ser simplesmente return true. Caso declare domnioEmissor, presume-se que deseja comparar o valor de domnioEmissor com domnios dos quais deseja aceitar comandos. Os exemplos a seguir mostram essas implementaes. Em arquivos executados no Flash Player 6, o parmetro domnioEmissor contm o domnio superior do emissor da chamada. Em arquivos executados no Flash Player 7 ou verses posteriores, o parmetro domnioEmissor contm o domnio exato do emissor da chamada. No ltimo caso, para permitir o acesso dos arquivos SWF hospedados em www.domnio.com ou store.domnio.com, voc deve permitir explicitamente o acesso a partir dos dois domnios.
// Para o Flash Player 6 recebe_lc.allowDomain = function(domnioEmissor) { return(domnioEmissor=="domnio.com"); } // Os comandos correspondentes que permitem acesso a arquivos SWF // executados no Flash Player 7 ou verses posteriores recebe_lc.allowDomain = function(domnioEmissor) { return(domnioEmissor=="www.domnio.com" || domnioEmissor=="store.domnio.com"); }

Alm disso, para arquivos executados no Flash Player 7 ou verses posteriores, no possvel usar esse mtodo para permitir que arquivos SWF hospedados com protocolo seguro (HTTPS) permitam o acesso de arquivos SWF hospedados em protocolos no-seguros. Voc deve usar o manipulador de eventos LocalConnection.allowInsecureDomain.

LocalConnection.allowDomain

497

Exemplo

O exemplo a seguir mostra como um objeto LocalConnection de um arquivo SWF receptor pode permitir que arquivos SWF de qualquer domnio chame seus mtodos. Compare com o exemplo em LocalConnection.connect(), no qual somente arquivos SWF do mesmo domnio podem chamar o mtodo Trace no arquivo SWF receptor. Para obter uma descrio do uso do sublinhado (_) no nome da conexo, consulte LocalConnection.send().
var umaConexLocal = new LocalConnection(); umaConexLocal.Trace = function(umaSeqCaract) { umCampoTexto = umCampoTexto + umaSeqCaract + newline; } umaConexLocal.allowDomain = function() { // Qualquer domnio pode chamar mtodos deste objeto LocalConnection return true; } umaConexLocal.connect("_trace");

No exemplo a seguir, o arquivo SWF receptor aceita comandos somente de arquivos SWF localizados em esteDomnio.com ou em aqueleDomnio.com.
var umaConexLocal = new LocalConnection(); umaConexLocal.Trace = function(umaSeqCaract) { umCampoTexto = umCampoTexto + umaSeqCaract + newline; } umaConexLocal.allowDomain = function(domnioEmissor) { return(domnioEmissor=="esteDomnio.com" || domnioEmissor=="aqueleDomnio.com"); } umaConexLocal.connect("_trace"); Consulte tambm LocalConnection.connect(), LocalConnection.domain(), LocalConnection.send()

498

Captulo 12: Dicionrio do ActionScript

LocalConnection.allowInsecureDomain
Disponibilidade

Flash Player 7.
Uso recebe_lc.allowInsecureDomain = function([domnioEmissor]) { // Suas instrues que entram aqui retornam true ou false } Parmetros domnioEmissor

Um parmetro opcional que especifica o domnio do arquivo SWF que contm o objeto LocalConnection emissor. Nada.

Retorna

Descrio

Manipulador de eventos; chamado sempre que recebe_lc, contido em um arquivo SWF hospedado em um domnio que usa um protocolo seguro (HTTPS), recebe uma solicitao para chamar um mtodo de um objeto LocalConnection emissor contido em um arquivo SWF hospedado em um protocolo no-seguro. O Flash espera que o cdigo implementado neste manipulador retorne um valor booleano true ou false. Se o manipulador no retornar true, a solicitao do objeto emissor ser ignorada e o mtodo no ser chamado. Por padro, os arquivos SWF hospedados com protocolo HTTPS somente podem ser acessados por outros arquivos SWF hospedados com o protocolo HTTPS. Essa implementao mantm a integridade proporcionada pelo protocolo HTTPS. No recomendado usar esse mtodo para substituir o comportamento padro, pois isso comprometeria a segurana do HTTPS. No entanto, talvez isso seja necessrio, por exemplo, se voc precisar permitir o acesso a arquivos HTTPS publicados para o Flash Player 7 ou verso posterior a partir de arquivos HTTP publicados para o Flash Player 6. Um arquivo SWF publicado para o Flash Player 6 pode usar o manipulador de eventos LocalConnection.allowDomain para permitir o acesso de HTTP para HTTPS. No entanto, como a segurana implementada de maneira diferente no Flash Player 7, voc deve usar o mtodo LocalConnection.allowInsecureDomain() para permitir esse acesso em arquivos SWF publicados para o Flash Player 7 ou verso posterior.
Consulte tambm LocalConnection.allowDomain, LocalConnection.connect()

LocalConnection.allowInsecureDomain

499

LocalConnection.close()
Disponibilidade

Flash Player 6.
Uso recebe_lc.close Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; fecha (desconecta) um objeto LocalConnection. Utilize este comando quando no quiser mais que o objeto aceite comandos por exemplo, quando quiser emitir um comando LocalConnection.connect() usando o mesmo parmetro nomeConexo em outro arquivo SWF.
Consulte tambm LocalConnection.connect()

500

Captulo 12: Dicionrio do ActionScript

LocalConnection.connect()
Disponibilidade

Flash Player 6.
Uso recebe_lc.connect(nomeConexo) Parmetros nomeConexo

Uma seqncia de caracteres que correspondente ao nome da conexo especificada no comando LocalConnection.send(), que deve estabelecer comunicao com recebe_lc.

Retorna

O valor booleano true, se no houver outro processo em execuo na mesma mquina cliente que j tenha emitido este comando com o mesmo valor para o parmetro nomeConexo. Caso contrrio, o valor ser false.
Descrio

Mtodo; prepara um objeto LocalConnection para receber comandos de um comando LocalConnection.send() (denominado objeto LocalConnection emissor). O objeto usado com este comando chamado objeto LocalConnection receptor. Os objetos receptor e emissor devem estar em execuo na mesma mquina cliente. importante definir os mtodos anexados a recebe_lc antes de chamar este mtodo, conforme mostrado em todos os exemplos desta seo. Por padro, o Flash Player converte nomeConexo em um valor no formato "domnio_superior:nomeConexo", onde domnio_superior o domnio superior do arquivo SWF que contm o comando LocalConnection.connect(). Se, por exemplo, o arquivo SWF que contm o objeto LocalConnection receptor estiver localizado no endereo www.umDomnio.com, nomeConexo corresponder a "umDomnio.com:nomeConexo". Se um arquivo SWF estiver localizado na mquina cliente, o valor atribudo a domnio_superior ser "localhost". Tambm como padro, o Flash Player permite que o objeto LocalConnection receptor aceite comandos apenas dos objetos LocalConnection emissores cujos nomes de conexo tambm correspondam a "domnio_superior:nomeConexo". Dessa forma, o Flash torna muito simples a comunicao entre os arquivos SWF localizados no mesmo domnio. Se voc estiver implementando comunicao somente entre arquivos SWF do mesmo domnio, especifique uma seqncia de caracteres para nomeConexo que no comece com um sublinhado (_) e que no especifique um nome de domnio (por exemplo, "meuDomnio:nomeConexo"). Use a mesma seqncia de caracteres no comando LocalConnection.connect(nomeConexo). Se voc estiver implementando a comunicao entre arquivos SWF localizados em domnios diferentes, consulte a descrio de nomeConexo em LocalConnection.send() e tambm as entradas LocalConnection.allowDomain e LocalConnection.domain().

LocalConnection.connect()

501

Exemplo

O exemplo a seguir mostra como um arquivo SWF em determinado domnio pode chamar um mtodo denominado Trace em um arquivo SWF receptor do mesmo domnio. O arquivo SWF receptor funciona como uma janela de controle do arquivo SWF emissor. Ele contm dois mtodos que podem ser chamados por outros arquivos SWF Trace e Clear. Pressionar botes nos arquivos SWF emissores chama esses mtodos com os parmetros especificados.
// SWF receptor var umaConexLocal = new LocalConnection(); umaConexLocal.Trace = function(umaSeqCaract) { umCampoTexto = umCampoTexto + umaSeqCaract + newline; } umaConexLocal.Clear = function() { umCampoTexto = ""; } umaConexLocal.connect("trace"); stop();

O SWF 1 contm o seguinte cdigo anexado a um boto com o rtulo PushMe (Pressione). Ao pressionar o boto, voc ver a frase O boto foi pressionado no arquivo SWF receptor.
on (press) { var lc = new LocalConnection(); lc.send("trace", "Trace", "O boto foi pressionado."); delete lc; }

O SWF 2 contm uma caixa de texto de entrada com um nome de varivel meuTexto e o seguinte cdigo anexado a um boto com o rtulo Copy (Copiar). Ao digitar um texto e pressionar o boto, voc ver o texto que digitou no arquivo SWF receptor.
on (press) { _parent.lc.send("trace", "Trace", _parent.meuTexto); _parent.meuTexto = ""; }

O SWF 3 contm o seguinte cdigo anexado a um boto com o rtulo Clear (Limpar). Ao pressionar o boto, voc limpa (apaga) o contedo da janela de controle do arquivo SWF receptor.
on (press) { var lc = new LocalConnection(); lc.send("trace", "Clear"); delete lc; } Consulte tambm LocalConnection.send()

502

Captulo 12: Dicionrio do ActionScript

LocalConnection.domain()
Disponibilidade

Flash Player 6; comportamento modificado no Flash Player 7.


Uso meu_lc.domain() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres que representa o domnio da localizao do arquivo SWF atual. Para obter mais detalhes, consulte Descrio, a seguir.
Descrio

Mtodo; retorna uma seqncia de caracteres que representa o domnio do local do arquivo SWF atual. Em arquivos SWF publicados para o Flash Player 6, a seqncia de caracteres retornada o domnio superior do arquivo SWF atual. Se, por exemplo, o arquivo SWF estiver localizado no endereo www.macromedia.com, esse comando retornar "macromedia.com". Em arquivos SWF publicados para o Flash Player 7 ou verso posterior, a seqncia de caracteres retornada o domnio exato do arquivo SWF atual. Se, por exemplo, o arquivo SWF estiver localizado no endereo www.macromedia.com, esse comando retornar "www.macromedia.com". Se o arquivo SWF atual for um arquivo local residente na mquina cliente, esse comando retornar "localhost". A maneira mais comum de usar esse comando incluindo o nome de domnio do objeto LocalConnection emissor como um parmetro para o mtodo que voc pretende chamar no objeto LocalConnection receptor, ou em conjunto com LocalConnection.allowDomain para aceitar comandos de determinado domnio. Se estiver ativando a comunicao somente entre objetos LocalConnection localizados no mesmo domnio, voc provavelmente no precisar usar este comando.
Exemplo

No exemplo a seguir, o arquivo SWF receptor somente aceita comandos de outros arquivos SWF localizados no mesmo domnio ou em macromedia.com.
meu_lc = new LocalConnection(); meu_lc.allowDomain = function(domnioEmissor) { return (domnioEmissor==este.domnio() || domnioEmissor=="macromedia.com"); }

Neste exemplo, um arquivo SWF localizado em seudomnio.com chama um mtodo de um arquivo SWF receptor localizado em meudomnio.com. O arquivo SWF emissor inclui seu nome de domnio como um parmetro para o mtodo que chama. Dessa forma, o arquivo SWF receptor pode retornar um valor de resposta para um objeto LocalConnection no domnio correto. O arquivo SWF emissor tambm especifica que aceitar comandos somente dos arquivos SWF de meudomnio.com.

LocalConnection.domain()

503

Os nmeros de linhas so includos para fins de referncia. A seqncia de eventos a seguinte:

O arquivo SWF receptor prepara-se para receber comandos em uma conexo denominada
"soma" (linha 11). O Flash Player resolve o nome dessa conexo como "meudomnio.com:soma" (consulte LocalConnection.connect()).

O arquivo SWF emissor prepara-se para receber uma resposta no objeto LocalConnection
denominado "resultado" (linha 58). E tambm especifica que aceitar comandos somente de arquivos SWF de meudomnio.com (linhas 51 a 53). O arquivo SWF chama o mtodo aSum de uma conexo denominada "meudomnio.com:soma" (linha 59) e passa os seguintes parmetros: seu domnio (lc.domain()), o nome da conexo para recebimento da resposta ("resultado") e os valores que devem ser usados por aSum (123 e 456). O mtodo aSum (linha 6) chamado com os seguintes valores: sender="meudomnio.com:resultado", replyMethod="aResult", n1=123, and n2=456. Portanto, ele executa a seguinte linha de cdigo:
this.send("meudomnio.com:result", "aResult", (123 + 456));

O mtodo aResult (linha 54) exibe o valor retornado por aSum (579).
// O SWF receptor em http://www.meudomnio.com/folder/movie.swf // contm o seguinte cdigo 1 2 3 4 5 6 7 8 9 10 11 var aLocalConnection = new LocalConnection(); aLocalConnection.allowDomain = function() { // Permite conexes de qualquer domnio return true; } aLocalConnection.aSum = function(sender, replyMethod, n1, n2) { this.send(sender, replyMethod, (n1 + n2)); } aLocalConnection.connect("soma");

// O SWF emissor em http://www.seudomnio.com/folder/movie.swf // contm o seguinte cdigo 50 51 52 53 54 55 56 57 58 59 var lc = new LocalConnection(); lc.allowDomain = function(aDomain) { // Permite conexes somente de meudomnio.com return (aDomain == "meudomnio.com"); } lc.aResult = function(aParam) { trace("A soma " + aParam); } lc.connect("result"); lc.send("meudomnio.com:sum", "aSum", lc.domain() + ':' + "result", "aResult", 123, 456);

Consulte tambm LocalConnection.allowDomain

504

Captulo 12: Dicionrio do ActionScript

LocalConnection.onStatus
Disponibilidade

Flash Player 6.
Uso emissor_lc.onStatus = function(objetoInfo) { // suas instrues entram aqui } Parmetros objetoInfo

Um parmetro definido de acordo com a mensagem de status. Para obter informaes sobre esse parmetro, consulte Descrio, a seguir.

Retorna

Nada.
Descrio

Manipulador de eventos; chamado depois que um objeto LocalConnection emissor tenta enviar um comando para um objeto LocalConnection receptor. Se quiser responder a este manipulador de eventos, voc precisar criar uma funo para processar o objeto de informaes enviado pelo objeto LocalConnection. Se a propriedade level do objeto de informao retornado por esse manipulador de eventos apresentar o valor "Status", o Flash ter tido sucesso no envio do comando para um objeto LocalConnection receptor. Isto no significa que o Flash chamou com xito o mtodo especfico do objeto LocalConnection receptor, mas significa apenas que o Flash conseguiu enviar o comando. Por exemplo, o mtodo no ser chamado se o objeto LocalConnection receptor no permitir conexes do domnio emissor ou se no for um mtodo existente. A nica maneira de saber sem dvidas se o mtodo foi chamado fazendo com que o objeto receptor envie uma resposta ao objeto emissor. Se a propriedade level do objeto de informao retornado por esse manipulador de eventos apresentar o valor "Error", o Flash no ter conseguido enviar o comando para um objeto LocalConnection receptor, muito provavelmente porque no h nenhum objeto LocalConnection receptor conectado cujo nome corresponda ao nome especificado no comando emissor_lc.send() que chamou esse manipulador. Alm desse manipulador onStatus, o Flash oferece uma superfuno denominada System.onStatus. Se onStatus for chamado para determinado objeto e no houver funo atribuda para resposta, o Flash processar uma funo atribuda a System.onStatus, se esta existir. Na maioria dos casos, voc implementar este manipulador somente para responder s condies de erro, conforme mostrado no exemplo abaixo.

LocalConnection.onStatus

505

Exemplo

O exemplo a seguir exibe informaes sobre uma conexo interrompida no painel Output (Sada):
emissor_lc = new LocalConnection(); emissor_lc.onStatus = function(objetoInfo) { if (objetoInfo.level == "Error") { trace("No foi possvel conectar."); } } emissor_lc.send("recebe_lc", "nomeMtodo"); Consulte tambm LocalConnection.send(), System.onStatus

LocalConnection.send()
Disponibilidade

Flash Player 6.
Uso emissor_lc.send (nomeConexo, mtodo [, p1,...,pN]) Parmetros nomeConexo Uma seqncia de caracteres que corresponde ao nome de conexo especificado no comando LocalConnection.connect() que precisa se comunicar com emissor_lc. mtodo Seqncia de caracteres que especifica o nome do mtodo a ser chamado no objeto LocalConnection receptor. Os seguintes nomes de mtodos causam falha do comando: send, connect, close, domain, onStatus e allowDomain. p1,...pN Retorna

Parmetros opcionais que devem ser passados para o mtodo especfico.

O valor booleano true, se o Flash puder executar a solicitao; caso contrrio, o valor ser false.
Observao: O valor de retorno true no significa necessariamente que o Flash conectou-se com xito a um objeto LocalConnection receptor, mas que o comando est sintaticamente correto. Para determinar se a conexo foi bem-sucedida, consulte LocalConnection.onStatus. Descrio

Mtodo; chama o mtodo de nome mtodo em uma conexo aberta com o comando LocalConnection.connect(nomeConexo) (chamado objeto LocalConnection receptor). O objeto usado com este comando chamado objeto LocalConnection emissor. Os arquivos SWF que contm os objetos emissor e receptor devem estar em execuo na mesma mquina cliente. H um limite para o volume de dados que pode ser passado como parmetro para este comando. Se o comando retornar false, mas a sintaxe estiver correta, tente dividir as solicitaes LocalConnection.send() em vrios comandos.

506

Captulo 12: Dicionrio do ActionScript

Conforme analisado na entrada LocalConnection.connect(), como padro, o Flash adiciona o domnio superior atual a nomeConexo. Se estiver implementando a comunicao entre domnios diferentes, voc precisar definir nomeConexo nos objetos LocalConnection emissor e receptor, de tal maneira que o Flash no adicione o domnio superior atual a nomeConexo. H duas maneiras de fazer isso:

Use um sublinhado (_) no incio do nomeConexo dos objetos LocalConnection emissor e


receptor. No arquivo SWF que contm o objeto receptor, use LocalConnection.allowDomain para especificar que as conexes de qualquer domnio sero aceitas. Essa implementao permite que voc armazene os arquivos SWF emissor e receptor em qualquer domnio. Inclua o domnio superior de nomeConexo no objeto LocalConnection emissor. Por exemplo, meuDomnio:meuNomeConexo. No objeto receptor, use LocalConnection.allowDomain para indicar que as conexes do domnio superior especificado sero aceitas (nesse caso, meuDomnio.com) ou que as conexes de qualquer domnio sero aceitas.

Observao: Voc no pode especificar um domnio superior de nomeConexo no objeto LocalConnection receptor, mas somente no objeto LocalConnection emissor. Exemplo

Para obter um exemplo da comunicao entre objetos LocalConnection localizados no mesmo domnio, consulte LocalConnection.connect(). Para obter um exemplo da comunicao entre objetos LocalConnection localizados em qualquer domnio, consulte LocalConnection.allowDomain. Para obter um exemplo da comunicao entre objetos LocalConnection localizados em domnios especficos, consulte LocalConnection.allowDomain e LocalConnection.domain().
Consulte tambm LocalConnection.allowDomain, LocalConnection.connect(), LocalConnection.domain(), LocalConnection.onStatus

lt (menor que especfico de seqncia de caracteres)


Disponibilidade

Flash Player 4. Este operador foi substitudo no Flash 5 pelo novo operador < (menor que).
Uso expresso1 lt expresso2 Parmetros expresso1, expresso2 Descrio

Nmeros, seqncias de caracteres ou variveis.

Operador (comparao); comparar a expresso1 com a expresso2 e retornar true se expresso1 for menor do que expresso2; caso contrrio, retornar false.
Consulte tambm < (menor que)

lt (menor que especfico de seqncia de caracteres)

507

Classe Math
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Descrio

A classe Math uma classe do nvel mais alto, cujos mtodos e propriedades podem ser usados sem um construtor. Use os mtodos e propriedades desta classe para acessar e manipular constantes e funes matemticas. Todas as propriedades e mtodos da classe Math so estticas e devem ser chamadas com a sintaxe Math.mtodo(parmetro) ou Math.constante. Em ActionScript, as constantes so definidas com a preciso mxima de nmeros de ponto flutuante IEEE-754 de dupla preciso. Vrios mtodos da classe Math usam o radiano de um ngulo como parmetro. Voc pode usar a equao abaixo para calcular os valores radianos ou simplesmente passar a equao (inserindo um valor para graus) para o parmetro radiano. Para calcular um valor radiano, use esta frmula:
radiano = Math.PI/180 * grau

O exemplo a seguir mostra a passagem de uma equao como um parmetro para calcular o seno de um ngulo de 45 graus:
Math.SIN(Math.PI/180 * 45)

o mesmo que Math.SIN(.7854)

A classe Math totalmente suportada no Flash Player 5. No Flash Player 4, podem ser usados mtodos da classe Math, mas eles so emulados com aproximaes e podem no ser to precisos como as funes matemticas no emuladas suportadas pelo Flash Player 5. Resumo dos mtodos da classe Math
Mtodo
Math.abs() Math.acos() Math.asin() Math.atan() Math.atan2() Math.ceil() Math.cos() Math.exp() Math.floor() Math.log() Math.max()

Descrio Calcula um valor absoluto. Calcula um arco cosseno. Calcula um arco seno. Calcula um arco tangente. Calcula um ngulo do eixo x ao ponto. Arredonda um nmero para o inteiro mais prximo Calcula um cosseno. Calcula um valor exponencial. Arredonda um nmero para o inteiro mais prximo Calcula um logaritmo natural. Retorna o maior de dois inteiros.

508

Captulo 12: Dicionrio do ActionScript

Mtodo
Math.min() Math.pow() Math.random() Math.round() Math.sin() Math.sqrt() Math.tan()

Descrio Retorna o menor de dois inteiros. Calcula x elevado potncia de y. Retorna um nmero pseudo-aleatrio entre 0.0 e 1.0. Arredonda para o inteiro mais prximo. Calcula um seno. Calcula uma raiz quadrada. Calcula uma tangente.

Resumo das propriedades da classe Math Todas as propriedades da classe Math so constantes.
Propriedade
Math.E Math.LN2 Math.LOG2E Math.LN2 Math.LOG10E Math.PI

Descrio Constante de Euler e a base de logaritmos naturais (aproximadamente 2,718). O logaritmo natural de 2 (aproximadamente 0,693). O logaritmo de base 2 de e (aproximadamente 1,442). O logaritmo natural de10 (aproximadamente 2,302). O logaritmo de base 10 de e (aproximadamente 0,434). A razo entre a circunferncia de um crculo e o seu dimetro (aproximadamente 3,14159). O inverso da raiz quadrada de 1/2 (aproximadamente 0,707). A raiz quadrada de 2 (aproximadamente 1,414).

Math.SQRT1_2 Math.SQRT2

Math.abs()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.abs(x) Parmetros x

Um nmero.

Retorna

Um nmero.
Descrio

Mtodo; calcula e retorna o valor absoluto do nmero especificado pelo parmetro x.

Math.abs()

509

Math.acos()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.acos(x) Parmetros x

Um nmero de -1,0 a 1,0.

Retorna

Nada.
Descrio

Mtodo; calcula e retorna o arco cosseno do nmero especificado no parmetro x, em radianos.

Math.asin()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.asin(x); Parmetros x

Um nmero de -1,0 a 1,0.

Retorna

Um nmero.
Descrio

Mtodo; calcula e retorna o arco seno de um nmero especificado no parmetro x, em radianos.

510

Captulo 12: Dicionrio do ActionScript

Math.atan()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.atan(x) Parmetros x

Um nmero que representa a tangente de um ngulo.

Retorna

Um nmero.
Descrio

Mtodo; calcula e retorna o valor, em radianos, do ngulo cuja tangente especificada no parmetro x. O valor de retorno est entre o pi negativo dividido por 2 e o pi positivo dividido por 2.
Consulte tambm Math.atan2(), Math.tan()

Math.atan2()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.atan2(y, x) Parmetros y x

Um nmero que especifica a coordenada y do ponto. Um nmero que especifica a coordenada x do ponto.

Retorna

Um nmero.
Descrio

Mtodo; calcula e retorna o ngulo do ponto y/x em radianos, quando medido no sentido anti-horrio a partir do eixo X de um crculo (onde 0,0 representa o centro do crculo). O valor de retorno est entre pi positivo e pi negativo.
Consulte tambm Math.atan(), Math.tan()

Math.atan2()

511

Math.ceil()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.ceil(x) Parmetros x

Um nmero ou expresso.

Retorna

Um nmero.
Descrio

Mtodo; retorna o teto do nmero ou expresso especificada. O teto de um nmero o nmero inteiro mais prximo que maior que ou igual ao nmero.

Math.cos()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.cos(x) Parmetros x

Um ngulo medido em radianos.

Retorna

Um nmero.
Descrio

Mtodo; retorna o cosseno (um valor de -1,0 a 1,0) do ngulo especificado pelo parmetro x. O ngulo x deve ser especificado em radianos. Use as informaes descritas na entrada Classe Math para calcular um radiano.

512

Captulo 12: Dicionrio do ActionScript

Math.E
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.E Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; uma constante matemtica para a base de logaritmos naturais, apresentados como e. O valor aproximado de e 2,71828.

Math.exp()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.exp(x) Parmetros x

O exponente; um nmero ou expresso.

Retorna

Um nmero.
Descrio

Mtodo; retorna o valor de base do logaritmo natural (e) elevado potncia do exponente especificado no parmetro x. A constante Math.E pode fornecer o valor de e.

Math.exp()

513

Math.floor()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.floor(x) Parmetros x

Um nmero ou expresso.

Retorna

Um nmero.
Descrio

Mtodo; retorna o piso do nmero ou expresso especificada no parmetro x. O piso o inteiro mais prximo menor ou igual ao nmero ou expresso especificada.
Exemplo

O exemplo de cdigo a seguir retorna um valor 12:


Math.floor(12.5);

Math.log()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.log(x) Parmetros x

Um nmero ou expresso com um valor maior que 0.

Retorna

Um nmero.
Descrio

Mtodo; retorna o logaritmo do parmetro x.

514

Captulo 12: Dicionrio do ActionScript

Math.LN2
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.LN2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; uma constante matemtica do logaritmo natural de 2, expressa como loge2, com um valor aproximado de 0,69314718055994528623.

Math.LN10
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.LN10 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; uma constante matemtica do logaritmo natural de 10, expressa como loge10, com um valor aproximado de 2,3025850929940459011.

Math.LN10

515

Math.LOG2E
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.LOG2E Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; uma constante matemtica do logaritmo de base 2 da constante e (Math.E), expressa como log2e, com um valor aproximado de 1,442695040888963387.

Math.LOG10E
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.LOG10E Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; uma constante matemtica do logaritmo de base 10 da constante e (Math.E), expressa como log10e, com um valor aproximado de 0,43429448190325181667.

516

Captulo 12: Dicionrio do ActionScript

Math.max()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.max(x , y) Parmetros x y

Um nmero ou expresso. Um nmero ou expresso.

Retorna

Um nmero.
Descrio

Mtodo; avalia x e y e retorna o maior valor.

Math.min()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.min(x , y) Parmetros x y

Um nmero ou expresso. Um nmero ou expresso.

Retorna

Um nmero.
Descrio

Mtodo; avalia x e y e retorna o menor valor.

Math.min()

517

Math.PI
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.PI Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; uma constante matemtica da razo entre a circunferncia de um crculo e o seu dimetro expressa como pi, com um valor de 3,14159265358979.

Math.pow()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.pow(x , y) Parmetros x y

Um nmero a ser elevado a uma potncia. Um nmero que especifica a potncia qual o parmetro x elevado.

Retorna

Um nmero.
Descrio

Mtodo; calcula e retorna x potncia de y: xy.

518

Captulo 12: Dicionrio do ActionScript

Math.random()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.random() Parmetros

Nenhum.
Retorna

Um nmero.
Descrio

Mtodo; retorna n, onde 0 <= n < 1.


Consulte tambm random

Math.round()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.round(x) Parmetros x

Um nmero.

Retorna

Um nmero.
Descrio

Mtodo; arredonda o valor do parmetro x para cima ou para baixo para o inteiro mais prximo e retorna esse valor.

Math.round()

519

Math.sin()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.sin(x) Parmetros x

Um ngulo medido em radianos.

Retorna

Nmero; o seno do ngulo especificado (entre -1,0 e 1,0).


Descrio

Mtodo; calcula e retorna o seno do ngulo especificado em radianos. Use as informaes descritas na entrada da Classe Math para calcular um radiano.

Math.sqrt()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.sqrt(x) Parmetros x

Um nmero ou expresso maior que ou igual a 0.

Retorna

Um nmero.
Descrio

Mtodo; calcula e retorna a raiz quadrada do nmero especificado.

520

Captulo 12: Dicionrio do ActionScript

Math.SQRT1_2
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.SQRT1_2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; constante matemtica da raiz quadrada de 1/2.

Math.SQRT2
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.SQRT2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; uma constante matemtica para a raiz quadrada de 2, com um valor aproximado de 1,414213562373.

Math.SQRT2

521

Math.tan()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.tan(x) Parmetros x

Um ngulo medido em radianos.

Retorna

Um nmero.
Descrio

Mtodo; calcula e retorna a tangente do ngulo especificado. Para calcular um radiano, use as informaes apresentadas na introduo da Classe Math.
Consulte tambm Math.atan()

maxscroll
Disponibilidade

Flash Player 4. Esta funo foi substituda pela propriedade TextField.maxscroll.


Uso nome_varivel.maxscroll Descrio

Propriedade (somente de leitura); uma propriedade obsoleta que indica o nmero da linha visvel mais acima do texto em um campo quando a linha mais inferior desse campo tambm est visvel. A propriedade maxscroll funciona em conjunto com a propriedade scroll para controlar a exibio de informaes em um campo de texto. Esta propriedade pode ser recuperada, mas no modificada.
Consulte tambm TextField.maxscroll, TextField.scroll

522

Captulo 12: Dicionrio do ActionScript

mbchr
Disponibilidade

Flash Player 4. Esta funo foi substituda pelo mtodo String.fromCharCode().


Uso mbchr(nmero) Parmetros nmero Retorna

O nmero a ser convertido em um caractere de vrios bytes.

Uma seqncia de caracteres.


Descrio

Funo de seqncia de caracteres; converte um nmero de cdigo ASCII em um caractere de vrios bytes.
Consulte tambm String.fromCharCode()

mblength
Disponibilidade

Flash Player 4. Esta funo foi substituda pela Classe String.


Uso mblength(seqncia_de_caracteres) Parmetros seqncia_de_caracteres Retorna

Uma seqncia de caracteres.

Um nmero.
Descrio

Funo de seqncia de caracteres; retorna o tamanho da seqncia de caracteres de vrios bytes.

mblength

523

mbord
Disponibilidade

Flash Player 4. Esta funo foi substituda no Flash 5 por String.charCodeAt().


Uso mbord(caractere) Parmetros caractere Retorna

O caractere a ser convertido em um nmero de vrios bytes.

Um nmero.
Descrio

Funo de seqncia de caracteres; converte o caractere especificado em um nmero de vrios bytes.


Consulte tambm String.fromCharCode()

mbsubstring
Disponibilidade

Flash Player 4. Esta funo foi substituda no Flash 5 por String.substr().


Uso mbsubstring(valor, ndice, contagem) Parmetros valor A seqncia de caracteres de vrios bytes da qual extrair uma nova seqncia de caracteres de vrios bytes. ndice contagem

O nmero do primeiro caractere a ser extrado.

O nmero de caracteres a ser includo na seqncia de caracteres extrada, sem incluir o caractere ndice.

Retorna

Uma seqncia de caracteres.


Descrio

Funo de seqncia de caracteres; extrai uma nova seqncia de caracteres de vrios bytes de uma seqncia de caracteres de vrios bytes.
Consulte tambm String.substr()

524

Captulo 12: Dicionrio do ActionScript

Classe Microphone
Disponibilidade

Flash Player 6.
Descrio

A classe Microphone permite que voc capture udio de um microfone conectado ao computador que esteja executando o Flash Player. A classe Microphone serve, basicamente, para o Flash Communication Server, porm, pode ser usada de maneira limitada sem o servidor. Por exemplo, para transmitir som do microfone para os alto-falantes no seu sistema local. Para criar ou fazer referncia a um objeto Microphone, use o mtodo Microphone.get(). Resumo dos mtodos da classe Microphone
Mtodo
Microphone.get()

Descrio Retornar um objeto Microphone padro ou especificado, ou null, se o microfone no estiver disponvel. Especifica quanto aumento de intensidade deve ser aplicado ao sinal do microfone. Especifica a taxa na qual o microfone deve capturar som, em kHz. Especifica a intensidade de som necessria para ativar o microfone. do codec de udio.

Microphone.setGain()

Microphone.setRate()

Microphone.setSilenceLevel()

Microphone.setUseEchoSuppression() Especifica se preciso usar o recurso de supresso de eco

Resumo das propriedades da classe Microphone


Propriedade (somente de leitura)
Microphone.activityLevel Microphone.gain

Descrio O nvel de som que o microfone est detectando. O aumento de intensidade que o microfone aplica ao sinal antes de transmiti-lo. O ndice do microfone atual. Um valor booleano que indica se o usurio permitiu ou negou acesso ao microfone. O nome do dispositivo atual de captura de som, de acordo com o retorno do hardware de captura de som. Propriedade da classe: um array de seqncias de caracteres que refletem os nomes de todos os dispositivos de captura de som disponveis, inclusive placas de som e microfones. A taxa de captura de som, em kHz.

Microphone.index Microphone.muted

Microphone.name

Microphone.names

Microphone.rate

Classe Microphone

525

Propriedade (somente de leitura)


Microphone.silenceLevel() Microphone.silenceTimeout()

Descrio A intensidade de som necessria para ativar o microfone. O nmero de milissegundos entre o momento em que o microfone pra de detectar som e o momento em que Microphone.onActivity(false) chamado. Um valor booleano que especifica se a supresso de eco est sendo usada.

Microphone.useEchoSuppression()

Resumo dos manipuladores de eventos da classe Microphone


Manipulador de eventos
Microphone.onActivity

Descrio Chamado quando o microfone inicia ou pra de detectar som. Chamado quando o usurio permite ou nega acesso ao microfone.

Microphone.onStatus

Construtor da classe Microphone Consulte Microphone.get().

Microphone.activityLevel
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.activityLevel Descrio

Propriedade somente de leitura; valor numrico que especifica o nvel do som que o microfone est detectando. Intervalo de valores de 0 (nenhum som est sendo detectado) a 100 (est sendo detectado som muito alto). O valor desta propriedade pode ajudar voc a determinar um bom valor para passar para o mtodo Microphone.setSilenceLevel(). Se o microfone estiver disponvel, mas ainda no estiver sendo usado porque Microphone.get() no foi chamado, esta propriedade ter o valor -1.
Exemplo

O exemplo abaixo atribui varivel level o nvel da atividade do microfone atual, meuMic.activityLevel.
var nvel = meuMic.activityLevel; Consulte tambm Microphone.setGain()

526

Captulo 12: Dicionrio do ActionScript

Microphone.gain
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.gain Descrio

Propriedade somente de leitura; o aumento de intensidade que o microfone aplica ao sinal. Os valores vlidos so de 0 a 100. O valor padro 50.
Exemplo

O exemplo abaixo anexado ponta de uma barra deslizante. Quando este clipe for carregado, o Flash verificar o valor meuMic.gain e fornecer um valor padro, caso este valor esteja indefinido. A posio _x usada para definir o ganho do microfone de acordo com a preferncia do usurio.
onClipEvent(load){ if (_root.meuMic.gain == undefined) { _root.meuMic.setGain = 75; } this._x = _root.meuMic.gain; _root.txt_micgain = this._x; esq = this._x; dir = esq+50; topo = this._y; base = topo; } on(press){ startDrag(this, false, esq, topo, dir, base); this._xscale = 100; this._yscale = 100; } on (release, releaseOutside) { stopDrag(); g = (this._x-50)*2; _root.meuMic.setGain(g); _root.txt_micgain = g; this._xscale = 100; this._yscale = 100; } Consulte tambm Microphone.setGain()

Microphone.gain

527

Microphone.get()
Disponibilidade

Flash Player 6.
Uso Microphone.get([ndice]) Observao: A sintaxe correta Microphone.get(). Para atribuir o objeto Microphone a uma varivel, use uma sintaxe como active_mic=Microphone.get(). Parmetros ndice Um inteiro opcional que tem zero como base e que especifica o microfone a ser obtido, determinado a partir do array contido em Microphone.names. Para obter o microfone padro (que o recomendvel para a maioria dos aplicativos), omita esse parmetro. Retorna

Se ndice no for especificado, este mtodo retornar uma referncia ao microfone padro ou,
se ele no estiver disponvel, ao primeiro microfone disponvel. Se no houver nenhum microfone disponvel nem instalado, o mtodo retornar null. Se ndice for especificado, este mtodo retornar uma referncia ao microfone solicitado ou null, caso este no esteja disponvel.

Descrio

Mtodo; retorna uma referncia a um objeto Microphone para captura de udio. Para comear realmente a capturar udio, voc deve associar o objeto Microphone a um objeto MovieClip (consulte MovieClip.attachAudio()). Diferentemente dos objetos criados com o construtor new, vrias chamadas a Microphone.get() fazem referncia ao mesmo microfone. Desta maneira, se seu script contiver as linhas mic1=Microphone.get() e mic2=Microphone.get(), tanto mic1 como mic2 faro referncia ao mesmo microfone (padro). Em geral, voc no deve passar um valor para ndice. Simplesmente use Microphone.get() para obter uma referncia ao microfone padro. Por meio do painel de configuraes Microphone (Microfone) (descrito posteriormente nesta seo), o usurio pode especificar o microfone padro que o Flash deve usar. Se voc passar um valor para ndice, poder estar tentando fazer referncia a um microfone que no o preferido do usurio. O ndice ser usado em poucos casos por exemplo, se o aplicativo estiver capturando udio de dois microfones ao mesmo tempo. Quando um arquivo SWF tenta acessar o microfone retornado pelo mtodo Microphone.get(), por exemplo, quando voc emite MovieClip.attachAudio(), o Flash Player exibe uma caixa de dilogo Privacy (Privacidade) que permite ao usurio determinar se vai permitir ou negar acesso ao microfone. Certifique-se de que o tamanho do Stage (Palco) seja de pelo menos 215 x 138 pixels. Esse o tamanho mnimo que o Flash necessita para exibir a caixa de dilogo.

528

Captulo 12: Dicionrio do ActionScript

Quando o usurio responde a esta caixa de dilogo, o manipulador de eventos Microphone.onStatus retorna um objeto de informao que indica a resposta do usurio. Para descobrir se o usurio negou ou permitiu acesso cmera sem processar este manipulador de eventos, use Microphone.muted. O usurio tambm pode especificar configuraes permanentes de privacidade para determinado domnio clicando com o boto direito do mouse (no Windows) ou pressionando Control e clicando com o mouse (no Macintosh) enquanto um arquivo SWF estiver sendo reproduzido, escolhendo Settings (Configuraes), abrindo o painel Privacy e selecionando Remember (Lembrar-se).

Se Microphone.get() retornar null, o microfone estar sendo usado por outro aplicativo ou no h microfones instalados no sistema. Para descobrir se h microfones instalados, use Microphones.names.length. Para exibir o painel Flash Player Microphone Settings (Configuraes de microfone do Flash Player), que permite ao usurio escolher o microfone ao qual Microphone.get() deve fazer referncia, use System.showSettings(2).

Exemplo

O exemplo abaixo permite que o usurio especifique o microfone padro; em seguida captura udio e o reproduz localmente. Para evitar microfonia, talvez seja conveniente testar este cdigo enquanto estiver com os fones de ouvido.
System.showSettings(2); meuMic = Microphone.get(); _root.attachAudio(meuMic); Consulte tambm Microphone.index, Microphone.muted, Microphone.names, Microphone.onStatus, MovieClip.attachAudio()

Microphone.get()

529

Microphone.index
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.ndice Descrio

Propriedade somente de leitura; um inteiro que tem zero como base e que especifica o ndice do microfone, de acordo com o array retornado por Microphone.names.
Consulte tambm Microphone.get(), Microphone.names

Microphone.muted
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.muted Descrio

Propriedade somente de leitura; um valor booleano que especifica se o usurio negou (true) ou permitiu (false) o acesso ao microfone. Quando se modifica esse valor, Microphone.onStatus chamado. Para obter mais informaes, consulte Microphone.get().
Exemplo

No exemplo abaixo, se o microfone no estiver mudo, quando o usurio clicar no boto, o Flash publicar e reproduzir um fluxo ao vivo.
on (press) { // Se o usurio colocar o microfone em mudo, o programa exibir a informao // de desconectado. // Seno, publicar e reproduzir um fluxo ao vivo a partir do microfone. // if(meuMic.muted) { _root.debugWindow+="Microfone desconectado." + newline; } else { // Publica os dados do microfone chamando // a funo pubLive() de root. _root.pubLive(); // Reproduz o que estiver sendo publicado chamando // a funo playLive() de root. _root.playLive(); } } Consulte tambm Microphone.get(), Microphone.onStatus

530

Captulo 12: Dicionrio do ActionScript

Microphone.name
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.name Descrio

Propriedade somente de leitura; uma seqncia de caracteres que especifica o nome do dispositivo atual de captura de som, como informado pelo hardware de captura de som.
Exemplo

O exemplo abaixo exibe o nome do microfone padro no painel Output (Sada).


meuMic = Microphone.get(); trace("O nome do microfone : " + meuMic.name); Consulte tambm Microphone.get(), Microphone.names

Microphone.name

531

Microphone.names
Disponibilidade

Flash Player 6.
Uso Microphone.names Observao: A sintaxe correta Microphone.names. Para atribuir o valor de retorno a uma varivel, use a sintaxe mic_array = Microphone.names. Para descobrir o nome do microfone atual, use microfoneAtivo.name. Descrio

Propriedade de classe somente de leitura; recupera um array de seqncias de caracteres que contm os nomes de todos os dispositivos de captura de sons disponveis sem exibir o painel Privacy Settings (Configuraes de privacidade) do Flash Player. Este array comporta-se da mesma forma que qualquer outro array do ActionScript, fornecendo implicitamente o ndice, que comea por zero, de cada dispositivo de captura de som e a quantidade de dispositivos de captura de som do sistema (atravs de Microphone.names.length). Para obter mais informaes, consulte a entrada da Classe Array. Chamar Microphone.names exige uma anlise detalhada do hardware e o array poder levar alguns segundos para ser criado. Na maioria dos casos, possvel usar diretamente o microfone padro.
Exemplo

Este cdigo retorna informaes do array de dispositivos de udio.


todosNomesMic_array = Microphone.names; _root.debugWindow += "Microphone.names localizou estes dispositivos:" + newline; for(i=0; i < todosNomesMic_array.length; i++){ debugWindow += "[" + i + "]: " + todosNomesMic[i] + newline; }

Por exemplo, poder ser exibida a seguinte informao:


Microphone.names localizou estes dispositivos: [0]: Crystal SoundFusion(tm) [1]: USB Audio Device Consulte tambm

Classe Array, Microphone.name

532

Captulo 12: Dicionrio do ActionScript

Microphone.onActivity
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.onActivity = function(atividade) { // suas instrues entram aqui } Parmetros atividade Um valor booleano definido como true quando o microfone comea a detectar som e false quando pra. Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o microfone comea ou pra de detectar som. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o valor atividade. Para especificar a intensidade de som necessria para chamar Microphone.onActivity(true) e o tempo que deve decorrer sem som antes que Microphone.onActivity(false) seja chamado, use Microphone.setSilenceLevel().
Exemplo

O exemplo abaixo exibe true ou false no painel Output (Sada) quando o microfone comea ou pra de detectar som.
m = Microphone.get(); _root.attachAudio(m); m.onActivity = function(mode) { trace(mode); }; Consulte tambm Microphone.onActivity, Microphone.setSilenceLevel()

Microphone.onActivity

533

Microphone.onStatus
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.onStatus = function(objetoInfo) { // suas instrues entram aqui } Parmetros objetoInfo Retorna

Um parmetro definido de acordo com a mensagem de status.

Nada.
Descrio

Manipulador de eventos; chamado quando o usurio permite ou nega acesso ao microfone. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o objeto de informao gerado pelo microfone. Quando um arquivo SWF tenta acessar o microfone, o Flash Player exibe uma caixa de dilogo Privacy (Privacidade) para que o usurio permita ou proba o acesso.

Se o usurio permitir o acesso, a propriedade Microphone.muted ser definida como false e


esse manipulador de eventos ser chamado com um objeto de informao cuja propriedade "Microphone.Unmuted" e cuja propriedade level "Status". Se o usurio proibir o acesso, a propriedade Microphone.muted ser definida como true e esse manipulador de eventos ser chamado com um objeto de informao cuja propriedade code "Microphone.Muted" e cuja propriedade level "Status".
code

Para descobrir se o usurio proibiu ou permitiu acesso ao microfone sem processar este manipulador de eventos, use Microphone.muted.
Observao: Se o usurio optar por permanentemente permitir ou negar acesso para todos os arquivos SWF de um domnio especfico, esse mtodo no ser chamado para arquivos SWF desse domnio, a menos que o usurio altere posteriormente a configurao de privacidade. Para obter mais informaes, consulte Microphone.get(). Exemplo

Consulte o exemplo de Camera.onStatus.


Consulte tambm Microphone.get(), Microphone.muted

534

Captulo 12: Dicionrio do ActionScript

Microphone.rate
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.rate Descrio

Propriedade somente de leitura; a taxa na qual o microfone est capturando som, em kHz. O valor padro ser de 8 kHz se seu dispositivo de captura de som suportar esse valor. Caso contrrio, o valor padro ser o prximo nvel de captura disponvel acima de 8 kHz suportado pelo seu dispositivo de captura de som, que geralmente de 11 kHz. Para definir este valor, use Microphone.setRate().
Exemplo

O exemplo abaixo salva a taxa atual na varivel original.


original = meuMic.rate; Consulte tambm Microphone.setRate()

Microphone.rate

535

Microphone.setGain()
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.setGain(ganho) Parmetros ganho

Um inteiro que especifica qual o aumento de intensidade deve ser aplicado ao sinal do microfone. Os valores vlidos so de 0 a 100. O valor padro 50. Entretanto, o usurio pode alterar este valor no painel Microphone Settings (Configuraes de microfone) do Flash Player).

Retorna

Nada.
Descrio

Mtodo; define o ganho do microfone, ou seja, o valor pelo qual o microfone deve multiplicar o sinal antes de transmiti-lo. Um valor 0 diz ao Flash para multiplicar por 0, ou seja, o microfone no transmitir nenhum som. Voc pode considerar esta configurao como um boto de volume em um aparelho de som: 0 especifica que est sem volume e 50 o volume normal; os nmeros abaixo de 50 especificam volumes abaixo do normal, ao passo que nmeros acima de 50 especificam volumes acima do normal.
Exemplo

O exemplo abaixo garante que a configurao de ganho do microfone seja menor ou igual a 55.
var meuMic = Microphone.get(); if (meuMic.gain > 55){ meuMic.setGain(55); } Consulte tambm Microphone.gain, Microphone.setUseEchoSuppression()

536

Captulo 12: Dicionrio do ActionScript

Microphone.setRate()
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.setRate(kHz) Parmetros kHz A taxa na qual o microfone deve capturar som, em kHz. Os valores aceitveis so 5, 8, 11, 22 e 44. O valor padro ser 8 kHz se seu dispositivo de captura de som suportar este valor. Caso contrrio, o valor padro ser o prximo nvel de captura disponvel acima de 8 kHz suportado pelo seu dispositivo de captura de som, que geralmente de 11 kHz. Retorna

Nada.
Descrio

Mtodo; define a taxa, em kHz, na qual o microfone deve capturar som.


Exemplo

O exemplo abaixo definir a taxa do microfone segundo a preferncia do usurio (que foi atribuda por voc na varivel taxaUsurio), se ela for um dos seguintes valores: 5, 8, 11, 22 ou 44. Caso no seja, o valor ser arredondado para o valor aceitvel mais prximo que o dispositivo de captura de som suporta.
meuMic.setRate(taxaUsurio); Consulte tambm Microphone.rate

Microphone.setRate()

537

Microphone.setSilenceLevel()
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.setSilenceLevel(nvel [, tempoLimite]) Parmetros nvel Um inteiro que especifica o nvel do som necessrio para ativar o microfone e chamar Microphone.onActivity(true). O intervalo de valores aceitveis vai de 0 a 100. O valor padro

10. Um parmetro inteiro opcional que especifica quantos milissegundos devem decorrer sem atividade antes do Flash considerar que o som parou e chamar Microphone.onActivity(false). O valor padro 2000 (2 segundos).
tempoLimite Retorna

Nada.
Descrio

Mtodo; define o nvel de entrada mnimo que deve ser considerado como som e (opcionalmente) quanto tempo de silncio deve transcorrer para assumir que o silncio realmente comeou.

Para evitar que o microfone detecte qualquer som, passe o valor 100 para nvel; assim
Microphone.onActivity

nunca ser chamado.

Para descobrir o nvel de som que o microfone est detectando no momento, use
Microphone.activityLevel.

A deteco de atividade a capacidade de detectar quando os nveis de udio sugerem que h uma pessoa falando. Quando no houver ningum falando, a largura de banda pode ser economizada porque no h necessidade de enviar fluxo de udio associado. Esta informao tambm pode ser usada para resposta visual de forma que os usurios saibam que eles (ou outros) esto silenciosos. Os valores de silncio correspondem diretamente a valores de atividade. O silncio completo um valor de atividade 0. O barulho alto constante (to alto quanto possa ser registrado com base na configurao de ganho atual) um valor de atividade 100. Depois de adequadamente ajustado o ganho, o valor da sua atividade ser menor que o valor do seu silncio quando voc no estiver falando; e quando estiver falando, o valor da atividade exceder o valor do silncio. Esse mtodo semelhante, na sua finalidade, a Camera.setMotionLevel(). Ambos so usados para especificar quando o manipulador de eventos onActivity deve ser chamado. No entanto, esses mtodos tm impacto significativamente diferente na publicao de fluxos:

foi criado para detectar movimento e no afeta o uso da largura de banda. Mesmo que um fluxo de vdeo no detecte movimento, o vdeo ainda assim enviado. Microphone.setSilenceLevel() foi criado para otimizar a largura de banda. Quando um fluxo de udio considerado silencioso, nenhum dado de udio enviado. Em vez disso, uma nica mensagem enviada, indicando que o silncio foi iniciado.
Camera.setMotionLevel()

538

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo abaixo altera o nvel de silncio com base na entrada do usurio. O boto tem o seguinte cdigo anexado:
on (press) { this.makeSilenceLevel(this.silenceLevel); }

A funo makeSilenceLevel() chamada pelo boto continua:


function makeSilenceLevel(s) { this.obj.setSilenceLevel(s); this.SyncMode(); this.silenceLevel= s; }

Para obter mais informaes, consulte o exemplo de Camera.setMotionLevel().


Consulte tambm Microphone.activityLevel, Microphone.onActivity, Microphone.setGain(), Microphone.silenceLevel(), Microphone.silenceTimeout()

Microphone.setSilenceLevel()

539

Microphone.setUseEchoSuppression()
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.setUseEchoSuppression(supresso) Parmetros supresso

Um valor booleano que indica se a supresso de eco deve ser usada (true) ou no

(false).
Retorna

Nada.
Descrio

Mtodo; especifica se para usar o recurso de supresso de eco do codec de udio. O valor padro false, a menos que o usurio tenha selecionado Reduce Echo (Reduzir eco) no painel Microphone Settings (Configuraes de microfone) do Flash Player. A supresso de eco um esforo para reduzir os efeitos de microfonia, que causado quando o som que sai do alto-falante capturado pelo microfone do mesmo computador. Isso diferente do cancelamento de eco, que remove totalmente a resposta. Geralmente, a supresso de eco aconselhvel quando o som que est sendo capturado reproduzido pelos alto-falantes, e no pelo fone de ouvido, no mesmo computador. Se seu arquivo SWF permitir que os usurios especifiquem o dispositivo de sada de som, talvez seja conveniente chamar Microphone.setUseEchoSuppression(true), caso eles informem que esto usando alto-falantes e que tambm usaro o microfone. Os usurios tambm podem ajustar essas configuraes no painel Microphone Settings do Flash Player.
Exemplo

O exemplo abaixo ativa a supresso de eco.


meu_mic.setUseEchoSuppression(true); Consulte tambm Microphone.setGain(), Microphone.useEchoSuppression()

540

Captulo 12: Dicionrio do ActionScript

Microphone.silenceLevel()
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.silenceLevel Descrio

Propriedade somente de leitura; um inteiro que especifica o nvel do som necessrio para ativar o microfone e chamar Microphone.onActivity(true). O valor padro 10.
Exemplo

Consulte o exemplo de Microphone.silenceTimeout().


Consulte tambm Microphone.gain, Microphone.setSilenceLevel()

Microphone.silenceTimeout()
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.silenceTimeout Descrio

Propriedade somente de leitura; um valor numrico que representa o tempo em milissegundos entre o momento em que o microfone pra de detectar som e o momento em que Microphone.onActivity(false) chamado. O valor padro 2000 (2 segundos). Para definir esse valor, use Microphone.setSilenceLevel().
Exemplo

O exemplo a seguir define o tempo limite com o dobro do valor atual.


meuMic.setSilenceLevel(meuMic.silenceLevel, meuMic.silenceTimeOut * 2); Consulte tambm Microphone.setSilenceLevel()

Microphone.silenceTimeout()

541

Microphone.useEchoSuppression()
Disponibilidade

Flash Player 6.
Uso microfoneAtivo.useEchoSuppression Descrio

Propriedade somente de leitura; um valor booleano true se a supresso de eco for ativada e false se no for. O valor padro false, a menos que o usurio tenha selecionado Reduce Echo (Reduzir eco) no painel Microphone Settings (Configuraes de microfone) do Flash Player.
Exemplo

O exemplo abaixo verifica a supresso de eco e ativa-a se estiver desativada.


_root.meuMic.onActivity = function(active) { if (active == true) { if (_root.meuMic.useEchoSuppression == false) { _root.meuMic.setUseEchoSuppression(true); } } } Consulte tambm Microphone.setUseEchoSuppression()

542

Captulo 12: Dicionrio do ActionScript

MMExecute()
Disponibilidade

Flash Player 7.
Uso MMExecute("comando Flash JavaScript API;") Parmetros comando Flash JavaScript API

Qualquer comando que possa ser usado em um arquivo

JSFL (Flash JavaScript).


Retorna

O resultado, se houver, enviado pela instruo JavaScript.


Descrio

Funo; permite emitir comandos de API do Flash JavaScript no ActionScript. A JSAPI (Flash JavaScript API) oferece vrios objetos, mtodos e propriedades para duplicar ou emular comandos que um usurio pode inserir no ambiente de criao. Com a JSAPI, voc pode criar scripts que ampliam os recursos do Flash de vrias maneiras: adicionando comandos a menus, manipulando objetos no Stage (Palco), repetindo seqncias de comandos, etc. Em geral, um usurio executa um script JSAPI selecionando Commands (Comandos) > Run Command (Executar comando). No entanto, voc pode usar essa funo em um script do ActionScript para chamar um comando JSAPI diretamente. Se voc usar MMExecute() em um script no Frame 1 (Quadro 1) do arquivo, o comando ser executado quando o arquivo SWF for carregado. Para obter mais informaes sobre a JSAPI, consulte www.macromedia.com/go/jsapi_info_en.
Exemplo

O comando a seguir retorna um array de objetos na biblioteca:


var libe:Array = MMExecute("fl.getDocumentDOM().library.items;"); trace(libe.length + " itens na biblioteca");

MMExecute()

543

Classe Mouse
Disponibilidade

Flash Player 5.
Descrio

A classe Mouse uma classe do nvel mais alto, cujas propriedades e mtodos podem ser acessados sem uso de um construtor. Voc pode usar os mtodos da classe Mouse para ocultar e mostrar o ponteiro do mouse (cursor) no arquivo SWF. Por padro, o ponteiro do mouse fica visvel, mas possvel ocult-lo e implementar um ponteiro personalizado usando um clipe de filme. (consulte Criando um ponteiro de mouse personalizado na pgina 100). Resumo dos mtodos da classe Mouse
Mtodo
Mouse.addListener()

Descrio Registra um objeto para receber as notificaes onMouseDown, onMouseMove e onMouseUp. Oculta o ponteiro do mouse no arquivo SWF. Remove um objeto que foi registrado com addListener(). Exibe o ponteiro do mouse no arquivo SWF.

Mouse.hide() Mouse.removeListener() Mouse.show()

Resumo dos ouvintes da classe Mouse


Mtodo
Mouse.onMouseDown Mouse.onMouseMove Mouse.onMouseUp Mouse.onMouseWheel

Descrio Notificado quando o boto do mouse pressionado. Notificado quando o boto do mouse movido. Notificado quando o boto do mouse liberado. Notificado quando o usurio rola a roda do mouse.

544

Captulo 12: Dicionrio do ActionScript

Mouse.addListener()
Disponibilidade

Flash Player 6.
Uso Mouse.addListener (novoOuvinte) Parmetros novoOuvinte Retorna

Um objeto.

Nada.
Descrio

Mtodo; registra um objeto para receber notificaes dos ouvintes onMouseDown, onMouseMove e onMouseUp. O parmetro novoOuvinte deve conter um objeto com mtodos definidos para os ouvintes onMouseDown, onMouseMove e onMouseUp. Quando o mouse pressionado, movido ou liberado, independentemente do foco de entrada, todos os objetos ouvintes registrados com este mtodo tm seu mtodo onMouseDown, onMouseMove ou onMouseUp chamado. Vrios objetos podem ouvir notificaes de mouse. Se o ouvinte novoOuvinte j estiver registrado, nenhuma alterao ocorrer.
Consulte tambm Mouse.onMouseDown, Mouse.onMouseMove, Mouse.onMouseUp

Mouse.addListener()

545

Mouse.hide()
Disponibilidade

Flash Player 5.
Uso Mouse.hide() Parmetros

Nenhum.
Retorna

Um valor booleano: true se o ponteiro estiver visvel e false se o ponteiro estiver invisvel.
Descrio

Mtodo; oculta o ponteiro em um arquivo SWF. Por padro, o cursor fica visvel.
Exemplo

O cdigo a seguir, associado a um clipe de filme na Timeline (Linha de tempo) principal, oculta o ponteiro padro e define as posies x e y da instncia do clipe de filme customPointer_mc como as posies x e y do mouse na Timeline principal.
onClipEvent(enterFrame){ Mouse.hide(); customPointer_mc._x = _root._xmouse; customPointer_mc._y = _root._ymouse; } Consulte tambm Mouse.show(), MovieClip._xmouse, MovieClip._ymouse

546

Captulo 12: Dicionrio do ActionScript

Mouse.onMouseDown
Disponibilidade

Flash Player 6.
Uso umOuvinte.onMouseDown Parmetros

Nenhum.
Retorna

Nada.
Descrio

Ouvinte; notificado quando o mouse pressionado. Para usar o ouvinte onMouseDown, necessrio criar um objeto ouvinte. Em seguida, voc pode definir uma funo para onMouseDown e usar o mtodo addListener() para registrar o ouvinte com o objeto Mouse, como mostrado no cdigo a seguir:
umOuvinte = new Object(); umOuvinte.onMouseDown = function () { ... }; Mouse.addListener(umOuvinte);

Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Mouse.addListener()

Mouse.onMouseDown

547

Mouse.onMouseMove
Disponibilidade

Flash Player 6.
Uso umOuvinte.onMouseMove Parmetros

Nenhum.
Retorna

Nada.
Descrio

Ouvinte; notificado quando o mouse movido. Para usar o ouvinte onMouseMove, necessrio criar um objeto ouvinte. Em seguida, possvel definir uma funo para onMouseMove e usar o mtodo addListener() para registrar o ouvinte com o objeto Mouse, como mostrado no cdigo a seguir:
umOuvinte = new Object(); umOuvinte.onMouseMove = function () { ... }; Mouse.addListener(umOuvinte);

Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Mouse.addListener()

548

Captulo 12: Dicionrio do ActionScript

Mouse.onMouseUp
Disponibilidade

Flash Player 6.
Uso umOuvinte.onMouseUp Parmetros

Nenhum.
Retorna

Nada.
Descrio

Ouvinte; notificado quando o mouse liberado. Para usar o ouvinte onMouseUp, necessrio criar um objeto ouvinte. Em seguida, voc pode definir uma funo para onMouseUp e usar o mtodo addListener() para registrar o ouvinte com o objeto Mouse, como mostrado no cdigo a seguir:
umOuvinte = new Object(); umOuvinte.onMouseUp = function () { ... }; Mouse.addListener(umOuvinte);

Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Mouse.addListener()

Mouse.onMouseUp

549

Mouse.onMouseWheel
Disponibilidade

Flash Player 7 (somente Windows).


Uso umOuvinte.onMouseWheel = function ( [ delta , scrollTarget ]) { // suas instrues entram aqui } Parmetros delta

Um nmero opcional que indica quantas linhas devem ser roladas para cada ponto rolado na roda do mouse pelo usurio. Um valor delta positivo indica uma rolagem para cima; um valor negativo indica uma rolagem para baixo. Os valores geralmente vo de 1 a 3, ao passo que uma rolagem mais rpida pode resultar em valores maiores. Se voc no desejar especificar um valor para delta, mas quiser especificar um valor para passe null para delta. A instncia de clipe de filme que estava posicionada mais acima sob o mouse quando a roda do mouse rolou.

scrollTarget, scrollTarget

Retorna

Nada.
Descrio

Ouvinte; notificado quando o usurio rola a roda do mouse. Para usar o ouvinte onMouseWheel, necessrio criar um objeto ouvinte. Em seguida, voc pode definir uma funo para onMouseWheel e usar addListener() para registrar o ouvinte com o objeto Mouse.
Observao: Os ouvintes de eventos do Mouse esto disponveis somente nas verses Windows do Flash Player. Exemplo

O exemplo abaixo mostra como criar um objeto ouvinte que responda aos eventos do mouse. Neste exemplo, a coordenada x de um objeto de clipe de filme chamado clip_mc (no mostrado) ser alterada sempre que o usurio rolar a roda do mouse.
ouvinteMouse = new Object(); ouvinteMouse.onMouseWheel = function(delta) { clip_mc._x += delta; } Mouse.addListener(ouvinteMouse); Consulte tambm Mouse.addListener(), TextField.mouseWheelEnabled

550

Captulo 12: Dicionrio do ActionScript

Mouse.removeListener()
Disponibilidade

Flash Player 6.
Uso Mouse.removeListener (ouvinte) Parmetros ouvinte Retorna

Um objeto.

Se o objeto ouvinte tiver sido removido com xito, o mtodo retornar true; se a remoo do ouvinte no tiver sido bem-sucedida (por exemplo, se o ouvinte no estava na lista de ouvintes do objeto Mouse), o mtodo retornar false.
Descrio

Mtodo; remove um objeto registrado anteriormente com o mtodo addListener().

Mouse.show()
Disponibilidade

Flash Player 5.
Uso Mouse.show() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; exibe o ponteiro do mouse em um arquivo SWF. Por padro, o cursor fica visvel.
Consulte tambm Mouse.show(), MovieClip._xmouse, MovieClip._ymouse

Mouse.show()

551

Classe MovieClip
Disponibilidade

Flash Player 3.
Descrio

Os mtodos da classe MovieClip oferecem a mesma funcionalidade que as aes em relao a clipes de filme de destino. Tambm existem mtodos adicionais que no tm aes equivalentes na caixa de ferramentas Actions (Aes) do painel Actions. Voc no precisa usar um mtodo construtor para chamar os mtodos da classe MovieClip. Em vez disso, faa referncia s instncias do clipe de filme por nome, usando a seguinte sintaxe:
meu_mc.play(); meu_mc.gotoAndPlay(3);

Resumo dos mtodos da classe MovieClip


Mtodo
MovieClip.attachAudio() MovieClip.attachMovie()

Descrio Captura e reproduz udio local no microfone. Anexa um arquivo SWF biblioteca.

MovieClip.createEmptyMovieClip() Cria um clipe de filme vazio. MovieClip.createTextField() MovieClip.duplicateMovieClip() MovieClip.getBounds()

Cria um campo de texto vazio. Duplica o clipe de filme especificado. Retorna as coordenadas x e y mnimas e mximas de um arquivo SWF em um espao de coordenadas especificado. Retorna o nmero de bytes carregados do clipe de filme especificado. Retorna o tamanho do clipe de filme, em bytes. Retorna a profundidade de um clipe de filme. Especifica se uma determinada profundidade j est ocupada por um clipe de filme. Especifica o valor de profundidade que pode ser passado para outros mtodos, para assegurar que o Flash renderize o clipe de filme na frente de todos os outros objetos do atual clipe de filme. Retorna um inteiro que indica a verso do Flash Player em que o clipe de filme foi publicado. Retorna um objeto TextSnapshot que contm o texto dos campos de texto estticos no clipe de filme especificado. Recupera um documento de um URL. Converte o objeto Ponto das coordenadas do Stage (Palco) nas coordenadas locais do clipe de filme especificado.

MovieClip.getBytesLoaded()

MovieClip.getBytesTotal() MovieClip.getDepth() MovieClip.getInstanceAtDepth()

MovieClip.getNextHighestDepth()

MovieClip.getSWFVersion()

MovieClip.getTextSnapshot()

MovieClip.getURL() MovieClip.globalToLocal()

552

Captulo 12: Dicionrio do ActionScript

Mtodo
MovieClip.gotoAndPlay()

Descrio Envia a reproduo para um quadro especfico no clipe de filme e reproduz o arquivo SWF. Envia a reproduo para um quadro especfico no clipe de filme e interrompe o arquivo SWF. Retornar true se houver interseo entre a caixa delimitadora do clipe de filme especificado e a caixa delimitadora do clipe de filme de destino. Carrega o arquivo SWF especificado no clipe de filme. Carrega variveis de um URL ou de outro local para o clipe de filme. Converte um objeto Point de coordenadas locais do clipe de filme em coordenadas globais do Stage (Palco). Envia a reproduo para o prximo quadro do clipe de filme. Reproduz o clipe de filme especificado. Envia a reproduo para o quadro anterior do clipe de filme. Remove o clipe de filme da Timeline (Linha de tempo) caso tenha sido criado com duplicateMovieClip(), MovieClip.duplicateMovieClip() ou MovieClip.attachMovie(). Especifica um clipe de filme como uma mscara para outro clipe de filme. Especifica um clipe de filme como arrastvel e comea a arrast-lo. Encerra o arquivo SWF que est sendo reproduzido. Pra de arrastar qualquer clipe de filme que esteja sendo arrastado. Troca o nvel de profundidade de dois arquivos SWF. Remove o arquivo SWF que foi carregado com loadMovie().

MovieClip.gotoAndStop()

MovieClip.hitTest()

MovieClip.loadMovie() MovieClip.loadVariables()

MovieClip.localToGlobal()

MovieClip.nextFrame() MovieClip.play() MovieClip.prevFrame() MovieClip.removeMovieClip()

MovieClip.setMask()

MovieClip.startDrag()

MovieClip.stop() MovieClip.stopDrag()

MovieClip.swapDepths() MovieClip.unloadMovie()

Classe MovieClip

553

Resumo dos mtodos de desenho da classe MovieClip


Mtodo
MovieClip.beginFill() MovieClip.beginGradientFill()

Descrio Comea a desenhar um preenchimento no Stage. Comea a desenhar um preenchimento de gradiente no Stage. Remove todos os comandos de desenho associados a uma instncia de clipe de filme. Desenha uma curva utilizando o ltimo estilo de linha. Conclui o preenchimento especificado por beginFill() ou beginGradientFill(). Define o trao das linhas criadas com os mtodos lineTo() e curveTo(). Desenha uma linha utilizando o estilo de linha atual. Move a posio do desenho atual especificado para determinadas coordenadas.

MovieClip.clear()

MovieClip.curveTo() MovieClip.endFill()

MovieClip.lineStyle()

MovieClip.lineTo() MovieClip.moveTo()

Resumo das propriedades da classe MovieClip


Propriedade
MovieClip._alpha MovieClip._currentframe

Descrio O valor de transparncia de uma instncia de clipe de filme. O nmero do quadro no qual a reproduo est localizada no momento. O caminho absoluto em notao de sintaxe de barra da instncia do clipe de filme na qual um clipe de filme arrastvel foi solto. Indica se um clipe de filme tipo boto est ativado. Permite que um clipe de filme receba o foco. Indica se um clipe de filme focalizado tem um retngulo amarelo ao seu redor. O nmero de quadros que foram carregados de um arquivo SWF em fluxo. A altura de uma instncia de clipe de filme em pixels. Designa outro clipe de filme para atuar como rea de um clipe de filme tipo boto sensvel a cliques. Define a qualidade de renderizao de arquivos SWF. Associa um objeto ContextMenu a um clipe de filme. O nome da instncia de um clipe de filme. Uma referncia ao clipe de filme que inclui outro clipe de filme. O grau de rotao de uma instncia de clipe de filme.

MovieClip._droptarget

MovieClip.enabled MovieClip.focusEnabled MovieClip._focusrect

MovieClip._framesloaded

MovieClip._height MovieClip.hitArea

MovieClip._highquality MovieClip.menu MovieClip._name MovieClip._parent MovieClip._rotation

554

Captulo 12: Dicionrio do ActionScript

Propriedade
MovieClip._soundbuftime

Descrio O nmero de segundos decorridos antes de um som comear a ser reproduzido. Indica se os filhos de um clipe de filme so includos na ordenao de tabulao automtica. Indica se um clipe de filme includo na ordenao de tabulao. Indica a ordem de tabulao de um objeto. O caminho de destino de uma instncia de clipe de filme. O nmero total de quadros de uma instncia de clipe de filme. Indica se outros botes podem receber eventos de liberao de mouse. O URL do arquivo SWF a partir do qual um clipe de filme foi descarregado. Determina se exibida uma mo quando o usurio rola o cursor do mouse sobre um clipe de filme tipo boto. Um valor booleano que determina se uma instncia de clipe de filme est oculta ou visvel. A largura de uma instncia de clipe de filme em pixels. A coordenada x de uma instncia de clipe de filme. A coordenada x do ponteiro do mouse em uma instncia de clipe de filme. O valor que especifica a porcentagem para o dimensionamento horizontal de um clipe de filme. A coordenada y de uma instncia de clipe de filme. A coordenada y do ponteiro do mouse em uma instncia de clipe de filme. O valor que especifica a porcentagem para o dimensionamento vertical de um clipe de filme.

MovieClip.tabChildren

MovieClip.tabEnabled

MovieClip.tabIndex MovieClip._target MovieClip._totalframes MovieClip.trackAsMenu

MovieClip._url

MovieClip.useHandCursor

MovieClip._visible

MovieClip._width MovieClip._x MovieClip._xmouse

MovieClip._xscale

MovieClip._y MovieClip._ymouse

MovieClip._yscale

Classe MovieClip

555

Resumo dos manipuladores de eventos da classe MovieClip


Manipulador de eventos
MovieClip.onData

Descrio Chamado quando todos os dados so carregados em um clipe de filme. Chamado enquanto o ponteiro est fora do boto, o boto do mouse pressionado no interior e rola para fora da rea do boto. Chamado enquanto o ponteiro est sobre o boto, o boto do mouse foi pressionado, rolado para fora do boto e, a seguir, rolado de volta sobre o boto. Chamado continuamente na taxa de quadros do arquivo SWF. As aes associadas ao evento de clipe enterFrame so processadas antes de qualquer ao de quadro que tenha sido anexada aos quadros afetados. Chamado quando uma tecla pressionada. Use os mtodos Key.getCode() e Key.getAscii() para recuperar informaes sobre a ltima tecla pressionada. Chamado quando uma tecla pressionada. Chamado quando o foco removido de um boto. Chamado quando o clipe de filme criado e aparece na Timeline (Linha de tempo). Chamado quando o boto esquerdo do mouse pressionado. Chamado sempre que o mouse movido. Chamado quando o boto esquerdo do mouse liberado. Chamado quando o mouse pressionado enquanto o ponteiro est sobre um boto. Chamado quando o mouse liberado enquanto o ponteiro est sobre um boto. Chamado na liberao do mouse enquanto o ponteiro estiver fora do boto depois de pressionar o boto enquanto o ponteiro estiver dentro do boto. Chamado quando o ponteiro rola para fora da rea de um boto. Chamado quando o ponteiro do mouse rola sobre um boto. Chamado quando um boto tiver foco de entrada e uma tecla for liberada. Chamado no primeiro quadro aps a remoo do clipe de filme da Timeline. As aes associadas ao evento Unload do clipe de filme so processadas antes que as aes sejam anexadas ao quadro atingido.

MovieClip.onDragOut

MovieClip.onDragOver

MovieClip.onEnterFrame

MovieClip.onKeyDown

MovieClip.onKeyUp MovieClip.onKillFocus MovieClip.onLoad

MovieClip.onMouseDown MovieClip.onMouseMove MovieClip.onMouseUp MovieClip.onPress

MovieClip.onRelease

MovieClip.onReleaseOutside

MovieClip.onRollOut

MovieClip.onRollOver MovieClip.onSetFocus

MovieClip.onUnload

556

Captulo 12: Dicionrio do ActionScript

MovieClip._alpha
Disponibilidade

Flash Player 4.
Uso meu_mc._alpha Descrio

Propriedade; o valor de transparncia alfa do clipe de filme especificado por meu_mc. A faixa de valores vlidos vai de 0 (totalmente transparente) a 100 (totalmente opaco). O valor padro 100. Os objetos em um clipe de filme com _alpha definido como 0 esto ativos, mesmo que estejam invisveis. Por exemplo, ainda ser possvel clicar em um boto do clipe de filme cuja propriedade _alpha esteja definida como 0.
Exemplo

O cdigo a seguir define como 30% a propriedade _alpha de um clipe de filme chamado star_mc quando o boto clicado:
on (release) { star_mc._alpha = 30; } Consulte tambm Button._alpha, TextField._alpha

MovieClip._alpha

557

MovieClip.attachAudio()
Disponibilidade

Flash Player 6; a capacidade de anexar udio de arquivos FLV (Flash Video) foi includa no Flash Player 7.
Uso meu_mc.attachAudio(fonte) Parmetros fonte O objeto que contm o udio a ser reproduzido. Os valores vlidos so um objeto Microphone, um objeto NetStream que est executando um arquivo FLV e false (interrompe a reproduo do udio). Retorna

Nada.
Descrio

Mtodo; especifica a origem de udio a ser reproduzida. Para interromper a reproduo da origem de udio, passe falso para fonte.
Exemplo

O cdigo a seguir associa um microfone a um clipe de filme.


meu_mic = Microphone.get(); this.attachAudio(meu_mic);

O exemplo a seguir mostra como voc pode usar um objeto Sound para controlar o som associado a um arquivo FLV.
// Clipe o nome da instncia do clipe de filme // que contm o objeto vdeo "meu_vdeo". _root.Clipe.meu_vdeo.attachVideo(_root.meuNetStream); _root.Clipe.attachAudio(_root.meuNetStream); var snd = new Sound("_root.Clipe"); //Para ajustar o udio: _root.snd.setVolume(100); Consulte tambm

Classe Microphone, NetStream.play(), Classe Sound, Video.attachVideo()

558

Captulo 12: Dicionrio do ActionScript

MovieClip.attachMovie()
Disponibilidade

Flash Player 5.
Uso meu_mc.attachMovie(nomeId, novoNome, profundidade [, objetoInic]) Parmetros nomeId

O nome de vinculao do smbolo do clipe de filme na biblioteca a ser anexada a um clipe de filme no Stage (Palco). o nome inserido no campo Identifier (Identificador) na caixa de dilogo Linkage Properties (Propriedades de vinculao).
novoNome

Um nome de instncia nico para o clipe de filme que est sendo anexado ao clipe de Um inteiro que especifica o nvel de profundidade em que o arquivo SWF

filme.
profundidade

colocado.
objetoInic

(Suportado pelo Flash Player 6 e posteriores) Objeto que contm as propriedades com as quais se deve preencher o clipe de filme recm-anexado. Este parmetro permite que os clipes de filme criados dinamicamente recebam parmetros de clipe. Se objetoInic no for um objeto, ele ser ignorado. Todas as propriedades de objetoInic so copiadas na nova instncia. As propriedades especificadas com objetoInic esto disponveis para a funo construtora. Este parmetro opcional.

Retorna

Uma referncia instncia recm-criada.


Descrio

Mtodo; pega um smbolo na biblioteca e o anexa ao arquivo SWF no Stage especificado por meu_mc. Use removeMovieClip() ou unloadMovie() para remover um arquivo SWF anexado com attachMovie().
Exemplo

O exemplo a seguir anexa o smbolo com o identificador de vinculao crculo instncia de clipe de filme localizada no Stage do arquivo SWF.
on (release) { coisa.attachMovie( "crculo", "crculo1", 2 ); } Consulte tambm MovieClip.removeMovieClip(), MovieClip.unloadMovie(), Object.registerClass(), removeMovieClip()

MovieClip.attachMovie()

559

MovieClip.beginFill()
Disponibilidade

Flash Player 6.
Uso meu_mc.beginFill([rgb[, alfa]]) Parmetro rgb

Um valor de cor hexadecimal (por exemplo, vermelho corresponde a 0xFF0000, azul a 0x0000FF e assim por diante). Caso este valor no seja fornecido ou esteja indefinido, nenhum preenchimento ser criado. Um nmero inteiro entre 0 e 100 que especifica o valor alfa do preenchimento. Se este valor no for informado, a opo 100 (slido) ser usada. Se o valor for menor que 0, o Flash usar 0. Se for maior que 100, o Flash usar 100.

alfa

Retorna

Nada.
Descrio

Mtodo; indica o incio de um novo caminho de desenho. Se houver um caminho aberto, isto , se a posio do desenho atual no for igual posio anterior especificada em um mtodo moveTo() e se houver um preenchimento associado a ele, este caminho ser fechado com uma linha e preenchido em seguida. Trata-se de um processo semelhante ao que ocorre quando se chama o mtodo endFill(). Se atualmente no houver nenhum preenchimento associado ao caminho, endFill() dever ser chamado para aplicar o preenchimento.
Consulte tambm MovieClip.beginGradientFill(), MovieClip.endFill()

560

Captulo 12: Dicionrio do ActionScript

MovieClip.beginGradientFill()
Disponibilidade

Flash Player 6.
Uso meu_mc.beginGradientFill(tipoPreenchimento, cores, alfas, propores, matriz) Parmetro tipoPreenchimento

A seqncia de caracteres "linear" ou "radial".

cores Um array de valores de cores hexadecimais RGB a ser utilizado no gradiente (por exemplo, vermelho corresponde a 0xFF0000, azul a 0x0000FF e assim por diante). alfas

Array de valores alfa com as cores correspondentes s do array cores; os valores vlidos vo de 0 a 100. Se o valor for menor que 0, o Flash usar 0. Se for maior que 100, o Flash usar 100.

propores

Array com as taxas de distribuio de cor; os valores vlidos vo de 0 a 255. Esse parmetro define a porcentagem da largura em que a cor amostrada a 100 por cento.

matriz Uma matriz de transformao que um objeto com um destes dois conjuntos de propriedades:

a, b, c, d, e, f, g, h, i, podem ser usadas para descrever uma matriz do tipo 3 x 3 da seguinte


forma:
a b c d e f g h i

O exemplo a seguir usa um mtodo beginGradientFill() com um parmetro matriz que um objeto com essas propriedades.
_root.createEmptyMovieClip( "grad", 1 ); with ( _root.grad ) { cores = [ 0xFF0000, 0x0000FF ]; alfas = [ 100, 100 ]; propores = [ 0, 0xFF ]; matriz = { a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1 }; beginGradientFill( "linear", cores, alfas, propores, matriz ); moveto(100.100); lineto(100.300); lineto(300,300); lineto(300,100); lineto(100.100); endFill(); }

MovieClip.beginGradientFill()

561

Se no houver nenhuma propriedade matrixType, todos os outros parmetros sero necessrios. A funo falhar se faltar qualquer parmetro. Esta matriz dimensiona, traslada, gira e inclina o gradiente da unidade, que definido em (-1,-1) e (1,1).

matrixType, x, y, w, h, r. Estas propriedades indicam o seguinte: matrixType a seqncia de caracteres "box", x a posio horizontal relativa ao ponto de registro do clipe pai do canto superior esquerdo do gradiente, y a posio vertical relativa ao ponto de registro do clipe pai do canto superior esquerdo do gradiente, w a largura do gradiente, h a altura e r a rotao em radianos. O exemplo a seguir usa um mtodo beginGradientFill() com um parmetro matriz que um objeto com essas propriedades. _root.createEmptyMovieClip( "grad", 1 ); with ( _root.grad ) { cores = [ 0xFF0000, 0x0000FF ]; alfas = [ 100, 100 ]; propores = [ 0, 0xFF ]; matriz = { matrixType:"box", x:100, y:100, w:200, h:200, r:(45/ 180)*Math.PI }; beginGradientFill( "linear", cores, alfas, propores, matriz ); moveto(100.100); lineto(100.300); lineto(300.300); lineto(300,100); lineto(100.100); endFill(); }

Se houver uma propriedade matrixType, ela dever ser igual a "box" e todos os outros parmetros sero necessrios. A funo falhar se uma dessas condies no for atendida.

562

Captulo 12: Dicionrio do ActionScript

Retorna

Nada.
Descrio

Mtodo; indica o incio de um novo caminho de desenho. Se o primeiro parmetro for undefined, ou se nenhum parmetro tiver sido passado, o caminho no ter preenchimento. Se houver um caminho aberto, isto , se a posio do desenho atual no for igual posio anterior especificada em um mtodo moveTo() e se houver um preenchimento associado a ele, este caminho ser fechado com uma linha e preenchido em seguida. Trata-se de um processo semelhante ao que ocorre quando voc chama o mtodo endFill(). Este mtodo falhar se qualquer uma das condies a seguir for encontrada:

O nmero de itens nos parmetros cores, alfas e propores no for igual. O parmetro tipoPreenchimento no for linear ou radial. Um dos campos no objeto para o parmetro matriz est ausente ou invlido.
Exemplo

O cdigo a seguir usa os dois mtodos para desenhar dois retngulos empilhados, com um preenchimento de gradiente vermelho-azul e um trao slido verde de 5 pontos.
_root.createEmptyMovieClip("goober",1); with ( _root.goober ) { cores = [ 0xFF0000, 0x0000FF ]; alfas = [ 100, 100 ]; propores = [ 0, 0xFF ]; lineStyle( 5, 0x00ff00 ); matriz = { a:500,b:0,c:0,d:0,e:200,f:0,g:350,h:200,i:1}; beginGradientFill( "linear", cores, alfas, propores, matriz ); moveto(100.100); lineto(100.300); lineto(600.300); lineto(600.100); lineto(100.100); endFill(); matriz = { matrixType:"box", x:100, y:310, w:500, h:200, r:(0/180)*Math.PI }; beginGradientFill( "linear", cores, alfas, propores, matriz ); moveto(100.310); lineto(100.510); lineto(600.510); lineto(600.310); lineto(100.310);

MovieClip.beginGradientFill()

563

endFill(); }

Consulte tambm MovieClip.beginFill(), MovieClip.endFill(), MovieClip.lineStyle(), MovieClip.lineTo(), MovieClip.moveTo()

MovieClip.clear()
Disponibilidade

Flash Player 6.
Uso meu_mc.clear() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; remove todos os grficos criados durante a execuo, usando os mtodos de desenho de clipe de filme, inclusive os estilos de linha especificados com MovieClip.lineStyle(). Formas e linhas manualmente desenhadas em tempo de criao (com as ferramentas de desenho do Flash) no so afetadas.
Consulte tambm MovieClip.lineStyle()

564

Captulo 12: Dicionrio do ActionScript

MovieClip.createEmptyMovieClip()
Disponibilidade

Flash Player 6.
Uso meu_mc.createEmptyMovieClip(nomeInstncia, profundidade) Parmetros nomeInstncia

Uma seqncia de caracteres que identifica o nome da instncia do novo clipe

de filme.
profundidade Retorna

Um inteiro que especifica a profundidade do novo clipe de filme.

Uma referncia ao clipe de filme recm-criado.


Descrio

Mtodo; cria um clipe de filme vazio como filho de outro clipe de filme existente. Este mtodo apresenta um comportamento semelhante ao do mtodo attachMovie(), s que no preciso fornecer um nome de vinculao externo para o novo clipe de filme. O ponto de registro de um clipe de filme vazio recm-criado o canto superior esquerdo. Este mtodo falhar se estiver faltando um dos parmetros.
Consulte tambm MovieClip.attachMovie()

MovieClip.createEmptyMovieClip()

565

MovieClip.createTextField()
Disponibilidade

Flash Player 6.
Uso meu_mc.createTextField(nomeInstncia, profundidade, x, y, largura, altura) Parmetros nomeInstncia

Uma seqncia de caracteres que identifica o nome da instncia do novo Um inteiro positivo que especifica a profundidade do novo campo de texto.

campo de texto.
profundidade x y

Um inteiro que especifica a coordenada x do novo campo de texto. Um inteiro que especifica a coordenada y do novo campo de texto. Um inteiro positivo que especifica a largura do novo campo de texto. Um inteiro positivo que especifica a altura do novo campo de texto.

largura altura Retorna

Nada.
Descrio

Mtodo; cria um novo campo de texto vazio como filho do clipe de filme especificado pelo parmetro meu_mc. Voc pode usar createTextField() para criar campos de texto enquanto o arquivo SWF reproduzido. O campo de texto posicionado em (x, y) com as dimenses de largura por altura. Os parmetros x e y so relativos ao clipe de filme recipiente; esses parmetros correspondem s propriedades _x e _y do campo de texto. Os parmetros largura e altura correspondem s propriedades _width e _height do campo de texto. As propriedades padro de um campo de texto so as seguintes:
type = "dynamic" border = false background = false password = false multiline = false html = false embedFonts = false variable = null maxChars = null

566

Captulo 12: Dicionrio do ActionScript

Um campo de texto criado com createTextField() recebe o seguinte objeto TextFormat padro:
font = "Times New Roman" size = 12 textColor = 0x000000 bold = false italic = false underline = false url = "" target = "" align = "left" leftMargin = 0 rightMargin = 0 indent = 0 leading = 0 bullet = false tabStops = [] (empty array) Exemplo

O exemplo a seguir cria um campo de texto com uma largura de 300, uma altura de 100, uma coordenada x de 100, uma coordenada y de 100, sem borda, com texto vermelho e sublinhado.
_root.createTextField("meutexto",1,100,100,300,100); meutexto.multiline = true; meutexto.wordWrap = true; meutexto.border = false; meuformato = new TextFormat(); meuformato.color = 0xff0000; meuformato.bullet = false; meuformato.underline = true; meutexto.text = "este o meu primeiro texto do campo de teste"; meutexto.setTextFormat(meuformato); Consulte tambm

Classe TextFormat

MovieClip.createTextField()

567

MovieClip._currentframe
Disponibilidade

Flash Player 4.
Uso meu_mc._currentframe Descrio

Propriedade (somente de leitura); retorna o nmero do quadro no qual a reproduo est localizada na Timeline (Linha de tempo) especificada por meu_mc.
Exemplo

O exemplo a seguir usa a propriedade _currentframe para direcionar a reproduo de actionClip_mc do clipe de filme para avanar cinco quadros em relao sua posio atual.
actionClip_mc.gotoAndStop(_currentframe + 5);

568

Captulo 12: Dicionrio do ActionScript

MovieClip.curveTo()
Disponibilidade

Flash Player 6.
Uso meu_mc.curveTo(controleX, controleY, ncoraX, ncoraY) Parmetros controleX Um inteiro que especifica uma posio horizontal relativa ao ponto de registro do clipe de filme pai do ponto de controle. controleY Um inteiro que especifica uma posio vertical relativa ao ponto de registro do clipe de filme pai do ponto de controle. ncoraX ncoraY

Um inteiro que especifica uma posio horizontal relativa ao ponto de registro do clipe de filme pai do prximo ponto de ancoragem. Um inteiro que especifica uma posio vertical relativa ao ponto de registro do clipe de filme pai do prximo ponto de ancoragem.

Retorna

Nada.
Descrio

Mtodo; desenha uma curva, utilizando o estilo de linha atual da posio do desenho at (ncoraX, ncoraY), com o ponto de controle definido por (controleX, controleY). Em seguida, a posio do desenho atual ser definida por (ncoraX, ncoraY). Se o contedo do clipe de filme em criao tiver sido elaborado com as ferramentas de desenho do Flash, as chamadas para curveTo() sero desenhadas sob os critrios desse contedo. Se voc chamar curveTo() antes de moveTo(), a posio atual do desenho ser predefinida como (0, 0). Se faltar algum parmetro, o mtodo falhar e a posio atual do desenho no ser alterada.
Exemplo

O exemplo a seguir desenha um crculo com uma linha azul slida e fina, e um preenchimento vermelho slido.
_root.createEmptyMovieClip( "crculo", 1 ); with ( _root.circle ) { lineStyle( 0, 0x0000FF, 100 ); beginFill( 0xFF0000 ); moveTo( 500, 500 ); curveTo( 600, 500, 600, 400 ); curveTo( 600, 300, 500, 300 ); curveTo( 400, 300, 400, 400 ); curveTo( 400, 500, 500, 500 ); endFill(); } Consulte tambm MovieClip.beginFill(), MovieClip.createEmptyMovieClip(), MovieClip.endFill(), MovieClip.lineStyle(), MovieClip.lineTo(), MovieClip.moveTo()

MovieClip.curveTo()

569

MovieClip._droptarget
Disponibilidade

Flash Player 4.
Uso meu_mc._droptarget Descrio

Propriedade (somente de leitura); retorna o caminho absoluto, em notao de sintaxe de barra, da instncia do clipe de filme em que meu_mc foi solto. A propriedade _droptarget sempre retorna um caminho iniciado com uma barra (/). Para comparar a propriedade _droptarget de uma instncia com uma referncia, use a funo eval() para converter o valor retornado da sintaxe de barra em uma referncia de sintaxe de ponto.
Observao: Voc dever executar essa converso se estiver usando o ActionScript 2.0, que no suporta sintaxe de barra. Exemplo

O exemplo a seguir avalia a propriedade _droptarget da instncia de clipe de filme garbage e usa eval() para convert-la de sintaxe de barra em uma referncia de sintaxe de ponto. A referncia garbage , ento, comparada com a referncia instncia do clipe de filme trash. Se as duas referncias forem equivalentes, a visibilidade de garbage ser definida como false. Se no forem equivalentes, a instncia de garbage ser redefinida para sua posio original.
if (eval(garbage._droptarget) == _root.trash) { garbage._visible = false; } else { garbage._x = x_pos; garbage._y = y_pos; }

As variveis x_pos e y_pos so definidas no quadro 1 do arquivo SWF com o seguinte script:
x_pos = garbage._x; y_pos = garbage._y; Consulte tambm startDrag()

570

Captulo 12: Dicionrio do ActionScript

MovieClip.duplicateMovieClip()
Disponibilidade

Flash Player 5.
Uso meu_mc.duplicateMovieClip(novonome, profundidade [,objetoInic]) Parmetros novonome

Um identificador exclusivo do clipe de filme duplicado.

profundidade objetoInic

Um nmero exclusivo que especifica o nvel de profundidade em que o arquivo SWF deve ser colocado.

(Suportado pelo Flash Player 6 e posterior.) Um objeto que contm propriedades com as quais se deve preencher o clipe de filme duplicado. Este parmetro permite que os clipes de filme criados dinamicamente recebam parmetros de clipe. Se objetoInic no for um objeto, ele ser ignorado. Todas as propriedades de objetoInic so copiadas na nova instncia. As propriedades especificadas com objetoInic esto disponveis para a funo construtora. Este parmetro opcional.
Retorna

Uma referncia ao clipe de filme duplicado.


Descrio

Mtodo; cria uma instncia do clipe de filme especificado enquanto o arquivo SWF est sendo reproduzido. A reproduo dos clipes de filme duplicados sempre comeam no quadro 1, independentemente de em qual quadro o clipe de filme original esteja quando o mtodo duplicateMovieClip() chamado. As variveis no clipe de filme pai no so copiadas para o clipe de filme duplicado. Os clipes de filme criados com o mtodo duplicateMovieClip() no sero duplicados se voc chamar duplicateMovieClip() a partir de seus pais. Se o clipe de filme pai for excludo, o clipe de filme duplicado tambm o ser.
Consulte tambm duplicateMovieClip(), MovieClip.removeMovieClip()

MovieClip.duplicateMovieClip()

571

MovieClip.enabled
Disponibilidade

Flash Player 6.
Uso meu_mc.enabled Descrio

Propriedade; um valor booleano que indica se um clipe de filme tipo boto est ativado. O valor padro de enabled true. Se for atribudo o valor false para enabled, os mtodos de retorno de chamada do clipe de filme tipo boto e os manipuladores de evento onAction no sero mais chamados. Alm disso, os quadros Over (Sobre), Down (Para baixo) e Up (Para cima) sero desativados. A propriedade enabled no afeta a Timeline (Linha de tempo) do clipe de filme tipo boto; se um clipe de filme estiver sendo reproduzido, esse processo no ser interrompido. O clipe de filme continuar a receber eventos do clipe de filme (por exemplo, mouseDown, mouseUp, keyDown e keyUp). A propriedade enabled regula apenas as propriedades de boto de um clipe de filme tipo boto. possvel alterar a propriedade enabled a qualquer momento; o clipe de filme tipo boto modificado ativado ou desativado imediatamente. possvel ler a propriedade enabled de um objeto prottipo. Se enabled estiver definida como false, o objeto no ser includo na ordenao de tabulao automtica.

MovieClip.endFill()
Disponibilidade

Flash Player 6.
Uso meu_mc.endFill() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; aplica um preenchimento s linhas e curvas includas desde a ltima chamada ao mtodo beginFill() ou beginGradientFill(). O Flash usa o preenchimento especificado na chamada anterior a beginFill() ou beginGradientFill(). Se a posio do desenho atual no for igual posio anterior especificada em um mtodo moveTo() e se um preenchimento tiver sido definido, o caminho ser fechado com uma linha e preenchido em seguida.

572

Captulo 12: Dicionrio do ActionScript

MovieClip.focusEnabled
Disponibilidade

Flash Player 6.
Uso meu_mc.focusEnabled Descrio

Propriedade; se o seu valor for undefined ou false, um clipe de filme no poder receber o foco de entrada, a menos que ele seja um clipe de filme tipo boto. Se o valor da propriedade focusEnabled for true, um clipe de filme poder receber foco de entrada mesmo que no seja um clipe de tipo boto.

MovieClip._focusrect
Disponibilidade

Flash Player 6.
Uso meu_mc._focusrect Descrio

Propriedade; um valor booleano que especifica se um clipe de filme apresentar um retngulo amarelo ao seu redor quando tiver o foco do teclado. Esta propriedade pode prevalecer sobre a propriedade global _focusrect.

MovieClip._focusrect

573

MovieClip._framesloaded
Disponibilidade

Flash Player 4.
Uso meu_mc._framesloaded Descrio

Propriedade (somente de leitura); o nmero de quadros que foram carregados de um arquivo SWF em fluxo. Esta propriedade til para determinar se o contedo de um determinado quadro e de todos os quadros anteriores a ele foram carregados e se esto disponveis localmente no navegador. Esta propriedade til para monitorar o processo de download de arquivos SWF grandes. Por exemplo, voc pode exibir uma mensagem para os usurios indicando que o arquivo SWF est sendo carregado at que determinado quadro do arquivo SWF seja carregado.
Exemplo

O exemplo a seguir usa a propriedade _framesloaded para iniciar um arquivo SWF quando todos os quadros esto carregados. Se nem todos os quadros tiverem sido carregados, a propriedade _xscale da instncia do clipe de filme carregador ser aumentada proporcionalmente para criar uma barra de progresso.
if (_framesloaded >= _totalframes) { gotoAndPlay ("Cena 1", "start"); } else { _root.carregador._xscale = (_framesloaded/_totalframes)*100; } Consulte tambm

Classe MovieClipLoader

574

Captulo 12: Dicionrio do ActionScript

MovieClip.getBounds()
Disponibilidade

Flash Player 5.
Uso meu_mc.getBounds(espaoCoordenadasDestino) Parmetros espaoCoordenadasDestino O caminho de destino da Timeline (Linha de tempo) cujo sistema de coordenadas voc deseja usar como ponto de referncia. Retorna

Um objeto com as propriedades xMin, xMax, yMin e yMax.


Descrio

Mtodo; retorna as propriedades correspondentes aos valores mnimos e mximos de coordenadas x e y da instncia especificada por meu_mc para o parmetro espaoCoordenadasDestino.
Observao: Use MovieClip.localToGlobal() e MovieClip.globalToLocal() para converter as coordenadas locais do clipe de filme em coordenadas do Stage (Palco), ou coordenadas do Stage em coordenadas locais, respectivamente. Exemplo

No exemplo a seguir, o objeto retornado por getBounds() atribudo ao identificador limitesClipe. Em seguida, possvel acessar os valores de cada propriedade e utiliz-los em um script. Outra instncia de clipe de filme, chamada clipe2, colocada junto de clipe neste script.
limitesClipe = clipe.getBounds(_root); clipe2._x = limitesClipe.xMax; Consulte tambm MovieClip.globalToLocal(), MovieClip.localToGlobal()

MovieClip.getBounds()

575

MovieClip.getBytesLoaded()
Disponibilidade

Flash Player 5.
Uso meu_mc.getBytesLoaded() Parmetros

Nenhum.
Retorna

Um inteiro que indica o nmero de bytes carregados.


Descrio

Mtodo; retorna a quantidade de bytes j carregados (transmitidos) do clipe de filme especificado por meu_mc. Este valor pode ser comparado com o valor retornado por MovieClip.getBytesTotal() para determinar a porcentagem j carregada do clipe de filme.
Consulte tambm MovieClip.getBytesTotal()

MovieClip.getBytesTotal()
Disponibilidade

Flash Player 5.
Uso meu_mc.getBytesTotal() Parmetros

Nenhum.
Retorna

Um inteiro que indica o tamanho total, em bytes, de meu_mc.


Descrio

Mtodo; retorna o tamanho em bytes do clipe de filme especificado por meu_mc. No caso de clipes de filme externos (o arquivo SWF raiz ou um clipe de filme que esteja sendo carregado em um destino ou nvel), o valor de retorno ser o tamanho do arquivo SWF.
Consulte tambm MovieClip.getBytesLoaded()

576

Captulo 12: Dicionrio do ActionScript

MovieClip.getDepth()
Disponibilidade

Flash Player 6.
Uso meu_mc.getDepth() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna a profundidade de uma instncia de clipe de filme. Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 137.
Consulte tambm MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth(), MovieClip.swapDepths()

MovieClip.getInstanceAtDepth()
Disponibilidade

Flash Player 7.
Uso meu_mc.getInstanceAtDepth(profundidade) Parmetros profundidade Retorna

Um inteiro que especifica o nvel de profundidade da consulta.

Uma referncia instncia MovieClip localizada na profundidade especificada, ou undefined se no houver nenhum clipe de filme nessa profundidade.
Descrio

Mtodo; permite determinar se uma profundidade especfica j est ocupada por um clipe de filme. Use esse mtodo antes de usar MovieClip.attachMovie(), MovieClip.duplicateMovieClip() ou MovieClip.createEmptyMovieClip() para descobrir se o parmetro profundidade que voc deseja passar para qualquer um desses mtodos j contm um clipe de filme. Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 137.
Consulte tambm MovieClip.getDepth(), MovieClip.getNextHighestDepth(), MovieClip.swapDepths()

MovieClip.getInstanceAtDepth()

577

MovieClip.getNextHighestDepth()
Disponibilidade

Flash Player 7.
Uso meu_mc.getNextHighestDepth() Parmetros

Nenhum.
Retorna

Um inteiro que reflete o prximo ndice de profundidade disponvel que seria renderizado acima de todos os outros objetos no mesmo nvel e camada em meu_mc.
Descrio

Mtodo; permite determinar um valor de profundidade que pode ser passado para MovieClip.attachMovie(), MovieClip.duplicateMovieClip() ou MovieClip.createEmptyMovieClip(), a fim de assegurar que o Flash renderize o clipe de filme na frente de todos os outros objetos do mesmo nvel e da mesma camada no clipe de filme atual. O valor retornado 0 ou maior (ou seja, nmeros negativos no so retornados). Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 137.
Consulte tambm MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.swapDepths()

MovieClip.getSWFVersion()
Disponibilidade

Flash Player 7.
Uso meu_mc.getSWFVersion() Parmetros

Nenhum.
Retorna

Um inteiro que especifica a verso do Flash Player que foi identificada quando o arquivo SWF carregado em meu_mc foi publicado.
Descrio

Mtodo; retorna um inteiro que indica a verso do Flash Player em que meu_mc foi publicado. Se meu_mc for um arquivo JPEG ou se ocorrer um erro e o Flash no puder descobrir a verso SWF de meu_mc, -1 ser retornado.

578

Captulo 12: Dicionrio do ActionScript

MovieClip.getTextSnapshot()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou posterior.
Uso meu_mc.getTextSnapshot(); Parmetros

Nenhum.
Retorna

Um objeto TextSnapshot que contm o texto esttico de meu_mc ou uma seqncia de caracteres vazia, caso meu_mc no contenha nenhum texto esttico.
Descrio

Mtodo; retorna um objeto TextSnapshot que contm o texto de todos os campos de texto estticos no clipe de filme especificado. O texto de clipes de filme-filho no includo. O Flash concatena o texto e o coloca no objeto TextSnapshot em uma ordem que reflete a ordem de ndice de tabulao dos campos de texto estticos no clipe de filme. Os campos de texto que no tm valores de ndice de tabulao so colocados em uma ordem aleatria no objeto, e precedem o texto dos campos que tm valores de ndice de tabulao. A ausncia de quebras de linha ou formatao indica onde o fim de um campo e o incio de outro.
Observao: No possvel especificar um valor de ndice de tabulao para texto esttico no Flash. No entanto, outros produtos permitem isso, como, por exemplo, o Macromedia FlashPaper.

O contedo do objeto TextSnapshot no dinmico. Ou seja, se o clipe de filme for movido para outro quadro ou for alterado de alguma forma (por exemplo, se os objetos do clipe de filme forem adicionados ou removidos), possvel que o objeto TextSnapshot no represente o texto atual do clipe de filme. Para garantir que o contedo do objeto atual, emita novamente esse comando conforme necessrio.
Consulte tambm

Objeto TextSnapshot

MovieClip.getTextSnapshot()

579

MovieClip.getURL()
Disponibilidade

Flash Player 5.
Uso meu_mc.getURL(URL [,janela, variveis]) Parmetros url

O URL de onde pode ser obtido o documento.

janela Um parmetro opcional que especifica o nome, o quadro ou a expresso que determina a janela ou o quadro HTML em que o documento foi carregado. Tambm possvel usar um dos seguintes nomes de destino reservados: _self especifica o quadro atual na janela atual, _blank especifica uma nova janela, _parent especifica o pai do quadro atual e _top especifica o quadro de alto nvel na janela atual. variveis Um parmetro opcional que especifica um mtodo de envio de variveis associado ao filme a ser carregado. Se no houver nenhuma varivel, omita esse parmetro; caso contrrio, especifique se deseja carregar as variveis usando um mtodo GET ou POST. GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. POST envia as variveis em um cabealho HTTP em separado e usado para maiores seqncias de caracteres de variveis. Retorna

Nada.
Descrio

Mtodo; carrega um documento do URL especificado na janela especificada. O mtodo getURL tambm pode ser usado para passar variveis para outro aplicativo definido no URL usando o mtodo GET ou POST.
Consulte tambm getURL()

580

Captulo 12: Dicionrio do ActionScript

MovieClip.globalToLocal()
Disponibilidade

Flash Player 5.
Uso meu_mc.globalToLocal(ponto) Parmetros ponto

O nome ou identificador de um objeto criado com o Classe Object genrico. O objeto especifica as coordenadas x e y como coordenadas.

Retorna

Nada.
Descrio

Mtodo; converte o objeto ponto das coordenadas (globais) do Stage (Palco) em coordenadas (locais) do clipe de filme.
Exemplo

O exemplo a seguir converte as coordenadas x e y globais do objeto ponto em coordenadas locais do clipe de filme.
onClipEvent(mouseMove) { point = new object(); ponto.x = _root._xmouse; ponto.y = _root._ymouse; globalToLocal(ponto); trace(_root._xmouse + " " + _root._ymouse); trace(ponto.x + " " + ponto.y); updateAfterEvent(); } Consulte tambm MovieClip.getBounds(), MovieClip.localToGlobal()

MovieClip.globalToLocal()

581

MovieClip.gotoAndPlay()
Disponibilidade

Flash Player 5.
Uso meu_mc.gotoAndPlay(quadro) Parmetros quadro

Um nmero que representa o nmero do quadro, ou uma seqncia de caracteres que representa o rtulo do quadro, para o qual a reproduo seguir.

Retorna

Nada.
Descrio

Mtodo; comea a reproduzir o arquivo SWF no quadro especificado. Se voc quiser especificar uma cena e um quadro, use gotoAndPlay().

MovieClip.gotoAndStop()
Disponibilidade

Flash Player 5.
Uso meu_mc.gotoAndStop(quadro) Parmetros quadro Retorna

O nmero do quadro para o qual a reproduo enviada.

Nada.
Descrio

Mtodo; envia a reproduo para o quadro especificado do clipe de filme e a interrompe nessa posio.
Consulte tambm gotoAndStop()

582

Captulo 12: Dicionrio do ActionScript

MovieClip._height
Disponibilidade

Flash Player 4.
Uso meu_mc._height Descrio

Propriedade; a altura em pixels do clipe de filme.


Exemplo

O exemplo de cdigo a seguir define a altura e a largura de um clipe de filme quando o usurio clica com o boto do mouse.
onClipEvent(mouseDown) { _width=200; _height=200; }

MovieClip._highquality
Disponibilidade

Flash Player 6.
Uso meu_mc._highquality Descrio

Propriedade (global); especifica o nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Especifique 2 (melhor qualidade) para aplicar alta qualidade com a suavizao de bitmap sempre ativada. Especifique 1 (alta qualidade) para aplicar o recurso de eliminao de serrilhado. Isso suavizar os bitmaps se o arquivo SWF no tiver animao. Especifique 0 (baixa qualidade) para impedir a eliminao de serrilhado. Esta propriedade pode substituir a propriedade global _highquality.
Exemplo meu_mc._highquality = 2; Consulte tambm _quality

MovieClip._highquality

583

MovieClip.hitArea
Disponibilidade

Flash Player 6.
Uso meu_mc.hitArea Retorna

Uma referncia a um clipe de filme.


Descrio

Propriedade; designa outro clipe de filme para atuar como rea de um clipe de filme tipo boto sensvel a cliques. Se no houver nenhuma propriedade hitArea ou se ela for null ou undefined, o prprio clipe de filme tipo boto ser usado como rea sensvel a cliques. O valor da propriedade hitArea pode ser uma referncia para um objeto de clipe de filme. possvel alterar a propriedade hitArea a qualquer momento; o clipe de filme tipo boto modificado assumir imediatamente o comportamento da nova rea sensvel a cliques. O clipe de filme designado como rea sensvel a cliques no precisa ficar visvel; sua forma grfica testada mesmo que esteja invisvel. possvel ler a propriedade hitArea de um objeto prottipo.

MovieClip.hitTest()
Disponibilidade

Flash Player 5.
Uso meu_mc.hitTest(x, y, formato) meu_mc.hitTest(destino) Parmetros x y

A coordenada x da rea sensvel a cliques, no Stage (Palco). A coordenada y da rea sensvel a cliques, no Stage.

As coordenadas x e y so definidas no espao de coordenadas globais.


destino

O caminho de destino da rea sensvel a cliques que pode entrar em interseo ou sobreposio com a instncia especificada por meu_mc. Normalmente, destino representa um boto ou um campo de entrada de texto.

formato

Um valor booleano que determina se ser avaliada a forma completa da instncia especificada (true) ou apenas a caixa delimitadora (false). Esse parmetro s poder ser especificado se a rea sensvel a cliques for identificada pelos parmetros de coordenadas x e y.

Retorna

Um valor booleano true, se meu_mc for sobreposto rea sensvel a cliques especificada, caso contrrio, false.

584

Captulo 12: Dicionrio do ActionScript

Descrio

Mtodo; avalia a instncia especificada por meu_mc para ver se ela se sobrepe ou entra em interseo com a rea sensvel a cliques identificada por destino ou pelos parmetros de coordenadas x e y. Uso 1: Compara as coordenadas x e y com a forma ou com a caixa delimitadora da instncia especificada, de acordo com a definio de formato. Se o valor de formato for true, somente a rea realmente ocupada pela instncia no Stage ser avaliada e, se x e y se sobrepuserem em algum ponto, um valor true ser retornado. Isso til para determinar se o clipe de filme est dentro de uma rea sensvel a cliques ou de um ponto ativo especificado. Uso 2: Avaliar as caixas delimitadoras de destino e da instncia especificada e retornar true caso elas se sobreponham ou entrem em interseo em algum ponto.
Exemplo

O exemplo a seguir usa hitTest() com as propriedades x_mouse e y_mouse para determinar se o ponteiro do mouse est sobre a caixa delimitadora de destino:
if (hitTest( _root._xmouse, _root._ymouse, false));

O exemplo a seguir usa hitTest() para determinar se o clipe de filme bola se sobrepe ou entra em interseo com o clipe de filme quadrado:
if(_root.bola.hitTest(_root.quadrado)){ trace("bola faz interseo com quadrado"); } Consulte tambm MovieClip.getBounds(), MovieClip.globalToLocal(), MovieClip.localToGlobal()

MovieClip.hitTest()

585

MovieClip.lineStyle()
Disponibilidade

Flash Player 6.
Uso meu_mc.lineStyle ([espessura[, rgb[, alfa]]]) Parmetros espessura Um inteiro que indica a espessura da linha, em pontos. Os valores vlidos vo de 0 a 255. Se um nmero no for especificado ou se o parmetro for undefined, nenhuma linha ser desenhada. Se um valor menor que 0 for passado, o Flash usar 0. O valor 0 indica espessura fina; a espessura mxima 255. Se um valor maior que 255 for passado, o interpretador do Flash usar 255. rgb

Um valor de cor hexadecimal da linha (por exemplo, vermelho corresponde a 0xFF0000, azul corresponde a 0x0000FF e assim por diante). Se nenhum valor for indicado, o Flash usar 0x000000 (preto). Um inteiro que indica o valor alfa da cor da linha; os valores vlidos vo de 0 a 100. Se nenhum valor for indicado, o Flash usar 100 (slido). Se o valor for menor do que 0, o Flash usar 0 e se for maior do que 100, o Flash usar 100.

alfa

Retorna

Nada.
Descrio

Mtodo; especifica um estilo de linha que ser usado pelo Flash para as chamadas subseqentes aos mtodos lineTo() e curveTo() at que lineStyle() seja chamado com parmetros diferentes. possvel chamar o mtodo lineStyle() durante o desenho de um caminho para especificar estilos diferentes para segmentos de linha distintos em um caminho.
Observao: As chamadas para clear redefinem o mtodo lineStyle() como undefined. Exemplo

O cdigo a seguir desenha um tringulo com uma linha magenta slida de 5 pontos e sem preenchimento.
_root.createEmptyMovieClip( "tringulo", 1 ); with ( _root.tringulo ) { lineStyle( 5, 0xff00ff, 100 ); moveTo( 200, 200 ); lineTo( 300,300 ); lineTo( 100, 300 ); lineTo( 200, 200 ); } Consulte tambm MovieClip.beginFill(), MovieClip.beginGradientFill(), MovieClip.clear(), MovieClip.curveTo(), MovieClip.lineTo(), MovieClip.moveTo()

586

Captulo 12: Dicionrio do ActionScript

MovieClip.lineTo()
Disponibilidade

Flash Player 6.
Uso meu_mc.lineTo(x, y) Parmetros x y

Um inteiro que indica a posio horizontal relativa ao ponto de registro do clipe de filme pai. Um inteiro que indica a posio vertical relativa ao ponto de registro do clipe de filme pai.

Retorna

Nada.
Descrio

Mtodo; desenha uma linha utilizando o estilo atual a partir da posio atual do desenho em (x, y). A posio atual do desenho ento definida como (x, y). Se o clipe de filme em que voc est desenhando apresentar contedo criado com as ferramentas de desenho do Flash, as chamadas para lineTo() sero feitas sob os critrios desse contedo. Se voc chamar lineTo() antes do mtodo moveTo(), a posio padro do desenho atual ser (0, 0). Se faltar algum parmetro, o mtodo falhar e a posio atual do desenho no ser alterada.
Exemplo

O exemplo a seguir desenha um tringulo sem nenhuma linha e um preenchimento azul parcialmente transparente.
_root.createEmptyMovieClip ("tringulo", 1); with (_root.tringulo){ beginFill (0x0000FF, 50); lineStyle (5, 0xFF00FF, 100); moveTo (200, 200); lineTo (300, 300); lineTo (100, 300); lineTo (200, 200); endFill(); } Consulte tambm MovieClip.beginFill(), MovieClip.createEmptyMovieClip(), MovieClip.endFill(), MovieClip.lineStyle(), MovieClip.moveTo()

MovieClip.lineTo()

587

MovieClip.loadMovie()
Disponibilidade

Flash Player 5.
Uso meu_mc.loadMovie("url" [,variveis]) Parmetros url

O URL absoluto ou relativo do arquivo SWF ou JPEG a ser carregado. Um caminho relativo deve ser relacionado ao arquivo SWF no nvel 0. Os URLs absolutos devem incluir a referncia de protocolo, como http:// ou file:///.

variveis Um parmetro opcional que especifica um mtodo HTTP para o envio ou carregamento de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna

Nada.
Descrio

Mtodo; carrega arquivos SWF ou JPEG em um clipe de filme no Flash Player durante a reproduo do arquivo SWF original.
Dica: Se voc quiser monitorar o andamento do download, use MovieClipLoader.loadClip(), em vez desta funo.

Sem o mtodo loadMovie(), o Flash Player exibe um nico arquivo SWF e, em seguida, encerrado. O mtodo loadMovie() permite que voc exiba vrios arquivos SWF de uma s vez e alterne entre os arquivos SWF sem carregar outro documento HTML. Um arquivo SWF ou uma imagem carregada em um clipe de filme herda as propriedades de posio, rotao e dimensionamento do clipe de filme. Use o caminho de destino do clipe de filme para especificar o arquivo SWF carregado.
loadMovie().

Use o mtodo unloadMovie() para remover arquivos SWF ou imagens carregadas com o mtodo Use o mtodo loadVariables() para manter o arquivo SWF ativo e atualizar as variveis com os novos valores.

Consulte tambm loadMovie(), loadMovieNum(), MovieClip.loadVariables(), MovieClip.unloadMovie(), unloadMovie(), unloadMovieNum()

588

Captulo 12: Dicionrio do ActionScript

MovieClip.loadVariables()
Disponibilidade

Flash Player 5; comportamento modificado no Flash Player 7.


Uso meu_mc.loadVariables("url", variveis) Parmetros url

O URL absoluto ou relativo para o arquivo externo que contm as variveis a serem carregadas. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir.
variveis Um parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis.

Retorna

Nada.
Descrio

Mtodo; l dados de um arquivo externo e define os valores das variveis em meu_mc. O arquivo externo pode ser um arquivo de texto gerado por script CGI, Active Server Pages (ASP) ou PHP, e pode conter qualquer nmero de variveis. Esse mtodo tambm pode ser usado para atualizar variveis no clipe de filme ativo com novos valores. O mtodo precisa que o texto do URL esteja no formato MIME padro: application/x-www-formurlencoded (formato de script CGI). Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.
Consulte tambm loadMovie(), loadVariables(), loadVariablesNum(), MovieClip.unloadMovie()

MovieClip.loadVariables()

589

MovieClip.localToGlobal()
Disponibilidade

Flash Player 5.
Uso meu_mc.localToGlobal(ponto) Parmetros ponto O nome ou identificador de um objeto criado com a classe Classe Object, especificando as coordenadas x e y como propriedades. Retorna

Nada.
Descrio

Mtodo; converte as coordenadas (locais) do clipe de filme do objeto ponto em coordenadas (globais) do Stage (Palco).
Exemplo

O exemplo a seguir converte as coordenadas x e y do objeto ponto de coordenadas (locais) do clipe de filme em coordenadas (globais) do Stage. As coordenadas x e y locais so especificadas com as propriedades _xmouse e _ymouse para recuperar as coordenadas x e y da posio do ponteiro do mouse.
onClipEvent(mouseMove) { ponto = new object(); ponto.x = _xmouse; ponto.y = _ymouse; _root.out3 = ponto.x + " === " + ponto.y; _root.out = _root._xmouse + " === " + _root._ymouse; localToGlobal(ponto); _root.out2 = ponto.x + " === " + ponto.y; updateAfterEvent(); } Consulte tambm MovieClip.globalToLocal()

590

Captulo 12: Dicionrio do ActionScript

MovieClip._lockroot
Disponibilidade

Flash Player 7.
Uso meu_mc._lockroot Descrio

Propriedade; especifica o que est sendo apontado por _root no momento em que um arquivo SWF carregado no clipe de filme. O valor padro da propriedade _lockroot undefined. possvel definir essa propriedade no arquivo SWF que est sendo carregado ou no manipulador que est carregando o clipe de filme. Por exemplo, vamos supor que voc tenha um documento chamado Games.fla, que permite que o usurio escolha um jogo e carregue-o (por exemplo, Chess.swf ) no clipe de filme game_mc. Voc gostaria de ter certeza de que, se _root for usado em Chess.swf, este ainda far referncia a _root do Chess.swf aps ter sido carregado em Games.swf. Se tiver acesso a Chess.fla e public-lo no Flash Player 7 ou posterior, voc poder incluir nele essa instruo:
this._lockroot = true;

Se no tiver acesso a Chess.fla (por exemplo, se o estiver carregando a partir do site de outra pessoa), ao carreg-lo voc poder definir a propriedade _lockroot, conforme mostrado abaixo. Nesse caso, Chess.swf poder ser publicado em qualquer verso do Flash Player desde que Games.swf seja publicado no Flash Player 7 ou posterior.
onClipEvent (load) { this._lockroot = true; } game_mc.loadMovie ("Chess.swf");

Se a instruo this._lockroot = true no tiver sido usada em nenhum dos arquivos SWF, _root de Chess.swf vai se referir a _root de Games.swf depois que Chess.swf tiver sido carregado em Games.swf.
Consulte tambm _root, MovieClip.attachMovie(), MovieClip.loadMovie()

MovieClip._lockroot

591

MovieClip.menu
Disponibilidade

Flash Player 7.
Uso meu_mc.menu = menuContexto Parmetros menuContexto Descrio

Um objeto ContextMenu.

Propriedade; associa o objeto ContextMenu especificado ao clipe de filme meu_mc. A classe ContextMenu permite modificar o menu de contexto que aparece quando o usurio clica com o boto direito do mouse (Windows) ou com a tecla Control pressionada (Macintosh) no Flash Player.
Exemplo

O exemplo a seguir atribui o objeto ContextMenu menu_cm ao clipe de filme content_mc. O objeto ContextMenu contm um item de menu personalizado Imprimir... com um manipulador de retorno de chamada associado denominado doPrint().
var menu_cm = new ContextMenu(); menu_cm.customItems.push(new ContextMenuItem("Imprimir...", doPrint)); function doPrint(menu, obj) { // Aqui vai o cdigo de "Imprimir" } content_mc.menu = menu_cm; Consulte tambm Button.menu, Classe ContextMenu, Classe ContextMenuItem, TextField.menu

592

Captulo 12: Dicionrio do ActionScript

MovieClip.moveTo()
Disponibilidade

Flash Player 6.
Uso meu_mc.moveTo(x, y) Parmetros x y

Um inteiro que indica a posio horizontal relativa ao ponto de registro do clipe de filme pai. Um inteiro que indica a posio vertical relativa ao ponto de registro do clipe de filme pai.

Retorna

Nada.
Descrio

Mtodo; move a posio atual do desenho para (x, y). Se faltar algum parmetro, o mtodo falhar e a posio atual do desenho no ser alterada.
Exemplo

Este exemplo desenha um tringulo com linhas magenta slidas de 5 pontos, sem preenchimento. A primeira linha cria um clipe de filme vazio para o desenho. Define-se um tipo de linha dentro da instruo with; em seguida, a posio inicial do desenho indicada pelo mtodo moveTo().
_root.createEmptyMovieClip( "tringulo", 1 ); with ( _root.tringulo ) { lineStyle( 5, 0xff00ff, 100 ); moveTo( 200, 200 ); lineTo( 300,300 ); lineTo( 100, 300 ); lineTo( 200, 200 ); } Consulte tambm MovieClip.createEmptyMovieClip(), MovieClip.lineStyle(), MovieClip.lineTo()

MovieClip._name
Disponibilidade

Flash Player 4.
Uso meu_mc._name Descrio

Propriedade; retorna o nome da instncia do clipe de filme especificado por meu_mc.

MovieClip._name

593

MovieClip.nextFrame()
Disponibilidade

Flash Player 5.
Uso meu_mc.nextFrame() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; envia a reproduo para o prximo quadro e a encerra.


Consulte tambm nextFrame()

MovieClip.onData
Disponibilidade

Flash Player 6.
Uso meu_mc.onData = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando um clipe de filme recebe dados de uma chamada loadVariables() ou loadMovie(). necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado. Esse manipulador poder ser usado somente com clipes de filme para os quais voc tenha um smbolo em biblioteca associada a uma classe. Se desejar que um manipulador de eventos seja chamado quando um clipe de filme especfico receber dados, use onClipEvent(data) em vez deste manipulador. Este manipulador ser chamado quando qualquer clipe de filme receber dados.

594

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir ilustra o uso correto de MovieClip.onData() e onClipEvent(data).


// symbol_mc um smbolo de clipe de filme na biblioteca. // Est vinculado classe MovieClip. // A funo a seguir ativada para cada instncia de symbol_mc // quando recebe dados. symbol_mc.onData = function() { trace("O clipe de filme recebeu dados"); } // dynamic_mc um clipe de filme que est sendo carregado com // MovieClip.loadMovie(). // Esse cdigo tenta chamar uma funo quando o clipe carregado, // mas no funcionar porque o SWF carregado no um smbolo // na biblioteca associada classe MovieClip. function output() { trace("Nunca ser chamado."); } dynamic_mc.onData = output; dynamic_mc.loadMovie("replacement.swf"); // A funo a seguir chamada para qualquer clipe de filme que // recebe dados, quer esteja na biblioteca ou no. // Portanto, essa funo chamada quando symbol_mc instanciado // e tambm quando replacement.swf carregado. onClipEvent(data) { trace("O clipe de filme recebeu dados"); } Consulte tambm onClipEvent()

MovieClip.onData

595

MovieClip.onDragOut
Disponibilidade

Flash Player 6.
Uso meu_mc.onDragOut = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o boto do mouse pressionado e o ponteiro rola para fora da rea do objeto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onDragOut que envia uma ao trace() ao painel Output (Sada).
meu_mc.onDragOut = function () { trace ("onDragOut chamado"); }; Consulte tambm MovieClip.onDragOver

596

Captulo 12: Dicionrio do ActionScript

MovieClip.onDragOver
Disponibilidade

Flash Player 6.
Uso meu_mc.onDragOver = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o ponteiro arrastado fora e, em seguida, para cima do clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onDragOver que envia uma ao trace() ao painel Output (Sada).
meu_mc.onDragOver = function () { trace ("onDragOver chamado"); }; Consulte tambm MovieClip.onDragOut

MovieClip.onDragOver

597

MovieClip.onEnterFrame
Disponibilidade

Flash Player 6.
Uso meu_mc.onEnterFrame = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado continuamente na mesma taxa de quadros do arquivo SWF. As aes associadas ao evento de clipe enterFrame so processadas antes de qualquer ao de quadro que tenha sido anexada aos quadros afetados. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onEnterFrame que envia uma ao trace() ao painel Output (Sada).
meu_mc.onEnterFrame = function () { trace ("onEnterFrame chamado"); };

598

Captulo 12: Dicionrio do ActionScript

MovieClip.onKeyDown
Disponibilidade

Flash Player 6.
Uso meu_mc.onKeyDown = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando um clipe de filme tem o foco de entrada e uma tecla pressionada. O manipulador de eventos onKeyDown chamado sem nenhum parmetro. Use os mtodos Key.getAscii() e Key.getCode() para determinar qual tecla foi pressionada. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado. O manipulador de eventos onKeyDown s funcionar se o clipe de filme estiver com o foco de entrada ativado e definido. Primeiro, a propriedade focusEnabled deve ser definida como true para o clipe de filme. Em seguida, preciso dar foco ao clipe. Para isso, use Selection.setFocus() ou ento acione a tecla Tab para navegar at o clipe. Se Selection.setFocus() for utilizado, o caminho do clipe de filme dever ser passado para Selection.setFocus(). muito fcil para outros elementos retomarem o foco depois que o mouse movido.
Exemplo

O exemplo a seguir define uma funo para o mtodo onKeyDown() que envia uma ao trace() ao painel Output (Sada).
meu_mc.onKeyDown = function () { trace ("onKeyDown chamado"); };

O exemplo a seguir define o foco de entrada.


MovieClip.focusEnabled = true; Selection.setFocus(MovieClip); Consulte tambm MovieClip.onKeyUp

MovieClip.onKeyDown

599

MovieClip.onKeyUp
Disponibilidade

Flash Player 6.
Uso meu_mc.onKeyUp = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando uma tecla liberada. O manipulador de eventos onKeyUp chamado sem nenhum parmetro. Use os mtodos Key.getAscii() e Key.getCode() para determinar qual tecla foi pressionada. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado. O manipulador de eventos onKeyUp s funcionar se o clipe de filme estiver com o foco de entrada ativado e definido. Primeiro, a propriedade focusEnabled deve ser definida como true para o clipe de filme. Em seguida, preciso dar foco ao clipe. Para isso, use Selection.setFocus() ou ento acione a tecla Tab para navegar at o clipe. Se Selection.setFocus() for utilizado, o caminho do clipe de filme dever ser passado para Selection.setFocus(). muito fcil para outros elementos retomarem o foco depois que o mouse movido.
Exemplo

O exemplo a seguir define uma funo para o mtodo onKeyUp que envia uma ao trace() ao painel Output (Sada).
meu_mc.onKeyUp = function () { trace ("onKeyUp chamado"); };

O exemplo a seguir define o foco de entrada:


MovieClip.focusEnabled = true; Selection.setFocus(MovieClip);

600

Captulo 12: Dicionrio do ActionScript

MovieClip.onKillFocus
Disponibilidade

Flash Player 6.
Uso meu_mc.onKillFocus = function (novoFoco) { // suas instrues entram aqui } Parmetros novoFoco Retorna

O objeto que recebe o foco do teclado.

Nada.
Descrio

Manipulador de eventos; chamado quando um clipe de filme perde o foco do teclado. O mtodo onKillFocus recebe um parmetro, novoFoco, que um objeto representando o novo objeto a receber o foco. Se nenhum objeto receber o foco, novoFoco conter o valor null.

MovieClip.onLoad
Disponibilidade

Flash Player 6.
Uso meu_mc.onLoad = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o clipe de filme criado e aparece na Timeline (Linha de tempo). necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado. Esse manipulador poder ser usado somente com clipes de filme para os quais voc tenha um smbolo em biblioteca associada a uma classe. Se desejar que um manipulador de eventos seja chamado quando um clipe de filme especfico for carregado (por exemplo, ao usar MovieClip.loadMovie() para carregar dinamicamente um arquivo SWF), voc dever usar onClipEvent(load) em vez deste manipulador. Este manipulador ser chamado quando qualquer clipe de filme for carregado.

MovieClip.onLoad

601

Exemplo

O exemplo a seguir ilustra o uso correto de MovieClip.onLoad() e onClipEvent(load).


// symbol_mc um smbolo de clipe de filme na biblioteca. // Est vinculado classe MovieClip. // A funo a seguir ativada para cada instncia de symbol_mc // medida que sejam instanciadas e apaream na Timeline. symbol_mc.onLoad = function() { trace("O clipe de filme foi carregado"); } // dynamic_mc um clipe de filme que est sendo carregado com // MovieClip.loadMovie(). // Esse cdigo tenta chamar uma funo quando o clipe carregado, // mas no funcionar porque o SWF carregado no um smbolo // na biblioteca associada classe MovieClip. function output() { trace("Nunca ser chamado."); } dynamic_mc.onLoad = output; dynamic_mc.loadMovie("replacement.swf"); // A funo a seguir chamada para qualquer clipe de filme que // aparece na Timeline, quer esteja na biblioteca ou no. // Portanto, essa funo chamada quando symbol_mc instanciado // e tambm quando replacement.swf carregado. OnClipEvent( load ) { trace("O clipe de filme foi carregado"); } Consulte tambm onClipEvent()

602

Captulo 12: Dicionrio do ActionScript

MovieClip.onMouseDown
Disponibilidade

Flash Player 6.
Uso meu_mc.onMouseDown = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o boto do mouse pressionado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onMouseDown que envia uma ao trace() ao painel Output (Sada).
meu_mc.onMouseDown = function () { trace ("onMouseDown chamado"); }

MovieClip.onMouseDown

603

MovieClip.onMouseMove
Disponibilidade

Flash Player 6.
Uso meu_mc.onMouseMove = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o mouse movido. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onMouseMove que envia uma ao trace() ao painel Output (Sada).
meu_mc.onMouseMove = function () { trace ("onMouseMove chamado"); };

604

Captulo 12: Dicionrio do ActionScript

MovieClip.onMouseUp
Disponibilidade

Flash Player 6.
Uso meu_mc.onMouseUp = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o boto do mouse liberado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onMouseUp que envia uma ao trace() ao painel Output (Sada).
meu_mc.onMouseUp = function () { trace ("onMouseUp chamado"); };

MovieClip.onMouseUp

605

MovieClip.onPress
Disponibilidade

Flash Player 6.
Uso meu_mc.onPress = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o usurio clica no mouse enquanto o ponteiro permanece sobre um clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onPress que envia uma ao trace() ao painel Output (Sada).
meu_mc.onPress = function () { trace ("onPress chamado"); };

606

Captulo 12: Dicionrio do ActionScript

MovieClip.onRelease
Disponibilidade

Flash Player 6.
Uso meu_mc.onRelease = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando um clipe de filme tipo boto liberado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onPress que envia uma ao trace() ao painel Output (Sada).
meu_mc.onRelease = function () { trace ("onRelease chamado"); };

MovieClip.onRelease

607

MovieClip.onReleaseOutside
Disponibilidade

Flash Player 6.
Uso meu_mc.onReleaseOutside = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o mouse liberado enquanto o ponteiro est fora do clipe de filme, depois que o boto do mouse foi pressionado dentro do clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onReleaseOutside que envia uma ao trace() ao painel Output (Sada).
meu_mc.onReleaseOutside = function () { trace ("onReleaseOutside chamado"); };

608

Captulo 12: Dicionrio do ActionScript

MovieClip.onRollOut
Disponibilidade

Flash Player 6.
Uso meu_mc.onRollOut = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o ponteiro se move para fora da rea do clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo onRollOut que envia uma ao trace() ao painel Output (Sada).
meu_mc.onRollOut = function () { trace ("onRollOut chamado"); };

MovieClip.onRollOver
Disponibilidade

Flash Player 6.
Uso meu_mc.onRollOver = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o ponteiro se move para cima da rea do clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.

MovieClip.onRollOver

609

Exemplo

O exemplo a seguir define uma funo para o mtodo onRollOver que envia uma ao trace() ao painel Output (Sada).
meu_mc.onRollOver = function () { trace ("onRollOver chamado"); };

MovieClip.onSetFocus
Disponibilidade

Flash Player 6.
Uso meu_mc.onSetFocus = function(focoAnterior){ // suas instrues entram aqui } Parmetros focoAnterior Retorna

O objeto que deve perder o foco de teclado.

Nada.
Descrio

Manipulador de eventos; chamado quando um clipe de filme recebe o foco do teclado. O parmetro focoAnterior o objeto que perde o foco. Por exemplo, se o usurio pressionar a tecla Tab para mover o foco de entrada de um clipe de filme para um campo de texto, focoAnterior conter a instncia do clipe de filme. Se nenhum objeto possua o foco anteriormente, focoAnterior conter um valor null.

610

Captulo 12: Dicionrio do ActionScript

MovieClip.onUnload
Disponibilidade

Flash Player 6.
Uso meu_mc.onUnload = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado no primeiro quadro aps a remoo do clipe de filme da Timeline (Linha de tempo). O Flash processa as aes associadas ao manipulador de eventos onUnload antes de anexar qualquer ao ao quadro afetado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo

O exemplo a seguir define uma funo para o mtodo MovieClip.onUnload que envia uma ao trace() ao painel Output (Sada).
meu_mc.onUnload = function () { trace ("onUnload chamado"); };

MovieClip._parent
Disponibilidade

Flash Player 5.
Uso meu_mc._parent.propriedade _parent.propriedade Descrio

Propriedade; uma referncia ao clipe de filme ou objeto que contm o clipe de filme ou objeto atual. O objeto atual o que contm o cdigo ActionScript que faz referncia a _parent. Use a propriedade _parent para especificar um caminho relativo para clipes de filme ou objetos que estiverem acima do clipe de filme ou objeto atual. possvel usar _parent para subir vrios nveis na lista de exibio, conforme mostrado a seguir:
_parent._parent._alpha = 20; Consulte tambm Button._parent, _root, targetPath, TextField._parent

MovieClip._parent

611

MovieClip.play()
Disponibilidade

Flash Player 5.
Uso meu_mc.play() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; move a reproduo na Timeline (Linha de tempo) do clipe de filme.


Consulte tambm play()

MovieClip.prevFrame()
Disponibilidade

Flash Player 5.
Uso meu_mc.prevFrame() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; envia a reproduo do quadro anterior e o pra.


Consulte tambm prevFrame()

612

Captulo 12: Dicionrio do ActionScript

MovieClip.removeMovieClip()
Disponibilidade

Flash Player 5.
Uso meu_mc.removeMovieClip() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; remove uma instncia de clipe de filme criada com duplicateMovieClip(), MovieClip.duplicateMovieClip() ou MovieClip.attachMovie().

MovieClip._rotation
Disponibilidade

Flash Player 4.
Uso meu_mc._rotation Descrio

Propriedade; a rotao do clipe de filme, em graus, a partir da orientao original. Os valores de 0 a 180 representam a rotao no sentido horrio. E os valores de 0 a -180 representam a rotao no sentido anti-horrio. Os valores fora desse intervalo so somados a 360 ou subtrados de 360 para que seja obtido um valor contido no intervalo. Por exemplo, a instruo meu_mc._rotation = 450 igual a meu_mc._rotation = 90.
Consulte tambm Button._rotation, TextField._rotation

MovieClip._rotation

613

MovieClip.setMask()
Disponibilidade

Flash Player 6.
Uso meu_mc.setMask(mscara_mc) Parmetros meu_mc

O nome de instncia de um clipe de filme a ser mascarado. O nome de instncia de um clipe de filme que ser uma mscara.

mscara_mc Retorna

Nada.
Descrio

Mtodo; transforma o clipe de filme no parmetro mscara_mc em uma mscara que revela o clipe de filme especificado pelo parmetro meu_mc. Esse mtodo permite que clipes de filme com vrios quadros e contedo complexo em diversas camadas atuem como mscaras. possvel ativar e desativar mscaras em tempo de execuo. Entretanto, voc no pode usar a mesma mscara para vrios itens com mscara (o que possvel com camadas de mscara). Se houver fontes de dispositivo em um clipe de filme mascarado, elas sero identificadas, mas no mascaradas. No possvel definir um clipe de filme de modo que ele seja sua prpria mscara, por exemplo, meu_mc.setMask(meu_mc). Se voc criar uma camada de mscara que contenha um clipe de filme e, em seguida, aplicar o mtodo setMask() a ele, a chamada setMask() ter prioridade e no ser possvel reverter esse quadro. Por exemplo, se houver um clipe de filme em uma camada de mscara chamada UIMask, esta mascarar a outra camada que contm outro clipe de filme chamado UIMaskee. Se, medida que o arquivo SWF for reproduzido, voc chamar UIMask.setMask(UIMaskee), UIMask ser mascarado por UIMaskee desse ponto em diante.
setMask().

Para cancelar uma mscara criada com ActionScript, passe o valor null para o mtodo O cdigo a seguir cancela a mscara sem afetar a camada da mscara na Timeline (Linha de tempo).

UIMask.setMask(null); Exemplo

O cdigo a seguir usa o clipe de filme circleMask_mc para mascarar o clipe de filme theMaskee_mc.
theMaskee_mc.setMask(circleMask_mc);

614

Captulo 12: Dicionrio do ActionScript

MovieClip._soundbuftime
Disponibilidade

Flash Player 6.
Uso meu_mc._soundbuftime Descrio

Propriedade (global); um inteiro que especifica o nmero de segundos em que um som armazenado em pr-buffer antes de comear a fluir.

MovieClip.startDrag()
Disponibilidade

Flash Player 5.
Uso meu_mc.startDrag([bloqueio, [esquerdo, superior, direito, inferior]]) Parmetros bloqueio Um valor booleano que especifica se o clipe de filme a ser arrastado est bloqueado no centro da posio do mouse (true) ou no ponto onde o usurio clicou nele pela primeira vez (false). Este parmetro opcional. esquerdo, superior, direito, inferior

Valores relativos s coordenadas do pai do clipe de filme que especificam um retngulo de restrio para o clipe de filme. Esses parmetros so opcionais.

Retorna

Nada.
Descrio

Mtodo; permite que o usurio arraste o clipe de filme especificado. O clipe de filme permanecer arrastvel at que essa caracterstica seja cancelada explicitamente por uma chamada a MovieClip.stopDrag() ou at que outro clipe de filme se torne arrastvel. Somente um clipe de filme arrastvel de cada vez.
Consulte tambm MovieClip._droptarget, startDrag(), MovieClip.stopDrag()

MovieClip.startDrag()

615

MovieClip.stop()
Disponibilidade

Flash Player 5.
Uso meu_mc.stop() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; pra o clipe de filme em execuo no momento.


Consulte tambm stop()

MovieClip.stopDrag()
Disponibilidade

Flash Player 5.
Uso meu_mc.stopDrag() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; finaliza um mtodo MovieClip.startDrag(). Um clipe de filme que adquire a caracterstica de arrastvel com esse mtodo permanece assim at que o mtodo stopDrag() seja adicionado ou at que outro clipe de filme se torne arrastvel. Somente um clipe de filme arrastvel de cada vez.
Consulte tambm MovieClip._droptarget, MovieClip.startDrag(), stopDrag()

616

Captulo 12: Dicionrio do ActionScript

MovieClip.swapDepths()
Disponibilidade

Flash Player 5.
Uso meu_mc.swapDepths(profundidade) meu_mc.swapDepths(destino) Parmetros profundidade

Um nmero que especifica o nvel de profundidade no qual meu_mc deve ser

colocado.
destino Uma seqncia de caracteres que especifica a instncia de clipe de filme cuja profundidade trocada pela instncia especificada por meu_mc. As duas instncias devem ter o mesmo clipe de filme pai. Retorna

Nada.
Descrio

Mtodo; troca a ordem de empilhamento ou ordem z (nvel de profundidade) da instncia especificada (meu_mc) com o clipe de filme determinado pelo parmetro destino ou com o clipe de filme que ocupa atualmente o nvel de profundidade indicado no parmetro profundidade. Os dois clipes de filme devem ter o mesmo clipe de filme pai. Trocar o nvel de profundidade de clipes de filme tem o efeito de mover um clipe de filme para frente ou para trs de outro. Se quando esse mtodo for chamado, um clipe de filme estiver realizando uma interpolao, a interpolao ser encerrada. Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 137.
Consulte tambm _level, MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth()

MovieClip.swapDepths()

617

MovieClip.tabChildren
Disponibilidade

Flash Player 6.
Uso meu_mc.tabChildren Descrio

Propriedade; undefined por padro. Se tabChildren for undefined ou true, os filhos de um clipe de filme sero includos na ordenao de tabulao automtica. Se o valor de tabChildren for false, os filhos de um clipe de filme no sero includos na ordenao de tabulao automtica.
Exemplo

Um dispositivo de IU de caixa de listagem criado como um clipe de filme contm vrios itens. O usurio pode clicar em cada item para selecion-lo, pois cada item um boto. Todavia, somente a prpria caixa de listagem deve ser considerada uma interrupo de tabulao. Os itens contidos na caixa de listagem devem ser excludos da ordenao de tabulao. Para fazer isso, defina a propriedade tabChildren da caixa de listagem como false. A propriedade tabChildren no ter nenhum efeito se a propriedade tabIndex for utilizada. A propriedade tabChildren s afeta a ordenao de tabulao automtica.
Consulte tambm Button.tabIndex, MovieClip.tabEnabled, MovieClip.tabIndex, TextField.tabIndex

618

Captulo 12: Dicionrio do ActionScript

MovieClip.tabEnabled
Disponibilidade

Flash Player 6.
Uso meu_mc.tabEnabled Descrio

Propriedade; especifica se meu_mc est includo na ordenao de tabulao automtica. A opo undefined utilizada por padro. Se tabEnabled for undefined, o objeto ser includo na ordenao de tabulao automtica somente se definir pelo menos um manipulador de boto, como MovieClip.onRelease. Se tabEnabled for true, o objeto ser includo na ordenao de tabulao automtica. Se a propriedade tabIndex tambm estiver definida com determinado valor, o objeto tambm ser includo na ordenao de tabulao personalizada. Se tabEnabled for false, o objeto no ser includo nem na ordenao de tabulao automtica nem na personalizada, ainda que a propriedade tabIndex seja definida. No entanto, se MovieClip.tabChildren for true, os filhos do clipe de filme ainda podero ser includos na ordenao de tabulao automtica, mesmo se tabEnabled for false.
Consulte tambm Button.tabEnabled, MovieClip.tabChildren, MovieClip.tabIndex, TextField.tabEnabled

MovieClip.tabEnabled

619

MovieClip.tabIndex
Disponibilidade

Flash Player 6.
Uso meu_mc.tabIndex Descrio

Propriedade; permite personalizar a ordenao de tabulao dos objetos em um filme. A propriedade tabIndex undefined por padro. Voc pode definir tabIndex em um boto, clipe de filme ou instncia de campo de texto. Se um objeto em um arquivo SWF tiver uma propriedade tabIndex, a ordenao de tabulao automtica ser desativada. Nesse caso, a ordenao calculada com base nas propriedades tabIndex dos objetos no arquivo SWF. A ordenao de tabulao personalizada inclui apenas os objetos que tm propriedades tabIndex. A propriedade tabIndex deve ser um inteiro positivo. Os objetos so ordenados de acordo com suas propriedades tabIndex, em ordem ascendente. Um objeto cujo tabIndex tenha valor 1 precede um objeto com tabIndex com valor 2. A ordenao de tabulao personalizada ignora os relacionamentos hierrquicos dos objetos em um arquivo SWF. Todos os objetos contidos no arquivo SWF que tiverem propriedades tabIndex sero colocados na ordem de tabulao. Voc no deve usar o mesmo valor de tabIndex para vrios objetos.
Consulte tambm Button.tabIndex, TextField.tabIndex

MovieClip._target
Disponibilidade

Flash Player 4.
Uso meu_mc._target Descrio

Propriedade (somente de leitura); retorna o caminho de destino da instncia de clipe de filme especificada por meu_mc.

620

Captulo 12: Dicionrio do ActionScript

MovieClip._totalframes
Disponibilidade

Flash Player 4.
Uso meu_mc._totalframes Descrio

Propriedade (somente de leitura); retorna o nmero total de quadros na instncia de clipe de filme especificada no parmetro MovieClip.

MovieClip.trackAsMenu
Disponibilidade

Flash Player 6.
Uso meu_mc.trackAsMenu Descrio

Propriedade; uma propriedade booleana que indica se outros botes ou clipes de filme podem ou no receber eventos de liberao de mouse. Permite a criao de menus. Voc pode definir a propriedade trackAsMenu em qualquer boto ou objeto de clipe de filme. Se a propriedade trackAsMenu no existir, o comportamento padro ser false. Voc pode alterar a propriedade trackAsMenu a qualquer momento; o clipe de filme tipo boto modificado adquire imediatamente o novo comportamento.
Consulte tambm Button.trackAsMenu

MovieClip.trackAsMenu

621

MovieClip.unloadMovie()
Disponibilidade

Flash Player 5.
Uso meu_mc.unloadMovie() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; retorna o contedo de uma instncia de clipe de filme. As propriedades de instncia e os manipuladores de clipe permanecem. Para remover a instncia, inclusive suas propriedades e seus manipuladores de clipe, use MovieClip.removeMovieClip().
Consulte tambm MovieClip.attachMovie(), MovieClip.loadMovie(), unloadMovie(), unloadMovieNum()

MovieClip._url
Disponibilidade

Flash Player 4.
Uso meu_mc._url Descrio

Propriedade (somente de leitura); recupera o URL do arquivo SWF do qual o clipe de filme foi descarregado.

622

Captulo 12: Dicionrio do ActionScript

MovieClip.useHandCursor
Disponibilidade

Flash Player 6.
Uso meu_mc.useHandCursor Descrio

Propriedade; um valor booleano que indica se o cursor em forma de mo (mo indicadora) exibido quando o mouse rola sobre um clipe de filme tipo boto. O valor padro de useHandCursor true. Se useHandCursor for definido como true, o cursor em forma de mo ser exibido quando o mouse rolar sobre um clipe de filme tipo boto. Se useHandCursor for false, ser usado o cursor em forma de seta. Voc pode alterar a propriedade useHandCursor a qualquer momento; o clipe de filme tipo boto modificado adquire imediatamente o comportamento do novo cursor. possvel ler a propriedade useHandCursor de um objeto prottipo.

MovieClip._visible
Disponibilidade

Flash Player 4.
Uso meu_mc._visible Descrio

Propriedade; um valor booleano que indica se o clipe de filme especificado por meu_mc fica visvel. Os clipes de filme que no so visveis (propriedade _visible definida como false) so desativados. Por exemplo, no possvel clicar em um boto em um clipe de filme com a propriedade _visible definida como false.
Consulte tambm Button._visible, TextField._visible

MovieClip._visible

623

MovieClip._width
Disponibilidade

Flash Player 4 como uma propriedade somente de leitura.


Uso meu_mc._width Descrio

Propriedade; a largura em pixels do clipe de filme.


Exemplo

O exemplo de cdigo a seguir define a altura e a largura das propriedades de um clipe de filme quando o usurio clica com o mouse.
onclipEvent(mouseDown) { _width=200; _height=200; } Consulte tambm MovieClip._height

MovieClip._x
Disponibilidade

Flash Player 3.
Uso meu_mc._x Descrio

Propriedade; um inteiro que define a coordenada x de um clipe de filme em relao s coordenadas locais do clipe de filme pai. Se um clipe de filme estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o clipe de filme estiver dentro de outro clipe de filme que tenha transformaes, ele estar no sistema de coordenadas local do clipe de filme no qual est contido. Assim, para um clipe de filme girado 90 graus no sentido anti-horrio, os filhos do clipe de filme herdam um sistema de coordenadas que girado 90 graus no sentido anti-horrio. As coordenadas do clipe de filme referem-se posio do ponto de registro.
Consulte tambm MovieClip._xscale, MovieClip._y, MovieClip._yscale

624

Captulo 12: Dicionrio do ActionScript

MovieClip._xmouse
Disponibilidade

Flash Player 5.
Uso meu_mc._xmouse Descrio

Propriedade (somente de leitura); retorna a coordenada x da posio do mouse.


Consulte tambm

Classe Mouse, MovieClip._ymouse

MovieClip._xscale
Disponibilidade

Flash Player 4.
Uso meu_mc._xscale Descrio

Propriedade; determina o dimensionamento horizontal (porcentagem) do clipe de filme como aplicado do ponto do registro do clipe de filme. O ponto de registro padro (0,0). Dimensionar o sistema de coordenadas local afeta as configuraes da propriedade _x e _y, que so definidas em pixels. Por exemplo, se o clipe de filme pai for dimensionado em 50%, a definio da propriedade _x mover um objeto no clipe de filme pela metade do nmero de pixels, como se o filme tivesse sido definido em 100%.
Consulte tambm MovieClip._x, MovieClip._y, MovieClip._yscale

MovieClip._xscale

625

MovieClip._y
Disponibilidade

Flash Player 3.
Uso meu_mc._y Descrio

Propriedade; define a coordenada y de um clipe de filme relativa s coordenadas locais do clipe de filme pai. Se um clipe de filme estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o clipe de filme estiver dentro de outro clipe de filme que tenha transformaes, ele estar no sistema de coordenadas local do clipe de filme no qual est contido. Assim, para um clipe de filme girado 90 graus no sentido anti-horrio, os filhos do clipe de filme herdam um sistema de coordenadas que girado 90 graus no sentido anti-horrio. As coordenadas do clipe de filme referem-se posio do ponto de registro.
Consulte tambm MovieClip._x, MovieClip._xscale, MovieClip._yscale

MovieClip._ymouse
Disponibilidade

Flash Player 5.
Uso meu_mc._ymouse Descrio

Propriedade (somente de leitura); indica a coordenada y da posio do mouse.


Consulte tambm

Classe Mouse, MovieClip._xmouse

626

Captulo 12: Dicionrio do ActionScript

MovieClip._yscale
Disponibilidade

Flash Player 4.
Uso meu_mc._yscale Descrio

Propriedade; define a escala vertical (porcentagem) do clipe de filme conforme aplicado do ponto de registro do clipe de filme. O ponto de registro padro (0,0). Dimensionar o sistema de coordenadas local afeta as configuraes da propriedade _x e _y, que so definidas em pixels. Por exemplo, se o clipe de filme pai for dimensionado em 50%, a definio da propriedade _x mover um objeto no clipe de filme pela metade do nmero de pixels, como se o filme tivesse sido dimensionado em 100%.
Consulte tambm MovieClip._x, MovieClip._xscale, MovieClip._y

Classe MovieClipLoader
Disponibilidade

Flash Player 7.
Descrio

Esta classe permite implementar retornos de chamada de ouvinte que fornecem informaes de status enquanto os arquivos SWF ou JPEG esto sendo carregados (por download) em clipes de filme. Para usar recursos MovieClipLoader, use MovieClipLoader.loadClip(), em vez de loadMovie() ou MovieClip.loadMovie(), para carregar arquivos SWF. Quando voc emite o comando MovieClipLoader.loadClip(), os seguintes eventos ocorrem na ordem indicada:

Quando os primeiros bytes do arquivo descarregado forem gravados no disco, o ouvinte


MovieClipLoader.onLoadStart()

ser chamado.

Se voc tiver implementado o ouvinte MovieClipLoader.onLoadProgress(), ele ser


chamado durante o processo de carregamento.
Observao: Voc pode chamar MovieClipLoader.getProgress() a qualquer momento durante o processo de carregamento.

Quando todo o arquivo descarregado for gravado no disco, o ouvinte


ser chamado. Aps a execuo das aes do primeiro quadro do arquivo descarregado, o ouvinte MovieClipLoader.onLoadInit() ser chamado.
MovieClipLoader.onLoadComplete()

Quando MovieClipLoader.onLoadInit() for chamado, voc poder definir propriedades, usar mtodos e interagir com o filme carregado.
MovieClipLoader.onLoadError()

Se ocorrer uma falha e o arquivo no for carregado, o ouvinte ser chamado.

Classe MovieClipLoader

627

Resumo dos mtodos da classe MovieClipLoader


Mtodo
MovieClipLoader.addListener()

Descrio Registra um objeto para receber notificao quando um manipulador de eventos MovieClipLoader for chamado. Retorna o nmero de bytes carregados e o nmero total de bytes de um arquivo que est sendo carregado com MovieClipLoader.loadClip(). Carrega um arquivo SWF ou JPEG em um clipe de filme no Flash Player durante a reproduo do filme original. Apaga um objeto que foi registrado com o MovieClipLoader.addListener(). Remove um clipe de filme que foi carregado por meio do MovieClipLoader.loadClip().

MovieClipLoader.getProgress()

MovieClipLoader.loadClip()

MovieClipLoader.removeListener()

MovieClipLoader.unloadClip()

Resumo dos ouvintes da classe MovieClipLoader


Ouvinte
MovieClipLoader.onLoadComplete()

Descrio Chamado quando um arquivo carregado com MovieClipLoader.loadClip() totalmente descarregado. Chamado quando ocorre uma falha e um arquivo carregado com MovieClipLoader.loadClip() no carregado. Chamado quando as aes do primeiro quadro do clipe carregado so executadas. Chamado sempre que o contedo do carregamento gravado no disco durante o processo de carregamento. Chamado quando uma chamada a MovieClipLoader.loadClip() comea a descarregar um arquivo.

MovieClipLoader.onLoadError()

MovieClipLoader.onLoadInit()

MovieClipLoader.onLoadProgress()

MovieClipLoader.onLoadStart()

Construtor da classe MovieClipLoader


Disponibilidade

Flash Player 7.
Uso new MovieClipLoader() Parmetros

Nenhum.
Retorna

Nada.

628

Captulo 12: Dicionrio do ActionScript

Descrio

Construtor; cria um objeto MovieClipLoader, que voc pode usar para implementar vrios ouvintes para responder a eventos enquanto um arquivo SWF ou JPEG est sendo descarregado.
Exemplo

Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.addListener()

MovieClipLoader.addListener()
Disponibilidade

Flash Player 7.
Uso meu_mcl.addListener(objetoOuvinte) Parmetros objetoOuvinte

Um objeto que ouve uma notificao de retorno de chamada dos manipuladores de eventos MovieClipLoader. Nada.

Retorna

Descrio

Mtodo; registra um objeto para receber notificao quando um manipulador de eventos MovieClipLoader for chamado.
Exemplo

Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.onLoadComplete(), MovieClipLoader.onLoadError(), MovieClipLoader.onLoadInit(), MovieClipLoader.onLoadProgress(), MovieClipLoader.onLoadStart(), MovieClipLoader.removeListener()

MovieClipLoader.addListener()

629

MovieClipLoader.getProgress()
Disponibilidade

Flash Player 7.
Uso meu_mcl.getProgress(destino_mc) Parmetros destino_mc Um arquivo SWF ou MovieClipLoader.loadClip(). Retorna

JPEG que carregado por meio de

Um objeto que tem duas propriedades de inteiro: bytesLoaded e bytesTotal.


Descrio

Mtodo; retorna o nmero de bytes carregados e o nmero total de bytes de um arquivo que est sendo carregado por meio de MovieClipLoader.loadClip(). Para filmes compactados, reflete o nmero de bytes compactados. Este mtodo permite solicita explicitamente essas informaes, em vez de (ou alm de) criar uma funo de ouvinte MovieClipLoader.onLoadProgress().
Exemplo

Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.onLoadProgress()

630

Captulo 12: Dicionrio do ActionScript

MovieClipLoader.loadClip()
Disponibilidade

Flash Player 7.
Uso meu_mcl.loadClip("url", destino ) Parmetros url

O URL absoluto ou relativo do arquivo SWF ou JPEG a ser carregado. Um caminho relativo deve ser relacionado ao arquivo SWF no nvel 0. Os URLs absolutos devem incluir a referncia de protocolo, como http:// ou file:///. Os nomes de arquivo no podem conter especificaes de unidade de disco. O caminho de destino de um clipe de filme ou um inteiro que especifica o nvel no Flash Player em que o filme ser carregado. O clipe de filme de destino ser substitudo pela imagem ou filme carregado.

destino

Retorna

Nada.
Descrio

Mtodo; carrega um arquivo SWF ou JPEG em um clipe de filme no Flash Player durante a reproduo do filme original. Esse mtodo permite que voc exiba vrios filmes de uma vez e alterne entre os filmes sem carregar outro documento HTML. O uso desse mtodo, em vez de loadMovie() ou MovieClip.loadMovie(), apresenta diversas vantagens:

O manipulador MovieClipLoader.onLoadStart() chamado quando o carregamento


comea.

O manipulador MovieClipLoader.onLoadError() ser chamado se o clipe no puder ser


carregado. O manipulador MovieClipLoader.onLoadProgress() chamado durante o processo de carregamento. O manipulador MovieClipLoader.onLoadInit() chamado depois que as aes do primeiro quadro do clipe so executadas, o que permite manipular o clipe carregado.

Um filme ou imagem carregada em um clipe de filme herda as propriedades de posio, rotao e dimensionamento do clipe de filme. Use o caminho de destino do clipe de filme para especificar o filme carregado. Voc pode usar esse mtodo para carregar um ou mais arquivos em um nico clipe de filme ou nvel. Os objetos ouvinte MovieClipLoader so passados para a instncia de clipe de filme como um parmetro. Se preferir, voc pode criar um objeto MovieClipLoader para cada arquivo que carregar. Use MovieClipLoader.unloadClip() para remover filmes ou imagens carregadas com esse mtodo ou cancelar uma operao de carregamento que esteja em andamento.

MovieClipLoader.loadClip()

631

Exemplo

O exemplo a seguir ilustra o uso de vrios ouvintes e mtodos MovieClipLoader.


// primeiro conjunto de ouvintes var meu_mcl = new MovieClipLoader(); meuOuvinte = new Object(); meuOuvinte.onLoadStart = function (destino_mc) { meuTrace ("*********Primeira instncia de meu_mcl *********"); meuTrace ("Seu carregamento comeou no clipe de filme. = " + destino_mc); var loadProgress = meu_mcl.getProgress(destino_mc); meuTrace(loadProgress.bytesLoaded + " = bytes carregados no incio"); meuTrace(loadProgress.bytesTotal + " = total de bytes no incio"); } meuOuvinte.onLoadProgress = function (destino_mc, loadedBytes, totalBytes) { meuTrace ("*********Andamento da primeira instncia de meu_mcl*********"); meuTrace ("onLoadProgress() chamado de volta no clipe de filme " + destino_mc); meuTrace(loadedBytes + " = bytes carregados na chamada de retorno em andamento " ); meuTrace(totalBytes + " = total de bytes na chamada de retorno em andamento \n"); } meuOuvinte.onLoadComplete = function (destino_mc) { meuTrace ("*********Primeira instncia de meu_mcl *********"); meuTrace ("Seu carregamento feito no clipe de filme = " + destino_mc); var loadProgress = meu_mcl.getProgress(destino_mc); meuTrace(loadProgress.bytesLoaded + " = bytes carregados no final" ); meuTrace(loadProgress.bytesTotal + " = total de bytes no final="); } meuOuvinte.onLoadInit = function (destino_mc) { meuTrace ("*********Primeira instncia de meu_mcl *********"); meuTrace ("O clipe de filme = " + destino_mc + " foi inicializado"); // agora voc pode fazer a configurao necessria, por exemplo: destino_mc._width = 100; destino_mc._width = 100; } meuOuvinte.onLoadError = function (destino_mc, errorCode) { meuTrace ("*********Primeira instncia de meu_mcl *********"); meuTrace ("CDIGO DE ERRO = " + errorCode); meuTrace ("Seu carregamento falhou no clipe de filme = " + destino_mc + "\n"); } meu_mcl.addListener(meuOuvinte); // Agora carregue os arquivos em seus destinos. // carrega em clipes de filme - seqncias de caracteres usadas como destino meu_mcl.loadClip("http://www.umdomnio.umlocal.com/ umArquivo.swf","_root.meuMC"); meu_mcl.loadClip("http://www.umdomnio.umlocal.com/outroArquivo.swf", "_level0.meuMC2"); // o carregamento falhou meu_mcl.loadClip("http://www.umdomnio.umlocal.com/umArquivo.jpg", _root.meuMC5); // carrega em clipes de filme - instncias de clipe de filme usadas como // destino. meu_mcl.loadClip("http://www.umdomnio.umlocal.com/outroArquivo.jpg", _level0.meuMC3);

632

Captulo 12: Dicionrio do ActionScript

// carrega em _level1 meu_mcl.loadClip("file:///C:/mdia/imagens/umaFigura.jpg", 1); // Segundo conjunto de ouvintes var outro_mcl = new MovieClipLoader(); meuOuvinte2 = new Object(); meuOuvinte2.onLoadStart = function (destino_mc) { meuTrace("*********Segunda instncia de meu_mcl*********"); meuTrace ("Seu carregamento comeou no clipe de filme 22 . = " + destino_mc); var loadProgress = meu_mcl.getProgress(destino_mc); meuTrace(loadProgress.bytesLoaded + " = bytes carregados no incio" ); meuTrace(loadProgress.bytesTotal + " = total de bytes no incio"); } meuOuvinte2.onLoadComplete = function (destino_mc) { meuTrace ("*********Segunda instncia de meu_mcl*********"); meuTrace ("Seu carregamento feito no clipe de filme = " + destino_mc); var loadProgress = meu_mcl.getProgress(destino_mc); meuTrace(loadProgress.bytesLoaded + " = bytes carregados no final"); meuTrace(loadProgress.bytesTotal + " = total de bytes no final" ); } meuOuvinte2.onLoadError = function (destino_mc, errorCode) { meuTrace ("*********Segunda instncia de meu_mcl*********"); meuTrace ("CDIGO DE ERRO = " + errorCode); meuTrace ("Seu carregamento falhou no clipe de filme = " + destino_mc + "\n"); } outro_mcl.addListener(meuOuvinte2); // Agora carregue os arquivos em seus destinos (usando a segunda instncia de // MovieClipLoader) outro_mcl.loadClip("http://www.umdomnio.umlocal.com/umTerceiroArquivo.jpg", _root.meuMC4); // Emita as instrues a seguir aps a concluso do download // e aps a chamada a meu_mcl.onLoadInit. // meu_mcl.removeListener(meuOuvinte) // meu_mcl.removeListener(meuOuvinte2) Consulte tambm MovieClipLoader.unloadClip()

MovieClipLoader.loadClip()

633

MovieClipLoader.onLoadComplete()
Disponibilidade

Flash Player 7.
Uso objetoOuvinte.onLoadComplete() = function(destino_mc) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc Retorna

que foi adicionado por meio de

O clipe de filme carregado por um mtodo MovieClipLoader.loadClip().

Nada.
Descrio

Ouvinte; chamado quando um arquivo carregado com MovieClipLoader.loadClip() totalmente descarregado.


Exemplo

Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.addListener(), MovieClipLoader.onLoadStart(), MovieClipLoader.onLoadError()

634

Captulo 12: Dicionrio do ActionScript

MovieClipLoader.onLoadError()
Disponibilidade

Flash Player 7.
Uso objetoOuvinte.onLoadError() = function(destino_mc, errorCode) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc errorCode Retorna

que foi adicionado por meio de

O clipe de filme carregado por um mtodo MovieClipLoader.loadClip(). Uma seqncia de caracteres que explica o motivo da falha.

Uma das duas seqncias de caracteres: URLNotFound ou LoadNeverCompleted.


Descrio

Ouvinte; chamado quando ocorre uma falha no carregamento de um arquivo carregado com MovieClipLoader.loadClip(). A seqncia de caracteres URLNotFound ser retornada se o ouvinte MovieClipLoader.onLoadStart() ou MovieClipLoader.onLoadComplete() for chamado. Por exemplo, se um servidor estiver desativado ou se o arquivo no for encontrado, esses ouvintes no sero chamados. A seqncia de caracteres LoadNeverCompleted ser retornada se
MovieClipLoader.onLoadStart() for chamado, mas MovieClipLoader.onLoadComplete() no for chamado. Por exemplo, se MovieClipLoader.onLoadStart() for chamado, mas o

download for interrompido em decorrncia, por exemplo, de a uma sobrecarga ou falha no servidor, MovieClipLoader.onLoadComplete() no ser chamado.
Exemplo

Consulte MovieClipLoader.loadClip().

MovieClipLoader.onLoadError()

635

MovieClipLoader.onLoadInit()
Disponibilidade

Flash Player 7.
Uso objetoOuvinte.onLoadInit() = function(destino_mc) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc Retorna

que foi adicionado por meio de

O clipe de filme carregado por um mtodo MovieClipLoader.loadClip().

Nada.
Descrio

Ouvinte; chamado quando as aes no primeiro quadro do clipe carregado so executadas. Quando esse ouvinte chamado, voc pode definir propriedades, usar mtodos e interagir com o filme carregado.
Exemplo

Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.onLoadStart()

636

Captulo 12: Dicionrio do ActionScript

MovieClipLoader.onLoadProgress()
Disponibilidade

Flash Player 7.
Uso objetoOuvinte.onLoadProgress() = function(destino_mc [, loadedBytes [, totalBytes ] ] ) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc loadedBytes totalBytes Retorna

que foi adicionado por meio de

O clipe de filme carregado por um mtodo MovieClipLoader.loadClip(). O nmero de bytes que foram carregados quando o ouvinte foi chamado. O nmero total de bytes do arquivo que est sendo carregado.

Nada.
Descrio

Ouvinte; chamado sempre que o contedo do carregamento gravado no disco durante o processo de carregamento (ou seja, entre MovieClipLoader.onLoadStart() e MovieClipLoader.onLoadComplete()). Voc pode usar esse mtodo para exibir informaes sobre o andamento do download, usando os parmetros loadedBytes e totalBytes.
Exemplo

Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.getProgress()

MovieClipLoader.onLoadProgress()

637

MovieClipLoader.onLoadStart()
Disponibilidade

Flash Player 7.
Uso objetoOuvinte.onLoadStart() = function(destino_mc) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc Retorna

que foi adicionado por meio de

O clipe de filme carregado por um mtodo MovieClipLoader.loadClip().

Nada.
Descrio

Ouvinte; chamado quando uma chamada a MovieClipLoader.loadClip() comea a descarregar um arquivo.


Exemplo

Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.onLoadError(), MovieClipLoader.onLoadInit(), MovieClipLoader.onLoadComplete()

MovieClipLoader.removeListener()
Disponibilidade

Flash Player 7.
Uso meu_mcl.removeListener(objetoOuvinte) Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). Retorna

que foi adicionado por meio de

Nada.

638

Captulo 12: Dicionrio do ActionScript

Descrio

Mtodo; exclui um objeto que foi usado para receber uma notificao quando um manipulador de eventos MovieClipLoader foi chamado.
Exemplo

Consulte MovieClipLoader.loadClip().

MovieClipLoader.unloadClip()
Disponibilidade

Flash Player 7.
Uso meu_mcl.unloadClip(destino) Parmetros destino A seqncia meu_mcl.loadClip(). Retorna

de caracteres ou o inteiro passado para a chamada correspondente a

Nada.
Descrio

Mtodo; remove um clipe de filme que foi carregado por meio de MovieClipLoader.loadClip(). Se voc emitir esse comando enquanto um filme estiver sendo carregado, MovieClipLoader.onLoadError() ser chamado.
Consulte tambm MovieClipLoader.loadClip()

MovieClipLoader.unloadClip()

639

NaN
Disponibilidade

Flash Player 5.
Uso NaN Descrio

Varivel; uma varivel predefinida com o valor IEEE 754 para NaN (Not a Number No-nmero). Para determinar se um nmero NaN, use isNaN().
Consulte tambm isNaN(), Number.NaN

ne (diferente especfico de seqncia de caracteres)


Disponibilidade

Flash Player 4. Esse operador foi substitudo pelo operador != (diferena).


Uso expresso1 ne expresso2 Parmetros expresso1, expresso2 Retorna

Nmeros, seqncias de caracteres ou variveis.

Um valor booleano.
Descrio

Operador (comparao); comparar a expresso1 com a expresso2 e retornar true se a expresso1 no for igual expresso2; caso contrrio, retornar false.
Consulte tambm != (diferena)

640

Captulo 12: Dicionrio do ActionScript

Classe NetConnection
Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Descrio

A classe NetConnection fornece os meios para reproduzir arquivos FLV de fluxo a partir de uma unidade local ou de um endereo HTTP. Para obter mais informaes sobre reproduo de vdeo, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211. Resumo dos mtodos da classe NetConnection
Mtodo
NetConnection.connect()

Descrio Abre uma conexo local por meio da qual possvel reproduzir arquivos de vdeo (FLV) a partir de um endereo HTTP ou do sistema de arquivos local.

Construtor da classe NetConnection


Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso new NetConnection() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Construtor; cria um objeto NetConnection, que voc pode usar em conjunto com um objeto NetStream para reproduzir arquivos de vdeo de fluxo (FLV) locais. Aps criar o objeto NetConnection, use NetConnection.connect() para estabelecer a conexo real. A reproduo de arquivos FLV oferece diversas vantagens em relao incorporao de vdeo em um documento do Flash, como melhor gerenciamento de desempenho e memria, alm de taxas de quadros de vdeo e do Flash independentes. Para obter mais informaes, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211.
Consulte tambm

Classe NetStream, Video.attachVideo()

Classe NetConnection

641

NetConnection.connect()
Disponibilidade

Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_nc.connect(null); Parmetros

Nenhum (voc deve passar null).


Retorna

Nada.
Descrio

Construtor; abre uma conexo local por meio da qual possvel reproduzir arquivos de vdeo (FLV) a partir de um endereo HTTP ou do sistema de arquivos local.
Consulte tambm

Classe NetStream

Classe NetStream
Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Descrio

A classe NetStream fornece mtodos e propriedades para reproduzir arquivos Flash Video (FLV) no sistema de arquivos local ou em um endereo HTTP. Use um objeto NetStream para transmitir vdeo em fluxo por meio de um objeto NetConnection. A reproduo de arquivos FLV oferece diversas vantagens em relao incorporao de vdeo em um documento do Flash, como melhor gerenciamento de desempenho e memria, alm de taxas de quadros de vdeo e do Flash independentes. Essa classe oferece vrios mtodos e propriedades, que voc pode usar para acompanhar o andamento do arquivo medida que ele carregado e reproduzido, e fornecer ao usurio o controle sobre a reproduo (para parar, fazer pausa, etc.). Para obter mais informaes sobre reproduo de vdeo, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211.

642

Captulo 12: Dicionrio do ActionScript

Resumo dos mtodos da classe NetStream Os mtodos e propriedades a seguir das classes NetConnection e NetStream so usados para controlar a reproduo de FLV.
Mtodo
NetStream.close() NetStream.pause() NetStream.play() NetStream.seek()

Objetivo Fecha o fluxo mas no limpa o objeto de vdeo. Faz pausa ou continua a reproduo de um fluxo. Comea a reproduo de um arquivo de vdeo (FLV) externo. Busca uma posio especfica no arquivo FLV. buffer antes de o fluxo comear a ser exibido.

NetStream.setBufferTime() Especifica por quanto tempo os dados devem ser armazenados no

Resumo das propriedades da classe NetStream


Propriedade
NetStream.bufferLength

Descrio O nmero de segundos de dados que esto armazenados no buffer no momento. Somente leitura: o nmero de segundos atribudos ao buffer por NetStream.setBufferTime(). Somente leitura; o nmero de bytes de dados que foram carregados no exibidor. Somente leitura; o tamanho total em bytes do arquivo que est sendo carregado no exibidor. O nmero de quadros por segundo que esto sendo exibidos. Somente leitura; a posio da reproduo, em segundos.

NetStream.bufferTime

NetStream.bytesLoaded

NetStream.bytesTotal

NetStream.currentFps NetStream.time

Resumo dos manipuladores de eventos da classe NetStream


Manipulador de eventos
NetStream.onStatus

Descrio Chamado sempre que uma alterao de status ou um erro for enviado ao objeto NetStream.

Construtor da classe NetStream


Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso new NetStream(meu_nc)

Classe NetStream

643

Parmetros meu_nc Retorna

Um objeto NetConnection.

Nada.
Descrio

Construtor; cria um fluxo que pode ser usado para reproduzir arquivos FLV por meio do objeto NetConnection especificado.
Exemplo

O cdigo a seguir constri primeiramente um novo objeto NetConnection, meu_nc, e o usa para construir um novo objeto NetStream, denominado fluxoVdeo_ns.
meu_nc = new NetConnection(); meu_nc.connect(null); fluxoVdeo_ns = new NetStream(meu_nc); Consulte tambm

Classe NetConnection, Classe NetStream, Video.attachVideo()

NetStream.bufferLength
Disponibilidade

Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.bufferLength Descrio

Propriedade somente de leitura; o nmero de segundos de dados armazenados no buffer no momento. Use essa propriedade em conjunto com NetStream.bufferTime para avaliar o percentual de utilizao do buffer por exemplo, para exibir uma resposta para um usurio que esteja esperando os dados serem carregados no buffer.
Consulte tambm NetStream.bytesLoaded

644

Captulo 12: Dicionrio do ActionScript

NetStream.bufferTime
Disponibilidade

Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meuStream.bufferTime Descrio

Propriedade somente de leitura; o nmero de segundos atribudos ao buffer por NetStream.setBufferTime(). O valor padro 0,1 (um dcimo de segundo). Para determinar o nmero de segundos que esto armazenados no buffer no momento, use NetStream.bufferLength.
Consulte tambm NetStream.time

NetStream.bytesLoaded
Disponibilidade

Flash Player 7.
Uso meu_ns.bytesLoaded Descrio

Propriedade somente de leitura; o nmero de bytes de dados que foram carregados no exibidor. Use esse mtodo em conjunto com NetStream.bytesTotal para avaliar o percentual de utilizao do buffer por exemplo, para exibir uma resposta para um usurio que esteja esperando os dados serem carregados no buffer.
Consulte tambm NetStream.bufferLength

NetStream.bytesLoaded

645

NetStream.bytesTotal
Disponibilidade

Flash Player 7.
Uso meu_ns.bytesLoaded Descrio

Propriedade somente de leitura; o tamanho total em bytes do arquivo que est sendo carregado no exibidor.
Consulte tambm NetStream.bytesLoaded, NetStream.bufferTime

NetStream.close()
Disponibilidade

Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.close() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; pra de reproduzir todos os dados do fluxo, define a propriedade NetStream.time como 0 e torna o fluxo disponvel para outro uso. Esse comando tambm exclui a cpia local de um arquivo FLV que foi descarregado por meio do HTTP.

646

Captulo 12: Dicionrio do ActionScript

Exemplo

A funo onDisconnect() a seguir fecha uma conexo e excluir a cpia temporria de umArquivo.flv que estava armazenada no disco local.
meu_nc = new NetConnection(); meu_nc.connect(null); meu_ns = new NetStream(meu_nc); meu_ns.play("http://www.umDomnio.com/vdeos/umArquivo.flv"); function onDisconnect() { meu_ns.close(); } Consulte tambm NetStream.pause(), NetStream.play()

NetStream.currentFps
Disponibilidade

Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.currentFps Descrio

Propriedade somente de leitura; o nmero de quadros por segundo que esto sendo exibidos. Se voc estiver exportando arquivos FLV para serem reproduzidos em diversos sistemas, poder verificar esse valor durante o teste para ajudar a determinar o percentual de compactao a ser aplicado durante a exportao do arquivo.

NetStream.currentFps

647

NetStream.onStatus
Disponibilidade

Flash Player 7.
Observao: Esse manipulador tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.onStatus = function(objetoInfo) { // aqui entra o seu cdigo } Parmetros objetoInfo

Um parmetro definido de acordo com a mensagem de status ou de erro. Para obter mais informaes sobre esse parmetro, consulte Descrio, a seguir.

Retorna

Nada.
Descrio

Manipulador de eventos; chamado sempre que uma alterao de status ou um erro enviado para o objeto NetStream. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o objeto de informao. O objeto de informao tem uma propriedade code que contm uma seqncia de caracteres que descreve o resultado do manipulador onStatus e uma propriedade level que contm uma seqncia de caracteres "Status" ou "Error". Alm desse manipulador onStatus, o Flash oferece uma superfuno denominada System.onStatus. Se onStatus for chamado para determinado objeto e no houver funo atribuda para resposta, o Flash processar uma funo atribuda a System.onStatus, se esta existir. Os eventos a seguir avisam quando ocorrem determinadas atividades de NetStream.
Propriedade Code
NetStream.Buffer.Empty

Propriedade Level Status

Significado Os dados no esto sendo recebidos com rapidez suficiente para preencher o buffer. O fluxo de dados ficar interrompido at que o buffer seja preenchido novamente, quando uma mensagem NetStream.Buffer.Full ser enviada e o fluxo recomear a ser reproduzido. O buffer est completo e o fluxo comear a ser reproduzido. A reproduo comeou.

NetStream.Buffer.Full

Status Status

NetStream.Play.Start

648

Captulo 12: Dicionrio do ActionScript

Propriedade Code
NetStream.Play.Stop NetStream.Play.StreamNotFound

Propriedade Level Status Error

Significado A reproduo parou. O FLV passado para o mtodo play() no foi encontrado.

Exemplo

O exemplo a seguir grava os dados relacionados ao fluxo em um arquivo de log.


meu_ns.onStatus = function(info) { _root.log_stream += "Status do fluxo.\n"; _root.log_stream += "Evento: " + info.code + "\n"; _root.log_stream += "Tipo: " + info.level + "\n"; } Consulte tambm System.onStatus

NetStream.pause()
Disponibilidade

Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.pause( [ pausaContinuar ] ) Parmetros pausaContinuar Opcional: um valor booleano que especifica se deve ser feita uma pausa na reproduo (true) ou se a reproduo deve continuar (false). Se voc omitir esse parmetro, NetStream.pause() funcionar como uma chave de alternncia: na primeira vez em que for

chamado em um fluxo, ele far uma pausa na reproduo. E, na prxima vez em que for chamado, continuar a reproduo.
Retorna

Nada.
Descrio

Mtodo; faz uma pausa ou continua a reproduo de um fluxo. Na primeira vez em que voc chamar esse mtodo (sem enviar um parmetro), ele far uma pausa na reproduo; na prxima vez, ele continuar a reproduo. Voc pode anexar esse mtodo a um boto que o usurio pressiona para fazer uma pausa ou reiniciar a reproduo.

NetStream.pause()

649

Exemplo

Os exemplos a seguir mostram alguns usos desse mtodo.


meu_ns.pause(); // faz pausa na reproduo na primeira vez em que emitido meu_ns.pause(); // continua a reproduo meu_ns.pause(false); // no tem efeito, a reproduo continua meu_ns.pause(); // faz pausa na reproduo Consulte tambm NetStream.close(), NetStream.play()

NetStream.play()
Disponibilidade

Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.play("nomeArquivo"); Parmetros nomeArquivo

O nome de um arquivo FLV a ser reproduzido, entre aspas. Os formatos http:// e file:// so suportados. O local file:// sempre relativo ao local do arquivo SWF.

Retorna

Nada.
Descrio

Mtodo; comea a reproduo de um arquivo de vdeo (FLV) externo. Para exibir dados de vdeo, voc deve chamar um mtodo Video.attachVideo(). O udio que est sendo transmitido com o vdeo, ou um arquivo FLV que contenha apenas udio, reproduzido automaticamente. Se voc quiser controlar o udio associado a um arquivo FLV, poder usar MovieClip.attachAudio() para rotear o udio para um clipe de filme. Em seguida, poder criar um objeto Sound para controlar alguns aspectos do udio. Para obter mais informaes, consulte MovieClip.attachAudio(). Se o arquivo FLV no for encontrado, o manipulador de eventos NetStream.onStatus ser chamado. Se voc quiser interromper um fluxo que esteja sendo reproduzido no momento, use NetStream.close(). Voc pode reproduzir arquivos FLV locais que estejam armazenados no mesmo diretrio que o arquivo SWF ou em um subdiretrio. No possvel navegar at um diretrio de nvel superior. Por exemplo, se o arquivo SWF estiver localizado em um diretrio denominado /treinamento e voc quiser reproduzir um vdeo armazenado em /treinamento/vdeos, dever usar a seguinte sintaxe:
meu_ns.play("file://vdeos/nomeVdeo.flv");

650

Captulo 12: Dicionrio do ActionScript

Para reproduzir um vdeo armazenado no diretrio /treinamento, voc dever usar a seguinte sintaxe: meu_ns.play("file://nomeVdeo.flv");
Exemplo

O exemplo a seguir mostra algumas maneiras de usar o comando NetStream.play().


// Reproduz um arquivo que est armazenado no computador do usurio // O diretrio usurio_jos um subdiretrio do diretrio // em que o arquivo SWF est armazenado meu_ns.play("file://usurio_jos/flash/vdeos/palestraJunho26.flv"); // Reproduz um arquivo em um servidor meu_ns.play("http://umServidor.umDomnio.com/flash/vdeo/orientao.flv"); Consulte tambm MovieClip.attachAudio(), NetStream.close(), NetStream.pause(), Video.attachVideo()

NetStream.play()

651

NetStream.seek()
Disponibilidade

Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.seek(nmeroDeSegundos) Parmetros nmeroDeSegundos

O valor de tempo aproximado, em segundos, a ser movido para um arquivo FLV. A reproduo avana para o quadro-chave mais prximo a nmeroDeSegundos.

Para voltar ao incio do fluxo, passe 0 para nmeroDeSegundos. Para fazer uma busca para a frente a partir do incio do fluxo, passe o nmero de segundos que
voc deseja avanar. Por exemplo, para posicionar a reproduo em 15 segundos a partir do incio, use meuStream.seek(15). Para fazer uma busca em relao posio atual, passe meustream.time + n ou meustream.time - n para fazer uma busca de n segundos para a frente ou para trs, respectivamente, a partir da posio atual. Por exemplo, para retroceder 20 segundos a partir da posio atual, use meu_ns.seek(meu_ns.time - 20).

Retorna

Nada.
Descrio

Mtodo; faz a busca do quadro-chave mais prximo ao nmero de segundos especificado a partir do incio do fluxo. O fluxo continua a ser reproduzido quando alcana o local especificado no fluxo.
Exemplo

O exemplo a seguir mostra algumas maneiras de usar o comando NetStream.seek().


// Volta ao incio do fluxo meu_ns.seek(0); // Avana para um local 30 segundos a partir do incio do fluxo meu_ns.seek(30); // Retrocede trs minutos a partir do local atual meu_ns.seek(meu_ns.time - 180); Consulte tambm NetStream.play(), NetStream.time

652

Captulo 12: Dicionrio do ActionScript

NetStream.setBufferTime()
Disponibilidade

Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.setBufferTime(nmeroDeSegundos) Parmetros nmeroDeSegundos

O nmero de segundos de dados a serem armazenados no buffer antes de o Flash comear a exibir dados. O valor padro 0,1 (um dcimo de segundo).

Descrio

Mtodo; especifica por quanto tempo as mensagens devem ser armazenadas no buffer de o fluxo comear a ser exibido. Por exemplo, se voc quiser ter certeza de que os 15 primeiros segundos do fluxo sero reproduzidos sem interrupo, defina nmeroDeSegundos como 15. O Flash comea a reproduzir o fluxo somente 15 segundos depois de os dados serem armazenados no buffer.
Consulte tambm NetStream.bufferTime

NetStream.time
Disponibilidade

Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.time Descrio

Propriedade somente de leitura; a posio da reproduo, em segundos.


Consulte tambm NetStream.bufferLength, NetStream.bytesLoaded

NetStream.time

653

new
Disponibilidade

Flash Player 5.
Uso new construtor() Parmetros construtor Uma funo seguida por parmetros opcionais em parnteses. Normalmente, a funo o nome do tipo de objeto (por exemplo, Array, Number ou Object) a ser criado. Retorna

Nada.
Descrio

Operador; cria um novo objeto, inicialmente annimo, e chama a funo identificada pelo parmetro construtor. O operador new passa funo quaisquer parmetros opcionais em parnteses, bem como o objeto recm-criado, que referenciado com a palavra-chave this. Dessa forma, a funo construtora pode usar this para definir as variveis do objeto.
Exemplo

O exemplo a seguir cria a funo Book() e, em seguida, usa o operador new para criar os objetos book1 e book2.
function Book(nome, preo){ this.nome = nome; this.preo = preo; } book1 = new Book("Confederacy of Dunces", 19.95); book2 = new Book("The Floating Opera", 10.95); Exemplo

O exemplo a seguir usa o operador new para criar um objeto Array com 18 elementos:
golfCourse_array = new Array(18); Consulte tambm [] (acesso de array), {} (inicializador de objeto)

654

Captulo 12: Dicionrio do ActionScript

newline
Disponibilidade

Flash Player 4.
Uso newline Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; insere um caractere de retorno de carro (\n) que gera uma linha em branco na sada de texto criada por seu cdigo. Use newline para aumentar o espao para informaes recuperadas por uma funo ou ao em seu cdigo.
Exemplo

O exemplo a seguir mostra como newline exibe a sada da ao trace() em vrias linhas.
var meuNome:String = "Lisa", minhaIdade:Number = 30; trace(meuNome + minhaIdade); trace(meuNome + newline + minhaIdade);

nextFrame()
Disponibilidade

Flash 2.
Uso nextFrame() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo; envia a reproduo para o prximo quadro e a interrompe.


Exemplo

Neste exemplo, quando o usurio clica no boto, a reproduo passa para o prximo quadro e encerrada.
on (release) { nextFrame(); }

nextFrame()

655

nextScene()
Disponibilidade

Flash 2.
Uso nextScene() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Ao; envia a reproduo para o Frame (Quadro) 1 da prxima cena e a interrompe.


Exemplo

Neste exemplo, quando o usurio libera o boto, a reproduo enviada para o Frame 1 da prxima cena.
on (release) { nextScene(); } Consulte tambm prevScene()

not
Disponibilidade

Flash Player 4. Esse operador foi substitudo pelo operador ! (NOT lgico).
Uso not expresso Parmetros expresso Descrio

Uma varivel ou outra expresso que seja convertida em um valor booleano.

Operador; executa uma operao NOT lgica no Flash Player 4.


Consulte tambm ! (NOT lgico)

656

Captulo 12: Dicionrio do ActionScript

null
Disponibilidade

Flash Player 5.
Uso Null Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; um valor especial que poder ser atribudo a variveis ou retornado por uma funo caso nenhum dado seja fornecido. Voc pode usar null para representar os valores ausentes ou os que no tm um tipo de dados definido.
Exemplo

Em contexto numrico, null avaliado como 0. Testes de igualdade podem ser realizados com null. Nesta instruo, um n de rvore binrio no tem filho esquerda; por isso, o campo do filho esquerda pode ser definido como null.
if (tree.left == null) { tree.left = new TreeNode(); }

Classe Number
Disponibilidade

Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio

A classe Number um objeto envoltrio simples para o tipo de dados Number. possvel manipular valores numricos primitivos, usando mtodos e propriedades associados classe Number. Essa classe idntica classe Number de JavaScript. necessrio usar um construtor para chamar os mtodos de um objeto Number, mas no preciso utiliz-lo durante a chamada s propriedades deste objeto. Os exemplos a seguir especificam a sintaxe para chamar mtodos e propriedades do objeto Number. O exemplo a seguir chama o mtodo toString() do objeto Number, que retorna a seqncia de caracteres 1234.
meuNmero = new Number (1234); meuNmero.toString();

Este exemplo chama a propriedade MIN_VALUE (tambm denominada constante) do objeto Number:
menor = Number.MIN_VALUE

Classe Number

657

Resumo dos mtodos da classe Number


Mtodo
Number.toString()

Descrio Retorna o objeto Number representado por uma seqncia de caracteres. Retorna o valor primitivo do objeto Number.

Number.valueOf()

Resumo das propriedades da classe Number


Propriedade
Number.MAX_VALUE

Descrio Constante que representa o maior nmero representvel (IEEE 754 de dupla preciso). Esse nmero aproximadamente 1,79E+308. Constante que representa o menor nmero representvel (IEEE 754 de dupla preciso). Esse nmero aproximadamente 5e-324. Constante que representa o valor No-nmero (NaN).

Number.MIN_VALUE

Number.NaN

Number.NEGATIVE_INFINITY Constante que representa o valor do infinito negativo. Number.POSITIVE_INFINITY Constante que representa o valor do infinito positivo. Este valor o mesmo que a varivel global Infinity.

Construtor da classe Number


Disponibilidade

Flash Player 5.
Uso new Number(valor) Parmetros valor

O valor numrico do objeto Number que est sendo criado ou um valor a ser convertido em nmero.

Retorna

Nada.
Descrio

Construtor; cria um novo objeto Number. Voc dever usar o construtor Number ao usar Number.toString() e Number.valueOf(). No use um construtor quando estiver usando as propriedades do objeto Number. O construtor new Number usado, basicamente, como um espao reservado. O objeto Number no o mesmo que a funo Number(), a qual converte um parmetro em um valor primitivo.

658

Captulo 12: Dicionrio do ActionScript

Exemplo

O cdigo a seguir cria objetos new Number.


n1 = new Number(3.4); n2 = new Number(-10); Consulte tambm Number()

Number.MAX_VALUE
Disponibilidade

Flash Player 5.
Uso Number.MAX_VALUE Descrio

Propriedade; o maior nmero representvel (IEEE 754 de dupla preciso). Esse nmero aproximadamente 1,79E+308.

Number.MIN_VALUE
Disponibilidade

Flash Player 5.
Uso Number.MIN_VALUE Descrio

Propriedade; o menor nmero representvel (IEEE 754 de dupla preciso). Esse nmero aproximadamente 5e-324.

Number.NaN
Disponibilidade

Flash Player 5.
Uso Number.NaN Descrio

Propriedade; o valor IEEE-754 que representa No-nmero (NaN).


Consulte tambm isNaN(), NaN

Number.NaN

659

Number.NEGATIVE_INFINITY
Disponibilidade

Flash Player 5.
Uso Number.NEGATIVE_INFINITY Descrio

Propriedade; especifica o valor IEEE 754 que representa o infinito negativo. O valor dessa propriedade o mesmo valor da constante -Infinity. O infinito negativo um valor numrico especial que retornado quando uma operao ou funo matemtica retorna um valor negativo maior do que pode ser representado.

Number.POSITIVE_INFINITY
Disponibilidade

Flash Player 5.
Uso Number.POSITIVE_INFINITY Descrio

Propriedade; especifica o valor IEEE 754 que representa o infinito positivo. O valor dessa propriedade o mesmo valor da constante Infinity. O infinito positivo um valor numrico especial retornado quando uma operao ou funo matemtica retorna um valor maior do que pode ser representado.

660

Captulo 12: Dicionrio do ActionScript

Number.toString()
Disponibilidade

Flash Player 5; comportamento modificado no Flash Player 7.


Uso meuNmero.toString(raiz) Parmetros raiz

Especifica a base numrica (de 2 a 36) a ser usada para a converso de nmero em seqncia de caracteres. Se voc no especificar o parmetro raiz, o valor padro ser 10.

Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna o objeto Number especificado (meuNmero) representado por uma seqncia de caracteres. Se meuNmero for indefinido, o valor de retorno ser o seguinte:

Em arquivos publicados para Flash Player 6 ou verses anteriores, o resultado 0. Em arquivos publicados para Flash Player 7 ou verses posteriores, o resultado NaN.
Exemplo

O exemplo a seguir usa 2 e 8 para o parmetro raiz e retorna uma seqncia de caracteres que contm a representao correspondente do nmero 9.
meuNmero = new Number (9); trace(meuNmero.toString(2)); / 1001 trace(meuNmero.toString(8)); / 11 Consulte tambm NaN

Number.valueOf()
Disponibilidade

Flash Player 5.
Uso meuNmero.valueOf() Parmetros

Nenhum.
Retorna

Um nmero.
Descrio

Mtodo; retorna o tipo de valor primitivo do objeto Number especificado.

Number.valueOf()

661

Number()
Disponibilidade

Flash Player 4; comportamento modificado no Flash Player 7.


Uso Number(expresso) Parmetros expresso Retorna

Uma expresso a ser convertida em um nmero.

Um nmero ou NaN.
Descrio

Funo; converte o parmetro expresso em um nmero e retorna um valor como a seguir:

Se expresso for um nmero, o valor de retorno ser expresso. Se a expresso for um valor booleano, o valor de retorno ser 1, caso a expresso seja true
ou 0, caso a expresso seja false. Se expresso for uma seqncia de caracteres, a funo tentar analisar expresso como um nmero decimal com um exponente inicial opcional, isto , 1,57505e-3. Se expresso for undefined, o valor de retorno ser o seguinte: Em arquivos publicados para Flash Player 6 ou verses anteriores, o resultado 0. Em arquivos publicados para Flash Player 7 ou verses posteriores, o resultado NaN.

Essa funo usada para converter os arquivos do Flash 4 com operadores obsoletos que so importados no ambiente de criao do Flash 5 ou verso posterior. Para obter mais informaes, consulte & (operador AND bit a bit).
Consulte tambm NaN,

Classe Number

Classe Object
Disponibilidade

Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio

A classe Object est na raiz da hierarquia de classes do ActionScript. Essa classe contm um pequeno subconjunto de recursos fornecido pela classe Object do JavaScript.

662

Captulo 12: Dicionrio do ActionScript

Resumo dos mtodos da classe Object


Mtodo
Object.addProperty() Object.registerClass()

Descrio Cria uma propriedade getter/setter (apanhador/definidor) em um objeto. Associa um smbolo de clipe de filme a uma classe de objeto do ActionScript. Converte o objeto especificado em uma seqncia de caracteres e o retorna. Remove o ponto de controle criado por Object.watch(). Retorna o valor primitivo de um objeto. Registra um manipulador de eventos a ser chamado quando uma propriedade especificada de um objeto ActionScript alterada.

Object.toString()

Object.unwatch() Object.valueOf() Object.watch()

Resumo das propriedades da classe Object


Propriedade
Object.__proto__

Descrio Uma referncia propriedade prototype da funo construtora do objeto.

Construtor da classe Object


Disponibilidade

Flash Player 5.
Uso new Object(valor) Parmetros valor Um nmero, valor booleano ou seqncia de caracteres a ser convertido em um objeto. Este parmetro opcional. Se voc no especificar valor, o construtor criar um novo objeto sem propriedades definidas. Retorna

Nada.
Descrio

Construtor; cria um novo objeto Object.

Classe Object

663

Object.addProperty()
Disponibilidade

Flash Player 6. Em arquivos de classe externos, voc pode usar get ou set, em vez deste mtodo.
Uso meuObjeto.addProperty(prop, funGet, funSet) Parmetros prop

O nome da propriedade de objeto a ser criada.

funGet A funo chamada para recuperar o valor da propriedade; este parmetro um objeto de funo. funSet A funo chamada para definir o valor da propriedade; este parmetro um objeto de funo. Se voc passar o valor null para este parmetro, a propriedade ser do tipo somente de leitura. Retorna

Retornar um valor true, se a propriedade for criada com xito; caso contrrio, retornar false.
Descrio

Mtodo; cria uma propriedade getter/setter (que se pode ler e escrever). Quando o Flash l uma propriedade getter/setter (apanhador/definidor), chama a funo get e o valor de retorno da funo torna-se um valor de prop. Quando o Flash escreve em uma propriedade getter/setter, chama a funo set e passa a ela o novo valor como um parmetro. Se j houver uma propriedade com o mesmo nome, a nova propriedade a substituir. Uma funo get no tem nenhum parmetro. Seu valor de retorno pode ser de qualquer tipo. Seu tipo pode ser alterado entre as chamadas. O valor de retorno tratado como o valor atual da propriedade. A funo set recebe um nico parmetro, que o novo valor da propriedade. Por exemplo, se for atribudo um valor para a propriedade x pela instruo x = 1, ser passado o parmetro 1 do tipo Number para a funo set. O valor de retorno da funo set ser ignorado. possvel adicionar propriedades getter/setter aos objetos prottipo. Se voc adicionar uma propriedade getter/setter a um objeto prottipo, todas as instncias de objeto que herdam o objeto prottipo tambm herdaro essa propriedade. Isso torna possvel adicionar uma propriedade getter/setter em um nico local, o objeto prottipo, e fazer com que ela seja propagada para todas as instncias de uma classe (muito semelhante adio de mtodos a objetos prottipo). Se uma funo get/set for chamada para uma propriedade getter/setter em um objeto prottipo herdado, a referncia passada funo get/set ser o objeto referenciado originalmente e no o objeto prottipo. Se chamado incorretamente, Object.addProperty() poder apresentar erro. A tabela a seguir descreve os erros que podem ocorrer:

664

Captulo 12: Dicionrio do ActionScript

Condio de erro
prop no um nome de propriedade vlido; por

O que acontece Retorna false e a propriedade no adicionada. Retorna false e a propriedade no adicionada. Retorna false e a propriedade no adicionada.

exemplo, uma seqncia de caracteres vazia.


funGet no um objeto de funo vlido. funSet no um objeto de funo vlido.

Exemplo

Uso 1: Um objeto tem dois mtodos internos, setQuantity() e getQuantity(). Uma propriedade, bookcount, pode ser usada para chamar esses mtodos quando definida ou recuperada. Um terceiro mtodo interno, getTitle(), retorna um valor somente de leitura que est associado propriedade bookname:
function Book() { this.setQuantity = function(numBooks) { this.books = numBooks; } this.getQuantity = function() { return this.books; } this.getTitle = function() { return "Catcher in the Rye"; } this.addProperty("bookcount", this.getQuantity, this.setQuantity); this.addProperty("bookname", this.getTitle, null); } myBook = new Book(); myBook.bookcount = 5; order = "Voc encomendou " + myBook.bookcount + " cpias de myBook.bookname;

" +

Quando um script recupera o valor de myBook.bookcount, o interpretador do ActionScript automaticamente chama myBook.getQuantity(). Quando um script modifica o valor de myBook.bookcount, o interpretador chama myObject.setQuantity(). A propriedade bookname no especifica uma funo set, portanto, as tentativas feitas para modificar bookname so ignoradas. Uso 2: O exemplo acima de bookcount e bookname funciona, mas as propriedades bookcount e bookname so adicionadas a cada instncia do objeto Book. Isso significa que o custo para estabelecer as propriedades de dois slots de propriedades para cada instncia do objeto. Se houver muitas propriedades como bookcount e bookname em uma classe, elas possivelmente consumiro muita memria. Uma alternativa adicionar as propriedades a Book.prototype:
function Book () {} Book.prototype.setQuantity = function(numBooks) { this.books = numBooks; } Book.prototype.getQuantity = function() { return this.books; } Book.prototype.getTitle = function() { return "Catcher in the Rye"; }

Object.addProperty()

665

Book.prototype.addProperty("bookcount", Book.prototype.getQuantity, Book.prototype.setQuantity); Book.prototype.addProperty("bookname", Book.prototype.getTitle, null); myBook = new Book(); myBook.bookcount = 5; order = "Voc encomendou "+myBook.bookcount+" cpias de "+myBook.bookname;

Agora as propriedades bookcount e bookname existem somente em um nico local: no objeto Book.prototype. O efeito, porm, o mesmo efeito do cdigo no Uso 1, o qual adicionou bookcount e bookname diretamente a cada instncia. Se bookcount ou bookname forem acessadas em uma instncia de Book, a cadeia de prottipos ser percorrida para cima e a propriedade getter/setter em Book.prototype ser encontrada. Uso 3: As propriedades internas TextField.scroll e TextField.maxscroll so propriedades getter/setter. O objeto TextField possui os mtodos internos getScroll(), setScroll() e getMaxScroll(). O construtor TextField cria as propriedades getter/setter e as aponta para os mtodos get/set internos, como mostrado a seguir:
this.addProperty("scroll", this.getScroll, this.setScroll); this.addProperty("maxscroll", this.getMaxScroll, null);

Quando um script recupera o valor de meuCampoTexto.scroll, o interpretador do ActionScript automaticamente chama meuCampoTexto.getScroll(). Quando um script modifica o valor de meuCampoTexto.scroll, o interpretador chama meuCampoTexto.setScroll(). A propriedade maxscroll no especifica uma funo set, portanto, as tentativas feitas para modificar maxscroll so ignoradas. Uso 4: Embora as propriedades internas TextField.scroll e TextField.maxscroll funcionem no exemplo de Uso 3, as propriedades scroll e maxscroll so adicionadas a cada instncia do objeto TextField. Isso significa que o custo para estabelecer as propriedades de dois slots de propriedades para cada instncia do objeto. Se houver muitas propriedades como scroll e maxscroll em uma classe, possvel que elas consumam muita memria. Nesse caso, voc pode adicionar as propriedades scroll e maxscroll a TextField.prototype:
TextField.prototype.addProperty("scroll", this.getScroll, this.setScroll); TextField.prototype.addProperty("maxscroll", this.getMaxScroll, null);

Agora as propriedades scroll e maxscroll existem somente em um nico local: no objeto TextField.prototype. Entretanto, o efeito o mesmo do cdigo anterior que adicionou scroll e maxscroll diretamente a todas as instncias. Se scroll ou maxscroll for acessada em uma instncia de TextField, a cadeia de prottipos ser percorrida para cima e a propriedade getter/setter de TextField.prototype ser encontrada.

666

Captulo 12: Dicionrio do ActionScript

Object.__proto__
Disponibilidade

Flash Player 5.
Uso meuObjeto.__proto__ Parmetros

Nenhum.
Descrio

Propriedade; uma referncia propriedade prototype da funo construtora que criou meuObjeto. A propriedade __proto__ atribuda automaticamente a todos os objetos durante sua criao. O interpretador do ActionScript usa a propriedade __proto__ para acessar a propriedade prototype da funo construtora do objeto e, assim, descobrir quais propriedades e mtodos o objeto herda de sua classe.

Object.__proto__

667

Object.registerClass()
Disponibilidade

Flash Player 6. Se voc estiver usando arquivos de classe externos, poder usar o campo ActionScript 2.0 Class (Classe ActionScript 2.0) da caixa de dilogo Linkage Properties (Propriedades de vinculao) ou Symbol Properties (Propriedades do smbolo) para associar um objeto a uma classe, em vez de usar este mtodo.
Uso Object.registerClass(IDSmbolo, aClasse) Parmetros IDSmbolo O identificador de vinculao do smbolo de clipe de filme ou o identificador da classe do ActionScript. aClasse Uma referncia funo construtora da classe do ActionScript ou null para cancelar o registro do smbolo. Retorna

Se o registro da classe for bem-sucedido, ser retornado um valor de true; caso contrrio, false ser retornado.
Descrio

Mtodo; associa um smbolo de clipe de filme a uma classe de objeto do ActionScript. Se no houver nenhum smbolo, o Flash criar uma associao entre um identificador e uma classe de objeto. Quando uma instncia do smbolo de clipe de filme especificado for colocada pela Timeline (Linha de tempo), ela ser registrada na classe indicada pelo parmetro aClasse e no na classe MovieClip. Quando uma instncia do smbolo de clipe de filme especificado criada por meio de
MovieClip.attachMovie() ou MovieClip.duplicateMovieClip(), ela registrada para a classe especificada por aClasse e no pela classe MovieClip. Se aClasse for null, esse mtodo

remover qualquer definio de classe do ActionScript associada ao smbolo de clipe de filme ou identificador de classe especificado. No caso de smbolos de clipe de filme, qualquer instncia existente do clipe de filme permanecer inalterada, mas as novas instncias do smbolo sero associadas classe MovieClip padro. Se um smbolo j estiver registrado para a classe, esse mtodo ir substitu-lo por um novo registro. Quando uma instncia de clipe de filme colocada pela Timeline ou criada com attachMovie() ou duplicateMovieClip(), o ActionScript chama o construtor da classe apropriada com a palavra-chave this apontando para o objeto. A funo construtora chamada sem nenhum parmetro.

668

Captulo 12: Dicionrio do ActionScript

Ao usar este mtodo para registrar um clipe de filme com uma classe ActionScript diferente de MovieClip, o smbolo do clipe de filme no herdar os mtodos, propriedades e eventos da classe interna MovieClip, a menos que a classe MovieClip seja includa na cadeia de prottipos da nova classe. O cdigo a seguir cria uma nova classe ActionScript denominada aClasse que herda as propriedades da classe MovieClip:
aClasse.prototype = new MovieClip(); Consulte tambm MovieClip.attachMovie(), MovieClip.duplicateMovieClip()

Object.toString()
Disponibilidade

Flash Player 5.
Uso meuObjeto.toString() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; converte o objeto especificado em uma seqncia de caracteres e o retorna.

Object.unwatch()
Disponibilidade

Flash Player 6.
Uso meuObjeto.unwatch (prop) Parmetros prop

O nome da propriedade de objeto que no dever mais ser observada, como uma seqncia de caracteres.

Retorna

Um valor booleano.
Descrio

Mtodo; remove um ponto de controle criado por Object.watch(). Este mtodo retornar um valor de true se o ponto de controle tiver sido removido com xito; caso contrrio, retornar false.

Object.unwatch()

669

Object.valueOf()
Disponibilidade

Flash Player 5.
Uso meuObjeto.valueOf() Parmetros

Nenhum.
Retorna

O valor primitivo do objeto especificado, ou seja, o prprio objeto.


Descrio

Mtodo; retorna o valor primitivo do objeto especificado. Se o objeto no tiver um valor primitivo, o prprio objeto ser retornado.

Object.watch()
Disponibilidade

Flash Player 6.
Uso meuObjeto.watch( prop, retorno [, dadosUsurio] ) Parmetros prop

Uma seqncia de caracteres que indica o nome da propriedade do objeto a ser observada.

A funo a ser chamada quando a propriedade observada alterada. Este parmetro um objeto de funo e no um nome de funo como uma seqncia de caracteres. O formato de retorno retorno(prop, valAnt, valNovo, dadosUsurio).
retorno dadosUsurio Uma parte arbitrria dos dados de ActionScript passada ao mtodo retorno. Se o parmetro dadosUsurio for omitido, undefined ser passado ao mtodo de retorno. Este parmetro opcional. Retorna

O valor true se o ponto de controle for criado com xito; caso contrrio, retorna o valor false.
Descrio

Mtodo; registra um manipulador de eventos para ser chamado quando uma propriedade especificada de um objeto ActionScript for alterada. Quando a propriedade alterada, o manipulador de eventos chamado com meuObjeto como o objeto recipiente. preciso retornar o novo valor a partir do mtodo Object.watch() ou, propriedade do objeto observado, ser atribudo um valor undefined.

670

Captulo 12: Dicionrio do ActionScript

Um ponto de controle pode filtrar (ou anular) a atribuio de valor retornando um valNovo modificado (ou valAnt). Se voc excluir uma propriedade para a qual tenha sido definido um ponto de controle, este ponto no desaparecer. Se, posteriormente, voc recriar a propriedade, o ponto de controle ainda estar valendo. Para remover o ponto de controle, use o mtodo Object.unwatch. Apenas um nico ponto de controle pode ser registrado em uma propriedade. As chamadas subseqentes a Object.watch() na mesma propriedade substituem o ponto de controle original. O mtodo Object.watch() apresenta um comportamento semelhante funo Object.watch() no Netscape JavaScript 1.2 ou posterior. A diferena principal o parmetro dadosUsurio, que uma incluso do Flash ao Object.watch() no suportado pelo Netscape Navigator. Voc pode passar o parmetro dadosUsurio para o manipulador de eventos, onde poder us-lo. O mtodo Object.watch() no pode observar propriedades getter/setter. As propriedades getter/setter funcionam atravs de avaliao preguiosa o valor da propriedade no determinado at que ela seja realmente consultada. Com freqncia, a avaliao preguiosa eficiente porque a propriedade no atualizada constantemente; assim, ela avaliada quando necessrio. Entretanto, Object.watch() precisa avaliar uma propriedade para ento acionar pontos de controle sobre ela. Para funcionar com uma propriedade getter/setter, o Object.watch() precisa avali-la constantemente, o que um processo ineficaz. Geralmente, as propriedades predefinidas de ActionScript, como _x, _y, _width e _height, so propriedades getter/setter e, portanto, no podem ser observadas com Object.watch().
Consulte tambm Object.addProperty(), Object.unwatch()

Object()
Disponibilidade

Flash Player 5
Uso Object( [ valor ] ) Parmetros valor Retorna

Um nmero, seqncia de caracteres ou valor booleano.

Um objeto.
Descrio

Funo de converso; cria um novo objeto vazio ou converte o nmero, seqncia de caracteres ou valor booleano especificado em um objeto. Esse comando equivale criao de um objeto usando o construtor Object (consulte Construtor da classe Object na pgina 663).

Object()

671

on()
Disponibilidade

Flash 2. Nem todos os eventos so suportados pelo Flash 2.


Uso on(mouseEvent) { // suas instrues entram aqui } Parmetros instrues

As instrues que sero executadas quando ocorrer o evento mouseEvent.

Um mouseEvent um disparador chamado evento. Quando ocorrer o evento, sero executadas as instrues entre chaves que seguem a definio do evento. Qualquer um dos valores a seguir pode ser especificado pelo parmetro mouseEvent:

O boto do mouse pressionado enquanto o ponteiro est sobre o boto. release O boto do mouse liberado enquanto o ponteiro est sobre o boto. releaseOutside O boto do mouse liberado enquanto o ponteiro est fora do boto, depois que o boto foi pressionado enquanto o ponteiro estava dentro do boto. rollOut O ponteiro rola fora da rea do boto. rollOver O ponteiro do mouse rola sobre o boto. dragOut Enquanto o ponteiro est sobre o boto, o boto do mouse pressionado e rolado para fora da rea do boto. dragOver Com o ponteiro sobre o boto, o boto do mouse pressionado, rolado para fora do boto e, a seguir, rolado de volta sobre o boto. keyPress ("tecla") A tecla especificada pressionada. Para a parte do parmetro que se refere tecla, especifique um cdigo ou uma constante de tecla. Para obter a lista dos cdigos de teclas associados s teclas de um teclado padro, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 911; para obter a lista das constantes de teclas, consulte Resumo das propriedades da classe Key na pgina 465.
press

Descrio

Manipulador de eventos; especifica o evento do mouse ou o pressionamento de tecla que dispara uma ao.

672

Captulo 12: Dicionrio do ActionScript

Exemplo

No script a seguir, a ao startDrag() executada quando o mouse pressionado; o script condicional executado quando o mouse liberado e o objeto solto.
on(press){ startDrag("rabbit"); } on (release) { trace(_root.rabbit._y); trace(_root.rabbit._x); stopDrag(); } Consulte tambm onClipEvent()

onClipEvent()
Disponibilidade

Flash Player 5.
Uso onClipEvent(movieEvent){ // suas instrues entram aqui } Parmetros movieEvent

um disparador chamado de evento. Quando ocorrer o evento, sero executadas as instrues entre chaves depois dela. Quaisquer dos seguintes valores podem ser especificados pelo parmetro movieEvent:

A ao iniciada assim que o clipe de filme criado e aparece na Timeline (Linha de tempo). unload A ao iniciada no primeiro quadro aps a remoo do clipe de filme da Timeline. As aes associadas ao evento Unload do clipe de filme so processadas antes que as aes sejam anexadas ao quadro atingido. enterFrame A ao ativada continuamente taxa de quadros do clipe de filme. As aes associadas ao evento de clipe enterFrame so processadas antes de qualquer ao de quadro que tenha sido anexada aos quadros afetados. mouseMove A ao iniciada toda vez que o mouse movido. Use as propriedades _xmouse e _ymouse para determinar a posio do mouse atual. mouseDown A ao iniciada quando o boto esquerdo do mouse pressionado. mouseUp A ao iniciada quando o boto esquerdo do mouse liberado. keyDown A ao iniciada quando uma tecla pressionada. Use Key.getCode() para recuperar informaes sobre a ltima tecla pressionada.
load

onClipEvent()

673

keyUp A ao iniciada quando uma tecla liberada. Use o mtodo Key.getCode() para recuperar informaes sobre a ltima tecla pressionada. data A ao iniciada quando os dados so recebidos em uma ao loadVariables() ou loadMovie(). Se for especificado com uma ao loadVariables(), o evento data ocorrer somente uma vez, quando a ltima varivel for carregada. Quando especificado com uma ao loadMovie, o evento data ocorre repetidamente, medida que cada seo de dados recuperada.

Descrio

Manipulador de eventos; dispara aes definidas por uma instncia especfica de um clipe de filme.
Exemplo

A instruo a seguir inclui o script de um arquivo externo quando o arquivo SWF exportado; as aes no script includo so executadas quando o clipe de filme ao qual elas esto anexadas carregado:
onClipEvent(load){ #include "myScript.as" }

O exemplo a seguir usa onClipEvent() com o evento de filme keyDown. Normalmente, o evento de filme keyDown usado juntamente com um ou mais mtodos e propriedades do objeto Key. O script a seguir usa Key.getCode() para descobrir qual tecla foi pressionada pelo usurio. Se a tecla pressionada corresponder propriedade Key.RIGHT, o filme ser enviado ao quadro seguinte; se corresponder propriedade Key.LEFT, o filme ser enviado ao quadro anterior.
onClipEvent(load) { if (Key.getCode() == Key.RIGHT) { _parent.nextFrame(); } else if (Key.getCode() == Key.LEFT){ _parent.prevFrame(); } }

O exemplo a seguir usa onClipEvent() com o evento de filme mouseMove. As propriedades _xmouse e _ymouse controlam a posio do mouse sempre que ele movido.
onClipEvent(mouseMove) { stageX=_root._xmouse; stageY=_root._ymouse; } Consulte tambm

Classe Key, MovieClip._xmouse, MovieClip._ymouse, on(), updateAfterEvent()

674

Captulo 12: Dicionrio do ActionScript

onUpdate
Disponibilidade

Flash Player 6.
Uso function onUpdate() { ...instrues...; } Parmetros

Nenhum
Retorna

Nada.
Descrio

Manipulador de eventos; onUpdate definida para um filme Live Preview (Visualizao ao vivo) usado com um componente. Quando uma instncia de componente no Stage (Palco) tem um filme com Live Preview, a ferramenta de criao chamar a funo onUpdate do filme com Live Preview sempre que houver modificaes nos parmetros de componente da instncia do componente. A funo onUpdate chamada pela ferramenta de criao sem nenhum parmetro e o valor de retorno ignorado. A funo onUpdate deve ser declarada na Timeline (Linha de tempo) principal do filme com Live Preview. Definir uma funo onUpdate em um filme com Live Preview opcional. Para obter mais informaes sobre filmes com Live Preview, consulte Using Components (Usando Componentes).
Exemplo

A funo onUpdate proporciona ao filme com Live Preview a oportunidade de atualizar sua aparncia, a fim de corresponder aos novos valores dos parmetros de componente. Quando o usurio altera um valor de parmetro no inspetor Properties (Propriedades) dos componentes ou no painel Component Parameters (Parmetros de componentes), onUpdate chamada. A funo onUpdate executar alguma ao para atualizar a si mesma. Por exemplo, se o componente incluir um parmetro cor, a funo onUpdate poder alterar a cor de um clipe de filme dentro do Live Preview para refletir o novo valor de parmetro. Alm disso, poder tambm armazenar a nova cor em uma varivel interna. Aqui est um exemplo de utilizao da funo onUpdate para passar valores a um clipe de filme vazio no filme com Live Preview. Vamos supor que voc tenha o componente de um boto rotulado com uma varivel corRtulo, que especifica a cor do rtulo de texto. O cdigo a seguir est no primeiro quadro da Timeline principal do filme do componente:
//Define o parmetro textColor para especificar a cor do texto do rtulo do //boto. buttonLabel.textColor = corRtulo;

Coloque um clipe de filme vazio chamado xch no filme com Live Preview. Em seguida, coloque o seguinte cdigo no primeiro quadro do filme com Live Preview. Adicione xch ao caminho da varivel corRtulo para passar a varivel ao clipe de filme meu_mc:

onUpdate

675

//Escreve uma funo onUpdate, adicionando "meu_mc." aos nomes de variveis: function onUpdate (){ buttonLabel.textColor = meu_mc.corRtulo; }

or
Disponibilidade

Flash 4. Esse operador foi substitudo pelo operador || (OR lgico).


Uso condio1 ou condio2 Parmetros condio1,2 Retorna

Uma expresso que pode receber o valor true ou false.

Nada.
Descrio

Operador; avaliar condio1 e condio2 e, se alguma das expresses for true, toda a expresso ser true.
Consulte tambm || (OR lgico), | (OR bit a bit)

ord
Disponibilidade

Flash Player 4. Essa funo foi substituda por mtodos e propriedades da classe String.
Uso ord(caractere) Parmetros caractere Retorna

O caractere a ser convertido em um nmero de cdigo ASCII.

Nada.
Descrio

Funo de seqncia de caracteres; converte caracteres em nmeros de cdigo ASCII.


Consulte tambm

Classe String

676

Captulo 12: Dicionrio do ActionScript

_parent
Disponibilidade

Flash Player 5.
Uso _parent.propriedade _parent._parent.propriedade Descrio

Identificador; especifica ou retorna uma referncia ao clipe de filme ou objeto que contm o clipe de filme ou objeto atual. O objeto atual o que contm o cdigo ActionScript que faz referncia a _parent. Use _parent para especificar um caminho relativo para clipes de filme ou objetos que estiverem acima do clipe de filme ou objeto atual.
Exemplo

No exemplo a seguir, o clipe de filme carteira um filho do clipe de filme sala_de_aula. Quando o script a seguir executado dentro do clipe de filme carteira, a reproduo salta para o Frame 10 (Quadro 10) na Timeline (Linha de tempo) do clipe de filme sala_de_aula.
_parent.gotoAndStop(10); Consulte tambm _root, targetPath

_parent

677

parseFloat()
Disponibilidade

Flash Player 5.
Uso parseFloat(seqncia_de_caracteres) Parmetros seqncia_de_caracteres

A seqncia de caracteres a ser lida e convertida em um nmero de

ponto flutuante.
Retorna

Um nmero ou NaN.
Descrio

Funo; converte uma seqncia de caracteres em um nmero de ponto flutuante. A funo l ou analisa e retorna os nmeros em uma seqncia de caracteres at alcanar um caractere que no seja parte do nmero inicial. Se a seqncia de caracteres no comear com um nmero que possa ser analisado, parseFloat retornar NaN. O espao em branco que precede os inteiros vlidos ignorado, pois so caracteres precedentes no numricos.
Exemplo

O exemplo a seguir usa a funo parseFloat para avaliar vrios tipos de nmeros.
parseFloat("-2")

retorna -2 retorna 2,5 retorna 3,5e6 ou 3500000 retorna NaN retorna 3,75 retorna 0

parseFloat("2.5")

parseFloat("3.5e6")

parseFloat("foobar") parseFloat(" 5.1")

retorna 5,1

parseFloat("3.75math") parseFloat("0garbage") Consulte tambm NaN

678

Captulo 12: Dicionrio do ActionScript

parseInt
Disponibilidade

Flash Player 5.
Uso parseInt(expresso [, raiz]) Parmetros expresso raiz

Uma seqncia de caracteres a ser convertida em um inteiro.

Opcional; um inteiro que representa a raiz (base) do nmero a ser analisado. Os valores permitidos vo de 2 a 36.

Retorna

Um nmero ou NaN.
Descrio

Funo; converte uma seqncia de caracteres em um inteiro. Se no for possvel converter a seqncia de caracteres especificada nos parmetros em um nmero, a funo retornar NaN. As seqncias de caracteres que comeam com 0x so interpretadas como nmeros hexadecimais. Os inteiros que comeam com 0 ou que especificam uma raiz de 8 so interpretados como nmeros octais. O espao em branco que precede os inteiros vlidos ignorado, pois so caracteres precedentes no numricos.
Exemplo

Os exemplos a seguir usam a funo parseInt para avaliar vrios tipos de nmeros.
parseInt("3.5") // retorna 3 parseInt("barra") // retorna NaN parseInt("4foo") // retorna 4

A seguir so mostrados exemplos de converses hexadecimais:


parseInt("0x3F8") // retorna 1016 parseInt("3E8", 16) // retorna 1000

Este um exemplo de converso binria:


parseInt("1010", 2) // retorna 10 (a representao decimal do binrio 1010)

Estes so exemplos de anlise de nmeros octais:


parseInt("0777") parseInt("777", 8) // retorna 511 (a representao decimal do octal 777)

parseInt

679

play()
Disponibilidade

Flash 2.
Uso play() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo; move a reproduo para frente na Timeline (Linha de tempo).


Exemplo

O cdigo a seguir usa uma instruo if para verificar o valor de um nome inserido pelo usurio. Se o usurio inserir Steve, a ao play() ser chamada e a reproduo se mover para frente na Timeline. Se o usurio inserir qualquer coisa diferente de Steve, o arquivo SWF no ser reproduzido e um campo de texto com o nome de varivel alert ser exibido.
stop(); if (name == "Steve") { play(); } else { alert="Voc no Steve!"; }

680

Captulo 12: Dicionrio do ActionScript

prevFrame()
Disponibilidade

Flash 2.
Uso prevFrame() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo; envia a reproduo para o prximo quadro e faz uma interrupo. Se o quadro atual for o Frame 1 (Quadro) 1, a reproduo no ser movida.
Exemplo

Quando o usurio clica em um boto que tem o manipulador a seguir anexado, a reproduo enviada ao quadro anterior.
on (release) { prevFrame(); } Consulte tambm MovieClip.prevFrame()

prevScene()
Disponibilidade

Flash 2.
Uso prevScene() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo; envia a reproduo para o quadro 1 da prxima cena e faz uma interrupo.
Consulte tambm nextScene()

prevScene()

681

print()
Disponibilidade

Flash Player 4.20.


Observao: Na criao para Flash Player 7 ou verses posteriores, possvel criar um objeto PrintJob, o que permite que voc, assim como o usurio, tenha mais controle sobre o processo de impresso. Para obter mais informaes, consulte a entrada da Classe PrintJob. Uso print(destino, "Caixa delimitadora") Parmetros destino

O nome da instncia do clipe de filme a ser impresso. Por padro, todos os quadros na instncia de destino so impressos. Se voc quiser imprimir quadros especficos do clipe de filme, atribua um rtulo #p a esses quadros.

Caixa delimitadora Um modificador que define a rea de impresso do clipe de filme. Coloque esse parmetro entre aspas e especifique um dos seguintes valores:

bmovie Indica a caixa delimitadora de um quadro especfico em um filme como a rea de impresso de todos os quadros imprimveis no filme. Atribua um rtulo #b ao quadro cuja caixa delimitadora voc deseja usar como a rea de impresso. bmax Indica uma composio de todas as caixas delimitadoras, de todos os quadros imprimveis, como a rea de impresso. Especifique bmax quando os quadros imprimveis em seu filme variarem em tamanho. bframe Indica que a caixa delimitadora de cada quadro imprimvel deve ser usada como a rea de impresso do quadro. Isso altera a rea de impresso de cada quadro e dimensiona os objetos para caberem na rea de impresso. Use bframe se voc tiver objetos de tamanhos diferentes em cada quadro e desejar que cada objeto ocupe toda a pgina impressa.

Retorna

Nenhum.
Descrio

Funo; imprime o clipe de filme de destino de acordo com os limites especificados no parmetro (bmovie, bmax ou bframe). Para imprimir quadros especficos do clipe de filme de destino, anexe um rtulo #p a esses quadros. Embora a funo print() produza impresses de melhor qualidade que printAsBitmap(), ela no pode ser usada para imprimir clipes de filme que usem transparncia alfa ou efeitos de cor especiais. Se voc usar bmovie para a Caixa delimitadora, mas no atribuir um rtulo #b a um quadro, a rea de impresso ser determinada pelo tamanho do Stage (Palco) do filme carregado. O filme carregado no herda o tamanho do Stage do filme principal. Todos os elementos imprimveis em um filme devem ser totalmente carregados para que a impresso possa comear. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.

682

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir imprime todos os quadros imprimveis no clipe de filme meu_mc com a rea de impresso definida pela caixa delimitadora do quadro que tem anexado o rtulo de quadro #b:
print(meu_mc,"bmovie");

O exemplo a seguir imprime todos os quadros imprimveis em meu_mc com uma rea de impresso definida pela caixa delimitadora de cada quadro:
print(meu_mc,"bframe"); Consulte tambm printAsBitmap(), printAsBitmapNum(),

Classe PrintJob, printNum()

printAsBitmap()
Disponibilidade

Flash Player 4.20.


Observao: Na criao para Flash Player 7 ou verses posteriores, possvel criar um objeto PrintJob, o que permite que voc, assim como o usurio, tenha mais controle sobre o processo de impresso. Para obter mais informaes, consulte a entrada da Classe PrintJob. Uso printAsBitmap(destino, "Caixa delimitadora") Parmetros destino O nome da instncia do clipe de filme a ser impresso. Por padro, todos os quadros do filme so impressos. Para imprimir quadros especficos do filme, necessrio anexar um rtulo #p a esses quadros. Caixa delimitadora Um modificador que define a rea de impresso do filme. Coloque esse parmetro entre aspas e especifique um dos seguintes valores:

bmovie Indica a caixa delimitadora de um quadro especfico em um filme como a rea de impresso de todos os quadros imprimveis no filme. Atribua um rtulo #b ao quadro cuja caixa delimitadora voc deseja usar como a rea de impresso. bmax Indica uma composio de todas as caixas delimitadoras, de todos os quadros imprimveis, como a rea de impresso. Especifique o parmetro bmax quando os quadros imprimveis em seu filme variarem em tamanho. bframe Indica que a caixa delimitadora de cada quadro imprimvel deve ser usada como a rea de impresso do quadro. Isso altera a rea de impresso de cada quadro e dimensiona os objetos para caberem na rea de impresso. Use bframe se voc tiver objetos de tamanhos diferentes em cada quadro e desejar que cada objeto ocupe toda a pgina impressa.

Retorna

Nada.

printAsBitmap()

683

Descrio

Funo; imprime o clipe de filme de destino de acordo com os limites especificados no parmetro (bmovie, bmax ou bframe). Use printAsBitmap() para imprimir filmes contendo quadros com objetos que usem transparncia ou efeitos de cor. A ao printAsBitmap() imprime na resoluo mais alta disponvel da impressora para manter a melhor definio e qualidade possvel. Se o filme no contm transparncias alfa ou efeitos de cor, a Macromedia recomenda o uso de print() para obter melhores resultados em termos de qualidade. Se voc usar bmovie para a Caixa delimitadora, mas no atribuir um rtulo #b a um quadro, a rea de impresso ser determinada pelo tamanho do Stage (Palco) do filme carregado. O filme carregado no herda o tamanho do Stage do filme principal. Todos os elementos imprimveis em um filme devem ser totalmente carregados para que a impresso possa comear. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.
Consulte tambm print(), printAsBitmapNum(),

Classe PrintJob, printNum()

printAsBitmapNum()
Disponibilidade

Flash Player 5.
Observao: Na criao para Flash Player 7 ou verses posteriores, possvel criar um objeto PrintJob, o que permite que voc, assim como o usurio, tenha mais controle sobre o processo de impresso. Para obter mais informaes, consulte a entrada da Classe PrintJob. Uso printAsBitmapNum(nvel, "Caixa delimitadora") Parmetros nvel O nvel a ser impresso no Flash Player. Por padro, todos os quadros do nvel so impressos. Para imprimir quadros especficos do nvel, atribua um rtulo #p a esses quadros. Caixa delimitadora Um modificador que define a rea de impresso do filme. Coloque esse parmetro entre aspas e especifique um dos seguintes valores:

bmovie Indica a caixa delimitadora de um quadro especfico em um filme como a rea de impresso de todos os quadros imprimveis no filme. Atribua um rtulo #b ao quadro cuja caixa delimitadora voc deseja usar como a rea de impresso. bmax Indica uma composio de todas as caixas delimitadoras, de todos os quadros imprimveis, como a rea de impresso. Especifique o parmetro bmax quando os quadros imprimveis em seu filme variarem em tamanho. bframe Indica que a caixa delimitadora de cada quadro imprimvel deve ser usada como a rea de impresso do quadro. Isso altera a rea de impresso de cada quadro e dimensiona os objetos para caberem na rea de impresso. Use bframe se voc tiver objetos de tamanhos diferentes em cada quadro e desejar que cada objeto ocupe toda a pgina impressa.

684

Captulo 12: Dicionrio do ActionScript

Retorna

Nenhum.
Descrio

Funo; imprime um nvel no Flash Player como um bitmap de acordo com os limites especificados no parmetro (bmovie, bmax ou bframe). Use printAsBitmapNum() para imprimir filmes contendo quadros com objetos que usem transparncia ou efeitos de cor. A ao printAsBitmapNum() imprime na resoluo mais alta disponvel da impressora para manter definio e qualidade as mais altas possveis. Para calcular o tamanho do arquivo imprimvel de um quadro indicado para ser impresso como um bitmap, multiplique a largura do pixel pela altura do pixel pela resoluo da impressora. Se o filme no contm transparncias alfa ou efeitos de cor, recomenda-se o uso de printNum() para obter melhores resultados em termos de qualidade. Se voc usar bmovie para a Caixa delimitadora, mas no atribuir um rtulo #b a um quadro, a rea de impresso ser determinada pelo tamanho do Stage (Palco) do filme carregado. O filme carregado no herda o tamanho do Stage do filme principal. Todos os elementos imprimveis em um filme devem ser totalmente carregados para que a impresso possa comear. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.
Consulte tambm print(), printAsBitmap(),

Classe PrintJob, printNum()

Classe PrintJob
Disponibilidade

Flash Player 7.
Descrio

A classe PrintJob permite criar contedo e imprimi-lo em uma ou mais pginas. Alm de oferecer aprimoramentos funcionalidade de impresso propiciada pelo mtodo print(), essa classe permite renderizar contedo dinmico fora da tela, orientar usurios com uma nica caixa de dilogo de impresso, e imprimir um documento no dimensionado com propores mapeadas s propores do contedo. Essa capacidade especialmente til na renderizao e impresso de contedo dinmico externo, como contedo de banco de dados e texto dinmico. Alm disso, com as propriedades preenchidas por PrintJob.start(), o documento pode acessar as configuraes de impressora do usurio, como altura da pgina, largura e orientao, e voc pode configurar seu documento para que ele formate dinamicamente o contedo Flash da maneira apropriada s configuraes da impressora.

Classe PrintJob

685

Resumo dos mtodos da classe PrintJob Voc deve usar os mtodos da classe PrintJob na ordem indicada na tabela a seguir.
Mtodo
PrintJob.start()

Descrio Exibe as caixas de dilogo de impresso do sistema operacional e d incio ao processo de spool. Adiciona uma pgina ao dispositivo de spool de impresso. Envia as pginas colocadas em spool para a impressora.

PrintJob.addPage() PrintJob.send()

Construtor da classe PrintJob


Disponibilidade

Flash Player 7.
Uso meu_pj = new PrintJob() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Construtor; cria um objeto PrintJob que voc pode usar para imprimir uma ou mais pginas. Para implementar um trabalho de impresso, use estes mtodos na seqncia mostrada:
// cria o objeto PrintJob meu_pj = new PrintJob(); // exibe a caixa de dilogo de impresso meu_pj.start(); // instancia o objeto // inicia o trabalho de impresso

// adiciona a rea especificada ao trabalho de impresso // repete uma vez para cada pgina a ser impressa meu_pj.addPage([params]); // envia as pginas para o spooler meu_pj.addPage([params]); meu_pj.addPage([params]); meu_pj.addPage([params]); // envia as pginas do spooler para a impressora meu_pj.send(); // imprime as pginas // limpa delete meu_pj; // exclui o objeto

Ao implementar objetos PrintJob, verifique os valores de retorno de PrintJob.start() e PrintJob.addPage() antes de continuar a impresso. Consulte os exemplos de PrintJob.addPage().

686

Captulo 12: Dicionrio do ActionScript

Somente possvel criar outro objeto PrintJob quando aquele que voc j tiver criado no estiver mais ativo (ou seja, tiver sido concludo com xito ou falhado). Se voc tentar criar um segundo objeto PrintJob (chamando new PrintJob()) enquanto o primeiro ainda estiver ativo, o segundo objeto PrintJob no ser criado.
Exemplo

Consulte PrintJob.addPage().
Consulte tambm PrintJob.addPage(), PrintJob.send(), PrintJob.start()

PrintJob.addPage()
Disponibilidade

Flash Player 7.
Uso meu_pj.addPage(destino [, reaImpresso] [, opes ] [, nmQuadro]) Parmetros destino

O nvel ou nome de instncia do clipe de filme a ser impresso. Passe um nmero para especificar o nvel (por exemplo, 0 corresponde ao filme _root) ou a seqncia de caracteres (entre aspas) para especificar o nome de instncia de um clipe de filme.
reaImpresso

Um objeto opcional que especifica a rea a ser impressa, no seguinte formato:

{xMin:altoEsq, xMax:altoDir, yMin:baixoEsq, yMax:baixoDir}

As coordenadas especificadas para reaImpresso representam os pixels de tela relativos ao ponto de registro do filme _root (se destino=0) ou do nvel ou clipe de filme especificado por destino. Voc deve fornecer todas as quatro coordenadas. A largura (xMax-xMin) e a altura (yMax-yMin) devem ser maiores que 0. Pontos so unidades de medida de impresso e pixels so unidades de medida de tela; um ponto igual, em tamanho, a um pixel. Voc pode usar as equivalncias a seguir para converter polegadas ou centmetros em twips, pixels ou pontos (um twip 1/20 de um pixel):

1 pixel = 1 ponto = 1/72 polegada = 20 twips 1 polegada = 72 pixels = 72 pontos = 1440 twips 1 cm = 567 twips
Observao: Se tiver usado print(), printAsBitmap(), printAsBitmapNum() ou printNum() anteriormente para imprimir no Flash, o rtulo de quadro #b ter sido usado para especificar a rea a ser impressa. Ao usar o mtodo addPage(), voc dever usar o parmetro reaImpresso para especificar a rea de impresso; os rtulos de quadro #b sero ignorados.

Se o parmetro reaImpresso for omitido ou se ele for passado de maneira incorreta, toda a rea do Stage (Palco) de destino ser impressa. Se no desejar especificar um valor para reaImpresso, mas quiser especificar um valor para opes ou nmQuadro, passe null para a reaImpresso.

PrintJob.addPage()

687

opes Um parmetro opcional que determina se a impresso ser como vetor ou como bitmap, no seguinte formato: {printAsBitmap:Boolean}

Por padro, pginas so impressas no formato vetorial. Para imprimir o destino como bitmap, passe true para printAsBitmap. O valor padro false, representando uma solicitao de impresso vetorial. Lembre-se das seguintes sugestes ao determinar os valores a serem usados:

Se o contedo a ser impresso incluir uma imagem em bitmap, use {printAsBitmap:true}


para incluir qualquer transparncia ou efeito de cor.

Se o contedo no incluir imagens em bitmap, omita esse parmetro ou use


{printAsBitmap:false}

para imprimir o contedo em formato vetorial com nvel mais alto

de qualidade. Se o parmetro opes for omitido ou passado de maneira incorreta, ser executada a impresso vetorial. Se no desejar especificar um valor para opes, mas quiser especificar um valor para nmQuadro, passe null para opes.
nmQuadro Um nmero opcional que permite especificar o quadro a ser impresso. Nenhum ActionScript do quadro chamado. Se omitir esse parmetro, o quadro atual em destino ser impresso. Observao: Se tiver usado print(), printAsBitmap(), printAsBitmapNum() ou printNum() anteriormente para imprimir no Flash, talvez o rtulo #p tenha sido usado em vrios quadros para especificar as pginas a serem impressas. Para usar PrintJob.addPage() para imprimir vrios quadros, preciso emitir um comando PrintJob.addPage() para cada quadro; os rtulos de quadro #p so ignorados. Para consultar um modo de fazer isso por programao, verifique o exemplo mais adiante nesta entrada. Retorna

Um valor booleano true se a pgina tiver sido enviada com xito para o dispositivo de spool de impresso, caso contrrio, false.
Descrio

Mtodo; envia o nvel ou clipe de filme especificado como uma nica pgina a ser impressa pelo dispositivo de spool. Antes de usar esse mtodo, use PrintJob.start(); depois de chamar PrintJob.addPage() uma ou mais vezes para um trabalho de impresso, use PrintJob.send() para enviar as pginas colocadas em spool para a impressora. Se esse mtodo retornar false (por exemplo, caso voc no tenha chamado PrintJob.start() ou o usurio tenha cancelado o trabalho de impresso), todas as chamadas subseqentes para PrintJob.addPage() no tero xito. Entretanto, se chamadas anteriores a PrintJob.addPage() tiverem tido xito, o comando de concluso PrintJob.send() enviar para a impressora todas as pginas que tiverem tido xito ao serem colocadas em spool. Se tiver passado um valor para a reaImpresso, as coordenadas xMin e yMin faro o mapeamento para o canto superior esquerdo (coordenadas 0,0) da rea imprimvel na pgina; a rea imprimvel determinada pelas propriedades pageHeight e pageWidth definidas por PrintJob.start(). Como a impresso alinhada ao canto superior esquerdo da rea imprimvel na pgina, a impresso ser cortada direita e/ou na parte inferior se a rea definida em reaImpresso for maior que a rea imprimvel na pgina. Se voc no tiver passado um valor para reaImpresso e o Stage for maior que a rea imprimvel, o mesmo tipo de corte ocorrer.

688

Captulo 12: Dicionrio do ActionScript

Se desejar dimensionar um clipe de filme antes de imprimi-lo, defina as propriedades MovieClip._xscale e MovieClip._yscale antes de chamar esse mtodo. Em seguida, defina-as outra vez com os valores originais. O dimensionamento de um clipe de filme no est relacionado reaImpresso. Ou seja, se voc especificar que deseja imprimir uma rea de 50 x 50 pixels, sero impressos 2500 pixels. Se voc tiver dimensionado o clipe de filme, os mesmos 2500 sero impressos, mas no tamanho dimensionado. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.
Exemplo

O exemplo a seguir mostra vrias maneiras de emitir o comando addPage().


meu_boto.onRelease = function() { var pageCount = 0; var meu_pj = new PrintJob(); if (meu_pj.start()) { // Imprime todo o quadro atual do filme _root em formato vetorial if (meu_pj.addPage(0)) { pageCount++; // Iniciando em 0,0, imprime uma rea de 400 pixels de largura e 500 // pixels de altura do quadro atual do filme _root no formato vetorial if (meu_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500})) { pageCount++; // Iniciando em 0,0, imprime uma rea de 400 pixels de largura e 500 // pixels de altura do quadro 1 do filme _root no formato de bitmap if (meu_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500}, {printAsBitmap:true}, 1)) { pageCount++; // // // if { Iniciando 50 pixels direita de 0,0 e 70 pixels abaixo, imprime uma rea de 500 pixels de largura e 600 pixels de altura do quadro 4 do nvel 5 no formato vetorial (meu_pj.addPage(5, {xMin:50,xMax:550,yMin:70,yMax:670},null, 4)) pageCount++; // // // if { pageCount++; // Iniciando em 0,0, imprime uma rea com 400 pixels de largura // e 600 pixels de altura do quadro 3 do clipe de filme // "dana_mc" no formato vetorial com 50% do tamanho real var x = dana_mc._xscale; var y = dana_mc._yscale; Iniciando em 0,0, imprime uma rea com 400 pixels de largura e 400 pixels de altura do quadro 3 do clipe de filme "dana_mc" no formato bitmap (meu_pj.addPage("dana_mc", {xMin:0,xMax:400,yMin:0,yMax:400},{printAsBitmap:true}, 3))

PrintJob.addPage()

689

dana_mc._xscale = 50; dana_mc._yscale = 50; if (meu_pj.addPage("dana_mc", {xMin:0,xMax:400,yMin:0,yMax:600},null, 3)) { pageCount++; } dana_mc._xscale = x; dana_mc._yscale = y; } } } } } } if (pageCount) { meu_pj.send(); } delete meu_pj; } Consulte tambm PrintJob.send(), PrintJob.start()

PrintJob.send()
Disponibilidade

Flash Player 7.
Uso meu_pj.send() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; usado aps PrintJob.start() e PrintJob.addPage() para enviar para a impressora as pginas colocadas em spool.
Exemplo

Consulte PrintJob.addPage().
Consulte tambm PrintJob.addPage(), PrintJob.start()

690

Captulo 12: Dicionrio do ActionScript

PrintJob.start()
Disponibilidade

Flash Player 7.
Uso meu_pj.start() Parmetros

Nenhum.
Retorna

Um valor booleano true se o usurio clicar em OK quando as caixas de dilogo de impresso forem exibidas, ou false se o usurio clicar em Cancel (Cancelar) ou ocorrer um erro.
Descrio

Mtodo; exibe as caixas de dilogo de impresso do sistema operacional e inicia o processo de spool. As caixas de dilogo de impresso oferecem ao usurio a oportunidade de alterar as configuraes de impresso e, em seguida, preencher as seguintes propriedades somente de leitura (observe que 1 ponto equivale a 1 pixel de tela):
Propriedade
PrintJob.paperHeight PrintJob.paperWidth PrintJob.pageHeight

Tipo Number Number Number

Unidades Observaes Pontos Pontos Pontos Altura geral do papel Largura geral do papel Altura da rea imprimvel real da pgina; as margens definidas pelo usurio sero ignoradas Largura da rea imprimvel real da pgina; as margens definidas pelo usurio sero ignoradas Portrait (Retrato) ou landscape (Paisagem)

PrintJob.pageWidth

Number

Pontos

PrintJob.orientation

String

N/A

O exibidor inicia o processo de enviar o trabalho de impresso no spool para o sistema operacional aps o usurio clicar em OK na caixa de dilogo. Voc deve emitir comandos ActionScript que afetem a impresso e, em seguida, usar comandos PrintJob.addPage() para comear a enviar pginas para o spooler. Se desejar, use as propriedades de altura, largura e orientao retornadas por este mtodo para determinar como formatar a impresso. Como o usurio v informaes como Printing page 1 (Imprimindo pgina 1) imediatamente aps clicar em OK, voc deve chamar os comandos PrintJob.addPage() e PrintJob.send() logo que possvel. Se esse mtodo retornar false (por exemplo, se o usurio clicar em Cancel (Cancelar) em vez de em OK), todas as chamadas subseqentes para PrintJob.addPage() e PrintJob.send() no tero xito. No entanto, mesmo que voc teste esse valor de retorno e no envie comandos PrintJob.addPage() como resultado, ainda assim poder excluir o objeto PrintJob para assegurar que o spooler de impresso esteja limpo, como mostrado a seguir.

PrintJob.start()

691

var meu_pj = new PrintJob(); var meuResult = meu_pj.start(); if(meuResult) { // as instrues addPage() e send() entram aqui } delete meu_pj; Exemplo

Consulte PrintJob.addPage().
Consulte tambm PrintJob.addPage(), PrintJob.send()

printNum()
Disponibilidade

Flash Player 5.
Observao: Na criao para Flash Player 7 ou verses posteriores, possvel criar um objeto PrintJob, o que permite que voc, assim como o usurio, tenha mais controle sobre o processo de impresso. Para obter mais informaes, consulte a entrada da Classe PrintJob. Uso printNum (nvel, "Caixa delimitadora") Parmetros nvel O nvel a ser impresso no Flash Player. Por padro, todos os quadros do nvel so impressos. Para imprimir quadros especficos do nvel, atribua um rtulo #p a esses quadros. Caixa delimitadora Um modificador que define a rea de impresso do filme. Coloque esse parmetro entre aspas e especifique um dos seguintes valores:

bmovie Indica a caixa delimitadora de um quadro especfico em um filme como a rea de impresso de todos os quadros imprimveis no filme. Atribua um rtulo #b ao quadro cuja caixa delimitadora voc deseja usar como a rea de impresso. bmax Indica uma composio de todas as caixas delimitadoras, de todos os quadros imprimveis, como a rea de impresso. Especifique o parmetro bmax quando os quadros imprimveis em seu filme variarem em tamanho. bframe Indica que a caixa delimitadora de cada quadro imprimvel deve ser usada como a rea de impresso do quadro. Isso altera a rea de impresso de cada quadro e dimensiona os objetos para caberem na rea de impresso. Use bframe se voc tiver objetos de tamanhos diferentes em cada quadro e desejar que cada objeto ocupe toda a pgina impressa.

Retorna

Nada.

692

Captulo 12: Dicionrio do ActionScript

Descrio

Funo; imprime o nvel no Flash Player de acordo com os limites especificados no parmetro Caixa delimitadora ("bmovie", "bmax", "bframe"). Para imprimir quadros especficos do filme de destino, necessrio anexar um rtulo #p a esses quadros. Embora a ao printNum() oferea impresses de qualidade superior s da ao printAsBitmapNum(), no possvel usar printNum() para imprimir filmes com transparncias alfa ou efeitos de cor especiais. Se voc usar bmovie para a Caixa delimitadora, mas no atribuir um rtulo #b a um quadro, a rea de impresso ser determinada pelo tamanho do Stage (Palco) do filme carregado. O filme carregado no herda o tamanho do Stage do filme principal. Todos os elementos imprimveis em um filme devem ser totalmente carregados para que a impresso possa comear. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.
Consulte tambm print(), printAsBitmap(), printAsBitmapNum(),

Classe PrintJob

private
Disponibilidade

Flash Player 6.
Uso class umNomeClasse{ private var nome; private function nome() { // suas instrues entram aqui } } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros nome

O nome da varivel ou funo que voc deseja especificar como privada.

Descrio

Palavra-chave; determina que uma varivel ou funo est disponvel apenas para a classe que a declara ou define ou para subclasses dessa classe. Por padro, uma varivel ou funo est disponvel para qualquer classe que a chama. Use esta palavra-chave se quiser restringir o acesso a uma varivel ou funo. Para obter mais informaes, consulte Controlando o acesso de membros na pgina 174. Esta palavra-chave pode ser usada somente em definies de classe, no em definies de interface.
Consulte tambm public, static

private

693

public
Flash Player 6.
Uso class umNomeClasse{ public var nome; public function nome() { // suas instrues entram aqui } } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros nome

O nome da varivel ou funo que voc deseja especificar como pblica.

Descrio

Palavra-chave; determina que uma varivel ou funo estar disponvel para qualquer classe que a chamar. Como as variveis e funes so pblicas por padro, esta palavra-chave usada principalmente por razes estilsticas. Por exemplo, voc pode us-la por razes de uniformidade em um bloco de cdigo que tambm contm variveis privadas ou estticas.
Exemplo

Os dois blocos de cdigo a seguir so funcionalmente idnticos.


private var idade:Number; public var nome:String; static var data_nasc:Date; private var idade:Number; var nome:String; static var data_nasc:Date;

Para obter mais informaes, consulte Controlando o acesso de membros na pgina 174.
Consulte tambm private, static

694

Captulo 12: Dicionrio do ActionScript

_quality
Disponibilidade

Flash Player 5.
Uso _quality Descrio

Propriedade (global); define ou recupera a qualidade de renderizao usada para um filme. As fontes de dispositivo so sempre serrilhadas, sendo assim no so afetadas pela propriedade _quality. A propriedade _quality pode ser definida com os seguintes valores:

"LOW" Qualidade de renderizao baixa. Os grficos no so apresentados sem serrilhado, os bitmaps no so suavizados. "MEDIUM" Qualidade de renderizao mdia. Os grficos so apresentados sem serrilhado usando uma grade de 2 x 2, em pixels, mas os bitmaps no so suavizados. Adequado para filmes que no contm texto. "HIGH" Qualidade de renderizao alta. Os grficos so apresentados sem serrilhado usando uma grade de 4 x 4, em pixels, e os bitmaps so suavizados quando o filme esttico. Essa a configurao de qualidade de renderizao padro usada pelo Flash. "BEST" Qualidade de renderizao muito alta. Os grficos so apresentados sem serrilhado usando uma grade de 4 x 4, em pixels, e os bitmaps sempre so suavizados.

Exemplo

O exemplo a seguir define a qualidade de renderizao como LOW:


_quality = "LOW"; Consulte tambm _highquality, toggleHighQuality()

_quality

695

random
Disponibilidade

Flash Player 4. Esta funo foi substituda no Flash 5 por Math.random().


Uso random(valor) Parmetros valor Retorna

Um inteiro.

Um inteiro.
Descrio

Funo; retorna um inteiro aleatrio entre 0 e 1 a menos que o inteiro especificado no parmetro valor.
Exemplo

O seguinte uso de random() retorna um valor de 0, 1, 2, 3 ou 4:


random(5); Consulte tambm Math.random()

removeMovieClip()
Disponibilidade

Flash Player 4.
Uso removeMovieClip(destino) Parmetros destino O caminho de destino de uma instncia de clipe de filme com duplicateMovieClip(), ou o nome da instncia de um clipe de filme criada MovieClip.attachMovie() ou MovieClip.duplicateMovieClip(). Retorna

com

Nenhum.
Descrio

Funo; exclui o clipe de filme especificado.


Consulte tambm duplicateMovieClip(), MovieClip.duplicateMovieClip(), MovieClip.attachMovie(), MovieClip.removeMovieClip()

696

Captulo 12: Dicionrio do ActionScript

return
Disponibilidade

Flash Player 5.
Uso return[expresso] Parmetros expresso

Uma seqncia de caracteres, um nmero, um array ou um objeto a ser avaliado e retornado como um valor da funo. Este parmetro opcional.

Retorna

O parmetro avaliado expresso, se fornecido.


Descrio

Instruo; especifica o valor retornado pela funo. A ao return avalia expresso e retorna o resultado como o valor da funo em que executada. A ao return faz com que a funo pare de ser executada e a substitui pelo valor retornado. Se a instruo return for usada isoladamente, retornar null. No possvel retornar diversos valores. Se tentar fazer isso, apenas o ltimo valor ser retornado. No exemplo a seguir, c retornado:
return a, b, c ; Exemplo

O exemplo a seguir usa a ao return dentro do corpo da funo sum() para retornar o valor dos trs parmetros somados. A prxima linha de cdigo chama a funo sum() e atribui o valor retornado varivel novoValor:
function sum(a, b, c){ return a + b + c; } novoValor = sum(4, 32, 78); trace(novoValor); // Envia 114 ao painel Output (Sada) Consulte tambm function

return

697

_root
Disponibilidade

Flash Player 5.
Uso _root.clipeFilme _root.ao _root.propriedade Parmetros clipeFilme ao

O nome da instncia de um clipe de filme. Uma propriedade do objeto MovieClip.

Uma ao ou mtodo.

propriedade Descrio

Propriedade; especifica ou retorna uma referncia Timeline (Linha de tempo) do filme raiz. Se um filme tiver vrios nveis, a Timeline do filme raiz estar no nvel que estiver no script em execuo no momento. Por exemplo, se um script no nvel 1 avaliar _root, ser retornado _level1. Especificar _root o mesmo que usar a notao de barra (/) para especificar um caminho absoluto dentro do nvel atual.
Observao: Se um filme que contm _root for carregado em outro filme, _root se referir Timeline do filme que est sendo carregado, no que contm _root. Para ter certeza de que _root se refere Timeline do filme carregado, mesmo que este seja carregado em outro filme, use MovieClip._lockroot. Exemplo

O exemplo a seguir interrompe a Timeline do nvel que contm o script em execuo no momento:
_root.stop();

O exemplo a seguir envia a Timeline que est no nvel atual para o Frame 3 (Quadro 3):
_root.gotoAndStop(3); Consulte tambm MovieClip._lockroot, _parent, targetPath

698

Captulo 12: Dicionrio do ActionScript

scroll
Disponibilidade

Flash Player 4.
Uso nomeVarivelCampoTexto.scroll = x Descrio

Propriedade; uma propriedade obsoleta que controla a exibio de informaes em um campo de texto associado a uma varivel. A propriedade scroll define o local em que o campo de texto comea a exibir o contedo; depois que voc o define, o Flash Player o atualiza medida que o usurio rola pelo campo de texto. A propriedade scroll til para direcionar os usurios para um pargrafo em especfico em um trecho longo, ou para criar campos de texto de rolagem. Essa propriedade pode ser recuperada e modificada.
Exemplo

O cdigo a seguir anexado a um boto Up (Para cima) que faz rolar o campo de texto meuTexto.
on (release) { meuTexto.scroll = meuTexto.scroll + 1; } Consulte tambm TextField.maxscroll, TextField.scroll

Classe Selection
Disponibilidade

Flash Player 5.
Descrio

A classe Selection permite que voc defina e controle o campo de texto no qual est localizado o ponto de insero, ou seja, o campo que possui o foco. Os ndices do intervalo de seleo tm zero como base (por exemplo, a primeira posio 0, a segunda 1 e assim por diante). No h nenhuma funo construtora para a classe Selection, pois s pode haver um campo focalizado por vez. Resumo dos mtodos da classe Selection
Mtodo
Selection.addListener()

Descrio Registra um objeto para receber notificao quando onSetFocus chamado. Retorna o ndice no incio do intervalo de seleo. Retornar -1 se no houver nenhum ndice nem campo selecionado no momento.

Selection.getBeginIndex()

Classe Selection

699

Mtodo
Selection.getCaretIndex()

Descrio Retorna a posio atual do cursor (ponto de insero) no intervalo de seleo focalizado atualmente. Retornar -1 se no houver nenhuma posio de cursor nem intervalo de seleo focalizado no momento. Retorna o ndice no final do intervalo de seleo. Retornar -1 se no houver nenhum ndice nem campo selecionado no momento. Retorna o nome da varivel do campo de texto em foco no momento. Retornar null caso no haja campo de texto em foco no momento. Remove um objeto que foi registrado anteriormente com o mtodo addListener(). Focaliza o campo de texto associado varivel especificada. Define os ndices de incio e de fim do intervalo de seleo.

Selection.getEndIndex()

Selection.getFocus()

Selection.removeListener()

Selection.setFocus() Selection.setSelection()

Resumo dos ouvintes da classe Selection


Ouvinte
Selection.onSetFocus

Descrio Notificado quando o foco de entrada alterado.

Selection.addListener()
Disponibilidade

Flash Player 6.
Uso Selection.addListener(novoOuvinte) Parmetros novoOuvinte Retorna

Objeto com um mtodo onSetFocus.

Nenhum.
Descrio

Mtodo; registra um objeto para receber notificaes de alterao de foco do teclado. Quando o foco alterado (por exemplo, sempre que Selection.setFocus() chamado), o mtodo onSetFocus de todos os objetos ouvintes registrados com addListener() chamado. Vrios objetos podem ouvir notificaes de alterao de foco. Se o ouvinte novoOuvinte j estiver registrado, nenhuma alterao ocorrer.

700

Captulo 12: Dicionrio do ActionScript

Selection.getBeginIndex()
Disponibilidade

Flash Player 5.
Uso Selection.getBeginIndex() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o ndice no incio do intervalo de seleo. Se nenhum ndice existir ou nenhum campo de texto possuir foco no momento, o mtodo retornar -1. Os ndices do intervalo de seleo tm zero como base (por exemplo, a primeira posio 0, a segunda posio 1, e assim por diante).

Selection.getCaretIndex()
Disponibilidade

Flash Player 5.
Uso Selection.getCaretIndex() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o ndice da posio do ponto de insero intermitente (cursor em forma de circunflexo). Se no for exibido um ponto de insero intermitente, o mtodo retornar -1. Os ndices do intervalo de seleo tm zero como base (por exemplo, a primeira posio 0, a segunda posio 1, e assim por diante).

Selection.getCaretIndex()

701

Selection.getEndIndex()
Disponibilidade

Flash Player 5.
Uso Selection.getEndIndex() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o ndice final do intervalo de seleo focalizado no momento. Se no existir ndice ou intervalo de seleo em foco no momento, o mtodo retornar -1. Os ndices do intervalo de seleo tm zero como base (por exemplo, a primeira posio 0, a segunda posio 1, e assim por diante).

Selection.getFocus()
Disponibilidade

Flash Player 5. Nomes de instncias para botes e campos de texto funcionam no Flash Player 6 e verses posteriores.
Uso Selection.getFocus() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres ou null.


Descrio

Mtodo; retorna o nome da varivel do campo de texto que est evidenciado. Se nenhum campo de texto estiver evidenciado, o mtodo retornar null. Se o foco atual for um boto que seja um objeto Button, getFocus() retornar o caminho de destino como uma seqncia de caracteres. Se o foco atual for um campo de texto que seja um objeto TextField, getFocus() retornar o caminho de destino como uma seqncia de caracteres. Se um clipe de filme tipo boto for o boto atualmente em foco, Selection.getFocus() retornar o caminho de destino do clipe de filme tipo boto. Se um campo de texto com um nome de instncia estiver atualmente em foco, Selection.getFocus() retornar o caminho de destino do objeto TextField. Caso contrrio, retornar o nome da varivel do campo de texto.

702

Captulo 12: Dicionrio do ActionScript

Selection.onSetFocus
Disponibilidade

Flash Player 6.
Uso umOuvinte.onSetFocus = function(focoAnterior, novoFoco){ instrues; } Descrio

Ouvinte; notificado quando o foco de entrada alterado. Para usar onSetFocus, crie um objeto ouvinte. Em seguida, possvel definir uma funo para onSetFocus e usar addListener() para registrar o ouvinte com o objeto Selection, como no exemplo a seguir:
umOuvinte = new Object(); umOuvinte.onSetFocus = function () { ... }; Selection.addListener(umOuvinte);

Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Selection.addListener()

Selection.removeListener()
Disponibilidade

Flash Player 6.
Uso Selection.removeListener(ouvinte) Parmetros ouvinte Retorna

O objeto que deixar de receber notificaes de foco.

Se o ouvinte tiver sido removido com xito, o mtodo retornar um valor true. Se o ouvinte no tiver sido removido com xito, por exemplo, pelo fato de o ouvinte no constar na lista de ouvintes do objeto Selection, o mtodo retornar um valor false.
Descrio

Mtodo; remove um objeto anteriormente registrado com addListener().

Selection.removeListener()

703

Selection.setFocus()
Disponibilidade

Flash Player 5. Nomes de instncias para botes e clipes de filmes funcionam somente no Flash Player 6 e verses posteriores.
Uso Selection.setFocus("nomeInstncia") Parmetros nomeInstncia Uma seqncia de caracteres que especifica o caminho para o nome de instncia de um boto, clipe de filme ou campo de texto. Retorna

Um evento.
Descrio

Mtodo; fornece foco ao campo de texto, boto ou clipe de filme selecionvel (editvel), especificado por nomeInstncia. O parmetro nomeInstncia deve ser um literal de seqncia de caracteres do caminho dessa instncia. possvel usar a notao de ponto ou barra para especificar o caminho. Tambm possvel usar um caminho relativo ou absoluto. Se voc estiver usando o ActionScript 2.0, dever usar a notao de ponto. Se null for passado, o foco atual ser removido.
Exemplo

O exemplo a seguir focaliza um campo de texto associado a minhaVar, na Timeline (Linha de tempo) principal. O parmetro nomeInstncia um caminho absoluto, portanto, possvel chamar a ao de qualquer Timeline.
Selection.setFocus("_root.minhaVar");

No exemplo a seguir, o campo de texto associado a minhaVar est em um clipe de filme chamado meuClipe na Timeline principal. possvel usar um dos caminhos a seguir para definir o foco. O primeiro relativo e o segundo absoluto.
Selection.setFocus("meuClipe.minhaVar"); Selection.setFocus("_root.meuClipe.minhaVar");

704

Captulo 12: Dicionrio do ActionScript

Selection.setSelection()
Disponibilidade

Flash Player 5.
Uso Selection.setSelection(incio, fim) Parmetros incio fim Retorna

O ndice inicial do intervalo de seleo.

O ndice final do intervalo de seleo.

Nada.
Descrio

Mtodo; define o intervalo de seleo do campo de texto focalizado no momento. O novo intervalo de seleo comear no ndice especificado no parmetro incio e terminar no ndice especificado no parmetro fim. Os ndices do intervalo de seleo tem zero como base (por exemplo, a primeira posio 0, a segunda 1 e assim por diante). Esse mtodo no ter efeito se no houver nenhum campo de texto focalizado no momento.

Selection.setSelection()

705

set
Disponibilidade

Flash Player 6.
Uso function set propriedade(nomeVar) { // suas instrues entram aqui } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros propriedade nomeVar Retorna

Palavra que voc deseja usar para se referir propriedade que set acessar. Este valor deve ser igual quele usado no comando get correspondente. A varivel local que define o valor que voc est atribuindo.

Nada.
Descrio

Palavra-chave; permite a definio (set) implcita de propriedades associadas a objetos baseados em classes que voc definiu em arquivos de classe externos. O uso de mtodos set implcitos permite acessar propriedades de objetos sem acess-los diretamente. Os mtodos get/set implcitos so abreviaes sintticas do mtodo Object.addProperty() do ActionScript 1. Para obter mais informaes, consulte Mtodos get/set implcitos na pgina 183.
Consulte tambm get, Object.addProperty()

706

Captulo 12: Dicionrio do ActionScript

set variable
Disponibilidade

Flash Player 4.
Uso set(varivel, expresso) Parmetros varivel expresso Retorna

Um identificador para conter o valor do parmetro expresso. Um valor atribudo varivel.

Nada.
Descrio

Instruo; atribui um valor a uma varivel. Uma varivel um recipiente que contm dados. O recipiente sempre o mesmo, mas o contedo pode mudar. Ao alterar o valor de uma varivel durante a execuo do arquivo SWF, voc poder registrar e salvar informaes sobre as atividades do usurio, gravar valores que mudam medida que o arquivo SWF executado ou avaliar se uma condio true ou false. As variveis podem conter qualquer tipo de dados (por exemplo, String, Number, Boolean, Object ou MovieClip). A Timeline (Linha de tempo) de cada arquivo SWF e clipe de filme tem seu prprio conjunto de variveis, e cada varivel tem seu prprio valor, independentemente das variveis de outras Timelines. Atribuio estrita de tipos de dados no suportada em uma instruo set. Se voc usar essa instruo para definir uma varivel com um valor cujo tipo de dados seja diferente daquele associado varivel em um arquivo de classes, nenhum erro de compilador ser gerado.
Exemplo

Este exemplo define uma varivel denominada pos_orig_x, que armazena a posio do eixo x original do clipe de filme navio para redefinir o envio para o local inicial posteriormente no arquivo SWF.
on (release) { set("pos_orig_x", getProperty ("navio", _x )); }

O cdigo anterior fornece o mesmo resultado que o cdigo a seguir:


on (release) { pos_orig_x = navio._x; } Consulte tambm var, call()

set variable

707

setInterval()
Disponibilidade

Flash Player 6.
Uso setInterval(nomeFuno, intervalo [, param1, param2, ..., paramN]) Parmetros nomeFuno intervalo

Um nome de funo ou uma referncia a uma funo annima. Tempo, em milissegundos, entre as chamadas ao parmetro nomeFuno. Parmetros opcionais passados ao parmetro nomeFuno ou

param1, param2, ..., paramN nomeMtodo. Retorna

Um identificador de intervalo que pode ser passado para clearInterval() a fim de cancelar o intervalo.
Descrio

Funo; chama uma funo ou mtodo ou um objeto em intervalos peridicos enquanto um arquivo SWF est sendo executado. possvel usar uma funo de intervalo para atualizar variveis de um banco de dados ou atualizar uma exibio de tempo. Se intervalo for menor que a taxa de quadros do arquivo SWF (por exemplo, 10 quadros por segundo (fps) equivalem a 100 milissegundos), a funo de intervalo ser chamada o mais prximo possvel de intervalo. Use a funo updateAfterEvent() para verificar se a tela est sendo atualizada com a freqncia necessria. Se intervalo for maior que a taxa de quadros do arquivo SWF, a funo de intervalo s ser chamada quando a reproduo entrar em um quadro, de forma a minimizar o impacto que ocorre sempre que a tela atualizada.
Exemplo

Uso 1: o exemplo a seguir chama uma funo annima a cada 1.000 milissegundos (a cada 1 segundo).
setInterval( function(){ trace("intervalo chamado"); }, 1000 );

Uso 2: O exemplo a seguir define dois manipuladores de eventos e chama cada um deles. Ambas as chamadas a setInterval() enviam a seqncia de caracteres "intervalo chamado" para o painel Output (Sada) a cada 1.000 milissegundos. A primeira chamada a setInterval() chama a funo callback1(), que contm uma ao trace(). A segunda chamada a setInterval() passa a seqncia de caracteres "intervalo chamado" para a funo callback2() como um parmetro.

708

Captulo 12: Dicionrio do ActionScript

function callback1() { trace("intervalo chamado"); } function callback2(arg) { trace(arg); } setInterval( callback1, 1000 ); setInterval( callback2, 1000, "intervalo chamado" );

Uso 3: Este exemplo usa um mtodo de um objeto. Use esta sintaxe quando quiser chamar um mtodo que seja definido para um objeto.
obj = new Object(); obj.interval = function() { trace("funo intervalo chamada"); } setInterval( obj, "intervalo", 1000 ); obj2 = new Object(); obj2.interval = function(s) { trace(s); } setInterval( obj2, "intervalo", 1000, "funo intervalo chamada" );

Use a segunda forma da sintaxe setInterval() para chamar um mtodo de um objeto, como a seguir:
setInterval( obj2, "intervalo", 1000, "funo intervalo chamada" ); Consulte tambm clearInterval(), updateAfterEvent()

setInterval()

709

setProperty()
Disponibilidade

Flash Player 4.
Uso setProperty(destino, propriedade, valor/expresso) Parmetros destino

O caminho para o nome da instncia do clipe de filme cuja propriedade ser definida. A propriedade que ser definida. Uma equao que avaliada como o novo valor da propriedade. O novo valor literal da propriedade.

propriedade valor

expresso Retorna

Nada.
Descrio

Funo; altera o valor da propriedade de um clipe de filme durante sua reproduo.


Exemplo

Esta instruo define como 30% a propriedade _alpha de um clipe de filme chamado star quando se clica no boto:
on (release) { setProperty("star", _alpha, "30"); } Consulte tambm getProperty

710

Captulo 12: Dicionrio do ActionScript

Classe SharedObject
Disponibilidade

Flash Player 6.
Descrio

Os objetos Shared so bastante avanados: oferecem compartilhamento de dados em tempo real entre os objetos persistentes no computador do usurio. Pense nos objetos locais compartilhados como cookies. Voc pode usar os objetos locais compartilhados para manter persistncia local. Esta a forma mais simples de usar um objeto compartilhado. Por exemplo, voc pode chamar SharedObject.getLocal() para criar um objeto compartilhado, como uma calculadora com memria, no exibidor. Como o objeto compartilhado tem persistncia local, o Flash salva os atributos dos dados na mquina do usurio ao trmino da reproduo do SWF. Na prxima vez em que o arquivo SWF for executado, a calculadora conter os valores que possua ao trmino do arquivo SWF. Como alternativa, se voc definir as propriedades do objeto compartilhado como null antes do trmino do SWF, a calculadora ser aberta sem os valores anteriores na prxima vez em que o arquivo SWF for executado. Para criar um objeto local compartilhado, use esta sintaxe:
// Cria um objeto local compartilhado so = SharedObject.getLocal("foo");

Consideraes sobre o espao do disco local Os objetos locais compartilhados so sempre persistentes no cliente, at o limite do espao disponvel na memria e no disco. Por padro, o Flash pode salvar os objetos remotos compartilhados com persistncia local at o limite de 100 KB. Quando voc tenta salvar um objeto maior, o Flash Player exibe a caixa de dilogo Local Storage (Armazenamento local), na qual o usurio pode permitir ou proibir o armazenamento local para o domnio que est solicitando acesso. Certifique-se de que o tamanho do Stage (Palco) seja de pelo menos 215 x 138 pixels. Esse o tamanho mnimo que o Flash necessita para exibir a caixa de dilogo.

Se o usurio clicar em Allow (Permitir), o objeto ser salvo e SharedObject.onStatus ser chamado com a propriedade code com o valor SharedObject.Flush.Success. Se o usurio clicar em Deny (Proibir), o objeto no ser salvo e SharedObject.onStatus ser chamado com a propriedade code com o valor SharedObject.Flush.Failed.

Classe SharedObject

711

O usurio tambm pode especificar configuraes permanentes de armazenamento local para um domnio especfico clicando com o boto direito do mouse (Windows) ou clicando com a tecla Ctrl pressionada (Macintosh) enquanto um arquivo SWF estiver sendo reproduzido, escolhendo Settings (Configuraes) e abrindo o painel Local Storage.

A lista a seguir resume como as opes de espao em disco do usurio interagem com os objetos compartilhados:

Se o usurio selecionar Never (Nunca), os objetos nunca sero salvos localmente e todos os
comandos SharedObject.flush() emitidos para o objeto retornaro o valor false. Se o usurio selecionar Unlimited (Ilimitado) movendo o controle deslizante para a extrema direita, os objetos sero salvos localmente at o limite de espao disponvel no disco. Se o usurio selecionar None (Nenhum) movendo o controle deslizante para a extremidade esquerda, todos os comandos SharedObject.flush() emitidos para o objeto retornaro "pending" (pendente) e faro o exibidor perguntar ao usurio se possvel alocar mais espao no disco para receber o objeto, conforme explicado anteriormente. Se o usurio selecionar 10 KB, 100 KB, 1 MB ou 10 MB, os objetos sero salvos localmente e SharedObject.flush() retornar true se o objeto couber no espao especificado. Se for necessrio mais espao, SharedObject.flush() retornar "pending" e o exibidor perguntar ao usurio se possvel alocar mais espao no disco para receber o objeto, conforme explicado anteriormente.

Alm disso, se o usurio selecionar um valor menor do que o espao em disco que est sendo usado no momento para os dados com persistncia local, o exibidor avisar que os objetos compartilhados salvos sero excludos.

Observao: No h limite de tamanho no Flash Player executado no ambiente de criao.

Resumo dos mtodos da classe SharedObject


Mtodo
SharedObject.clear()

Descrio Elimina todos os dados do objeto compartilhado e exclui o objeto do disco. Grava imediatamente um objeto compartilhado com persistncia local em um arquivo local.

SharedObject.flush()

712

Captulo 12: Dicionrio do ActionScript

Mtodo
SharedObject.getLocal()

Descrio Retorna uma referncia a um objeto compartilhado com persistncia local que est disponvel somente para o cliente atual. Obtm o tamanho atual do objeto compartilhado, em bytes.

SharedObject.getSize()

Resumo da propriedade da classe SharedObject


Propriedade (somente de leitura)
SharedObject.data

Descrio Coleo de atributos atribudos propriedade data do objeto; tais atributos podem ser compartilhados e/ou armazenados.

Resumo do manipulador de eventos do objeto SharedObject


Manipulador de eventos
SharedObject.onStatus

Descrio Chamado sempre que um erro, aviso ou nota informativa postado para o objeto compartilhado.

Construtor da classe SharedObject Para obter mais informaes sobre como criar objetos locais compartilhados, consulte
SharedObject.getLocal().

SharedObject.clear()
Disponibilidade

Flash Player 7.
Uso meu_so.clear() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; elimina todos os dados do objeto compartilhado e o exclui do disco. A referncia a meu_so ainda est ativa e meu_so est vazio agora.

SharedObject.clear()

713

SharedObject.data
Disponibilidade

Flash Player 6.
Uso meuObjetoCompartilhadoLocal.data Descrio

Propriedade somente de leitura; coleo de atributos atribudos propriedade data do objeto; tais atributos podem ser compartilhados e/ou armazenados. Cada atributo pode ser um objeto de qualquer um dos tipos bsicos ActionScript ou JavaScript: Array, Number, Boolean e assim por diante. Por exemplo, as linhas a seguir atribuem valores a vrios aspectos de um objeto compartilhado:
itensArray = new Array(101,346,483); usurioAtualAdmin = true; nomeUsurioAtual = "Maria"; so.data.itemNumbers = itensArray; so.data.adminPrivileges = usurioAtualAdmin; so.data.userName = nomeUsurioAtual;

Todos os atributos da propriedade data de um objeto compartilhado sero salvos se o objeto for persistente.
Observao: No atribua valores diretamente propriedade data de um objeto compartilhado, como em so.data = umValor; o Flash ignora essas atribuies. so.data.attributeName.

Para excluir os atributos de objetos locais compartilhados, use cdigos como delete Configurar um atributo como null ou undefined para um objeto compartilhado local no exclui o atributo. Para criar valores private para um objeto compartilhado valores disponveis somente para a instncia do cliente enquanto o objeto estiver em uso e que no so armazenados com o objeto quando este fechado crie propriedades que no sejam data para armazen-las, conforme mostrado no exemplo a seguir.
so.corFavorita = "azul"; so.barFavorito = "The Bluenote Tavern"; so.msicaFavorita = "Azul";

Exemplo

O exemplo a seguir define o fluxo atual para a seleo do usurio.


fluxoAtual = _root.so.data.msgList[selected].streamName; Consulte tambm

Classe Sound

714

Captulo 12: Dicionrio do ActionScript

SharedObject.flush()
Disponibilidade

Flash Player 6.
Uso meuObjetoCompartilhadoLocal.flush([espaoDiscoMnimo]) Parmetros EspaoDiscoMnimo Inteiro opcional que especifica o nmero de bytes que deve ser alocado para este objeto. O valor padro 0. Retorna

Um valor booleano true ou false, ou um valor de seqncia de caracteres "pending" (pendente).

Se o usurio permitir o armazenamento de informaes locais para objetos desse domnio e o


espao alocado for suficiente para armazenar o objeto, o mtodo retornar true. Se voc passou um valor para espaoDiscoMnimo, o espao alocado deve ser pelo menos igual a esse valor para que ele retorne true. Se o usurio permitir o armazenamento de informaes locais relativas a objetos desse domnio, mas o espao alocado no for suficiente para armazenar o objeto, o mtodo retornar "pending" (pendente). Se o usurio tiver negado permanentemente o armazenamento de informaes locais relativas a objetos desse domnio, ou o Flash no conseguir salvar o objeto por qualquer motivo, o mtodo retornar false.

Descrio

Mtodo; grava imediatamente um objeto compartilhado com persistncia local em um arquivo local. Se voc no usar este mtodo, o Flash gravar o objeto compartilhado em um arquivo ao fim de sua sesso. Ou seja, quando o arquivo SWF for fechado, o objeto compartilhado for jogado no lixo por no conter mais referncias ou voc chamar SharedObject.data. Se o mtodo retornar "pending", o Flash Player exibir uma caixa de dilogo solicitando que o usurio aumente o espao disponvel no disco para os objetos deste domnio. Para fornecer espao para que o objeto compartilhado cresa quando salvo no futuro, evitando, assim, valores de retorno "pending", passe um valor para espaoDiscoMnimo. Quando o Flash tentar gravar o arquivo, procurar o nmero de bytes passados para espaoDiscoMnimo, em vez de buscar somente pelo espao suficiente para salvar o objeto compartilhado em seu tamanho atual. Por exemplo, se voc espera que um objeto compartilhado cresa at, no mximo, 500 bytes, mesmo que comece bem menor, passe 500 para espaoDiscoMnimo. Se o Flash solicitar que o usurio aloque espao no disco para o objeto compartilhado, solicitar 500 bytes. Aps o usurio alocar o espao solicitado, o Flash no precisar solicitar mais espao em tentativas futuras para aprovar o objeto (contanto que seu tamanho no ultrapasse 500 bytes). Depois que o usurio responde caixa de dilogo, esse mtodo chamado novamente e retorna true ou false. Alm disso, SharedObject.onStatus chamado com a propriedade code com o valor SharedObject.Flush.Success ou SharedObject.Flush.Failed.

SharedObject.flush()

715

Para obter mais informaes, consulte Consideraes sobre o espao do disco local na pgina 711.
Exemplo

A funo a seguir obtm um objeto compartilhado, SO, e preenche propriedades gravveis com configuraes fornecidas pelo usurio. Finalmente, o flush() chamado para salvar as configuraes e utiliza no mnimo 1.000 bytes de espao no disco.
this.SyncSettingsCore=function(soname, override, settings) { var SO=SharedObject.getLocal(soname, "http://www.meuDomnio.com/app/sys"); // ndice da lista de configuraes var i; // Para cada valor especificado nas configuraes: // Se o valor de override for true, a persistncia ser definida pelo valor // fornecido. // Se o valor de override for false, busca a definio da persistncia, a // menos que no exista. Nesse caso, utiliza-se o valor fornecido. for (i in settings) { if (override || (SO.data[i] == null)) { SO.data[i]= settings[i]; } else { settings[i]= SO.data[i]; } } SO.flush(1000); }

716

Captulo 12: Dicionrio do ActionScript

SharedObject.getLocal()
Disponibilidade

Flash Player 6.
Uso SharedObject.getLocal(nomeObjeto [, caminhoLocal]) Observao: A sintaxe correta SharedObject.getLocal. Para atribuir o objeto a uma varivel, use uma sintaxe como meuSOlocal = SharedObject.getLocal. Parmetros nomeObjeto Nome do objeto. O nome pode incluir barras (/); por exemplo, trabalho/endereos um nome adequado. No permitido incluir espaos no nome do objeto

compartilhado, bem como os seguintes caracteres:


~ % & \ ; : caminhoLocal " ' , < > ? #

Parmetro de seqncia de caracteres opcional que especifica o caminho integral ou parcial para o arquivo SWF que criou o objeto compartilhado, e que determina onde o objeto compartilhado ser armazenamento localmente. O valor padro o caminho completo.

Retorna

Referncia a um objeto compartilhado persistente localmente que est disponvel somente para o cliente atual. Se o Flash no conseguir criar ou localizar o objeto compartilhado (por exemplo, se caminhoLocal foi especificado mas tal diretrio no existir), o mtodo retornar null.
Descrio

Mtodo; retorna uma referncia a um objeto compartilhado com persistncia local que est disponvel somente para o cliente atual. Para evitar conflitos entre nomes, o Flash examina o local do arquivo SWF que est criando o objeto compartilhado. Por exemplo, se um arquivo SWF em www.minhaEmpresa.com/apps/ stockwatcher.swf criar um objeto compartilhado denominado portflio, no haver conflito com outro objeto denominado portflio criado por um arquivo SWF em www.suaEmpresa.com/photoshoot.swf, porque os arquivos SWF pertencem a dois diretrios diferentes.
Exemplo

O exemplo a seguir salva o ltimo quadro inserido pelo usurio em um objeto compartilhado local chamado kookie.
// Obtm o kookie so = sharedobject.getlocal("kookie"); // Obtm o usurio do kookie e vai para o nmero do quadro salvo por este // usurio. if (so.data.user != undefined) { this.user = so.data.user; this.gotoAndStop(so.data.frame); }

SharedObject.getLocal()

717

O bloco de cdigos a seguir colocado em cada quadro do SWF.


// A cada quadro, a funo rememberme chamada para salvar o nmero do quadro. function rememberme() { so.data.frame=this._currentFrame; so.data.user="Joo"; }

SharedObject.getSize()
Disponibilidade

Flash Player 6.
Uso myLocalSharedObject.getSize() Parmetros

Nenhum.
Retorna

Um valor numrico, em bytes, que especifica o tamanho do objeto compartilhado.


Descrio

Mtodo; obtm o tamanho atual do objeto compartilhado, em bytes. O Flash calcula o tamanho de um objeto compartilhado analisando cada uma de suas propriedades de dados. Quanto mais propriedades de dados o objeto possuir, mais tempo ser necessrio para avaliar seu tamanho. Por isso, a avaliao do tamanho do objeto pode ter um custo de processamento significativo. Portanto, voc pode evitar usar esse mtodo quando no precisar especificamente dele.
Exemplo

O exemplo a seguir obtm o tamanho do objeto compartilhado so.


var soSize= this.so.getSize();

718

Captulo 12: Dicionrio do ActionScript

SharedObject.onStatus
Disponibilidade

Flash Player 6.
Uso meuObjetoLocalCompartilhado.onStatus = function(objetoInfo) { // suas instrues entram aqui } Parmetros objetoInfo Retorna

Um parmetro definido de acordo com a mensagem de status.

Nada.
Descrio

Manipulador de eventos; chamado sempre que um erro, aviso ou nota informativa postado para o objeto compartilhado. Se voc quiser responder a esse manipulador de eventos, dever criar uma funo para processar o objeto de informaes gerado pelo objeto compartilhado. O objeto de informao tem uma propriedade code que contm uma seqncia de caracteres que descreve o resultado do manipulador onStatus e uma propriedade level que contm uma seqncia de caracteres "Status" ou "Error". Alm desse manipulador onStatus, o Flash oferece uma superfuno denominada System.onStatus. Se onStatus for chamado para determinado objeto e no houver funo atribuda para resposta, o Flash processar uma funo atribuda a System.onStatus, se esta existir. Os eventos a seguir avisam quando ocorrem determinadas atividades SharedObject.
Propriedade Code
SharedObject.Flush.Failed

Propriedade Level Error

Significado Um comando SharedObject.flush() que retornou "pending" (pendente) apresentou erros: o usurio no alocou espao em disco adicional para o objeto compartilhado quando o Flash Player exibiu a caixa de dilogo Local Storage Settings (Configuraes do armazenamento local). Um comando SharedObject.flush() que retornou "pending" foi concludo com xito (o usurio alocou mais espao em disco para o objeto compartilhado).

SharedObject.Flush.Success Status

Consulte tambm SharedObject.getLocal(), System.onStatus

SharedObject.onStatus

719

Classe Sound
Disponibilidade

Flash Player 5.
Descrio

A classe Sound permite controlar o som em um filme. possvel incluir e controlar sons em um clipe de filme da biblioteca enquanto o filme estiver sendo reproduzido. Se no for especificado um destino durante a criao de um novo objeto Sound, ser possvel usar os mtodos para controlar o som de todo o filme. Voc deve usar o construtor new Sound para criar um objeto Sound antes de chamar os mtodos da classe Sound. Resumo dos mtodos da classe Sound
Mtodo
Sound.attachSound()

Descrio Anexa o som especificado no parmetro.

Sound.getBytesLoaded() Retorna o nmero de bytes carregados para o som especificado. Sound.getBytesTotal() Sound.getPan() Sound.getTransform() Sound.getVolume() Sound.loadSound() Sound.setPan() Sound.setTransform()

Retorna o tamanho do som em bytes. Retorna o valor da chamada setPan() anterior. Retorna o valor da chamada setTransform() anterior. Retorna o valor da chamada setVolume() anterior. Carrega um arquivo MP3 no Flash Player. Define a distribuio esquerda/direita do som. Define o quanto ser reproduzido de cada canal, esquerdo e direito, em cada alto-falante. Define o nvel de volume de um som. Comea a reproduzir um som desde o incio ou, opcionalmente, de um ponto de deslocamento definido no parmetro. Pra o som especificado ou todos os sons em reproduo no momento.

Sound.setVolume() Sound.start()

Sound.stop()

Resumo das propriedades da classe Sound


Propriedade
Sound.duration Sound.ID3 Sound.position

Descrio Tamanho de um som em milissegundos. Fornece acesso aos metadados que compem um arquivo MP3. Nmero de milissegundos reproduzidos por um som.

720

Captulo 12: Dicionrio do ActionScript

Resumo dos manipuladores de eventos da classe Sound


Manipulador de eventos
Sound.onID3 Sound.onLoad Sound.onSoundComplete

Descrio Chamado sempre que novos dados do ID3 so disponibilizados. Chamado quando um som carregado. Chamado quando a reproduo de um som interrompida.

Construtor da classe Sound


Disponibilidade

Flash Player 5.
Uso new Sound([destino]) Parmetros destino Retorna

A instncia de clipe de filme em que o objeto Sound opera. Este parmetro opcional.

Nada.
Descrio

Construtor; cria um novo objeto Sound para um clipe de filme especificado. Se no for especificada uma instncia de destino, o objeto Sound controlar todos os sons do filme.
Exemplo

O exemplo a seguir cria um novo objeto Sound denominado som_global. A segunda linha chama setVolume() e ajusta o volume de todos os sons do filme em 50%.
som_global = new Sound(); som_global.setVolume(50);

O exemplo a seguir cria um novo objeto Sound, passa para ele o clipe de filme de destino meu_mc e chama o mtodo start, que inicia o som de meu_mc.
som_filme = new Sound(meu_mc); som_filme.start();

Classe Sound

721

Sound.attachSound()
Disponibilidade

Flash Player 5.
Uso meu_som.attachSound("nomeId") Parmetros

Identificador na biblioteca de um som exportado. O identificador est localizado na nomeId caixa de dilogo Linkage Properties (Propriedades de vinculao).
Retorna

Nada.
Descrio

Mtodo; anexa o som especificado no parmetro nomeId ao objeto Sound especificado. O som deve estar na biblioteca do arquivo SWF atual e ser especificado para exportao na caixa de dilogo Linkage Properties. Voc deve chamar Sound.start() para iniciar a reproduo do som. Para verificar se o som pode ser controlado a partir de qualquer cena do arquivo SWF, coloque-o na Timeline (Linha de tempo) do arquivo SWF.

Sound.duration
Disponibilidade

Flash Player 6.
Uso meu_som.duration Descrio

Propriedade (somente de leitura); a durao de um som em milissegundos.

722

Captulo 12: Dicionrio do ActionScript

Sound.getBytesLoaded()
Disponibilidade

Flash Player 6.
Uso meu_som.getBytesLoaded() Parmetros

Nenhum.
Retorna

Um inteiro que indica o nmero de bytes carregados.


Descrio

Mtodo; retorna o nmero de bytes carregados (transmitidos) do objeto Sound especificado. possvel comparar o valor de getBytesLoaded() ao valor de getBytesTotal() para determinar que porcentagem de um som foi carregada.
Consulte tambm Sound.getBytesTotal()

Sound.getBytesTotal()
Disponibilidade

Flash Player 6.
Uso meu_som.getBytesTotal() Parmetros

Nenhum.
Retorna

Um inteiro indicando o tamanho total, em bytes, do objeto Sound especificado.


Descrio

Mtodo; retorna o tamanho, em bytes, do objeto Sound especificado.


Consulte tambm Sound.getBytesLoaded()

Sound.getBytesTotal()

723

Sound.getPan()
Disponibilidade

Flash Player 5.
Uso meu_som.getPan(); Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o nvel de balano definido na ltima chamada setPan() como um inteiro de -100 (esquerda) a 100 (direita). O valor 0 define igualmente os canais da direita e da esquerda. A configurao do balano controla a distribuio entre esquerda e direita dos sons atuais e futuros em um arquivo SWF. Esse mtodo cumulativo com setVolume() ou setTransform().
Consulte tambm Sound.setPan()

Sound.getTransform()
Disponibilidade

Flash Player 5.
Uso meu_som.getTransform(); Parmetros

Nenhum.
Retorna

Um objeto com propriedades que contm os valores percentuais de canais para o objeto sound especfico.
Descrio

Mtodo; retorna as informaes de transformao de som do objeto Sound especificado na ltima chamada Sound.setTransform().

724

Captulo 12: Dicionrio do ActionScript

Sound.getVolume()
Disponibilidade

Flash Player 5.
Uso meu_som.getVolume() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o nvel do volume de som como um inteiro de 0 a 100, no qual 0 sem volume e 100 o volume total. A configurao padro 100.
Consulte tambm Sound.setVolume()

Sound.getVolume()

725

Sound.ID3
Disponibilidade

Flash Player 6; comportamento atualizado no Flash Player 7.


Uso meu_som.ID3 Descrio

Propriedade (somente de leitura); fornece acesso aos metadados que compem um arquivo MP3. Os arquivos de som MP3 podem conter marcas do ID3, que fornecem metadados sobre o arquivo. Se um som MP3 que voc estiver carregando usar Sound.attachSound() ou Sound.loadSound() contiver marcas do ID3, voc poder consultar essas propriedades. Somente marcas do ID3 que utilizam o conjunto de caracteres UTF-8 so suportadas. Flash Player 6 verso 40 e posteriores usam a propriedade Sound.id3 para oferecer suporte a marcas do ID3 1.0 e ID3 1.1. O Flash Player 7 adiciona suporte a marcas do ID3 2.0, mais especificamente do 2.3 e 2.4. Para compatibilidade retroativa, tanto Sound.id3 como Sound.ID3 so suportadas. As referncias de cdigo so suportadas somente para o uso de letras minsculas do id3 (consulte Usando referncias de cdigo na pgina 68). A tabela a seguir lista as marcas padro de ID3 2.0 e o tipo de contedo que elas representam. Consulte-as no formato meu_som.ID3.COMM, meu_som.ID3.TIME e assim por diante. Arquivos MP3 podem conter marcas diferentes daquelas contidas na tabela; Sound.ID3 tambm fornece acesso quelas marcas.
Propriedade
COMM TALB TBPM TCOM TCON TCOP TDAT TDLY TENC TEXT TFLT TIME TIT1 TIT2 TIT3 TKEY

Descrio Comentrio Ttulo de disco/filme/show Batidas por minuto Compositor Tipo de contedo Mensagem sobre copyright Date Atraso da lista de reproduo Codificado por Letrista/escritor Tipo de arquivo Hora Descrio do grupo de contedo Ttulo/nome da msica/descrio do contedo Subttulo/refinamento da descrio Nota musical inicial

726

Captulo 12: Dicionrio do ActionScript

Propriedade
TLAN TLEN TMED TOAL TOFN TOLY TOPE TORY TOWN TPE1 TPE2 TPE3 TPE4 TPOS TPUB TRCK TRDA TRSN TRSO TSIZ TSRC TSSE TYER WXXX

Descrio Idiomas Durao Tipo de mdia Ttulo original do disco/filme/show Nome de arquivo original Letristas/escritores originais Artistas originais Ano de lanamento original Proprietrio/licenciado do arquivo Vocalistas/solistas Banda/orquestra/acompanhamento Detalhes do regente/artista Interpretado, remixado ou modificado por Parte de um conjunto Editora Nmero da faixa/posio no conjunto Datas de gravao Nome da estao de rdio da Internet Proprietrio da estao de rdio da Internet Tamanho ISRC (cdigo de gravao internacional padro) Software/hardware e configuraes usados para codificao Ano Quadro de links de URL

O Flash Player 6 oferecia suporte a vrias marcas do ID31.0. Se o arquivo MP3 no contiver essas marcas, mas marcas correspondentes do ID3 2.0, essas marcas do ID3 2.0 sero copiadas nas propriedades do ID3 1.0, como mostra a tabela a seguir. Esse processo proporcionar compatibilidade retroativa com scripts que voc j tiver criado e que leiam propriedades ID3 1.0.

Sound.ID3

727

Marca do ID3 2.0


COMM TALB TCON TIT2 TPE1 TRCK TYER

Propriedade correspondente do ID3 1.0


Sound.id3.comment Sound.id3.album Sound.id3.genre Sound.id3.songname Sound.id3.artist Sound.id3.track Sound.id3.year

Exemplo

Consulte Sound.onID3 para obter um exemplo da utilizao dessa propriedade.


Consulte tambm Sound.attachSound(), Sound.loadSound()

Sound.loadSound()
Disponibilidade

Flash Player 6.
Uso meu_som.loadSound("url", fluxo) Parmetros url

Local de um arquivo de som MP3 no servidor. booleano que indica se o som um fluxo de som (true) ou um som de evento

fluxo Valor (false). Retorna

Nada.
Descrio

Mtodo; carrega um arquivo MP3 em um objeto Sound. possvel usar o parmetro fluxo para indicar se o som de evento ou um fluxo de som. Os eventos de som so totalmente carregados antes de serem reproduzidos. Eles so gerenciados pela classe Sound do ActionScript e respondem a todos os mtodos e propriedades dessa classe. Os fluxos de som so reproduzidos durante o download. A reproduo comea aps o recebimento de dados suficientes para iniciar o descompactador. Todos os MP3s (evento ou fluxo) carregados com esse mtodo so salvos no cache de arquivos do navegador do usurio.

728

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir carrega um evento de som:


meu_som.loadSound( "http://servidor:porta/nomearqmp3", false);

O exemplo a seguir carrega um fluxo de som:


meu_som.loadSound( "http://servidor:porta/nomearqmp3", true); Consulte tambm Sound.onLoad

Sound.onID3
Disponibilidade

Flash Player 7.
Uso meu_som.onID3 = function(){ // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado sempre que novos dados do ID3 esto disponveis para um MP3 que voc carrega usando Sound.attachSound() ou Sound.loadSound(). Esse manipulador permite acesso aos dados do ID3 sem realizar polling (consultas). Se as marcas do ID3 1.0 e do ID3 2.0 estiverem presentes em um arquivo, esse manipulador ser chamado duas vezes.
Exemplo

O exemplo a seguir apresenta as propriedades do ID3 de song.mp3 no painel Output (Sada).


meu_som = new Sound(); meu_som.onID3 = function(){ for( var prop in meu_som.ID3 ){ trace( prop + " : "+ meu_som.ID3[prop] ); } } meu_som.loadSound("song.mp3", false); Consulte tambm Sound.attachSound(), Sound.ID3, Sound.loadSound()

Sound.onID3

729

Sound.onLoad
Disponibilidade

Flash Player 6.
Uso meu_som.onLoad = function(sucesso){ // suas instrues entram aqui } Parmetros sucesso

Um valor booleano true se meu_som tiver sido carregado com sucesso, caso contrrio,

false.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado automaticamente quando um som carregado. Voc deve criar a funo que ser executada quando esse manipulador for chamado. Voc pode usar uma funo annima ou uma funo com nome (para obter um exemplo de cada uma delas, consulte Sound.onSoundComplete). Defina esse manipulador antes de chamar meu_som.loadSound().
Consulte tambm Sound.loadSound()

730

Captulo 12: Dicionrio do ActionScript

Sound.onSoundComplete
Disponibilidade

Flash Player 6.
Uso meu_som.onSoundComplete = function(){ // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado automaticamente quando a reproduo de um som for concluda. Use esse manipulador para ativar eventos em um arquivo SWF quando a reproduo de um som for concluda. Voc deve criar a funo que ser executada quando esse manipulador for chamado. possvel usar uma funo annima ou uma funo nomeada.
Exemplo

Uso 1: O exemplo a seguir usa uma funo annima:


meu_som = new Sound(); meu_som.attachSound("meuIDsom"); meu_som.onSoundComplete = function() { trace("meuIDsom concludo"); } meu_som.start();

Uso 2: O exemplo a seguir usa uma funo com nome:


function callback1() { trace("meuIDsom concludo"); } meu_som = new Sound(); meu_som.attachSound("meuIDsom"); meu_som.onSoundComplete = callback1; meu_som.start(); Consulte tambm Sound.onLoad

Sound.onSoundComplete

731

Sound.position
Disponibilidade

Flash Player 6.
Uso meu_som.position Descrio

Propriedade (somente de leitura); tempo em milissegundos de reproduo de um som. Se o som for repetido, a posio ser redefinida como 0 no incio de cada loop.

Sound.setPan()
Disponibilidade

Flash Player 5.
Uso meu_som.setPan(balano); Parmetros balano

Um inteiro que especifica a distribuio esquerda-direita de um som. O intervalo de valores vlidos de -100 a 100, no qual -100 usa somente o canal esquerdo, 100 usa somente o canal direito e 0 distribui o som uniformemente entre os dois canais.

Retorna

Um inteiro.
Descrio

Mtodo; determina como o som reproduzido nos canais esquerdo e direito (alto-falantes). No caso de sons mono, balano determina o alto-falante (esquerdo ou direito) pelo qual o som passa.
Exemplo

O exemplo a seguir cria um objeto Sound chamado meu_som e anexa um som ao identificador L7 da biblioteca. Ele tambm chama setVolume() e setPan() para controlar o som L7.
onClipEvent(mouseDown) { // cria um objeto de som meu_som = new Sound(this); // anexa um som da biblioteca meu_som.attachSound("L7"); // define o volume como 50% meu_som.setVolume(50); // desliga o som no canal direito meu_som.setPan(-100); // inicia 30 segundos no som e o reproduz 5 vezes meu_som.start(30, 5); Consulte tambm Sound.attachSound(), Sound.setPan(), Sound.setTransform(), Sound.setVolume(), Sound.start()

732

Captulo 12: Dicionrio do ActionScript

Sound.setTransform()
Disponibilidade

Flash Player 5.
Uso meu_som.setTransform(objTransformSom) Parmetros objTransformSom Retorna

Um objeto criado com o construtor para a classe Object genrica.

Nada.
Descrio

Mtodo; define as informaes de transformao (ou distribuio) do som de um objeto Sound. O parmetro objTransformSom um objeto criado por meio do mtodo construtor da classe Object genrica com parmetros que especificam como o som distribudo para os canais esquerdo e direito (alto-falantes). Os sons ocupam memria e espao em disco considerveis. Como o som estreo usa duas vezes mais dados do que os sons mono, geralmente melhor usar sons mono de 6 bits de 22 KHz. Voc pode usar o mtodo setTransform() para reproduzir sons mono como estreo, sons estreo como mono e para incluir efeitos de som interessantes. As propriedades de objTransformSom so os seguintes:
11 Uma porcentagem que especifica o nvel de som da entrada esquerda a ser reproduzido no alto-falante esquerdo (de 0 a 100). 1r

Uma porcentagem que especifica o nvel de som da entrada direita a ser reproduzido no alto-falante esquerdo (de 0 a 100).

rr Uma porcentagem que especifica o nvel de som da entrada direita a ser reproduzido no alto-falante direito (de 0 a 100). rl Uma porcentagem que especifica o nvel de som da entrada esquerda a ser reproduzido no alto-falante direito (de 0 a 100).

O resultado lquido dos parmetros representado pela seguinte frmula:


saiEsq = entraEsq * ll + entraDir * lr saiDir = entraDir * rr + entraEsq * rl

Os valores para entraEsq ou entraDir so determinados pelo tipo (estreo ou mono) do som do arquivo SWF. Os sons estreo dividem a entrada de som uniformemente entre os alto-falantes esquerdo e direito e, por padro, tm as seguintes configuraes de transformao:
ll lr rr rl = = = = 100 0 100 0

Sound.setTransform()

733

Os sons mono reproduzem toda a entrada de som no alto-falante esquerdo e, por padro, tm as seguintes configuraes de transformao:
ll lr rr rl = = = = 100 100 0 0

Exemplo

O exemplo a seguir ilustra uma configurao que pode ser obtida com o mtodo setTransform(), mas no com os mtodos setVolume() ou setPan(), mesmo que estejam combinados. O cdigo abaixo cria um novo objeto objTransformSom e define suas propriedades para que o som de ambos os canais seja reproduzido somente no canal esquerdo.
objTransformSom = new Object; objTransformSom.ll = 100; objTransformSom.lr = 100; objTransformSom.rr = 0; objTransformSom.rl = 0;

Para aplicar o objeto objTransformSom a um objeto Sound, necessrio passar o objeto para Sound usando o mtodo setTransform() da seguinte maneira:
meu_som.setTransform(objTransformSom);

O exemplo a seguir reproduz um som estreo como mono; objTransformSomMono tem os seguintes parmetros:
objTransformSomMono = new Object; objTransformSomMono.ll = 50; objTransformSomMono.lr = 50; objTransformSomMono.rr = 50; objTransformSomMono.rl = 50; meu_som.setTransform(objTransformSomMono);

Este exemplo reproduz o canal esquerdo com metade de sua capacidade e adiciona o restante do canal esquerdo ao canal direito; objTransformSomHalf tem os seguintes parmetros:
meuObjTransformSomHalf = new Object; meuObjTransformSomHalf.ll = 50; meuObjTransformSomHalf.lr = 0; meuObjTransformSomHalf.rr = 100; meuObjTransformSomHalf.rl = 50; meu_som.setTransform(meuObjTransformSomHalf); Consulte tambm

Classe Object

734

Captulo 12: Dicionrio do ActionScript

Sound.setVolume()
Disponibilidade

Flash Player 5.
Uso meu_som.setVolume(volume) Parmetros volume

Um nmero de 0 a 100 que representa um nvel de volume. 100 o volume total e 0 nenhum volume. A configurao padro 100. Nada.

Retorna

Descrio

Mtodo; define o volume do objeto Sound.


Exemplo

O exemplo a seguir define o volume em 50% e, com o tempo, transfere o som do alto-falante esquerdo para o direito:
onClipEvent(load){ i = -100; meu_som = new Sound(); meu_som.setVolume(50); } onClipEvent (enterFrame) { if (i <= 100) { meu_som.setPan(i++); } } Consulte tambm Sound.setPan(), Sound.setTransform()

Sound.setVolume()

735

Sound.start()
Disponibilidade

Flash Player 5.
Uso meu_som.start([segundoDesloc, loop]) Parmetros segundoDesloc

Um parmetro opcional que permite comear a reproduzir o som em um ponto especfico. Por exemplo, no caso de um som de 30 segundos que deva iniciar a reproduo no meio, especifique 15 para o parmetro segundoDesloc. O som no atrasado 15 segundos; em vez disso, ele inicia a sua reproduo na marca de 15 segundos.
loop

Um parmetro opcional que permite especificar quantas vezes o som deve ser reproduzido consecutivamente.

Retorna

Nada.
Descrio

Mtodo; se nenhum parmetro estiver especificado, ele iniciar a reproduo do ltimo som anexado desde o incio ou em um ponto especificado pelo parmetro segundoDesloc.
Consulte tambm Sound.stop()

Sound.stop()
Disponibilidade

Flash Player 5.
Uso meu_som.stop(["IdNome"]) Parmetros IdNome

Uma parmetro opcional que especifica a interrupo da reproduo de determinado som. O parmetro IdNome deve ser colocado entre aspas (" "). Nada.

Retorna

Descrio

Mtodo; interromper todos os sons em reproduo no momento se nenhum parmetro estiver especificado, ou somente o som especificado no parmetro IdNome.
Consulte tambm Sound.start()

736

Captulo 12: Dicionrio do ActionScript

_soundbuftime
Disponibilidade

Flash Player 4.
Uso _soundbuftime = inteiro Parmetros inteiro Descrio

Nmero de segundos que decorrero antes que o arquivo SWF inicie o fluxo.

Propriedade (global); estabelece o nmero de segundos de som de fluxo para o pr-buffer. O valor padro 5 segundos.

Classe Stage
Disponibilidade

Flash Player 6.
Descrio

A classe Stage uma classe de nvel alto cujos mtodos, propriedades e manipuladores podem ser acessados com o uso de um construtor. Use os mtodos e as propriedades desta classe para acessar e manipular informaes sobre os limites de um arquivo SWF. Resumo dos mtodos da classe Stage
Mtodo
Stage.addListener()

Descrio Adiciona um objeto ouvinte que detecta quando um arquivo SWF redimensionado.

Stage.removeListener() Remove um objeto ouvinte do objeto Stage.

Resumo das propriedades da classe Stage


Propriedade
Stage.align Stage.height Stage.scaleMode Stage.showMenu Stage.width

Descrio Alinhamento do arquivo SWF no exibidor ou navegador. Altura do objeto Stage, em pixels. Dimensionamento atual do arquivo SWF. Exibe ou oculta os itens padro do menu de contexto do Flash Player. Largura do objeto Stage, em pixels.

Classe Stage

737

Resumo do manipulador de eventos da classe Stage


Manipulador de eventos
Stage.onResize

Descrio Chamado quando Stage.scaleMode definido como "noScale" e o arquivo SWF redimensionado.

Stage.addListener()
Disponibilidade

Flash Player 6.
Uso Stage.addListener(meuOuvinte) Parmetros meuOuvinte Objeto Stage.onResize. Retorna

que ouve uma notificao de retorno de chamada do evento

Nada.
Descrio

Mtodo; detecta quando um arquivo SWF redimensionado (mas somente se Stage.scaleMode Sem dimensionamento). O mtodo addListener() no funciona com a configurao padro de dimensionamento de filme ("showAll" Exibir tudo) nem com outras configuraes de dimensionamento ("exactFit" Ajuste exato e "noBorder" Sem bordas).
= "noScale"

Para usar addListener(), crie primeiro um objeto ouvinte. Os objetos ouvintes Stage recebem notificao de Stage.onResize.
Exemplo

Este exemplo cria um novo objeto ouvinte chamado meuOuvinte. Em seguida, usa meuOuvinte para chamar onResize e define uma funo que ser chamada quando onResize for ativado. Finalmente, o cdigo inclui o objeto meuOuvinte na lista de retorno de chamada do objeto Stage. Os objetos ouvintes permitem que vrios objetos ouam notificaes de redimensionamento.
meuOuvinte = new Object(); meuOuvinte.onResize = function () { ... } Stage.scaleMode = "noScale" Stage.addListener(meuOuvinte); Consulte tambm Stage.onResize, Stage.removeListener()

738

Captulo 12: Dicionrio do ActionScript

Stage.align
Disponibilidade

Flash Player 6.
Uso Stage.align Descrio

Propriedade; indica o alinhamento atual do arquivo SWF no exibidor ou navegador. A tabela a seguir lista os valores da propriedade align. Os valores no listados aqui centralizam o arquivo SWF na rea do exibidor ou do navegador.
Valor
"T" "B" "L" "R" "TL" "TR" "BL" "BR"

Vertical superior inferior centro centro superior superior inferior inferior

Horizontal centro centro esquerda direita esquerda direita esquerda direita

Stage.height
Disponibilidade

Flash Player 6.
Uso Stage.height Descrio

Propriedade (somente de leitura); indica a altura atual, em pixels, do Stage (Palco). Quando o valor de Stage.scaleMode "noScale", (sem escala), a propriedade height representa a altura do exibidor. Quando o valor de Stage.scaleMode no "noScale", height representa a altura do arquivo SWF.
Consulte tambm Stage.align, Stage.scaleMode, Stage.width

Stage.height

739

Stage.onResize
Disponibilidade

Flash Player 6.
Uso meuOuvinte.onResize = function(){ // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando Stage.scaleMode definido como "noScale" e o arquivo SWF redimensionado. possvel usar este manipulador de eventos para escrever uma funo que disponha os objetos no Stage (Palco) quando um arquivo SWF for redimensionado.
Exemplo

O exemplo a seguir exibe uma mensagem no painel Output (Sada) quando o Stage redimensionado.
Stage.scaleMode = "noScale" meuOuvinte = new Object(); meuOuvinte.onResize = function () { trace("O tamanho do Stage agora " + Stage.width + " por " + Stage.height); } Stage.addListener(meuOuvinte); // depois, chama Stage.removeListener(meuOuvinte) Consulte tambm Stage.addListener(), Stage.removeListener()

740

Captulo 12: Dicionrio do ActionScript

Stage.removeListener()
Disponibilidade

Flash Player 6.
Uso Stage.removeListener(meuOuvinte) Parmetros meuOuvinte Um addListener(). Retorna

objeto includo na lista de retorno de chamada de um objeto com o mtodo

Um valor booleano.
Descrio

Mtodo; remove um objeto ouvinte criado com addListener().


Consulte tambm Stage.addListener()

Stage.scaleMode
Disponibilidade

Flash Player 6.
Uso Stage.scaleMode = "valor" Descrio

Propriedade; indica o dimensionamento atual do filme do arquivo SWF dentro do Stage (Palco). A propriedade scaleMode impe um modo de dimensionamento especfico para o arquivo SWF. Como padro, o arquivo SWF usa os parmetros HTML definidos na caixa de dilogo Publish Settings (Configuraes de publicao). A propriedade scaleMode pode usar os valores "exactFit" (ajustado), "showAll" (exibir tudo), "noBorder" (sem borda) e "noScale" (sem escala). Qualquer outro valor define a propriedade scaleMode como o padro "showAll".

Stage.scaleMode

741

Stage.showMenu
Disponibilidade

Flash Player 6.
Uso Stage.showMenu Descrio

Propriedade (leitura e gravao); especifica se os itens padro sero exibidos ou ocultados no menu de contexto do Flash Player. Se showMenu for definido como true (o padro), todos os itens do menu de contexto aparecero. Se showMenu for definido como false, somente o item Settings (Configuraes) aparecer.
Consulte tambm

Classe ContextMenu, Classe ContextMenuItem

Stage.width
Disponibilidade

Flash Player 6.
Uso Stage.width Descrio

Propriedade (somente de leitura); indica a altura atual, em pixels, do Stage (Palco). Quando o valor de Stage.scaleMode "noScale", a propriedade width representa a largura do exibidor. Quando o valor de Stage.scaleMode no "noScale" (sem escala), width representa a largura do arquivo SWF.
Consulte tambm Stage.align, Stage.height, Stage.scaleMode

742

Captulo 12: Dicionrio do ActionScript

startDrag()
Disponibilidade

Flash Player 4.
Uso startDrag(destino,[bloqueio, esquerdo, superior, direito, inferior]) Parmetros destino

O caminho de destino do clipe de filme a ser arrastado.

bloqueio Um valor booleano que especifica se o clipe de filme a ser arrastado est bloqueado no centro da posio do mouse (true) ou no ponto onde o usurio clicou nele pela primeira vez (false). Este parmetro opcional. esquerdo, superior, direito, inferior

Valores relativos s coordenadas do pai do clipe de filme que especificam um retngulo de restrio para o clipe de filme. Esses parmetros so opcionais.

Retorna

Nada.
Descrio

Funo; torna o clipe de filme de destino arrastvel enquanto o filme estiver sendo exibido. Somente um clipe de filme pode ser arrastado de cada vez. Quando uma operao startDrag() executada, o clipe de filme permanece arrastvel at que essa caracterstica seja cancelada explicitamente por stopDrag() ou at que uma ao startDrag() seja chamada para outro clipe de filme.
Exemplo

Para criar um clipe de filme que os usurios podem posicionar em qualquer local, anexe as aes startDrag() e stopDrag() a um boto dentro do clipe de filme.
on(press){ startDrag(this,true); } on (release) { stopDrag(); } Consulte tambm MovieClip._droptarget, MovieClip.startDrag(), stopDrag()

startDrag()

743

static
Disponibilidade

Flash Player 6.
Uso class umNomeClasse{ static var nome; static function nome() { // suas instrues entram aqui } } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros nome

O nome da varivel ou funo que voc deseja especificar como esttica.

Descrio

Palavra-chave; determina que uma varivel ou funo seja criada somente uma vez por classe, em vez de ser criada em todos os objetos com base nessa classe. Para obter mais informaes, consulte Membros de instncias e classes na pgina 175. Somente possvel usar essa palavra-chave em definies de classe, no em definies de interface.
Consulte tambm private, public

stop()
Disponibilidade

Flash 2.
Uso stop() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo; encerra o arquivo SWF que est sendo reproduzido no momento. A utilidade mais comum dessa ao controlar clipes de filme com botes.

744

Captulo 12: Dicionrio do ActionScript

stopAllSounds()
Disponibilidade

Flash Player 3.
Uso stopAllSounds() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo; encerra a reproduo de todos os sons de um arquivo SWF sem encerrar a exibio do filme. Sons definidos como fluxo voltaro a ser reproduzidos quando a reproduo for movida sobre os quadros em que se encontram.
Exemplo

O cdigo a seguir pode ser aplicado a um boto que, quando clicado, silencia todos os sons do arquivo SWF.
on (release) { stopAllSounds(); } Consulte tambm

Classe Sound

stopAllSounds()

745

stopDrag()
Disponibilidade

Flash Player 4.
Uso stopDrag() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo; encerra a operao de arraste em andamento.


Exemplo

Este cdigo encerra a ao de arraste na instncia meu_mc quando o usurio libera o boto do mouse:
on(press){ startDrag("meu_mc"); } on (release) { stopdrag(); } Consulte tambm MovieClip._droptarget, MovieClip.stopDrag(), startDrag()

746

Captulo 12: Dicionrio do ActionScript

" " (delimitador de seqncia de caracteres)


Disponibilidade

Flash Player 4.
Uso "texto" Parmetros texto Retorna

Um caractere.

Nada.
Descrio

Delimitador de seqncia de caracteres; quando usadas antes e depois de caracteres, as aspas indicam que os caracteres tm um valor literal e so considerados uma seqncia de caracteres, no uma varivel, valor numrico ou outro elemento do ActionScript.
Exemplo

Este exemplo usa aspas para indicar que o valor da varivel seuPalpite a seqncia de caracteres literal Santa Catarina e no o nome de uma varivel. O valor estado uma varivel, e no uma literal; para determinar o valor de estado, necessrio localizar o valor de seuPalpite.
seuPalpite = "Santa Catarina"; on (release) { estado = seuPalpite; trace(estado); } // Mostra Santa Catarina no painel Output (sada) Consulte tambm

Classe String, String()

" " (delimitador de seqncia de caracteres)

747

Classe String
Disponibilidade

Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio

A classe String um envoltrio para o tipo de dados String primitivo que fornece mtodos e propriedades que permitem manipular valores do tipo String primitivo. possvel converter o valor de qualquer objeto em uma seqncia de caracteres usando a funo String(). Todos os mtodos da classe String, exceto concat(), fromCharCode(), slice(), e substr(), so genricos. Isso significa que os prprios mtodos podem chamar this.toString() antes de permitir suas operaes e podem ser usados com outros objetos que no sejam objetos String. Como todos os ndices de seqncia de caracteres tm zero como base, o ndice do ltimo caractere para qualquer seqncia de caracteres x x.length - 1.
String ou usando o valor de uma

Voc pode chamar qualquer um dos mtodos do objeto String usando o mtodo construtor new seqncia de caracteres literal. Se voc especificar o valor literal de uma seqncia de caracteres, o interpretador do ActionScript automaticamente o converter em um objeto String temporrio, chamar o mtodo e depois descartar o objeto String temporrio. Voc tambm pode utilizar a propriedade String.length com o valor literal de uma seqncia de caracteres. No confunda uma seqncia de caracteres literal com um objeto String. No exemplo a seguir, a primeira linha de cdigo cria o literal da seqncia de caracteres s1 e a segunda linha de cdigo cria um objeto String s2.
s1 = "foo" s2 = new String("foo")

Use valores literais da seqncia de caracteres, a menos que seja necessrio usar especificamente um objeto String. Resumo dos mtodos da classe String
Mtodo
String.charAt()

Descrio Retorna o caractere em um local especfico em uma seqncia de caracteres. Retorna o valor do caractere de um ndice determinado como um inteiro de 16 bits entre 0 e 65535. Combina o texto de duas seqncias de caracteres e retorna uma nova seqncia de caracteres especificados nos parmetros.

String.charCodeAt()

String.concat()

String.fromCharCode() Retorna uma seqncia de caracteres constituda de caracteres

String.indexOf()

Retorna a posio da primeira ocorrncia de uma subseqncia de caracteres especificada. Retorna a posio da ltima ocorrncia de uma subseqncia de caracteres especificada.

String.lastIndexOf()

748

Captulo 12: Dicionrio do ActionScript

Mtodo
String.slice()

Descrio Extrai uma seo de uma seqncia de caracteres e retorna uma nova seqncia de caracteres. Divide um objeto String em um array de seqncias de caracteres, separando a seqncia em subseqncias. Retorna um nmero especfico de caracteres em uma seqncia, comeando em um local determinado. Retorna os caracteres entre dois ndices de uma seqncia de caracteres. Converte a seqncia de caracteres em minsculas e retorna o resultado; no altera o contedo do objeto original. Converte a seqncia de caracteres em maisculas e retorna o resultado; no altera o contedo do objeto original.

String.split()

String.substr()

String.substring() String.toLowerCase()

String.toUpperCase()

Resumo das propriedades da classe String


Propriedade
String.length

Descrio Um inteiro que no tem zero como base e que especifica o nmero de caracteres do objeto String indicado.

Construtor da classe String


Disponibilidade

Flash Player 5.
Uso new String(valor) Parmetros valor Retorna

O valor inicial do objeto new String.

Nada.
Descrio

Construtor; cria um objeto new String.


Consulte tambm String(), " " (delimitador de seqncia de caracteres)

Classe String

749

String.charAt()
Disponibilidade

Flash Player 5.
Uso minha_str.charAt(ndice) Parmetros ndice

Um inteiro que especifica a posio de um caractere na seqncia de caracteres. O primeiro caractere indicado por 0 e o ltimo indicado por minha_str.length-1. Um caractere.

Retorna

Descrio

Mtodo; retorna o caractere na posio especificada pelo parmetro ndice. Se ndice no for um nmero de 0 a string.length - 1, ser retornada uma seqncia de caracteres vazia. Este mtodo semelhante a String.charCodeAt(), mas o valor retornado um caractere, no um cdigo de caracteres inteiro de 16 bits.
Exemplo

No exemplo a seguir, esse mtodo chamado na primeira letra da seqncia de caracteres "Cris".
minha_str = new String("Cris"); i = minha_str.charCodeAt(0); // i = "C"

750

Captulo 12: Dicionrio do ActionScript

String.charCodeAt()
Disponibilidade

Flash Player 5.
Uso minha_str.charCodeAt(ndice) Parmetros ndice

Um inteiro que especifica a posio de um caractere na seqncia de caracteres. O primeiro caractere indexado por 0 e o ltimo por minha_str.length - 1. Um inteiro.

Retorna

Descrio

Mtodo; retorna um nmero inteiro de 16 bits de 0 a 65535 que representa o caractere especificado por ndice. Se ndice no for um nmero de 0 a string.length - 1, ser retornado NaN. Este mtodo semelhante a String.charAt(), exceto pelo fato de o valor retornado ser um cdigo de caracteres inteiro de 16 bits, no um caractere.
Exemplo

No exemplo a seguir, esse mtodo chamado na primeira letra da seqncia de caracteres "Cris".
minha_str = new String("Cris"); i = minha_str.charCodeAt(0); // i = 67

String.concat()
Disponibilidade

Flash Player 5.
Uso minha_str.concat(valor1,...valorN) Parmetros valor1,...valorN Retorna

Zero ou mais valores a serem concatenados.

Uma seqncia de caracteres.


Descrio

Mtodo; combina o valor do objeto String aos parmetros e retorna a seqncia de caracteres recm-formada; o valor original, minha_str, inalterado.

String.concat()

751

String.fromCharCode()
Disponibilidade

Flash Player 5.
Uso String.fromCharCode(c1,c2,...cN) Parmetros c1,c2,...cN Retorna

Inteiros decimais que representam valores ASCII.

Uma seqncia de caracteres.


Descrio

Mtodo; retorna uma seqncia de caracteres constituda de caracteres representados pelos valores ASCII nos parmetros.
Exemplo

Este exemplo usa fromCharCode() para inserir um caractere @ no endereo eletrnico.


endereo_str = "cachorro" + String.fromCharCode(64) + "casa.net"; trace(endereo_str); // cachorro@casa.net

String.indexOf()
Disponibilidade

Flash Player 5.
Uso minha_str.indexOf(subseqncia, [inciondice]) Parmetros subseqncia

Um inteiro ou uma seqncia de caracteres que especifica a subseqncia de caracteres a ser procurada em minha_str.

inciondice

Um inteiro opcional que especifica o ponto inicial em minha_str para pesquisar a subseqncia de caracteres. Posio da primeira ocorrncia de uma subseqncia de caracteres determinada ou -1.

Retorna

Descrio

Mtodo; pesquisa a seqncia de caracteres e retorna a posio da primeira ocorrncia da subseqncia encontrada em ou aps inciondice dentro da seqncia de caracteres da chamada. Se a subseqncia no for encontrada, o mtodo retornar -1.
Consulte tambm String.lastIndexOf()

752

Captulo 12: Dicionrio do ActionScript

String.lastIndexOf()
Disponibilidade

Flash Player 5.
Uso minha_str.lastIndexOf(subseqncia, [inciondice]) Parmetros subseqncia

Um inteiro ou seqncia de caracteres que especifica a seqncia a ser Um inteiro opcional que especifica o ponto inicial para procurar a

procurada.
inciondice subseqncia. Retorna

Posio da ltima ocorrncia de uma subseqncia de caracteres determinada ou -1.


Descrio

Mtodo; procura a seqncia de caracteres da direita para a esquerda e retorna o ndice da ltima ocorrncia da subseqncia localizada antes de inciondice na seqncia de caracteres de chamada. Se a subseqncia no for encontrada, o mtodo retornar -1.
Consulte tambm String.indexOf()

String.length
Disponibilidade

Flash Player 5.
Uso minha_str.length Descrio

Propriedade; um inteiro que tem zero como base e que especifica o nmero de caracteres do objeto String indicado. Como todos os ndices de seqncia de caracteres tm zero como base, o ndice do ltimo caractere para qualquer seqncia de caracteres x x.length - 1.

String.length

753

String.slice()
Disponibilidade

Flash Player 5.
Uso minha_str.slice(incio, [fim]) Parmetros incio

Um nmero que especifica o ndice do ponto inicial do trecho. Se incio for um nmero negativo, o ponto inicial ser determinado a partir do final da seqncia de caracteres, onde -1 o ltimo caractere.

Um inteiro que 1+ o ndice do ponto final do trecho. O caractere indexado pelo parmetro fim no est includo na seqncia de caracteres extrada. Se este parmetro for omitido, String.length ser usado. Se fim for um nmero negativo, o ponto final ser determinado pela contagem regressiva a partir do final da seqncia de caracteres, onde -1 o ltimo caractere.
fim Retorna

Uma subseqncia de caracteres da seqncia especificada.


Descrio

Mtodo; retorna uma seqncia de caracteres que contm o caractere de incio e todos os caracteres at o caractere de fim, mas sem inclu-lo. O objeto String original no modificado. Se o parmetro fim no for especificado, o fim da subseqncia de caracteres ser o fim da seqncia de caracteres. Se o valor de incio for maior que ou igual ao valor de fim, o mtodo retornar uma seqncia de caracteres vazia.
Exemplo

O exemplo a seguir define uma varivel, texto, cria um objeto String, minha_str e passa-o para a varivel texto. O mtodo slice() extrai uma seo da seqncia de caracteres contida na varivel e trace() a envia para o painel Output (sada). O exemplo mostra o uso de um valor positivo e de um valor negativo para o parmetro fim.
texto = "Lexington"; minha_str = new String( texto ); trace(minha_str.slice( 1, 3 )); // "ex" trace(minha_str.slice( 1, -6 )); // "ex" Consulte tambm String.substr(), String.substring()

754

Captulo 12: Dicionrio do ActionScript

String.split()
Disponibilidade

Flash Player 5.
Uso minha_str.split("delimitador", [limite]) Parmetros delimitador limite Retorna

O caractere ou a seqncia de caracteres em que minha_str dividida.

O nmero de itens que se devem colocar no array. Este parmetro opcional.

Um array que contm as subseqncias de caracteres de minha_str.


Descrio

Mtodo; divide um objeto String em subseqncias de caracteres, quebrando-o sempre que aparecer o parmetro delimitador especificado, e retorna essas subseqncias em um array. Se for usada uma seqncia de caracteres vazia ("") como delimitador, cada caractere da seqncia ser colocado como um elemento no array, como no cdigo a seguir.
minha_str = "Jos"; i = minha_str.split(""); trace (i);

O painel Output (Sada) exibir o seguinte:


J,o,s,

Se o parmetro delimitador no for definido, toda a seqncia de caracteres ser colocada no primeiro elemento do array retornado.
Exemplo

O exemplo a seguir retorna um array com cinco elementos.


minha_str = "P, A, T, S, Y"; minha_str.split(",");

Esse exemplo retorna um array com dois elementos: "P" e "A".


minha_str.split(",", 2);

String.split()

755

String.substr()
Disponibilidade

Flash Player 5.
Uso minha_str.substr(incio, [tamanho]) Parmetros incio

Um inteiro que indica a posio do primeiro caractere em minha_str a ser usado para criar a subseqncia de caracteres. Se incio for um nmero negativo, a posio inicial ser determinada a partir do final da seqncia de caracteres, onde -1 o ltimo caractere.
tamanho tamanho

O nmero de caracteres na subseqncia de caracteres que est sendo criada. Se no for especificado, a subseqncia de caracteres incluir todos os caracteres do incio ao fim da seqncia de caracteres.
Retorna

Uma subseqncia de caracteres da seqncia especificada.


Descrio

Mtodo; retorna os caracteres em uma seqncia de caracteres do ndice especificado no parmetro incio at o nmero de caracteres especificado no parmetro tamanho. O mtodo substr no altera a seqncia de caracteres especificada por minha_str. Ele retorna uma nova seqncia de caracteres.

756

Captulo 12: Dicionrio do ActionScript

String.substring()
Disponibilidade

Flash Player 5.
Uso minha_str.substring(incio, [fim]) Parmetros incio

Um inteiro que indica a posio do primeiro caractere de minha_str usado para criar a subseqncia de caracteres. Os valores vlidos para incio vo de 0 a String.length - 1. Se incio for um valor negativo, 0 ser usado.
fim Um inteiro que 1+ o ndice do ltimo caractere de minha_str a ser extrado. Os valores vlidos para fim vo de 1 a String.length. O caractere indexado pelo parmetro fim no est includo na seqncia de caracteres extrada. Se este parmetro for omitido, String.length ser usado. Se este parmetro for um valor negativo, 0 ser usado.

Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna uma seqncia de caracteres que consiste nos caracteres entre os pontos especificados pelos parmetros incio e fim. Se o parmetro fim no for especificado, o fim da subseqncia de caracteres ser o fim da seqncia de caracteres. Se o valor de incio for igual ao valor de fim, o mtodo retornar uma seqncia de caracteres vazia. Se o valor de incio for maior que o valor de fim, os parmetros sero trocados automaticamente antes de a funo ser executada e o valor original no ser alterado.

String.toLowerCase()
Disponibilidade

Flash Player 5.
Uso minha_str.toLowerCase() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna uma cpia do objeto String, com todos os caracteres em maisculas convertidos em minsculas. O valor original no se altera.

String.toLowerCase()

757

String.toUpperCase()
Disponibilidade

Flash Player 5.
Uso minha_str.toUpperCase() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna uma cpia do objeto String, com todos os caracteres em maisculas convertidos em minsculas. O valor original no se altera.

758

Captulo 12: Dicionrio do ActionScript

String()
Disponibilidade

Flash Player 4; comportamento modificado no Flash Player 7.


Uso String(expresso) Parmetros expresso Retorna

Expresso para converter em uma seqncia de caracteres.

Uma seqncia de caracteres.


Descrio

Funo; retorna o parmetro especificado, representado por uma seqncia de caracteres, da seguinte maneira: Se expresso for um nmero, a seqncia de caracteres retornada ser uma representao de texto do nmero. Se expresso for uma seqncia de caracteres, a seqncia retornada ser expresso. Se expresso for um objeto, o valor de retorno ser uma representao de seqncia de caracteres do objeto gerado pela chamada da propriedade String do objeto ou pela chamada de Object.toString(), caso essa propriedade no exista. Se expresso for undefined, os valores de retorno sero os seguintes:

Em arquivos publicados para Flash Player 6 ou verses anteriores, o resultado uma seqncia
de caracteres vazia ("").

Em arquivos publicados para Flash Player 7 ou verses posteriores, o resultado undefined.


Se expresso "false". for um valor booleano, a seqncia de caracteres de retorno ser "true" ou

Se expresso for um clipe de filme, o valor de retorno ser o caminho de destino do clipe de filme em notao de barra (/).
Observao: O ActionScript 2.0 no oferece suporte notao de barra. Consulte tambm Number.toString(), Object.toString(), de caracteres)

Classe String, " " (delimitador de seqncia

String()

759

substring
Disponibilidade

Flash Player 4. Esta funo foi substituda por String.substr().


Uso substring("seqncia de caracteres", ndice, contagem) Parmetros seqncia de caracteres

A seqncia de caracteres da qual ser extrada a nova seqncia de

caracteres.
ndice contagem

O nmero do primeiro caractere a ser extrado.

O nmero de caracteres a ser includo na seqncia de caracteres extrada, sem incluir o caractere ndice.

Retorna

Nada.
Descrio

Funo String; extrai parte de uma seqncia de caracteres. Esta funo tem 1 como base, ao passo que os mtodos do objeto String tm 0 como base.
Consulte tambm String.substr()

760

Captulo 12: Dicionrio do ActionScript

super
Disponibilidade

Flash Player 6.
Uso super.mtodo([arg1, ..., argN]) super([arg1, ..., argN]) Parmetros mtodo arg1

O mtodo que ser chamado na superclasse.

Parmetros opcionais que so passados para a verso da superclasse do mtodo (sintaxe 1) ou para a funo construtora da superclasse (sintaxe 2).

Retorna

Ambas as formas chamam uma funo. A funo pode retornar qualquer valor.
Descrio

Operador: o estilo da primeira sintaxe pode ser usado no corpo de um mtodo de objeto para chamar a verso de superclasse de um mtodo e pode, opcionalmente, passar parmetros (arg1 ... argN) para o mtodo de superclasse. Isso til para criar mtodos de subclasse que adicionem um comportamento extra aos mtodos de superclasse, mas que tambm chamem os mtodos de superclasse para executar o comportamento original. O estilo da segunda sintaxe pode ser usado dentro do corpo de uma funo construtora para chamar a verso de superclasse da funo construtora e pode, opcionalmente, passar parmetros para ela. Isso til para criar uma subclasse que execute uma inicializao adicional, mas que tambm chame o construtor de superclasse para executar a inicializao da superclasse.

super

761

switch
Disponibilidade

Flash Player 4.
Uso switch (expresso){ clusulaCase: [clusulaDefault:] } Parmetros expresso

Qualquer expresso.

clusulaCase A palavra-chave case seguida de uma expresso, dois-pontos e um grupo de instrues que sero executadas se a expresso corresponder ao parmetro expresso do switch usando igualdade estrita (===). clusulaDefault Uma palavra-chave default seguida de instrues que sero executadas se nenhuma das expresses com diferenciao de maisculas e minsculas corresponder ao parmetro expresso do switch usando igualdade estrita (===). Retorna

Nada.
Descrio

Instruo; cria uma estrutura ramificada para as instrues do ActionScript. Assim como a ao if, a ao switch testar uma condio e executar instrues se a condio retornar um valor true.
Exemplo

No exemplo a seguir, se o parmetro nmero for avaliado como 1, a ao trace() seguinte a case 1 ser executada; se o parmetro nmero for avaliado como 2, a ao trace() seguinte a case 2 ser executada e assim por diante. Se nenhuma expresso case corresponder ao parmetro nmero, a ao trace() seguinte palavra-chave default ser executada.
switch (nmero) { case 1: trace ("case 1 break; case 2: trace ("case 2 break; case 3: trace ("case 3 break; default: trace ("Nenhum } verdadeiro"); verdadeiro"); verdadeiro"); case verdadeiro")

762

Captulo 12: Dicionrio do ActionScript

No exemplo a seguir, no h um break no primeiro grupo case, portanto, se o nmero for 1, A e B sero enviados para o painel Output (Sada):
switch (nmero) { case 1: trace ("A"); case 2: trace ("B"); break; default: trace ("D") } Consulte tambm === (igualdade estrita), break, case, default, if

Classe System
Disponibilidade

Flash Player 6.
Descrio

Esta a classe de nvel mais alto que contm os objetos capabilities (consulte Objeto System.capabilities) e security (consulte Objeto System.security), alm dos mtodos, propriedades e manipuladores de eventos listados a seguir. Resumo dos mtodos da classe System
Mtodo
System.setClipboard()

Descrio Substitui o contedo da rea de transferncia do sistema por uma seqncia de caracteres de texto. Exibe o painel Settings (Configuraes) do Flash Player.

System.showSettings()

Resumo das propriedades da classe System


Mtodo
System.exactSettings

Descrio Especifica se devem ser usadas as regras de correspondncia de domnio superior ou de domnio exato durante o acesso a configuraes locais. Informa ao Flash Player se deve usar Unicode ou a pgina de cdigo tradicional do sistema operacional que est executando o exibidor para interpretar os arquivos de texto externos.

System.useCodepage

Resumo do manipulador de eventos da classe System


Mtodo
System.onStatus

Descrio Fornece um supermanipulador de eventos para determinados objetos

Classe System

763

System.exactSettings
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso System.exactSettings Descrio

Propriedades; especifica se devem ser usadas regras de correspondncia de domnio superior ou de domnio exato durante o acesso a configuraes locais (como permisses de acesso a uma cmera ou microfone) ou dados com persistncia local (objetos compartilhados). O valor padro true para arquivos publicados para Flash Player 7 ou verses posteriores e false para arquivos publicados para Flash Player 6. Se esse valor for true, as configuraes e os dados de um arquivo SWF hospedado em aqui.xyz.com sero armazenadas em aqui.xyz.com, as configuraes e os dados de um arquivo SWF hospedado em ali.xyz.com sero armazenadas em ali.xyz.com e assim sucessivamente. Se esse valor for false, as configuraes e os dados de arquivos SWF hospedados em aqui.xyz.com, ali.xyz.com e xyz.com sero compartilhados e armazenados em xyz.com. Se alguns dos seus arquivos definir essa propriedade como false e outros a definirem como true, talvez voc encontre esses arquivos SWF em outros dados e configuraes de compartilhamento de subdomnios. Por exemplo, se essa propriedade for false em um arquivo SWF hospedado em aqui.xyz.com e true em um arquivo SWF hospedado em xyz.com, os dois arquivos usaro as mesmas configuraes e dados ou seja, aqueles de xyz.com. Se esse no for o comportamento pretendido, lembre-se de definir essa propriedade em cada arquivo para representar corretamente o local em que voc deseja armazenar configuraes e dados. Se voc quiser definir para essa propriedade outro valor que no seja o valor padro, emita o comando System.exactSettings = false no primeiro quadro do seu documento. No possvel alterar a propriedade aps qualquer atividade que exija acesso a configuraes locais, como System.ShowSettings() ou SharedObject.getLocal(). Se voc usar loadMovie(), MovieClip.loadMovie() ou MovieClipLoader.loadClip() para carregar um arquivo SWF em outro, todos os arquivos publicados para Flash Player 7 compartilharo um nico valor para System.exactSettings. E todos os arquivos publicados para Flash Player 6 compartilham um nico valor para System.exactSettings. Por isso, se voc especificar um valor para essa propriedade em um arquivo publicado para uma verso especfica do Player, dever fazer o mesmo em todos os arquivos que pretende carregar. Se voc carregar vrios arquivos, a configurao especificada no ltimo arquivo carregado substituir qualquer configurao especificada anteriormente. Para obter mais informaes sobre como a correspondncia de domnios implementada no Flash, consulte Recursos de segurana do Flash Player na pgina 201.
Consulte tambm SharedObject.getLocal(), System.showSettings()

764

Captulo 12: Dicionrio do ActionScript

System.onStatus
Disponibilidade

Flash Player 6.
Descrio

Manipulador de eventos: fornece um supermanipulador de eventos para determinados objetos. Os objetos LocalConnection, NetStream e SharedObject oferecem um manipulador de eventos onStatus que utiliza um objeto de informao para fornecer informaes, status ou mensagens de erro. Para responder a esse manipulador de eventos, voc deve criar uma funo para processar o objeto de informaes, e deve conhecer o formato e o contedo do objeto de informaes retornado. Alm dos mtodos onStatus especficos fornecidos para os objetos listados acima, o Flash oferece uma superfuno denominada System.onStatus. Se onStatus for chamado para determinado objeto com uma propriedade level com valor "error" e no houver nenhuma funo atribuda para resposta, o Flash processar uma funo atribuda a System.onStatus, se esta existir.
Observao: As classes Camera e Microphone tambm tm manipuladores onStatus, mas no passam objetos de informao com uma propriedade level igual a "error". Portanto, System.onStatus somente ser chamada se voc especificar uma funo para esses manipuladores.

O exemplo a seguir mostra como voc pode criar funes genricas e especficas para processar objetos de informao enviados pelo mtodo onStatus.
// Cria uma funo genrica System.onStatus = function(genericError) { // Seu script faria algo mais significativo aqui trace("Ocorreu um erro. Tente novamente."); } // // // // Cria uma funo para o objeto NetStream Se o objeto NetStream retornar um objeto de informao diferente do listado abaixo, com uma propriedade level igual a "error", System.onStatus ser chamada

fluxoVdeo_ns.onStatus = function(objetoInfo) { if (objetoInfo.code == "NetStream.Play.StreamNotFound") { trace("O arquivo de vdeo no foi encontrado."); } } Consulte tambm Camera.onStatus, LocalConnection.onStatus, Microphone.onStatus, NetStream.onStatus, SharedObject.onStatus

System.onStatus

765

System.setClipboard()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso System.setClipboard(seqncia_de_caracteres) Parmetros seqncia_de_caracteres Uma seqncia de caracteres de texto simples para colocar na rea de transferncia do sistema, substituindo o contedo atual, se houver. Se voc passar um literal de seqncia de caracteres, em vez de uma varivel do tipo String, coloque o literal entre aspas. Retorna

Um valor booleano true se o texto for colocado na rea de transferncia; caso contrrio, o valor ser false.
Descrio

Mtodo; substitui o contedo da rea de transferncia do sistema por uma seqncia de caracteres de texto especificada.

766

Captulo 12: Dicionrio do ActionScript

System.showSettings()
Disponibilidade

Flash Player 6.
Uso System.showSettings([painel]) Parmetros painel Nmero opcional que especifica qual painel Settings (Configuraes) do Flash Player ser exibido, como mostra a tabela a seguir. Valor passado para painel Nenhum (parmetro omitido) ou valor invlido 0 1 2 3 Retorna Painel Settings exibido O painel que estava aberto na ltima vez em que o usurio fechou o painel Settings do Flash Player Privacy (Privacidade) Local Storage (Armazenamento Local) Microphone (Microfone) Camera (Cmera)

Nada.
Descrio

Mtodo; exibe o painel Settings especificado do Flash Player, que permite que os usurios:

Autorizem ou neguem acesso cmera e ao microfone Especifiquem o espao disponvel no disco local para objetos compartilhados Selecionem uma cmera e um microfone padro Especifiquem configuraes de ganho de microfone e de supresso de eco

Por exemplo, se seu aplicativo requisitar o uso de uma cmera, voc poder solicitar que o usurio selecione Allow (Permitir) no painel Privacy Settings (Configuraes de privacidade) e, em seguida, poder emitir um comando System.showSettings(0). Certifique-se de que o tamanho do Stage (Palco) seja de pelo menos 215 x 138 pixels. Esse o tamanho mnimo exigido pelo Flash para exibir o painel.
Consulte tambm Camera.get(), Microphone.get(), SharedObject.getLocal()

System.showSettings()

767

System.useCodepage
Disponibilidade

Flash Player 6.
Uso System.useCodepage Descrio

Propriedade; valor booleano que informa ao Flash Player se deve usar Unicode ou a pgina de cdigo tradicional do sistema operacional que est executando o exibidor para interpretar os arquivos de texto externos. O valor padro de system.useCodepage false.

Quando a propriedade definida como false, o Flash Player interpreta arquivos de texto
externos como Unicode. Esses arquivos devem ser codificados como Unicode quando voc os salva. Quando a propriedade definida como true, o Flash Player interpreta os arquivos de texto externos usando a pgina de cdigo tradicional do sistema operacional que est executando o exibidor.

O texto que voc inclui ou carrega como arquivo externo (usando o comando #include, as aes ou getURL ou os objetos LoadVars ou XML) deve ser codificado como Unicode quando voc salva o arquivo de texto, para que o Flash Player o reconhea como Unicode. Para codificar arquivos externos como Unicode, salve-os em um aplicativo que suporte Unicode, como o Bloco de notas do Windows 2000.
loadVariables()

Se voc incluir ou carregar arquivos de texto no codificados como Unicode, defina system.useCodepage como true. Adicione o seguinte cdigo como primeira linha de cdigo no primeiro quadro do arquivo SWF que est carregando os dados:
system.useCodepage = true;

Quando esse cdigo estiver presente, o Flash Player interpretar o texto externo usando a pgina de cdigo tradicional do sistema operacional em que estiver sendo executado. Esta geralmente CP1252 para o sistema operacional Windows em ingls e Shift-JIS para um sistema operacional japons. Se voc definir system.useCodepage como true, o Flash Player 6 e verses posteriores trataro o texto da mesma forma que o Flash Player 5. O Flash Player 5 tratava todo o texto como se estivesse na pgina de cdigo tradicional do sistema operacional que est executando o exibidor. Se voc definir system.useCodepage como true, lembre-se de que a pgina de cdigo tradicional do sistema operacional que est executando o exibidor dever incluir os caracteres usados no arquivo de texto externo, para que este seja exibido. Por exemplo, se voc carregar um arquivo de texto externo que contenha caracteres chineses, estes no sero exibidos em um sistema que utiliza a pgina de cdigo CP1252, porque essa pgina no inclui caracteres chineses. Para certificar-se de que usurios de todas as plataformas possam exibir os arquivos de texto externos usados nos arquivos SWF, codifique todos os arquivos de texto externos como Unicode e deixe System.useCodepage definido como false por padro. Assim, o Flash Player 6 e verses posteriores interpretaro o texto como Unicode.

768

Captulo 12: Dicionrio do ActionScript

Objeto System.capabilities
Disponibilidade

Flash Player 6.
Descrio

possvel usar o objeto System.capabilites para determinar os recursos do sistema e do exibidor que hospedam um arquivo SWF. Isso permite ajustar o contedo para formatos diferentes. Por exemplo, a tela de um telefone celular (preto-e-branco, 100 pixels quadrados) diferente da tela de PC colorida de 1.000 pixels quadrados. Para oferecer um contedo apropriado ao maior nmero possvel de usurios, possvel usar o objeto System.capabilities para descobrir o tipo de dispositivo de um usurio. Tambm possvel especificar que o servidor envie diferentes arquivos SWF com base nos recursos do dispositivo, ou solicitar que o arquivo SWF altere sua apresentao com base nos recursos do dispositivo. possvel enviar informaes sobre recursos usando um mtodo GET ou POST HTTP. A seguir, exibido um exemplo de uma seqncia de caracteres do servidor referente a um dispositivo que no tem suporte MP3 e tem uma tela de 400 x 200 pixels, 8 x 4 centmetros:
"A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%207%2C0%2 C0%2C226&M=Macromedia%20Windows&R=1152x864&DP=72&COL=color&AR=1.0&OS=Window s%20XP&L=en&PT=External&AVD=f&LFD=f"

Resumo das propriedades do objeto System.capabilities


Propriedade Descrio Seqncia de caracteres do servidor
AVD

System.capabilities.avHardwareDisable

Somente leitura; especifica se a cmera e o microfone do usurio esto ativados ou desativados. Indica se o exibidor est sendo executado em um sistema que suporta comunicao entre o Flash Player e recursos de acessibilidade. Indica se o exibidor est sendo executado em um sistema com recursos de udio.

System.capabilities.hasAccessibility

ACC

System.capabilities.hasAudio

System.capabilities.hasAudioEncoder

AE Indica se o exibidor est sendo executado em um sistema que pode codificar fluxo de udio, como o que vem de um microfone.

System.capabilities.hasEmbeddedVideo

Indica se o exibidor est sendo executado em um sistema que suporta vdeo incorporado. Indica se o exibidor est sendo executado em um sistema com decodificador de MP3.

EV

System.capabilities.hasMP3

MP3

Objeto System.capabilities

769

Propriedade

Descrio

Seqncia de caracteres do servidor


PR

System.capabilities.hasPrinting

Indica se o exibidor est sendo executado em um sistema que suporta impresso. Indica se o exibidor suporta o desenvolvimento de aplicativos de transmisso por tela a serem executados atravs do Flash Communication Server. Indica se o exibidor suporta a reproduo de aplicativos de transmisso por tela que esto sendo executados atravs do Flash Communication Server.

System.capabilities.hasScreenBroadcast

SB

System.capabilities.hasScreenPlayback

SP

System.capabilities.hasStreamingAudio

Indica se o exibidor pode reproduzir SA udio de fluxo. Indica se o exibidor pode reproduzir SV vdeo de fluxo. Indica se o exibidor pode codificar um fluxo de vdeo, como o que vem de uma cmera da Web. Indica se o exibidor uma verso oficial ou uma verso de depurao especial.
VE

System.capabilities.hasStreamingVideo

System.capabilities.hasVideoEncoder

System.capabilities.isDebugger

DEB

System.capabilities.language

Indica o idioma do sistema no qual o L exibidor est sendo executado.


LFD

System.capabilities.localFileReadDisable Somente leitura; especifica se o

exibidor tentar ler algo (incluindo o primeiro arquivo SWF com o qual iniciado) no disco rgido do usurio.
System.capabilities.manufacturer System.capabilities.os

Indica o fabricante do Flash Player. Indica o sistema operacional que hospeda o Flash Player. Indica a relao entre os pixels da tela. Indica o tipo de exibidor: independente, externo, plug-in ou ActiveX.

M OS

System.capabilities.pixelAspectRatio

AR

System.capabilities.playerType

PT

System.capabilities.screenColor

COL Indica se a tela colorida, preto-e-branco ou em tons de cinza.

System.capabilities.screenDPI

Indica os pontos por polegada da resoluo de tela, em pixels.

DP

770

Captulo 12: Dicionrio do ActionScript

Propriedade

Descrio

Seqncia de caracteres do servidor


R R

System.capabilities.screenResolutionX System.capabilities.screenResolutionY System.capabilities.serverString

Indica o tamanho horizontal da tela. Indica o tamanho vertical da tela.

Uma seqncia de caracteres com N/A codificao tipo URL que especifica valores para cada propriedade de System.capabilities. Uma seqncia de caracteres contendo informaes sobre a verso e a plataforma do Flash Player.
V

System.capabilities.version

System.capabilities.avHardwareDisable
Disponibilidade

Flash Player 7.
Uso System.capabilities.avHardwareDisable Descrio

Propriedade somente de leitura; valor booleano que especifica se a cmera e o microfone do usurio esto ativados ou desativados.
Consulte tambm Camera.get(), Microphone.get(), System.showSettings()

System.capabilities.hasAccessibility
Disponibilidade

Flash Player 6 verso 65.


Uso System.capabilities.hasAccessibility Descrio

Propriedade; valor booleano que indica se o exibidor est sendo executado em um ambiente que suporta comunicao entre o Flash Player e recursos de acessibilidade. A seqncia de caracteres do servidor ACC.
Consulte tambm Accessibility.isActive(), Accessibility.updateProperties(), _accProps

System.capabilities.hasAccessibility

771

System.capabilities.hasAudio
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasAudio Descrio

Propriedade; valor booleano que indica se o exibidor est sendo executado em um sistema com recursos de udio. A seqncia de caracteres do servidor A.

System.capabilities.hasAudioEncoder
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasAudioEncoder Descrio

Propriedade; valor booleano que indica se o exibidor pode codificar um fluxo de udio, como o que vem de um microfone. A seqncia de caracteres do servidor AE.

System.capabilities.hasEmbeddedVideo
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasEmbeddedVideo Descrio

Propriedade; valor booleano que indica se o exibidor est sendo executado em um sistema com vdeo incorporado. A seqncia de caracteres do servidor EV.

System.capabilities.hasMP3
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasMP3 Descrio

Propriedade; valor booleano que indica se o exibidor est sendo executado em um sistema com decodificador de MP3. A seqncia de caracteres do servidor MP3.

772

Captulo 12: Dicionrio do ActionScript

System.capabilities.hasPrinting
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasPrinting Descrio

Propriedade; valor booleano que indica se o exibidor est sendo executado em um sistema que suporta impresso. A seqncia de caracteres do servidor PR.

System.capabilities.hasScreenBroadcast
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasScreenBroadcast Descrio

Propriedade; valor booleano que indica se o exibidor suporta o desenvolvimento de aplicativos de transmisso por tela a serem executados atravs do Flash Communication Server. A seqncia de caracteres do servidor SB.

System.capabilities.hasScreenPlayback
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasScreenPlayback Descrio

Propriedade; valor booleano que indica se o exibidor suporta a reproduo de aplicativos de transmisso por tela que esto sendo executados atravs do Flash Communication Server. A seqncia de caracteres do servidor SP.

System.capabilities.hasStreamingAudio
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasStreamingAudio Descrio

Propriedade; valor booleano que indica se o exibidor pode reproduzir udio de fluxo. A seqncia de caracteres do servidor SA.

System.capabilities.hasStreamingAudio

773

System.capabilities.hasStreamingVideo
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasStreamingVideo Descrio

Propriedade; valor booleano que indica se o exibidor pode reproduzir vdeo de fluxo. A seqncia de caracteres do servidor SV.

System.capabilities.hasVideoEncoder
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasVideoEncoder Descrio

Propriedade; valor booleano que indica se o exibidor pode codificar um fluxo de vdeo, como o que vem de uma cmera da Web. A seqncia de caracteres do servidor VE.

System.capabilities.isDebugger
Disponibilidade

Flash Player 6.
Uso System.capabilities.isDebugger Descrio

Propriedade; valor booleano que indica se o exibidor uma verso oficial (false) ou uma verso de depurao especial (true). A seqncia de caracteres do servidor DEB.

774

Captulo 12: Dicionrio do ActionScript

System.capabilities.language
Disponibilidade

Flash Player 6.
Uso System.capabilities.language Descrio

Propriedade; indica o idioma do sistema no qual o exibidor est sendo executado. Essa propriedade especificada como um cdigo de idioma de duas letras minsculas a partir de ISO 639-1 e como uma subtag de cdigo de pas de duas letras maisculas a partir de ISO 3166. Os cdigos representam o idioma do sistema no qual o exibidor est sendo executado. Os prprios idiomas so nomeados com as marcas em ingls. Por exemplo, fr especifica francs.
Idioma Tcheco Dinamarqus Holands Ingls Finlands Francs Alemo Hngaro Italiano Japons Coreano Noruegus Outros/ desconhecidos Polons Portugus Russo Chins Simplificado Espanhol Sueco Chins Tradicional Turco Marca
cs da nl en fi fr de hu it ja ko no

Pases e marcas suportados

xu
pl pt ru zh es sv zh tr

Repblica Popular da China (Chins Simplificado): zh-CN

Taiwan (Chins Tradicional): zh-TW

System.capabilities.language

775

System.capabilities.localFileReadDisable
Disponibilidade

Flash Player 7.
Uso System.capabilities.localFileReadDisable Descrio

Propriedade somente de leitura; valor booleano que especifica se o exibidor tentar ler algo (incluindo o primeiro arquivo SWF com o qual iniciado) no disco rgido do usurio.

System.capabilities.manufacturer
Disponibilidade

Flash Player 6.
Uso System.capabilities.manufacturer Descrio

Propriedade; seqncia de caracteres que indica o fabricante do Flash Player, no formato "Macromedia NomeSO" (NomeSO pode ser "Windows", "Macintosh", "Linux" ou "outro NomeSO"). A seqncia de caracteres do servidor M.

System.capabilities.os
Disponibilidade

Flash Player 6.
Uso System.capabilities.os Descrio

Propriedade; seqncia de caracteres que indica o sistema operacional atual. A propriedade os pode retornar as seguintes seqncias de caracteres: "Windows XP", "Windows 2000", "Windows NT", "Windows 98/ME", "Windows 95", "Windows CE" (disponvel somente no Flash Player SDK, no na verso para desktop), "Linux" e "MacOS". A seqncia de caracteres do servidor OS.

776

Captulo 12: Dicionrio do ActionScript

System.capabilities.pixelAspectRatio
Disponibilidade

Flash Player 6.
Uso System.capabilities.pixelAspectRatio Descrio

Propriedade; um inteiro que indica a proporo de pixels da tela. A seqncia de caracteres do servidor AR.

System.capabilities.playerType
Disponibilidade

Flash Player 7.
Uso System.capabilities.playerType Descrio

Propriedade; seqncia de caracteres que indica o tipo de exibidor. Essa propriedade pode ter o valor "StandAlone" (independente), "External" (externo), "PlugIn" ou "ActiveX". A seqncia de caracteres do servidor PT.

System.capabilities.screenColor
Disponibilidade

Flash Player 6.
Uso System.capabilities.screenColor Descrio

Propriedade; indica se a tela colorida (color), em tons de cinza (gray) ou em preto-e-branco (bw). A seqncia de caracteres do servidor COL.

System.capabilities.screenDPI
Disponibilidade

Flash Player 6.
Uso System.capabilities.screenDPI Descrio

Propriedade; indica a resoluo de pontos por polegada (dpi) da tela, em pixels. A seqncia de caracteres do servidor DP.

System.capabilities.screenDPI

777

System.capabilities.screenResolutionX
Disponibilidade

Flash Player 6.
Uso System.capabilities.screenResolutionX Descrio

Propriedade; um inteiro que indica a resoluo horizontal mxima da tela. A seqncia de caracteres do servidor R (que retorna a largura e a altura na tela).

System.capabilities.screenResolutionY
Disponibilidade

Flash Player 6.
Uso System.capabilities.screenResolutionY Descrio

Propriedade; um inteiro que indica a resoluo vertical mxima da tela. A seqncia de caracteres do servidor R (que retorna a largura e a altura na tela).

System.capabilities.serverString
Disponibilidade

Flash Player 6.
Uso System.capabilities.serverString Descrio

Propriedade; seqncia de caracteres codificada como URL que especifica valores para cada propriedade de System.capabilities, como neste exemplo:
A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%207%2C0%2C 0%2C226&M=Macromedia%20Windows&R=1152x864&DP=72&COL=color&AR=1.0&OS=Windows%20 XP&L=en&PT=External&AVD=f&LFD=f

778

Captulo 12: Dicionrio do ActionScript

System.capabilities.version
Disponibilidade

Flash Player 6.
Uso System.capabilities.version Descrio

Propriedade; seqncia de caracteres que contm as informaes sobre a plataforma e a verso do Flash Player, por exemplo, "WIN 7,0,0,231". A seqncia de caracteres do servidor V.

Objeto System.security
Disponibilidade

Flash Player 6.
Descrio

Este objeto contm mtodos que especificam como os arquivos SWF de diversos domnios podem se comunicar uns com os outros. Resumo dos mtodos do objeto System.security
Mtodo
System.security.allowDomain()

Descrio Permite que os arquivos SWF dos domnios identificados acessem objetos e variveis do arquivo SWF de chamada ou de qualquer outro arquivo SWF do mesmo domnio que o arquivo SWF de chamada. acessem objetos e variveis do arquivo SWF de chamada, que est hospedado com o protocolo HTTPS.

System.security.allowInsecureDomain() Permite que os arquivos dos domnios identificados

Objeto System.security

779

System.security.allowDomain()
Disponibilidade

Flash Player 6; comportamento modificado no Flash Player 7.


Uso System.security.allowDomain("domnio1", "domnio2", ... "domnioN") Parmetros domnio1, domnio2, ... domnioN Seqncias de caracteres que especificam domnios que podem acessar objetos e variveis no arquivo que contm a chamada System.Security.allowDomain(). Os domnios podem ser formatados das seguintes formas:

"domnio.com" "http://domnio.com" "http://endereoIP"

Descrio

Mtodo; permite que os arquivos SWF dos domnios identificados acessem objetos e variveis do arquivo SWF de chamada ou de qualquer outro arquivo SWF do mesmo domnio que o arquivo SWF de chamada. Em arquivos reproduzidos no Flash Player 7 ou verses posteriores, os parmetros passados devem seguir as regras de atribuio de nomes de domnio exato. Por exemplo, para permitir o acesso por arquivos SWF hospedados em www.domnio.com ou store.domnio.com, necessrio passar os dois nomes de domnio:
// Para o Flash Player 6 System.security.allowDomain("domnio.com"); // Os comandos correspondentes que permitem acesso a arquivos SWF // executados no Flash Player 7 ou verses posteriores System.security.allowDomain("www.domnio.com". "store.domnio.com");

Alm disso, para arquivos executados no Flash Player 7 ou verses posteriores, no possvel usar esse mtodo para permitir que os arquivos SWF hospedados com um protocolo seguro (HTTPS) permitam o acesso a partir de arquivos SWF hospedados com protocolos no-seguros. Voc deve usar System.security.allowInsecureDomain().
Exemplo

O arquivo SWF localizado em www.macromedia.com/MovieA.swf contm as linhas a seguir.


System.security.allowDomain("www.shockwave.com"); loadMovie("http://www.shockwave.com/MovieB.swf", _root.meu_mc);

Como MovieA contm o comando allowDomain(), MovieB poder acessar os objetos e variveis de MovieA. Se MovieA no contivesse esse comando, a implementao de segurana do Flash impediria que MovieA acessasse os objetos e variveis de MovieB.

780

Captulo 12: Dicionrio do ActionScript

System.security.allowInsecureDomain()
Disponibilidade

Flash Player 7.
Uso System.Security.allowInsecureDomain("domnio") Parmetros domnio

Um nome de domnio exato, como www.meuNomeDomnio.com ou store.meuNomeDomnio.com.

Retorna

Nada.
Descrio

Mtodo; permite que arquivos SWF dos domnios identificados acessem objetos e variveis do arquivo SWF de chamada, que est hospedado com o protocolo HTTPS. Por padro, os arquivos SWF hospedados com protocolo HTTPS somente podem ser acessados por outros arquivos SWF hospedados com o protocolo HTTPS. Essa implementao mantm a integridade proporcionada pelo protocolo HTTPS. A Macromedia no recomenda o uso desse mtodo para substituir o comportamento padro, pois isso comprometeria a segurana do HTTPS. No entanto, talvez isso seja necessrio, por exemplo, se voc precisar permitir o acesso a arquivos HTTPS publicados para o Flash Player 7 ou verses posteriores a partir de arquivos HTTP publicados para o Flash Player 6. Um arquivo SWF publicado para o Flash Player 6 pode usar System.security.allowDomain() para permitir o acesso de HTTP para HTTPS. No entanto, como a segurana implementada de maneira diferente no Flash Player 7, voc deve usar System.Security.allowInsecureDomain() para permitir esse acesso em arquivos SWF publicados para o Flash Player 7 ou verses posteriores.
Exemplo

Neste exemplo, voc est hospedando um teste de matemtica em um domnio seguro para que apenas os alunos registrados possam acess-lo. Voc tambm desenvolveu vrios arquivos SWF que ilustram determinados conceitos e est armazenando esses arquivos em um domnio no-seguro. Voc deseja que os alunos tenham a possibilidade de acessar o teste a partir do arquivo SWF que contm informaes sobre um conceito.
// Este arquivo SWF est localizado em // https://meuSiteEducativo.umlocal.com/testeMatemtica.swf // Os arquivos de conceitos esto localizados em // http://meuSiteEducativo.umlocal.com System.Security.allowInsecureDomain("meuSiteEducativo.umlocal.com") Consulte tambm System.security.allowDomain(), System.exactSettings

System.security.allowInsecureDomain()

781

targetPath
Disponibilidade

Flash Player 5.
Uso targetpath(objeto_MovieClip) Parmetros objeto_MovieClip

Referncia (por exemplo, _root ou _parent) ao clipe de filme cujo caminho de destino est sendo recuperado.

Retorna

Uma seqncia de caracteres contendo o caminho de destino do clipe de filme especificado.


Descrio

Funo; retorna uma seqncia de caracteres que contm o caminho de destino de objeto_MovieClip. O caminho de destino retornado em notao de ponto. Para recuperar o caminho de destino em notao de barras, use a propriedade _target.
Exemplo

Este exemplo exibe o caminho de destino de um clipe de filme assim que carregado.
onClipEvent(load){ trace(targetPath(this)); } Consulte tambm eval()

782

Captulo 12: Dicionrio do ActionScript

tellTarget
Disponibilidade

Flash Player 3. (Obsoleta no Flash 5; recomenda-se o uso da notao de ponto e da ao with.)


Uso tellTarget("destino") { instrues; } Parmetros destino

Uma seqncia de caracteres que especifica o caminho de destino da Timeline (Linha de tempo) a ser controlada. As instrues que sero executadas se a condio for avaliada como true.

instrues Retorna

Nada.
Descrio

Ao obsoleta; aplica os comandos definidos no parmetro instrues na Timeline especificada no parmetro destino. A ao tellTarget til para controles de navegao. Atribua tellTarget a botes que encerram ou comeam clipes de filme em qualquer local do Stage (Palco). Voc tambm pode fazer clipes de filme irem para um quadro em particular no clipe. Por exemplo, atribua tellTarget a botes que encerram ou iniciam clipes de filme no Stage ou solicitam que os clipes de filme saltem para um quadro especfico. No Flash 5 ou verso posterior, possvel usar a notao de ponto em vez da ao tellTarget. Use a ao with a fim de emitir vrias aes para a mesma Timeline. possvel usar a ao with para especificar qualquer objeto, enquanto a ao tellTarget s pode especificar clipes de filme.
Exemplo

A instruo tellTarget controla a instncia do clipe de filme ball na Timeline principal. O Frame 1 (Quadro 1) da instncia ball est em branco e possui uma ao stop(), de forma que no est visvel no Stage. Quando o boto com a ao a seguir clicado, tellTarget solicita que a reproduo em ball v para o Frame 2 (Quadro 2) , onde a animao comea.
on (release) { tellTarget("ball") { gotoAndPlay(2); } }

O exemplo a seguir usa notao de ponto para alcanar os mesmos resultados.


on (release) { ball.gotoAndPlay(2); }

tellTarget

783

Se for necessrio emitir vrios comandos para a instncia ball, use a ao with, como na instruo a seguir.
on (release) { with(ball) { gotoAndPlay(2); _alpha = 15; _xscale = 50; _yscale = 50; } } Consulte tambm with

Classe TextField
Disponibilidade

Flash Player 6.
Descrio

Todos os campos de texto dinmicos e de entrada em um arquivo SWF so instncias da classe TextField. possvel dar a um campo de texto um nome de instncia no inspetor Properties (Propriedades) e usar os mtodos e as propriedades da classe TextField para manipul-lo com o ActionScript. Os nomes de instncias do TextField so exibidos no Movie Explorer e na caixa de dilogo Insert Target Path (Inserir caminho de destino) no painel Actions (Aes). A classe TextField herda propriedades e mtodos de Classe Object. Para criar um campo de texto dinamicamente, use MovieClip.createTextField(). Resumo dos mtodos da classe TextField
Mtodo
TextField.addListener()

Descrio Registra um objeto para receber notificao quando os manipuladores de eventos onChanged e onScroller forem chamados. Retorna nomes de fontes no sistema do host do exibidor como um array. Retorna a espessura de um campo de texto. recm-inserido.

TextField.getFontList()

TextField.getDepth()

TextField.getNewTextFormat() Obtm o formato de texto padro atribudo ao texto

TextField.getTextFormat()

Retorna um objeto TextFormat que contm informaes de formatao para uma parte do texto ou para o texto inteiro em um campo de texto. Remove um objeto ouvinte. Remove um campo de texto que foi criado com MovieClip.createTextField(). Substitui a seleo atual.

TextField.removeListener() TextField.removeTextField()

TextField.replaceSel()

784

Captulo 12: Dicionrio do ActionScript

Mtodo

Descrio usurio ou mtodo.

TextField.setNewTextFormat() Define um objeto TextFormat para o texto que inserido por um

TextField.setTextFormat()

Define um objeto TextFormat para um intervalo especificado de texto em um campo de texto.

Resumo das propriedades da classe TextField


Propriedade
TextField._alpha TextField.autoSize

Descrio O valor da transparncia de uma instncia de campo de texto. Controla o alinhamento automtico e o dimensionamento de um campo de texto. Indica se o campo de texto tem um preenchimento de fundo. Indica a cor do preenchimento de fundo. Indica se o campo de texto tem uma borda. Indica a cor da borda. A linha visvel mais inferior em um campo de texto. Somente leitura. Indica se o campo de texto usa contornos de fontes incorporadas ou fontes de dispositivo. A altura de uma instncia de campo de texto em pixels. Afeta somente a caixa delimitadora do campo de texto, e no a espessura da borda nem o tamanho da fonte de texto. Indica a qualidade de renderizao do arquivo SWF. Indica o valor de rolagem horizontal de um campo de texto. Indica a posio de rolagem mxima atual de um campo de texto. Contm uma representao HTML do contedo de um campo de texto. O nmero de caracteres em um campo de texto. Somente leitura. O nmero mximo de caracteres que um campo de texto pode conter. O valor mximo de TextField.hscroll. Somente leitura. O valor mximo de TextField.scroll. Somente leitura. Associa um objeto ContextMenu a um campo de texto. Indica se o Flash Player deve rolar automaticamente campos de texto de vrias linhas quando o ponteiro do mouse for posicionado sobre um campo de texto e o usurio movimentar o mouse. Indica se o campo de texto contm vrias linhas. O nome de uma instncia de campo de texto.

TextField.background TextField.backgroundColor TextField.border TextField.borderColor TextField.bottomScroll

TextField.embedFonts

TextField._height

TextField._highquality TextField.hscroll TextField.html TextField.htmlText

TextField.length TextField.maxChars

TextField.maxhscroll TextField.maxscroll TextField.menu TextField.mouseWheelEnabled

TextField.multiline TextField._name

Classe TextField

785

Propriedade
TextField._parent

Descrio Uma referncia instncia que o pai desta instncia; seja do tipo Button ou MovieClip. Indica se um campo de texto oculta os caracteres de entrada. Indica a qualidade de renderizao de um arquivo SWF. O conjunto de caracteres que um usurio pode digitar em um campo de texto. O grau de rotao de uma instncia de campo de texto. Indica a posio de rolagem atual de um campo de texto. Indica se um campo de texto pode ser selecionado. O perodo de tempo em que um som deve ser armazenado em pr-buffer antes de ser reproduzido. Indica se um clipe de filme est includo na ordenao de tabulao automtica. Indica a ordem de tabulao de um objeto. O caminho de destino da instncia de campo de texto especificada. Somente leitura. O texto atual no campo de texto. A cor do texto atual no campo de texto. A altura da caixa delimitadora do campo de texto. A largura da caixa delimitadora do campo de texto. Indica se um campo de texto dinmico ou de entrada. O URL do arquivo SWF que criou a instncia de campo de texto. Somente leitura. O nome da varivel associada ao campo de texto. Um valor booleano que determina se uma instncia de campo de texto est oculta ou visvel. A largura de uma instncia de campo de texto em pixels. Afeta somente a caixa delimitadora do campo de texto, e no a espessura da borda nem o tamanho da fonte de texto. Indica se o campo de texto faz quebra automtica de linha. A coordenada x de uma instncia de campo de texto. A coordenada x do ponteiro em relao a uma instncia de campo de texto. Somente leitura. O valor que especifica a porcentagem para dimensionar horizontalmente uma instncia de campo de texto. A coordenada y de uma instncia de campo de texto.

TextField.password TextField._quality TextField.restrict

TextField._rotation TextField.scroll TextField.selectable TextField._soundbuftime

TextField.tabEnabled

TextField.tabIndex TextField._target

TextField.text TextField.textColor TextField.textHeight TextField.textWidth TextField.type TextField._url

TextField.variable TextField._visible

TextField._width

TextField.wordWrap TextField._x TextField._xmouse

TextField._xscale

TextField._y

786

Captulo 12: Dicionrio do ActionScript

Propriedade
TextField._ymouse

Descrio A coordenada y do ponteiro em relao a uma instncia de campo de texto. Somente leitura. O valor que especifica a porcentagem para dimensionar verticalmente uma instncia de campo de texto.

TextField._yscale

Resumo dos manipuladores de eventos da classe TextField


Manipulador de eventos
TextField.onChanged TextField.onKillFocus TextField.onScroller

Descrio Chamado quando o campo de texto alterado. Chamado quando o campo de texto perde o foco. Chamado quando uma das propriedades de rolagem do campo de texto alterada. Chamado quando o campo de texto recebe o foco.

TextField.onSetFocus

Resumo dos ouvintes da classe TextField


Mtodo
TextField.onChanged TextField.onScroller

Descrio Notificado quando o campo de texto alterado. Notificado quando a propriedade scroll ou maxscroll de um campo de texto alterada.

TextField.addListener()
Disponibilidade

Flash Player 6.
Uso meu_txt.addListener(ouvinte) Parmetros ouvinte Retorna

Objeto com um manipulador de eventos onChanged ou onScroller.

Nada.
Descrio

Mtodo, registra um objeto para receber notificao quando os manipuladores de eventos onChanged e onScroller forem chamados. Quando um campo de texto alterado ou rolado, os manipuladores de eventos TextField.onChanged e TextField.onScroller so chamados, seguidos pelos manipuladores onChanged e onScroller dos objetos registrados como ouvintes. Vrios objetos podem ser registrados como ouvintes. Para remover um objeto ouvinte de um campo de texto, chame TextField.removeListener().

TextField.addListener()

787

Uma referncia instncia do campo de texto passada como parmetro para os manipuladores onScroller e onChanged pela origem do evento. possvel capturar esses dados colocando um parmetro no mtodo manipulador de eventos. Por exemplo, o cdigo a seguir utiliza txt como o parmetro que passado para o manipulador de eventos onScroller. O parmetro ento usado em uma instruo trace para enviar o nome da instncia do campo de texto para o painel Output (Sada).
meuTextField.onScroller = function (txt) { trace (txt._name + " alterado"); }; Exemplo

O exemplo a seguir define um manipulador onChange para o campo de texto de entrada meuTexto. Em seguida, define um novo objeto ouvinte, meuOuvinte e um manipulador onChanged para o objeto. Esse manipulador ser chamado quando o campo de texto meuTexto for alterado. A ltima linha do cdigo chama TextField.addListener para registrar o objeto ouvinte meuOuvinte com o campo de texto meuTexto, para que seja notificado quando meuTexto for alterado.
meuTexto.onChanged = function (txt) { trace (txt._name + " alterado"); }; meuOuvinte = new Object(); meuOuvinte.onChanged = function (txt) { trace(txt._name + " alterado e meuOuvinte notificado"); }; meuTexto.addListener(meuOuvinte); Consulte tambm TextField.onChanged, TextField.onScroller, TextField.removeListener()

788

Captulo 12: Dicionrio do ActionScript

TextField._alpha
Disponibilidade

Flash Player 6.
Uso meu_txt._alpha Descrio

Propriedade; define ou recupera um valor de transparncia alfa do campo de texto especificado por meu_txt. A faixa de valores vlidos vai de 0 (totalmente transparente) a 100 (totalmente opaco). O valor padro 100.
Exemplo

O cdigo a seguir define a propriedade _alpha de um campo de texto chamado text1_txt para 30% quando o boto clicado:
on (release) { text1_txt._alpha = 30; } Consulte tambm Button._alpha, MovieClip._alpha

TextField._alpha

789

TextField.autoSize
Disponibilidade

Flash Player 6.
Uso meu_txt.autoSize Descrio

Propriedade; controla o alinhamento e o dimensionamento automticos de campos de texto. Os valores aceitveis para autoSize so "none" (o padro), "left", "right" e "center". Quando voc definir a propriedade autoSize, true ser sinnimo de "left" (esquerda) e false de "none" (nenhum). Os valores de autoSize, multiline e wordWrap determinam se um campo de texto se expande ou contrai no lado esquerdo, no lado direito ou na parte inferior. Voc pode usar o cdigo a seguir e inserir outros valores para autoSize, multiline e wordWrap para ver como o campo redimensionado quando esses valores so alterados.
createTextField("meu_txt", 1, 0, 0, 200, 20); with (meu_txt) { border = true; borderColor = 0x000000; multiline = false; wordWrap = false; autoSize = "none"; text = "Este um texto longo que no caber no campo"; } Exemplo

O exemplo a seguir define a propriedade de autoSize do campo de texto meu_txt como "center".
meu_txt.autosize = "center";

TextField.background
Disponibilidade

Flash Player 6.
Uso meu_txt.background Descrio

Propriedade; se true, o campo de texto ter um preenchimento de fundo. Se false, o campo de texto no ter nenhum preenchimento de fundo.

790

Captulo 12: Dicionrio do ActionScript

TextField.backgroundColor
Disponibilidade

Flash Player 6.
Uso meu_txt.backgroundColor Descrio

Propriedade; a cor do fundo do campo de texto. O padro 0xFFFFFF (branco). Esta propriedade pode ser recuperada ou definida, mesmo que, no momento, no haja fundo, mas a cor s ser visvel se o campo de texto tiver uma borda.
Consulte tambm TextField.background

TextField.border
Disponibilidade

Flash Player 6.
Uso meu_txt.border Descrio

Propriedade; se true, o campo de texto ter uma borda. Se false, o campo de texto no ter borda.

TextField.borderColor
Disponibilidade

Flash Player 6.
Uso meu_txt.borderColor Descrio

Propriedade; a cor da borda do campo de texto, o padro 0x000000 (preto). Esta propriedade pode ser recuperada ou definida, mesmo que no haja borda no momento.
Consulte tambm TextField.border

TextField.borderColor

791

TextField.bottomScroll
Disponibilidade

Flash Player 6.
Uso meu_txt.bottomScroll Descrio

Propriedade (somente de leitura); um inteiro (ndice que tem 1 como base) que indica a linha mais baixa visvel em meu_txt. Imagine o campo de texto como uma janela para um bloco de texto. A propriedade TextField.scroll o ndice que tem 1 como base da linha mais alta visvel na janela. Todo o texto entre as linhas TextField.scroll e TextField.bottomScroll est visvel atualmente no campo de texto.

TextField.condenseWhite
Disponibilidade

Flash Player 6.
Uso meu_txt.condenseWhite Descrio

Propriedade; valor booleano que especifica se o espao em branco extra (espaos, quebras de linhas e assim por diante) de um campo de texto HTML deve ser removido quando o campo processado em um navegador. O valor padro false. Se voc definir esse valor como true, dever usar comandos HTML padro como <BR> e <P> para inserir quebras de linha no campo de texto. Se meu_txt.html for false, essa propriedade ser ignorada.
Consulte tambm TextField.html

TextField.embedFonts
Disponibilidade

Flash Player 6.
Uso meu_txt.embedFonts Descrio

Propriedade; um valor booleano que, quando true, exibe o campo de texto usando contornos de fontes incorporadas. Se for false, exibir o campo de texto usando fontes de dispositivo.

792

Captulo 12: Dicionrio do ActionScript

TextField.getDepth()
Disponibilidade

Flash Player 6.
Uso meu_txt.getDepth() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna a espessura de um campo de texto.

TextField.getFontList()
Disponibilidade

Flash Player 6.
Uso TextField.getFontList() Parmetros

Nenhum.
Retorna

Um array.
Descrio

Mtodo; mtodo esttico da Classe TextField global. No especifique um campo de texto (como meu_txt) ao chamar esse mtodo. Esse mtodo retorna nomes de fontes no sistema do host do exibidor como um array. No retorna nomes de todas as fontes dos arquivos SWF carregados no momento. Os nomes so do tipo String.
Exemplo

O cdigo a seguir exibe uma lista de fontes retornada por getFontList().


font_array = TextField.getFontList(); for( i in font_array){ trace(font_array[i]); }

TextField.getFontList()

793

TextField.getNewTextFormat()
Disponibilidade

Flash Player 6.
Uso meu_txt.getNewTextFormat() Parmetros

Nenhum.
Retorna

Um objeto TextFormat.
Descrio

Mtodo; retorna um objeto TextFormat que contm uma cpia do objeto de formato de texto do campo de texto. O objeto de formato de texto o formato recebido pelo texto recm-inserido, como o texto inserido com o mtodo replaceSel() ou o texto digitado por um usurio. Quando getNewTextFormat() chamado, o objeto TextFormat retornado tem todas as suas propriedades definidas. Nenhuma propriedade null.

794

Captulo 12: Dicionrio do ActionScript

TextField.getTextFormat()
Disponibilidade

Flash Player 6.
Uso meu_txt.getTextFormat() meu_txt.getTextFormat(ndice) meu_txt.getTextFormat(inciondice, fimndice) Parmetros ndice

Um inteiro que especifica um caractere em uma seqncia de caracteres. Inteiros que especificam os locais inicial e final de um intervalo de

inciondice, fimndice texto em meu_txt. Retorna

Um objeto.
Descrio

Mtodo; Uso 1: retorna um objeto TextFormat que contm informaes de formatao para todo o texto contido em um campo de texto. Somente as propriedades comuns a todo o texto no campo de texto so definidas no objeto TextFormat resultante. Qualquer propriedade que seja misturada, ou seja, que tenha valores diferentes em pontos diferentes no texto, tem seu valor definido como null. Uso 2: Retorna um objeto TextFormat que contm uma cpia do formato de texto do campo de texto em ndice. Uso 3: Retorna um objeto TextFormat que contm informaes de formatao para o intervalo de texto de inciondice a fimndice.
Consulte tambm TextField.getNewTextFormat(), TextField.setNewTextFormat(), TextField.setTextFormat()

TextField.getTextFormat()

795

TextField._height
Disponibilidade

Flash Player 6.
Uso meu_txt._height Descrio

Propriedade; a altura do campo de texto, em pixels.


Exemplo

O exemplo de cdigo a seguir define a altura e a largura de um campo de texto.


meu_txt._width = 200; meu_txt._height = 200;

TextField._highquality
Disponibilidade

Flash Player 6.
Uso meu_txt._highquality Descrio

Propriedade (global); especifica o nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Especifique 2 (melhor qualidade) para aplicar alta qualidade com a suavizao de bitmap sempre ativada. Especifique 1 (alta qualidade) para aplicar o recurso de eliminao de serrilhado. Isso suavizar os bitmaps se o arquivo SWF no tiver animao. Especifique 0 (baixa qualidade) para impedir a eliminao de serrilhado.
Consulte tambm _quality

796

Captulo 12: Dicionrio do ActionScript

TextField.hscroll
Disponibilidade

Flash Player 6.
Uso meu_txt.hscroll Retorna

Um inteiro.
Descrio

Propriedade; indica a posio de rolagem horizontal atual. Se a propriedade hscroll for 0, o texto no ser rolado horizontalmente. Para obter mais informaes sobre texto de rolagem, consulte Criando texto de rolagem na pgina 163.
Exemplo

O exemplo a seguir rola o texto horizontalmente.


on (release) { meu_txt.hscroll += 1; } Consulte tambm TextField.maxhscroll, TextField.scroll

TextField.html
Disponibilidade

Flash Player 6.
Uso meu_txt.html Descrio

Propriedade; um sinalizador que indica se o campo de texto contm uma representao HTML. Se a propriedade html for true, o campo de texto ser HTML. Se html for false, o campo de texto ser no-HTML.
Consulte tambm TextField.htmlText

TextField.html

797

TextField.htmlText
Disponibilidade

Flash Player 6.
Uso meu_txt.htmlText Descrio

Propriedade; se o campo de texto for HTML, esta propriedade conter a representao HTML do contedo do campo de texto. Se o campo de texto no for HTML, ele se comportar da mesma maneira que a propriedade text. possvel definir um campo de texto como HTML no inspetor Properties (Propriedades) ou ao configurar a propriedade html do campo de texto como true.
Exemplo

No exemplo a seguir, o texto do campo de texto text2 est em negrito.


text2.html = true; text2.htmlText = "<b> texto em negrito </b>"; Consulte tambm TextField.html

TextField.length
Disponibilidade

Flash Player 6.
Uso meu_txt.length Retorna

Um nmero.
Descrio

Propriedade (somente de leitura); indica o nmero de caracteres em um campo de texto. Esta propriedade retorna o mesmo valor que text.length, mas mais rpida. Um caractere como tabulao (\t), por exemplo, conta como um caractere.

798

Captulo 12: Dicionrio do ActionScript

TextField.maxChars
Disponibilidade

Flash Player 6.
Uso meu_txt.maxChars Descrio

Propriedade; indica o nmero mximo de caracteres que o campo de texto pode conter. Um script pode inserir mais texto do que o permitido por maxChars; a propriedade maxChars somente indica quanto texto um usurio pode digitar. Se o valor desta propriedade for null, no haver limite para o volume de texto que um usurio pode digitar.

TextField.maxhscroll
Disponibilidade

Flash Player 6.
Uso meu_txt.maxhscroll Descrio

Propriedade (somente de leitura); indica o valor mximo de TextField.hscroll.

TextField.maxscroll
Disponibilidade

Flash Player 6.
Uso TextField.maxscroll Descrio

Propriedade (somente de leitura); indica o valor mximo de TextField.scroll. Para obter mais informaes sobre texto de rolagem, consulte Criando texto de rolagem na pgina 163.

TextField.maxscroll

799

TextField.menu
Disponibilidade Flash Player 7.
Uso meu_txt.menu = menuContexto Parmetros menuContexto Descrio

Um objeto ContextMenu.

Propriedade; associa o objeto do ContextMenu denominado menuContexto com o campo de texto meu_txt. A classe ContextMenu permite modificar o menu de contexto que aparece quando o usurio clica com o boto direito do mouse (Windows) ou com a tecla Control pressionada (Macintosh) no Flash Player. Essa propriedade funciona somente com campos de texto selecionveis (editveis); no afeta os campos de texto que no podem ser selecionados.
Exemplo

O exemplo a seguir atribui o objeto do ContextMenu menu_cm ao campo de texto news_txt. O objeto ContextMenu contm um item de menu personalizado de nome Imprimir com um manipulador de retorno de chamada associado denominado doPrint(), que executa operaes de impresso (no mostradas):
var menu_cm = new ContextMenu(); menu_cm.customItems.push(new ContextMenuItem("Imprimir...", doPrint)); function doPrint(menu, obj) { // Aqui entra o cdigo de "Imprimir" } news_txt.menu = menu_cm; Consulte tambm Button.menu, Classe ContextMenu, Classe ContextMenuItem, MovieClip.menu

800

Captulo 12: Dicionrio do ActionScript

TextField.mouseWheelEnabled
Disponibilidade

Flash Player 7.
Uso meu_txt.mouseWheelEnabled Descrio

Propriedade; um valor booleano que indica se o Flash Player deve rolar automaticamente os campos de vrias linhas quando o ponteiro do mouse estiver posicionado sobre um campo de texto e o usurio movimentar a roda do mouse. Por padro, esse valor true. Essa propriedade til para impedir que a roda do mouse faa a rolagem de campos de texto ou se voc desejar implementar sua prpria rolagem de campos de texto.
Consulte tambm Mouse.onMouseWheel

TextField.multiline
Disponibilidade

Flash Player 6.
Uso meu_txt.multiline Descrio

Propriedade; indica se o campo de texto contm vrias linhas. Se o valor for true, o campo de texto conter vrias linhas; se for false, ele ser um campo de texto de uma nica linha.

TextField._name
Disponibilidade

Flash Player 6.
Uso meu_txt._name Descrio

Propriedade; o nome da instncia do campo de texto especificado por meu_txt.

TextField._name

801

TextField.onChanged
Disponibilidade

Flash Player 6.
Uso meu_txt.onChanged = function(){ // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

O nome da instncia do campo de texto.


Descrio

Manipulador de eventos; chamado quando o contedo de um campo de texto alterado. Como padro, indefinido; possvel defini-lo em um script. Uma referncia instncia do campo de texto passada como parmetro para o manipulador onChanged. possvel capturar esses dados colocando um parmetro no mtodo manipulador de eventos. Por exemplo, o cdigo a seguir usa txt como o parmetro que passado para o manipulador de eventos onChanged. Em seguida, o parmetro usado em uma instruo trace() para enviar o nome da instncia do campo de texto para o painel Output (Sada).
meuTextField.onChanged = function (txt) { trace (txt._name + " alterado"); };

TextField.onKillFocus
Disponibilidade

Flash Player 6.
Uso meu_txt.onKillFocus = function(novoFoco){ // suas instrues entram aqui } Parmetros novoFoco Retorna

O objeto que recebe o foco.

Nada.
Descrio

Manipulador de eventos; chamado quando um campo de texto perde o foco do teclado. O mtodo onKillFocus recebe um parmetro, novoFoco, que um objeto representando o novo objeto a receber o foco. Se nenhum objeto receber o foco, novoFoco conter o valor null.

802

Captulo 12: Dicionrio do ActionScript

TextField.onScroller
Disponibilidade

Flash Player 6.
Uso meu_txt.onScroller = function(instnciaCampoTexto){ // suas instrues entram aqui } Parmetros instnciaCampoTexto

alterada.
Retorna

Uma referncia ao objeto TextField cuja posio de rolagem foi

Nada.
Descrio

Manipulador de eventos; chamado quando uma das propriedades de rolagem de campos de texto alterada. Uma referncia instncia do campo de texto passada como parmetro para o manipulador onScroller. possvel capturar esses dados colocando um parmetro no mtodo manipulador de eventos. Por exemplo, o cdigo a seguir utiliza txt como o parmetro que passado para o manipulador de eventos onScroller. Em seguida, o parmetro usado em uma instruo trace() para enviar o nome da instncia do campo de texto para o painel Output (Sada).
myTextField.onScroller = function (txt) { trace (txt._name + " rolado"); }; Consulte tambm TextField.hscroll, TextField.maxhscroll, TextField.maxscroll, TextField.scroll

TextField.onScroller

803

TextField.onSetFocus
Disponibilidade

Flash Player 6.
Uso meu_txt.onSetFocus = function(focoAnterior){ // suas instrues entram aqui } Parmetros focoAnterior Retorna

O objeto a perder o foco.

Nada.
Descrio

Manipulador de eventos; chamado quando um campo de texto recebe o foco do teclado. O parmetro focoAnterior o objeto que perde o foco. Por exemplo, se o usurio pressionar a tecla Tab para mover o foco de entrada de um boto para um campo de texto, focoAnterior conter a instncia do campo de texto. Se nenhum objeto possua o foco anteriormente, focoAnterior conter um valor null.

TextField._parent
Disponibilidade

Flash Player 6.
Uso meu_txt._parent.propriedade _parent.propriedade Descrio

Propriedade; uma referncia ao clipe de filme ou objeto que contm o campo de texto ou objeto atual. O objeto atual aquele que contm o cdigo ActionScript que faz referncia a _parent. Use _parent para especificar um caminho relativo para clipes de filme ou objetos que estiverem acima do campo de texto atual. possvel usar _parent para subir vrios nveis na lista de exibio, conforme mostrado a seguir:
_parent._parent._alpha = 20; Consulte tambm Button._parent, MovieClip._parent, _root, targetPath

804

Captulo 12: Dicionrio do ActionScript

TextField.password
Disponibilidade

Flash Player 6.
Uso meu_txt.password Descrio

Propriedade; se o valor de password for true, o campo de texto ser protegido por senha e ocultar os caracteres de entrada. Se for false, o campo de texto no ser protegido por senha.

TextField._quality
Disponibilidade

Flash Player 6.
Uso meu_txt._quality Descrio

Propriedade (global); define ou recupera a qualidade de renderizao usada para um arquivo SWF. As fontes de dispositivo so sempre serrilhadas e, por isso, no so afetadas pela propriedade _quality.
Observao: Embora voc possa especificar essa propriedade para um objeto TextField, na verdade uma propriedade global e seu valor pode ser especificado simplesmente como _quality. Para obter mais informaes, consulte _quality.

TextField.removeListener()
Disponibilidade

Flash Player 6.
Uso meu_txt.removeListener(ouvinte) Parmetros ouvinte O objeto que no TextField.onScroller. Retorna

vai mais receber notificaes de TextField.onChanged ou

Se o ouvinte for removido com xito, o mtodo retornar um valor true. Se o ouvinte no for removido com xito (por exemplo, caso o ouvinte no esteja na lista de ouvintes do objeto TextField), o mtodo retornar um valor false.
Descrio

Mtodo; remove um objeto ouvinte anteriormente registrado para uma instncia de campo de texto com TextField.addListener().

TextField.removeListener()

805

TextField.removeTextField()
Disponibilidade

Flash Player 6.
Uso meu_txt.removeTextField() Descrio

Mtodo; remove o campo de texto especificado por meu_txt. Essa operao s pode ser executada em um campo de texto que tenha sido criado com MovieClip.createTextField(). Quando voc chamar esse mtodo, o campo de texto ser removido. Esse mtodo semelhante a MovieClip.removeMovieClip().

TextField.replaceSel()
Disponibilidade

Flash Player 6.
Uso meu_txt.replaceSel(texto) Parmetros texto Retorna

Uma seqncia de caracteres.

Nada.
Descrio

Mtodo; substitui a seleo atual pelo contedo do parmetro texto. O texto inserido na posio da seleo atual, usando o formato de caracteres padro atual e o formato de pargrafo padro. O texto no tratado como HTML, mesmo que o campo de texto seja HTML. possvel usar o mtodo replaceSel() para inserir e excluir textos sem interromper a formatao de caractere e pargrafo do restante do texto. Voc deve usar Selection.setFocus() para colocar o campo em foco antes de emitir esse comando.
Consulte tambm Selection.setFocus()

806

Captulo 12: Dicionrio do ActionScript

TextField.replaceText()
Disponibilidade

Flash Player 7.
Uso meu_txt.replaceText(inciondice, fimndice, texto) Descrio

Mtodo; substitui um intervalo de caracteres, especificado pelos parmetros inciondice e fimndice, no campo de texto especificado com o contedo do parmetro texto.

TextField.restrict
Disponibilidade

Flash Player 6.
Uso meu_txt.restrict Descrio

Propriedade; indica o conjunto de caracteres que um usurio pode digitar no campo de texto. Se o valor da propriedade restrict for null, ser possvel digitar qualquer caractere. Se o valor da propriedade restrict for uma seqncia de caracteres vazia, no ser possvel digitar nenhum caractere. Se o valor da propriedade restrict for uma seqncia de caracteres, s ser possvel digitar os caracteres da seqncia no campo de texto. A seqncia de caracteres rastreada da esquerda para a direita. possvel especificar um intervalo usando o trao (-). Isso restringe apenas a interao com o usurio; um script pode colocar qualquer texto no campo de texto. Esta propriedade no sincronizada com as caixas de seleo Embed Font Outlines (Incorporar contornos de fonte) no inspetor Properties (Propriedades). Se a seqncia de caracteres comear com ^, todos os caracteres sero aceitos inicialmente e os caracteres sucessores na seqncia sero excludos do conjunto de caracteres aceitos. Se a seqncia de caracteres no comear com ^, nenhum caractere ser aceito inicialmente e os caracteres sucessores na seqncia sero includos no conjunto de caracteres aceitos.
Exemplo

O exemplo a seguir s permite que sejam digitados caracteres em maisculas, espaos e nmeros em um campo de texto:
meu_txt.restrict = "A-Z 0-9";

O exemplo a seguir inclui todos os caracteres, mas exclui letras minsculas:


meu_txt.restrict = "^a-z";

possvel usar uma barra invertida para digitar um ^ ou - literalmente. As seqncias de barra invertida aceitas so \-, \^ ou \\. A barra invertida deve ser um caractere real na seqncia de caracteres para que, quando especificada no ActionScript, seja usada uma barra invertida dupla. Por exemplo, o cdigo a seguir inclui somente o trao (-) e o circunflexo (^).
meu_txt.restrict = "\\-\\^";

TextField.restrict

807

O ^ pode ser usado em qualquer parte da seqncia de caracteres para alternar entre caracteres includos e caracteres excludos. O cdigo a seguir contm somente letras maisculas, mas exclui a letra maiscula Q.
meu_txt.restrict = "A-Z^Q";

possvel usar a seqncia de escape \u para construir seqncias de caracteres restrict. O cdigo a seguir contm somente os caracteres de ASCII 32 (espao) a ASCII 126 (til).
meu_txt.restrict = "\u0020-\u007E";

TextField._rotation
Disponibilidade

Flash Player 6.
Uso meu_txt._rotation Descrio

Propriedade; a rotao do campo de texto, em graus, a partir da orientao original. Os valores de 0 a 180 representam a rotao no sentido horrio. E os valores de 0 a -180 representam a rotao no sentido anti-horrio. Os valores fora desse intervalo so somados a 360 ou subtrados de 360 para que seja obtido um valor contido no intervalo. Por exemplo, a instruo meu_txt._rotation = 450 igual a meu_txt._rotation = 90.
Consulte tambm Button._rotation, MovieClip._rotation

TextField.scroll
Disponibilidade

Flash Player 6.
Uso meu_txt.scroll Descrio

Propriedade; define a posio vertical do texto em um campo de texto. A propriedade scroll til para direcionar os usurios para um pargrafo em especfico em um trecho longo, ou para criar campos de texto de rolagem. Essa propriedade pode ser recuperada e modificada. Para obter mais informaes sobre texto de rolagem, consulte Criando texto de rolagem na pgina 163.

808

Captulo 12: Dicionrio do ActionScript

Exemplo

O cdigo a seguir anexado a um boto Up (Para cima) que rola pelo campo de texto meu_txt.
on (release) { meu_txt.scroll = myText.scroll + 1; } Consulte tambm TextField.hscroll, TextField.maxscroll

TextField.selectable
Disponibilidade

Flash Player 6.
Uso meu_txt.selectable Descrio

Propriedade; um valor booleano que indica se o campo de texto pode ser selecionado (se editvel). O valor true indica que o texto pode ser selecionado.

TextField.selectable

809

TextField.setNewTextFormat()
Disponibilidade

Flash Player 6.
Uso meu_txt.setNewTextFormat(formatoTexto) Parmetros formatoTexto Retorna

Um objeto TextFormat.

Nada.
Descrio

Mtodo; define um objeto TextFormat para o texto recm-inserido, como o texto inserido com o mtodo replaceSel() ou o texto digitado por um usurio em um campo de texto. Cada campo de texto tem um novo formato de texto. Quando o texto inserido, o novo formato de texto atribudo ao novo texto. O formato de texto definido em um novo objeto TextFormat. Ele contm informaes de formatao de caractere e pargrafo. As informaes sobre formatao de caractere descrevem a aparncia de caracteres individuais. Por exemplo: o nome da fonte, o tamanho do ponto, a cor e o URL associada. As informaes sobre formatao de pargrafo descrevem a aparncia de um pargrafo. Por exemplo: margem esquerda, margem direita, recuo da primeira linha e alinhamento esquerdo, direito e centralizado.
Consulte tambm TextField.getNewTextFormat(), TextField.getTextFormat(), TextField.setTextFormat()

810

Captulo 12: Dicionrio do ActionScript

TextField.setTextFormat()
Disponibilidade

Flash Player 6.
Uso meu_txt.setTextFormat (formatoTexto) meu_txt.setTextFormat (ndice, formatoTexto) meu_txt.setTextFormat (inciondice, fimndice, formatoTexto) Parmetros formatoTexto

Um objeto TextFormat que contm informaes de formatao de caractere e

pargrafo.
ndice

Um inteiro que especifica um caractere em meu_txt. Um inteiro. Um inteiro que especifica o primeiro caractere aps o intervalo de texto desejado.

inciondice fimndice Retorna

Nada.
Descrio

Mtodo; define um objeto TextFormat para um intervalo especificado de texto em um campo de texto. possvel atribuir um formato de texto a cada caractere de um campo de texto. O formato de texto do primeiro caractere de um pargrafo examinado para realizar formatao de pargrafo para todo o pargrafo. O mtodo setTextFormat() altera o formato de texto aplicado a caracteres isoladamente para grupos de caracteres ou para todo o corpo de texto em um campo de texto. O formato de texto definido em um novo objeto TextFormat. Ele contm informaes de formatao de caractere e pargrafo. As informaes de formatao de caractere descrevem a aparncia dos caracteres. Por exemplo: o nome da fonte, o tamanho do ponto, a cor e o URL associado. As informaes sobre formatao de pargrafo descrevem a aparncia de um pargrafo. Por exemplo: margem esquerda, margem direita, recuo da primeira linha e alinhamento esquerdo, direito e centralizado. Uso 1: Aplica as propriedades de formatoTexto a todo o texto no campo de texto. Uso 2: Aplica as propriedades de formatoTexto ao caractere na posio ndice.
inciondice

Uso 3: Aplica as propriedades do parmetro formatoTexto ao intervalo de texto do parmetro ao parmetro fimndice.

TextField.replaceSel() no assume a formatao especificada em uma chamada setTextFormat(). Para definir a formatao padro para um objeto TextField, use TextField.setNewTextFormat().

Observe que qualquer texto inserido manualmente pelo usurio ou substitudo por meio de a

TextField.setTextFormat()

811

Exemplo

Este exemplo cria um novo objeto TextFormat chamado meuTextFormat e define sua propriedade bold como true. Em seguida, chama setTextFormat() e aplica o novo formato de texto ao campo de texto meu_txt.
meuTextFormat = new TextFormat(); meuTextFormat.bold = true; meu_txt.setTextFormat(meuTextFormat); Consulte tambm TextField.setNewTextFormat(), Classe TextFormat

TextField._soundbuftime
Disponibilidade

Flash Player 6.
Uso meu_txt._soundbuftime Descrio

Propriedade (global); um inteiro que especifica o nmero de segundos em que um som armazenado em pr-buffer antes de comear a fluir.

Classe TextField.StyleSheet
Disponibilidade

Flash Player 7.
Descrio

A classe TextField.StyleSheet permite criar um objeto de folha de estilos que contm as regras de formatao de texto como tamanho da fonte, cor e outros estilos de formatao. Em seguida, possvel aplicar os estilos definidos por uma folha de estilos a um objeto TextField que contenha texto formatado em HTML ou XML. O texto contido no objeto TextField ento formatado automaticamente de acordo com os estilos de marcas definidos pelo objeto de folha de estilos. Voc pode usar estilos de texto para definir novas marcas de formatao, redefinir marcas HTML internas ou criar classes de estilos que possam ser aplicadas a determinadas marcas HTML. Para aplicar estilos a um objeto TextField, atribua o objeto de folha de estilos a uma propriedade styleSheet do objeto TextField. Para obter mais informaes, consulte Formatando o texto com Cascading Style Sheets na pgina 147.

812

Captulo 12: Dicionrio do ActionScript

Resumo dos mtodos da classe TextField.StyleSheet


Mtodo
TextField.StyleSheet.getStyle()

Descrio Retorna uma cpia do objeto de folha de estilos associado com um nome de estilo especificado. estilos registrados no objeto de folha de estilos.

TextField.StyleSheet.getStyleNames() Retorna um array que contm os nomes de todos os

TextField.StyleSheet.load()

Inicia o carrregamento de um arquivo CSS no objeto de folha de estilos. Analisa uma seqncia de caracteres de texto CSS e cria o estilo especificado. Acrescenta um novo estilo ao objeto de folha de estilos.

TextField.StyleSheet.parseCSS()

TextField.StyleSheet.setStyle()

Resumo do manipulador de eventos da classe TextField.StyleSheet


L

Mtodo
TextField.StyleSheet.onLoad

Descrio Manipulador de retorno de chamada, chamado quando uma operao TextField.StyleSheet.load() concluda.

Construtor da classe TextField.StyleSheet


Disponibilidade

Flash Player 7.
Uso new TextField.StyleSheet() Retorna

Nada.
Descrio

Construtor; cria um objeto TextField.StyleSheet.

Classe TextField.StyleSheet

813

TextField.StyleSheet.getStyle()
Disponibilidade Flash Player 7.
Uso folhaEstilo.getStyle(nomeEstilo) Parmetros nomeEstilo Retorna

Uma seqncia de caracteres que especifica o nome do estilo a ser recuperado.

Um objeto.
Descrio

Mtodo; retorna uma cpia do objeto de estilo associado com o estilo de nome nomeEstilo. Se no houver nenhum objeto de estilo associado a nomeEstilo, ser retornado null.
Exemplo

Suponha que um objeto de folha de estilo denominado textStyles carregue um arquivo externo de folha de estilos denominado styles.css que contm um nico estilo chamado heading, que define as propriedades font-family, font-size e font-weight, como mostrado a seguir.
// Em styles.css heading { font-family: Arial; font-size: 24px; font-weight: bold; }

O cdigo a seguir carrega os estilos do arquivo CSS e, em seguida, exibe cada nome de propriedade e seu valor no painel Output (Sada).
var styleSheet = new TextField.styleSheet(); styleSheet.load("styles.css"); var sectionStyle = styleSheet.getStyle("heading"); for(property in sectionStyle) { var propName = property; var propValue = sectionStyle[property]; trace(propName + " : " + propValue); }

Seria exibido o seguinte no painel Output:


fontfamily : Arial; fontsize : 24px fontweight : bold Consulte tambm TextField.StyleSheet.setStyle()

814

Captulo 12: Dicionrio do ActionScript

TextField.StyleSheet.getStyleNames()
Disponibilidade

Flash Player 7.
Uso folhaEstilo.getStyleNames() Parmetros

Nenhum.
Retorna

Um array.
Descrio

Mtodo; retorna um array que contm os nomes (como seqncias de caracteres) de todos os estilos registrados nessa folha de estilos.
Exemplo

Este exemplo cria um objeto de folha de estilos denominado folhaEstilo que contm dois estilos, heading e bodyText. Em seguida, chama o mtodo getStyleNames() do objeto de folha de estilos, atribui os resultados ao array names_array e exibe o seu contedo no painel Output (Sada).
var folhaEstilo= new TextField.StyleSheet(); folhaEstilo.setStyle("heading", { fontsize: '24px }); folhaEstilo.setStyle("bodyText", { fontsize: '12px' }); var names_array = folhaEstilo.getStyleNames(); trace(names.join("\n"));

O seguinte exibido no painel Output:


bodyText heading Consulte tambm TextField.StyleSheet.getStyle()

TextField.StyleSheet.getStyleNames()

815

TextField.StyleSheet.load()
Disponibilidade

Flash Player 7.
Uso folhaEstilo.load(url) Parmetros url

O URL de um arquivo CSS a ser carregado. O URL deve estar no mesmo domnio que o URL onde o arquivo SWF reside no momento.

Retorna

Nada.
Descrio

Mtodo; inicia o carregamento do arquivo CSS em folhaEstilo. A operao de carregamento assncrona. Use o manipulador de retorno de chamada TextField.StyleSheet.onLoad para determinar quando o carregamento do arquivo foi concludo. O arquivo CSS deve residir exatamente no mesmo domnio que o arquivo SWF que o est carregando. Para obter mais informaes sobre restries no carregamento de dados entre domnios, consulte Recursos de segurana do Flash Player na pgina 201.
Exemplo

O exemplo a seguir carrega o arquivo CSS denominado styles.css (no exibido) no objeto de folha de estilos styleObj. Quando o arquivo for carregado com xito, o objeto de folha de estilos ser aplicado a um objeto TextField denominado news_txt.
var styleObj = new TextField.StyleSheet(); styleObj.load("styles.css"); styleObj.onLoad = function (sucesso) { if (sucesso) { news_txt.styleSheet = styleObj; } } Consulte tambm TextField.StyleSheet.onLoad

816

Captulo 12: Dicionrio do ActionScript

TextField.StyleSheet.onLoad
Disponibilidade

Flash Player 7.
Uso folhaEstilo.onLoad = function (sucesso) {} Parmetros sucesso Retorna

Um valor booleano que indica se o arquivo CSS foi carregado com xito.

Nada.
Descrio

Manipulador de retorno de chamada; chamado quando uma operao TextField.StyleSheet.load() concluda. Se a folha de estilos tiver sido carregada com xito, o parmetro sucesso ser true. Se o documento no tiver sido recebido ou se tiver ocorrido algum no recebimento da resposta do servidor, o parmetro sucesso ser false.
Exemplo

O exemplo a seguir carrega o arquivo CSS denominado styles.css (no exibido) no objeto de folha de estilos styleObj. Quando o arquivo for carregado com xito, o objeto de folha de estilos ser aplicado a um objeto TextField denominado news_txt.
var styleObj = new TextField.StyleSheet(); styleObj.load("styles.css"); styleObj.onLoad = function (sucesso) { if (sucesso) { news_txt.styleSheet = styleObj; } } Consulte tambm TextField.StyleSheet.load()

TextField.StyleSheet.onLoad

817

TextField.StyleSheet.parseCSS()
Disponibilidade

Flash Player 7.
Uso folhaEstilo.parseCSS(cssText) Parmetros cssText Retorna

O texto CSS a ser analisado (uma seqncia de caracteres).

Um valor booleano que indica se o texto foi analisado com xito (true) ou no (false).
Descrio

Mtodo; analisa o CSS em cssText e carrega a folha de estilos junto. Se j existir um estilo de cssText em folhaEstilo, as propriedades de folhaEstilo sero mantidas e somente as de cssText sero acrescentadas ou alteradas em folhaEstilo. Para estender a capacidade de anlise nativa do CSS, pode-se substituir esse mtodo criando uma subclasse da classe TextField.StyleSheet. Para obter mais informaes, consulte Criando subclasses na pgina 173.

818

Captulo 12: Dicionrio do ActionScript

TextField.StyleSheet.setStyle()
Disponibilidade

Flash Player 7.
Uso folhaEstilo.setStyle(nome, estilo) Parmetros nome

Uma seqncia de caracteres que especifica o nome do estilo a ser acrescentado folha de Um objeto que descreve o estilo, ou null.

estilos.
estilo Retorna

Nada.
Descrio

Mtodo; acrescenta um novo estilo com o nome especificado ao objeto de folha de estilos. Se o estilo especificado ainda no existir na folha de estilos, ser acrescentado. Se o estilo especificado j existir na folha de estilos, ser substitudo. Se o parmetro estilo for null, o estilo especificado ser removido. O Flash Player cria uma cpia do objeto de estilo que passado para este mtodo.
Exemplo

O cdigo a seguir acrescenta um estilo denominado enfatizado folha de estilos minhaFolhaEstilo. O estilo inclui duas propriedades de estilo: color e fontWeight. O objeto de estilo definido com o operador {}.
minhaFolhaEstilo.setStyle("enfatizado", {color:'#000000',fontWeight:'bold'});

Tambm possvel criar um objeto de estilo usando uma instncia da classe Object e, em seguida, passar esse objeto como o parmetro estilo, conforme mostra o exemplo a seguir.
var styleObj = new Object(); styleObj.color = '#000000'; styleObj.fontWeight = 'bold'; minhaFolhaEstilo.setStyle("enfatizado", styleObj); delete styleObj; Observao: A ltima linha do cdigo (delete styleObj) exclui o objeto de estilo original passado para setStyle(). Embora no seja necessria, essa etapa reduz a utilizao da memria, pois o Flash Player cria uma cpia do objeto de estilo passado para setStyle(). Consulte tambm {} (inicializador de objeto)

TextField.StyleSheet.setStyle()

819

TextField.styleSheet
Disponibilidade

Flash Player 7.
Uso meu_txt.styleSheet = TextField StyleSheet Descrio

Propriedade; anexa uma folha de estilos ao campo de texto especificado por meu_txt. Para obter informaes sobre a criao de folhas de estilos, consulte a entrada da Classe TextField.StyleSheet e Formatando o texto com Cascading Style Sheets na pgina 147.

TextField.tabEnabled
Disponibilidade

Flash Player 6.
Uso meu_txt.tabEnabled Descrio

Propriedade; especifica se meu_txt est includo na ordenao de tabulao automtica. A opo undefined utilizada por padro. Se o valor da propriedade tabEnabled for undefined ou true, o objeto ser includo na ordenao de tabulao automtica. Se a propriedade tabIndex tambm estiver definida com um valor, o objeto tambm ser includo na ordenao de tabulao personalizada. Se o valor de tabEnabled for false, o objeto no ser includo nem na ordenao de tabulao automtica nem na personalizada, ainda que a propriedade tabIndex seja definida.
Consulte tambm Button.tabEnabled, MovieClip.tabEnabled

820

Captulo 12: Dicionrio do ActionScript

TextField.tabIndex
Disponibilidade

Flash Player 6.
Uso meu_txt.tabIndex Parmetros

Nenhum.
Retorna

Nada.
Descrio

Propriedade; permite personalizar a ordenao de tabulao dos objetos de um arquivo SWF. possvel definir a propriedade tabIndex em um boto, clipe de filme ou instncia de campo de texto. Por padro, ela tem valor undefined. Se algum objeto que esteja sendo exibido no momento no arquivo SWF tiver uma propriedade a ordenao de tabulao automtica ser desativada e a ordenao de tabulao ser calculada a partir das propriedades tabIndex dos objetos do arquivo SWF. A ordenao de tabulao personalizada inclui apenas os objetos que tm propriedades tabIndex.
tabIndex,

A propriedade tabIndex deve ser um inteiro positivo. Os objetos so ordenados de acordo com suas propriedades tabIndex, em ordem ascendente. Um objeto cujo tabIndex seja 1 vem antes de um objeto com tabIndex de valor 2. Se dois objetos tiverem o mesmo valor de tabIndex, o que anteceder o outro na ordenao de tabulao ser undefined. A ordenao de tabulao personalizada definida pela propriedade tabIndex flat. Isso significa que as relaes hierrquicas de objetos so ignoradas no arquivo SWF. Todos os objetos do arquivo SWF com propriedades tabIndex so colocados na ordem de tabulao, que, por sua vez, determinada pela ordem dos valores de tabIndex. Se dois objetos tiverem o mesmo valor tabIndex, o primeiro ser undefined. Voc no deve usar o mesmo valor de tabIndex para vrios objetos.
Consulte tambm Button.tabIndex, MovieClip.tabIndex

TextField._target
Disponibilidade

Flash Player 6.
Uso meu_txt._target Descrio

Propriedade (somente de leitura); o caminho de destino da instncia do campo de texto especificada por meu_txt.

TextField._target

821

TextField.text
Disponibilidade

Flash Player 6.
Uso meu_txt.text Descrio

Propriedade; indica o texto atual no campo de texto. As linhas so separadas pelo caractere de retorno de carro ('\r', ASCII 13). Esta propriedade contm o texto normal no formatado no campo de texto, sem marcas HTML, mesmo que o campo de texto seja HTML.
Consulte tambm TextField.htmlText

TextField.textColor
Disponibilidade

Flash Player 6.
Uso meu_txt.textColor Descrio

Propriedade; indica a cor do texto em um campo de texto.

TextField.textHeight
Disponibilidade

Flash Player 6.
Uso meu_txt.textHeight Descrio

Propriedade; indica a altura do texto.

TextField.textWidth
Disponibilidade

Flash Player 6.
Uso meu_txt.textWidth Descrio

Propriedade; indica a largura do texto.

822

Captulo 12: Dicionrio do ActionScript

TextField.type
Disponibilidade

Flash Player 6.
Uso meu_txt.type Descrio

Propriedade; especifica o tipo de campo de texto. H dois valores: "dynamic", que especifica um campo de texto dinmico (no pode ser editado pelo usurio) e "input", que especifica um campo de texto de entrada.
Exemplo meu_txt.type = "dynamic";

TextField._url
Disponibilidade

Flash Player 6.
Uso meu_txt._url Descrio

Propriedade (somente de leitura); recupera o URL do arquivo SWF que criou o campo de texto.

TextField.variable
Disponibilidade

Flash Player 6.
Uso meu_txt.variable Descrio

Propriedade; o nome da varivel qual o campo de texto est associado. O tipo dessa propriedade String.

TextField.variable

823

TextField._visible
Disponibilidade

Flash Player 6.
Uso meu_txt._visible Descrio

Propriedade; um valor booleano que indica se o campo de texto meu_txt visvel. Os campos de texto que no so visveis (propriedade _visible definida como false) so desativados.
Consulte tambm Button._visible, MovieClip._visible

TextField._width
Disponibilidade

Flash Player 6.
Uso meu_txt._width Descrio

Propriedade; a largura do campo de texto, em pixels.


Exemplo

O exemplo a seguir define as propriedades de altura e largura de um campo de texto:


meu_txt._width=200; meu_txt._height=200; Consulte tambm MovieClip._height

TextField.wordWrap
Disponibilidade

Flash Player 6.
Uso meu_txt.wordWrap Descrio

Propriedade; um valor booleano que indica se o campo de texto tem quebra automtica de linha. Se o valor de wordWrap for true, o campo de texto ter quebra automtica de linha; se o valor for false, o campo de texto no ter quebra automtica de linha.

824

Captulo 12: Dicionrio do ActionScript

TextField._x
Disponibilidade

Flash Player 6.
Uso meu_txt._x Descrio

Propriedade; um inteiro que define a coordenada x de um campo de texto em relao s coordenadas locais do clipe de filme pai. Se um campo de texto estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o campo de texto estiver dentro de um clipe de filme que tenha transformaes, o campo de texto estar no sistema de coordenadas local do clipe de filme anexado. Assim, para um clipe de filme girado 90 graus no sentido anti-horrio, o campo de texto anexado herda um sistema de coordenadas que girado 90 graus no sentido anti-horrio. As coordenadas do campo de texto referem-se posio do ponto de registro.
Consulte tambm TextField._xscale, TextField._y, TextField._yscale

TextField._xmouse
Disponibilidade

Flash Player 6.
Uso meu_txt._xmouse Descrio

Propriedade (somente de leitura); retorna a coordenada x da posio do mouse em relao ao campo de texto.
Consulte tambm TextField._ymouse

TextField._xmouse

825

TextField._xscale
Disponibilidade

Flash Player 6.
Uso meu_txt._xscale Descrio

Propriedade; determina a escala horizontal do campo de texto como aplicado no ponto de registro do campo de texto, expressa como uma porcentagem. O ponto de registro padro (0,0).
Consulte tambm TextField._x, TextField._y, TextField._yscale

TextField._y
Disponibilidade

Flash Player 6.
Uso meu_txt._y Descrio

Propriedade; a coordenada y de um campo de texto relativa s coordenadas locais do clipe de filme pai. Se um campo de texto estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o campo de texto estiver dentro de outro clipe de filme que tenha transformaes, o campo de texto estar no sistema de coordenadas local do clipe de filme anexado. Assim, para um clipe de filme girado 90 graus no sentido anti-horrio, o campo de texto anexado herda um sistema de coordenadas que girado 90 graus no sentido anti-horrio. As coordenadas do campo de texto referem-se posio do ponto de registro.
Consulte tambm TextField._x, TextField._xscale, TextField._yscale

826

Captulo 12: Dicionrio do ActionScript

TextField._ymouse
Disponibilidade

Flash Player 6.
Uso meu_txt._ymouse Descrio

Propriedade (somente de leitura); indica a coordenada y da posio do mouse relativa ao campo de texto.
Consulte tambm TextField._xmouse

TextField._yscale
Disponibilidade

Flash Player 6.
Uso meu_txt._yscale Descrio

Propriedade; a escala vertical do campo de texto como aplicado no ponto de registro do campo de texto, expressa como uma porcentagem. O ponto de registro padro (0,0).
Consulte tambm TextField._x, TextField._xscale, TextField._y

Classe TextFormat
Disponibilidade

Flash Player 6.
Descrio

A classe TextFormat representa informaes de formatao de caractere. necessrio usar o construtor new TextFormat() para criar um objeto TextFormat antes de chamar seus mtodos. possvel definir parmetros TextFormat como null para indicar que eles so indefinidos. Quando um objeto TextFormat aplicado a um campo de texto por meio de TextField.setTextFormat(), apenas as propriedades definidas so aplicadas, como no seguinte exemplo:
meu_fmt = new TextFormat(); meu_fmt.bold = true; meu_txt.setTextFormat(meu_fmt);

Classe TextFormat

827

Este cdigo cria primeiro um objeto TextFormat vazio com todas as suas propriedades indefinidas; em seguida, define a propriedade bold como um valor definido. O cdigo meu_txt.setTextFormat(meu_fmt) s altera a propriedade bold do formato de texto padro do campo de texto, pois a propriedade bold a nica definida em meu_fmt. Todos os outros aspectos do formato de texto padro do campo de texto permanecem inalterados. Quando TextField.getTextFormat() chamado, um objeto TextFormat retornado com todas as propriedades definidas; nenhuma propriedade tem valor null. Resumo do mtodo da classe TextFormat
Mtodo Descrio seqncia de caracteres de texto.

TextFormat.getTextExtent() Retorna as informaes de medida de texto relativas a uma

Resumo das propriedades da classe TextFormat


Propriedade
TextFormat.align TextFormat.blockIndent TextFormat.bold TextFormat.bullet TextFormat.color TextFormat.font TextFormat.indent

Descrio Indica o alinhamento de um pargrafo. Indica o recuo de bloco, em pontos. Indica se o texto est em negrito. Indica se o texto est em uma lista com marcadores. Indica a cor do texto. Indica o nome da fonte do texto com um formato de texto. Indica o recuo da margem esquerda ao primeiro caractere no pargrafo. Indica se o texto est em itlico. Indica o espao vertical entre as linhas (denominado espaamento entre linhas). Indica a margem esquerda do pargrafo, em pontos. Indica a margem direita do pargrafo, em pontos. Indica o tamanho do ponto do texto. Especifica interrupes de tabulao personalizadas. Indica a janela em um navegador na qual um hiperlink exibido. Indica se o texto est sublinhado. Indica o URL ao qual o texto est vinculado.

TextFormat.italic TextFormat.leading

TextFormat.leftMargin TextFormat.rightMargin TextFormat.size TextFormat.tabStops TextFormat.target TextFormat.underline TextFormat.url

828

Captulo 12: Dicionrio do ActionScript

Construtor da classe TextFormat


Disponibilidade

Flash Player 6.
Uso new TextFormat([fonte, [tamanho, [cor, [negrito, [itlico, [sublinhado, [url, [destino, [alinhamento, [margem_Esquerda, [margem_Direita, [recuo, [espaamento_entre_linhas]]]]]]]]]]]]]) Parmetros fonte tamanho cor

O nome de uma fonte de texto como uma seqncia de caracteres. Um inteiro que indica o tamanho do ponto.

A cor do texto que usa esse formato de texto. Um nmero que contm trs componentes RGB de 8 bits; por exemplo, 0xFF0000 vermelho, 0x00FF00 verde. Um valor Booleano que indica se o texto est em negrito. Um valor Booleano que indica se o texto est em itlico. Um valor Booleano que indica se o texto est sublinhado.

negrito itlico

sublinhado url

O URL ao qual o texto neste formato de texto se vincula por hiperlink. Se url for uma seqncia de caracteres vazia, o texto no ter um hiperlink.

destino

A janela de destino em que o hiperlink exibido. Se a janela de destino for uma seqncia de caracteres vazia, o texto ser exibido na janela de destino padro _self. Se o parmetro url for definido como uma seqncia de caracteres vazia ou como o valor null, ser possvel obter ou definir essa propriedade, mas ela no ter nenhum efeito.

alinhamento O alinhamento do pargrafo, representado como uma seqncia de caracteres. Se for "left", o pargrafo ser alinhado esquerda. Se for "center", o pargrafo ser centralizado. Se for "right", o pargrafo ser alinhado direita. margem_Esquerda margem_Direita recuo

Indica a margem esquerda do pargrafo, em pontos. Indica a margem direita do pargrafo, em pontos. Um nmero que indica o espao vertical entre as linhas.

Um inteiro que indica o recuo da margem esquerda ao primeiro caractere no pargrafo.

espaamento_entre_linhas Retorna

Nada.
Descrio

Construtor; cria um objeto TextFormat com as propriedades especificadas. possvel alterar as propriedades do objeto TextFormat para modificar a formatao dos campos de texto. possvel definir qualquer parmetro como null para indicar que no est definido. Todos os parmetros so opcionais; qualquer parmetro omitido tratado como null.

Classe TextFormat

829

TextFormat.align
Disponibilidade

Flash Player 6.
Uso meu_fmt.align Descrio

Propriedade; indica o alinhamento do pargrafo, representado como uma seqncia de caracteres. O alinhamento do pargrafo, representado como uma seqncia de caracteres. Se for "left", o pargrafo ser alinhado esquerda. Se for "center", o pargrafo ser centralizado. Se for "right", o pargrafo ser alinhado direita. O valor padro null, o que indica que a propriedade indefinida.

TextFormat.blockIndent
Disponibilidade

Flash Player 6.
Uso meu_fmt.blockIndent Descrio

Propriedade; um nmero que indica o recuo de bloco em pontos. O recuo de bloco aplicado a um bloco de texto inteiro; ou seja, a todas as linhas do texto. Por outro lado, o recuo normal (TextFormat.indent) afeta apenas a primeira linha de cada pargrafo. Se esta propriedade for null, o objeto TextFormat no especificar um recuo de bloco.

TextFormat.bold
Disponibilidade

Flash Player 6.
Uso meu_fmt.bold Descrio

Propriedade; um valor Booleano que indica se o texto est em negrito. O valor padro null, o que indica que a propriedade indefinida.

830

Captulo 12: Dicionrio do ActionScript

TextFormat.bullet
Disponibilidade

Flash Player 6.
Uso meu_fmt.bullet Descrio

Propriedade; um valor booleano que indica que o texto parte de uma lista com marcadores. Em uma lista com marcadores, cada pargrafo de texto recuado. esquerda da primeira linha de cada pargrafo, exibido um smbolo de marcador. O valor padro null.

TextFormat.color
Disponibilidade

Flash Player 6.
Uso meu_fmt.color Descrio

Propriedade; indica a cor do texto. Um nmero que contm trs componentes RGB de 8 bits; por exemplo, 0xFF0000 vermelho, 0x00FF00 verde.

TextFormat.font
Disponibilidade

Flash Player 6.
Uso meu_fmt.font Descrio

Propriedade; o nome da fonte do texto nesse formato, como uma seqncia de caracteres. O valor padro null, o que indica que a propriedade indefinida.

TextFormat.font

831

TextFormat.getTextExtent()
Disponibilidade

Flash Player 6. O parmetro opcional width suportado no Flash Player 7.


Uso meu_fmt.getTextExtent(texto, [largura]) Parmetros texto

Uma seqncia de caracteres.

largura

Um nmero opcional que representa a largura, em pixels, na qual o texto especificado deve fazer quebra de linha.

Retorna

Um objeto com as propriedades width, height, ascent, descent, textFieldHeight, textFieldWidth.


Descrio

Mtodo; retorna as informaes de medidas do texto relativas seqncia de caracteres texto no formato especificado por meu_fmt. A seqncia de caracteres do texto tratada como texto regular (no HTML).
textFieldHeight

O mtodo retorna um objeto com seis propriedades: ascent, descent, width, height, e textFieldWidth. Todas as medidas so fornecidas em pixels.

Se um parmetro largura for especificado, o texto determinado ter quebra automtica de linha. Isso permite determinar a altura em que uma caixa de texto mostra todo o texto especificado. As medidas ascent e descent fornecem, respectivamente, a distncia acima e abaixo da linha de base para as linhas de texto. A linha de base da primeira linha de texto posicionada na origem do campo de texto mais a medida ascent. As medidas width e height fornecem a largura e a altura da seqncia de caracteres do texto. As medidas textFieldHeight e textFieldWidth fornecem a altura e a largura requeridas para que um objeto de campo de texto exiba toda a seqncia de caracteres do texto. Os campos de texto tm uma medianiz de 2 pixels de largura em torno deles, portanto o valor de textFieldHeight igual ao valor de height + 4; do mesmo modo, o valor de textFieldWidth sempre igual ao valor de width + 4. Se estiver criando um campo de texto com base nas medidas do texto, use textFieldHeight em vez de height e textFieldWidth em vez de width.

832

Captulo 12: Dicionrio do ActionScript

A figura a seguir ilustra essas medidas.

Ao configurar o objeto TextFormat, defina todos os atributos exatamente como eles sero definidos para a criao do campo de texto, incluindo o nome da fonte, o tamanho da fonte e o espaamento entre linhas. O valor padro para o espaamento entre linhas 2.
Exemplo

Este exemplo cria um campo de texto de uma s linha, com tamanho suficiente para exibir uma seqncia de caracteres de texto usando a formatao especificada.
var text = "Pequena seqncia de caracteres"; // Cria um objeto TextFormat // e aplica suas propriedades. var txt_fmt = new TextFormat(); with(txt_fmt) { font = "Arial"; bold = true; } // Obtm as informaes de medidas da seqncia de caracteres // com a formatao especificada. var metrics = txt_fmt.getTextExtent(text); // Cria um campo de texto com o tamanho suficiente para exibir o texto. this.createTextField ("textField", 0, 100, 100, metrics.textFieldWidth, metrics.textFieldHeight); textField.border = true; textField.wordWrap = true; // Atribui a mesma seqncia de caracteres e // o objeto TextFormat ao objeto TextField. textField.text = text; textField.setTextFormat(txt_fmt);

TextFormat.getTextExtent()

833

O exemplo a seguir cria um campo de texto de vrias linhas, com 100 pixels de largura, com altura suficiente para exibir uma seqncia de caracteres com a formatao especificada.
// Cria um objeto TextFormat. var txt_fmt:TextFormat= new TextFormat(); // Especifica as propriedades de formatao para o objeto TextFormat: txt_fmt.font = "Arial"; txt_fmt.bold = true; txt_fmt.leading = 4; // A seqncia de caracteres de texto a ser exibida var textToDisplay:String = "Macromedia Flash 7, agora com aprimoramento das mtricas do texto."; // Obtm as informaes de medidas da seqncia de caracteres, // com quebra automtica de linha em 100 pixels. var metrics:Object = txt_fmt.getTextExtent(textToDisplay, 100); // Cria um novo objeto TextField usando as // informaes de medidas obtidas. this.createTextField ("textField", 0, 50, 50-metrics.ascent, 100, metrics.textFieldHeight) textField.wordWrap = true; textField.border = true; // Atribui o texto e o objeto TextFormat ao: textField.text = textToDisplay; textField.setTextFormat(aformat);

TextFormat.indent
Disponibilidade

Flash Player 6.
Uso meu_fmt.indent Descrio

Propriedade; um inteiro que indica o recuo da margem esquerda ao primeiro caractere no pargrafo. O valor padro null, o que indica que a propriedade indefinida.
Consulte tambm TextFormat.blockIndent

834

Captulo 12: Dicionrio do ActionScript

TextFormat.italic
Disponibilidade

Flash Player 6.
Uso meu_fmt.italic Descrio

Propriedade; um valor booleano que indica se o texto nesse formato est em itlico. O valor padro null, o que indica que a propriedade indefinida.

TextFormat.leading
Disponibilidade

Flash Player 6.
Uso meu_fmt.leading Descrio

Propriedade; o espao vertical entre as linhas (denominado espaamento entre linhas). O valor padro null, o que indica que a propriedade indefinida.

TextFormat.leftMargin
Disponibilidade

Flash Player 6.
Uso meu_fmt.leftMargin Descrio

Propriedade; a margem esquerda do pargrafo, em pontos. O valor padro null, o que indica que a propriedade indefinida.

TextFormat.rightMargin
Disponibilidade

Flash Player 6.
Uso meu_fmt.rightMargin Descrio

Propriedade; a margem direita do pargrafo, em pontos. O valor padro null, o que indica que a propriedade indefinida.

TextFormat.rightMargin

835

TextFormat.size
Disponibilidade

Flash Player 6.
Uso meu_fmt.size Descrio

Propriedade; o tamanho do ponto do texto nesse formato. O valor padro null, o que indica que a propriedade indefinida.

TextFormat.tabStops
Disponibilidade

Flash Player 6.
Uso meu_fmt.tabStops Descrio

Propriedade; especifica pontos de tabulao personalizados como um array de inteiros no negativos. Cada ponto de tabulao especificada em pontos. Se os pontos de tabulao personalizados no forem especificados (null), o ponto de tabulao padro ser 4 (largura mdia de caractere).

TextFormat.target
Disponibilidade

Flash Player 6.
Uso meu_fmt.target Descrio

Propriedade; indica a janela de destino em que o hiperlink exibido. Se a janela de destino for uma seqncia de caracteres vazia, o texto ser exibido na janela de destino padro _self. Se o valor da propriedade TextFormat.url for uma seqncia de caracteres vazia ou null, ser possvel obter ou definir essa propriedade, mas ela no ter nenhum efeito.

836

Captulo 12: Dicionrio do ActionScript

TextFormat.underline
Disponibilidade

Flash Player 6.
Uso meu_fmt.underline Descrio

Propriedade; um valor booleano que indica se o texto que usa esse formato ser sublinhado (true) ou no (false). Esse sublinhado semelhante ao produzido pela marca <U>, mas este ltimo no um sublinhado verdadeiro, pois no ignora corretamente os caracteres descendentes. O valor padro null, o que indica que a propriedade indefinida.

TextFormat.url
Disponibilidade

Flash Player 6.
Uso meu_fmt.url Descrio

Propriedade; indica o URL ao qual o texto nesse formato est vinculado. Se a propriedade url for uma seqncia de caracteres vazia, o texto no ter um hiperlink. O valor padro null, o que indica que a propriedade indefinida.

Objeto TextSnapshot
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Descrio

Os objetos TextSnapshot permitem trabalhar com texto esttico em um clipe de filme. Voc pode us-los, por exemplo, para criar o layout do texto com mais preciso do que a obtida com texto dinmico, mas ainda assim acessar o texto como somente de leitura. Um construtor no usado para criar um objeto TextSnapshot. Ele retornado por MovieClip.getTextSnapshot().

Objeto TextSnapshot

837

Resumo dos mtodos do objeto TextSnapshot


Mtodo
TextSnapshot.findText()

Descrio Retorna a posio da primeira ocorrncia do texto especificado. Retorna o nmero de caracteres. Especifica se alguma parte do texto contido no intervalo especificado foi selecionado por TextSnapshot.setSelected(). Retorna uma seqncia de caracteres que contm todos os caracteres especificados por TextSnapshot.setSelected(). Retorna uma seqncia de caracteres que contm os caracteres contidos no intervalo especificado. encontra nas coordenadas especificadas ou prximo a elas.

TextSnapshot.getCount() TextSnapshot.getSelected()

TextSnapshot.getSelectedText()

TextSnapshot.getText()

TextSnapshot.hitTestTextNearPos() Permite determinar qual caractere contido no objeto se

TextSnapshot.setSelectColor()

Especifica a cor a ser usada para realar caracteres que foram selecionados com o comando TextSnapshot.setSelected(). Especifica um intervalo de caracteres para ser selecionado ou cuja seleo deva ser cancelada.

TextSnapshot.setSelected()

TextSnapshot.findText()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meu_snap.findText( inciondice, textoALocalizar, minsculasMaisculas ) Parmetros inciondice

Um inteiro opcional que especifica o ponto inicial em minha_str para procurar o texto especificado.

textoALocalizar Uma seqncia de caracteres que especifica o texto a ser procurado. Se voc especificar um literal de seqncia de caracteres, em vez de uma varivel do tipo String, coloque a seqncia de caracteres entre aspas. minsculasMaisculas Um valor booleano que determina se deve haver correspondncia de maisculas e minsculas entre o texto de meu_snap e a seqncia de caracteres de textoALocalizar.

838

Captulo 12: Dicionrio do ActionScript

Retorna

A posio do ndice que tem zero como base da primeira ocorrncia do texto especificado, ou -1.
Descrio

Mtodo; pesquisa o objeto TextSnapshot especificado e retorna a posio da primeira ocorrncia do textoALocalizar encontrada em inciondice ou depois. Se textoALocalizar no for encontrado, o mtodo retornar -1.
Consulte tambm TextSnapshot.getText()

TextSnapshot.getCount()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meu_snap.getCount() Parmetros

Nenhum.
Retorna

Um inteiro que representa o nmero de caracteres do objeto TextSnapshot especificado.


Descrio

Mtodo; retorna o nmero de caracteres de um objeto TextSnapshot.


Consulte tambm TextSnapshot.getText()

TextSnapshot.getCount()

839

TextSnapshot.getSelected()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meu_snap.getSelected(de, at) Parmetros de

Um inteiro que indica a posio do primeiro caractere de meu_snap a ser examinado. Os valores vlidos para de vo de 0 a TextSnapshot.getCount() - 1. Se de tiver um valor negativo, 0 ser usado.
at

Um inteiro que 1+ o ndice do ltimo caractere em meu_snap a ser examinado. Os valores vlidos de at vo de 0 a TextSnapshot.getCount(). O caractere indexado pelo parmetro para no est includo na seqncia de caracteres extrada. Se esse parmetro for omitido, TextSnapshot.getCount() ser usado. Se esse valor for menor que ou igual ao valor de de, de+1 ser usado.
Retorna

Um valor booleano true se pelo menos um caractere do intervalo especificado tiver sido selecionado pelo comando TextSnapshot.setSelected() correspondente; caso contrrio, o valor ser false.
Descrio

Mtodo; retorna um valor booleano que especifica se um objeto TextSnapshot contm texto selecionado no intervalo especificado. Para pesquisar todos os caracteres, passe valor 0 para de e passe TextSnapshot.getCount() (ou um nmero muito alto) para at. Para pesquisar um nico caractere, passe o valor de+1 para at.
Consulte tambm TextSnapshot.getSelectedText(), TextSnapshot.getText()

840

Captulo 12: Dicionrio do ActionScript

TextSnapshot.getSelectedText()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meuSnapshot.getSelectedText( [ incluirFinaisLinha ] ) Parmetros incluirFinaisLinha Um valor booleano que especifica se caracteres de nova linha (newline) so inseridos na seqncia de caracteres retornada onde apropriado. O valor padro false. Retorna

Uma seqncia de caracteres que contm todos os caracteres especificados pelo comando TextSnapshot.setSelected() correspondente.
Descrio

Mtodo; retorna uma seqncia que contm todos os caracteres especificados pelo comando TextSnapshot.setSelected() correspondente. Se nenhum caractere for selecionado, ser retornada uma seqncia de caracteres vazia. Se voc passar o valor true para incluirFinaisLinha, caracteres de nova linha (newline) sero inseridos na seqncia de caracteres retornada onde for considerado apropriado. Nesse caso, a seqncia de caracteres de retorno pode ser maior que o intervalo de entrada. Se incluirFinaisLinha tiver valor false ou for omitido, o texto selecionado ser retornado sem qualquer caractere adicionado.
Consulte tambm TextSnapshot.getSelected()

TextSnapshot.getSelectedText()

841

TextSnapshot.getText()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meuSnapshot.getText(de, at [, incluirFinaisLinha ] ) Parmetros de

Um inteiro que indica a posio do primeiro caractere de meu_snap a ser includo na seqncia retornada. Os valores vlidos para de vo de 0 a TextSnapshot.getCount() - 1. Se de tiver um valor negativo, 0 ser usado. Um inteiro que 1+ o ndice do ltimo caractere em meu_snap a ser examinado. Os valores vlidos de at vo de 0 a TextSnapshot.getCount(). O caractere indexado pelo parmetro at no est includo na seqncia de caracteres extrada. Se este parmetro for omitido, TextSnapshot.getCount() ser usado. Se esse valor for menor que ou igual ao valor de de, de+1 ser usado.
at incluirFinaisLinha Um valor booleano que especifica se caracteres de nova linha (newline) so inseridos na seqncia de caracteres retornada onde apropriado. O valor padro false.

Retorna

Uma seqncia de caracteres que contm os caracteres do intervalo especificado ou uma seqncia de caracteres vazia, caso nenhum caractere seja encontrado no intervalo especificado.
Descrio

Mtodo; retorna uma seqncia de caracteres que contm todos os caracteres especificados pelos parmetros de e at. Se nenhum caractere for selecionado, ser retornada uma seqncia de caracteres vazia. Para retornar todos os caracteres, passe o valor 0 para de e passe TextSnapshot.getCount() (ou um nmero muito alto) para at. Para retornar um nico caractere, passe o valor de+1 para at. Se voc passar o valor true para incluirFinaisLinha, caracteres de nova linha (newline) sero inseridos na seqncia de caracteres retornada onde for considerado apropriado. Nesse caso, a seqncia de caracteres de retorno pode ser maior que o intervalo de entrada. Se incluirFinaisLinha tiver valor false ou for omitido, o texto selecionado ser retornado sem qualquer caractere adicionado.
Consulte tambm TextSnapshot.getSelectedText()

842

Captulo 12: Dicionrio do ActionScript

TextSnapshot.hitTestTextNearPos()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meu_snap.hitTestTextNearPos(x, y [, distnciaMx] ) Parmetros x Um nmero meu_snap. y Um nmero meu_snap.

que representa a coordenada x do clipe de filme que contm o texto em que representa a coordenada y do clipe de filme que contm o texto em

distnciaMx Um nmero opcional que representa a distncia mxima de x, y em que possvel procurar um texto. A distncia medida a partir do ponto central de cada caractere. O valor padro 0. Retorna

Um inteiro que representa o valor de ndice do caractere em meu_snap que est mais prximo das coordenadas x, y especificadas, ou -1, caso nenhum caractere seja encontrado.
Descrio

Mtodo; permite determinar qual caractere contido em um objeto TextSnapshot se encontra nas (ou prximo s) coordenadas x, y especificadas do clipe de filme que contm o texto de meu_snap. Se voc omitir ou passe valor 0 para distnciaMx, o local especificado pelas coordenadas x, y dever estar contido na caixa delimitadora de meu_snap.
Consulte tambm MovieClip.getTextSnapshot(), MovieClip._x, MovieClip._y

TextSnapshot.hitTestTextNearPos()

843

TextSnapshot.setSelectColor()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meuSnapshot.setSelectColor(corHexadecimal); Parmetros corHexadecimal A cor usada para a borda colocada em torno dos caracteres que foram selecionados pelo comando TextSnapshot.setSelected() correspondente, expressa no formato 0xRRGGBB. Retorna

Nada.
Descrio

Mtodo; especifica a cor a ser usada ao realar os caracteres que foram selecionados com o comando TextSnapshot.setSelected(). A cor sempre opaca. No possvel especificar um valor de transparncia.

844

Captulo 12: Dicionrio do ActionScript

TextSnapshot.setSelected()
Disponibilidade

Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meuSnapshot.setSelected(de, at, selecionar) Parmetros de

Um inteiro que indica a posio do primeiro caractere de meu_snap a ser selecionado. Os valores vlidos para de vo de 0 a TextSnapshot.getCount() - 1. Se de tiver um valor negativo, 0 ser usado.
at

Um inteiro que 1+ o ndice do ltimo caractere em meu_snap a ser examinado. Os valores vlidos de at vo de 0 a TextSnapshot.getCount(). O caractere indexado pelo parmetro para no est includo na seqncia de caracteres extrada. Se esse parmetro for omitido, TextSnapshot.getCount() ser usado. Se esse valor for menor que ou igual ao valor de de, de+1 ser usado.
selecionar

Um valor booleano que especifica se o texto deve ser selecionado (true) ou se sua seleo deve ser cancelada (false).

Retorna

Nada.
Descrio

Mtodo; especifica um intervalo de caracteres em um objeto TextSnapshot para ser selecionado ou ter sua seleo cancelada. Os caracteres que esto selecionados so desenhados com um retngulo colorido atrs, coincidindo com a caixa delimitadora do caractere. A cor da caixa delimitadora definida por TextSnapshot.setSelectColor().
TextSnapshot.getCount() (ou um nmero caractere, passe o valor de+1 para at.

Para selecionar ou cancelar a seleo de todos os caracteres, passe o valor 0 para de e passe muito alto) para at. Para especificar um nico

Como os caracteres so marcados separadamente como selecionados, possvel emitir esse comando vrias vezes para selecionar diversos caracteres. Ou seja, o uso desse comando no cancela a seleo de outros caracteres que tenham sido definidos por esse comando.

TextSnapshot.setSelected()

845

this
Disponibilidade

Flash Player 5.
Uso this Descrio

Identificador; faz referncia a uma instncia de objeto ou de clipe de filme. Quando um script executado, this faz referncia instncia do clipe de filme que contm o script. Quando um mtodo chamado, this contm uma referncia ao objeto que contm o mtodo chamado. Dentro de uma ao manipuladora de eventos on anexada a um boto, this refere-se Timeline (Linha de tempo) que contm o boto. Dentro de uma ao manipuladora de eventos onClipEvent() anexada a um clipe de filme, this refere-se Timeline do prprio clipe de filme. Como this avaliado no contexto do script que o contm, no possvel usar this em um script para fazer referncia a uma varivel definida em um arquivo de classe:
// no arquivo applyThis.as class applyThis{ var str:String = "Definida em applyThis.as"; function conctStr(x:String):String{ return x+x; } function addStr():String{ return str; } } // Use o cdigo a seguir em FLA para testar o filme import applyThis; var obj:applyThis = new applyThis(); var abj:applyThis = new applyThis(); abj.str = "definida em FLA"; trace(obj.addStr.call(abj,null)); trace(obj.addStr.call(this,null)); trace(obj.addStr.call(obj,null)); // definida em FLA // indefinida // Definida em applyThis.as

846

Captulo 12: Dicionrio do ActionScript

Da mesma forma, para chamar uma funo definida em uma classe dinmica, voc deve usar this para definir o escopo da funo:
// verso incorreta de simple.as dynamic class simple{ function callfunc(){ trace(func()); } } // verso correta de simple.as dynamic class simple{ function callfunc(){ trace(this.func()); } } // instrues do arquivo FLA import simple; var obj:simple = new simple(); obj.num = 0; obj.func = function():Boolean{ return true; } obj.callfunc(); // erro de sintaxe com verso incorreta de simple.as Exemplo

No exemplo a seguir, a palavra-chave this faz referncia ao objeto Circle.


function Circle(radius) { this.radius = radius; this.area = Math.PI * radius * radius; }

Na seguinte instruo atribuda a um quadro, a palavra-chave this faz referncia ao clipe de filme atual.
// define a propriedade alpha do clipe de filme atual como 20 star._alpha = 20;

Na instruo a seguir em um manipulador onClipEvent(), a palavra-chave this faz referncia ao clipe de filme atual.
// quando o clipe de filme carregado, uma operao startDrag() // iniciada para o clipe de filme atual. onClipEvent(load){ startDrag (this, true); } Consulte tambm on(), onClipEvent()

this

847

throw
Disponibilidade

Flash Player 7.
Uso throw expresso Descrio

Instruo; gera (lana) um erro que pode ser tratado (capturado) por um bloco de cdigo catch{} ou finally{}. Se uma exceo no for capturada por um bloco catch ou finally, uma seqncia de caracteres representando o valor gerado ser enviada para o painel Output (Sada). Normalmente, so geradas instncias da classe Error ou de suas subclasses (consulte os exemplos a seguir).
Parmetros expresso Exemplo

Uma expresso ou objeto do ActionScript.

Neste exemplo, uma funo denominada checkEmail() verifica se a seqncia de caracteres passada para ela um endereo eletrnico corretamente formatado. Se a seqncia de caracteres no contiver um smbolo @, a funo gerar um erro.
function checkEmail(email:String) { if (email.indexOf("@") == -1) { throw new Error("Endereo de e-mail invlido"); } }

O cdigo a seguir chama a funo checkEmail() em um bloco de cdigo try, passando o texto de um campo de texto (email_txt) como um parmetro. Se o parmetro da seqncia de caracteres no contiver um endereo eletrnico vlido, a mensagem de erro ser exibida em um campo de texto (error_txt).
try { checkEmail("Jos da Silva); } catch (e) { error_txt.text = e.toString(); }

848

Captulo 12: Dicionrio do ActionScript

Neste exemplo, gerada uma subclasse da classe Error. A funo checkEmail() modificada para gerar uma instncia dessa subclasse. Para obter mais informaes, consulte Criando subclasses na pgina 173.
// Define InvalidEmailError como subclasse de Error // Em InvalidEmailError.as: class InvalidEmailAddress extends Error { var message = "Endereo de e-mail invlido."; } function checkEmail(email:String) { if (email.indexOf("@") == -1) { throw new InvalidEmailAddress(); } } Consulte tambm

Classe Error, try..catch..finally

toggleHighQuality()
Disponibilidade

Flash 2; substituda por _quality.


Uso toggleHighQuality() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo obsoleta; ativa e desativa a eliminao de serrilhado no Flash Player. O modo sem serrilhado suaviza as bordas dos objetos e reduz a reproduo do SWF. Essa ao afeta todos os arquivos SWF do Flash Player.
Exemplo

O cdigo a seguir pode ser aplicado a um boto que, quando o usurio clicar nele, ative e desative o modo sem serrilhado.
on (release) { toggleHighQuality(); } Consulte tambm _highquality, _quality

toggleHighQuality()

849

trace()
Disponibilidade

Flash Player 4.
Uso trace(expresso) Parmetros expresso Uma expresso a ser avaliada. Quando um arquivo SWF aberto na ferramenta de criao do Flash atravs do comando Test Movie (Testar filme), o valor do parmetro expresso exibido no painel Output (Sada). Retorna

Nada.
Descrio

Instruo; avalia a expresso e exibe os resultados no painel Output no modo de teste. Use esta ao para registrar notas de programao ou para exibir mensagens no painel Output enquanto testa um filme. Use o parmetro expresso para verificar se uma condio existe ou para exibir valores no painel Output. A ao trace() semelhante funo alert em JavaScript. Use o comando Omit Trace Actions (Omitir aes Trace) em Publish Settings (Configuraes de publicao) para remover aes trace() do arquivo SWF exportado.
Exemplo

Este exemplo de um jogo no qual uma instncia de clipe de filme arrastvel chamada meu_mc deve ser liberada em um destino especfico. Uma instruo condicional avalia a propriedade _droptarget e executa aes diversas de acordo com o local onde liberado meu_mc. A ao trace() usada no fim do script para avaliar o local do clipe de filme meu_mc e exibir o resultado no painel Output. Se meu_mc no apresentar o comportamento esperado (por exemplo, se ele se encaixar no destino incorreto), os valores enviados para o painel Output pela ao trace() ajudaro a determinar o problema no script.
on(press){ meu_mc.startDrag(); } on (release) { if(eval(_droptarget) != target) { meu_mc._x = meu_mc_xValue; meu_mc._y = meu_mc_yValue; } else { var meu_mc_xValue = meu_mc._x; var meu_mc_yValue = meu_mc._y; target = "_root.pasture"; } trace("meu_mc_xValue = " + meu_mc_xValue); trace("meu_mc_xValue = " + meu_mc_xValue); stopDrag(); }

850

Captulo 12: Dicionrio do ActionScript

true
Disponibilidade

Flash Player 5.
Uso true Descrio

Constante; um valor booleano exclusivo que representa o oposto de false.


Consulte tambm false

try..catch..finally
Disponibilidade

Flash Player 7.
Uso try { // ... bloco try ... } finally { // ... bloco finally ... } try { // ... bloco try ... } catch(erro[:TipoErro1]) { // ... bloco catch ... } [catch(erro[:TipoErroN]) { // ... bloco catch ... }] [finally { // ... bloco finally ... }] Parmetros erro

A expresso gerada por uma instruo throw, normalmente uma instncia da classe Error ou de uma de suas subclasses.

TipoErro

Um determinador opcional do tipo do identificador error. A clusula catch somente captura erros do tipo especificado.

Descrio

Palavras-chave; delimitam um bloco de cdigo no qual pode ocorrer um erro e, em seguida, respondem ao erro. Se algum cdigo no bloco try gerar um erro (usando a ao throw), o controle passar para o bloco catch, se houver um, e em seguida para o bloco finally, se houver um. O bloco finally sempre executado, independentemente de ter sido gerado um erro ou no. Mesmo que o cdigo no bloco try no gere um erro (ou seja, se o bloco try for concludo normalmente), o cdigo do bloco finally ser executado. O bloco finally ser executado mesmo que o bloco try seja encerrado por uma instruo return.

try..catch..finally

851

Um bloco try deve ser seguido por um bloco catch, um bloco finally ou ambos. Um nico bloco try pode ter vrios blocos catch, mas somente um bloco finally. possvel aninhar blocos try em quantos nveis de profundidade forem desejados. O parmetro erro especificado em um manipulador catch deve ser um identificador simples como e ou theException ou x. A varivel de um manipulador catch tambm pode ter tipo. Quando usados com diversos blocos catch, os erros que possuem tipo permitem capturar vrios tipos de erros gerados de um nico bloco try. Se a exceo gerada for um objeto, haver uma correspondncia de tipo, caso o objeto gerado seja uma subclasse do tipo especificado. Se for gerado um erro de tipo especfico, o bloco catch que manipula o erro correspondente ser executado. Se for gerada uma exceo que no seja do tipo especificado, o bloco catch no ser executado e a exceo ser automaticamente retirada do bloco try e ir para um manipulador catch correspondente. Se for gerado um erro dentro de uma funo, e a funo no incluir um manipulador catch, o interpretador do ActionScript encerrar aquela funo, bem como todas as funes de chamadas, at que um bloco catch seja localizado. Durante esse processo, os manipuladores finally so chamados em todos os nveis.
Exemplo

O exemplo a seguir mostra como criar uma instruo try..finally. Como o cdigo do bloco finally sempre executado, normalmente usado para realizar as instrues de limpeza necessrios aps a execuo de um bloco try. Neste exemplo, o bloco finally usado para excluir um objeto do ActionScript, independentemente de o erro ter ocorrido ou no.
var conta = new Account() try { var returnVal = conta.getAccountInfo(); if(returnVal != 0) { throw new Error("Erro ao obter informao do objeto 'conta'."); } } finally { // Exclui o objeto 'conta' de qualquer modo. if(conta != null) { delete account; } }

O exemplo a seguir demonstra o uso de uma instruo try..catch. O cdigo do bloco try executado. Se for gerada uma exceo por algum cdigo do bloco try, o controle passar para o bloco catch, que exibir a mensagem de erro em um campo de texto usando o mtodo Error.toString().
var conta = new Account() try { var returnVal = conta.getAccountInfo(); if(returnVal != 0) { throw new Error("Erro ao obter informao do objeto 'conta'."); } } catch (e) { status_txt.text = e.toString(); }

852

Captulo 12: Dicionrio do ActionScript

O exemplo a seguir mostra um bloco de cdigo try com vrios blocos catch com tipo. Dependendo do tipo de erro ocorrido, o bloco de cdigo try gera um tipo de objeto diferente. Neste caso, meusRegistros uma instncia de uma classe (hipottica) chamada ConjRegistros, cujo mtodo ordLinhas() pode gerar dois tipos diferentes de erros: ExceoRegistros e RegistroMalFormado. Neste exemplo, os objetos ExceoRegistros e RegistroMalFormado so subclasses da classe Error. Cada um definido em seu prprio arquivo de classe AS. Para obter mais informaes, consulte Captulo 9, Criando classes com o ActionScript 2.0, na pgina 165.
// Em class var } // Em class var } ExceoRegistros.as: ExceoRegistros extends Error { message = "Exceo no conjunto de registros." RegistroMalFormado.as: RegistroMalFormado extends Error { message = "Exceo de m formao de registro.";

No mtodo ordLinhas() da classe ConjRegistros, gera-se um desses objetos de erro predefinidos, dependendo do tipo de exceo que ocorreu. O trecho de cdigo a seguir exemplifica esse cdigo.
// No arquivo de classe ConjRegistros.as... function ordLinhas() { ... if(condioErroConjRegistros) { throw new ExceoRegistros(); } if(condioRegistroMalFormado) { throw new RegistroMalFormado(); } ... }

Finalmente, em outro arquivo AS ou script FLA, o cdigo a seguir chama o mtodo ordLinhas() em uma instncia da classe ConjRegistro. So definidos blocos catch para cada tipo de erro gerado por ordLinhas().
try { meusRegistros.ordLinhas(); } catch (e:ExceoRegistros) { trace("Capturada uma exceo do conjunto de dados"); } catch (e:RegistroMalFormado) { trace("Capturada a exceo de um registro malformado"); } Consulte tambm

Classe Error, throw, class, extends

try..catch..finally

853

typeof
Disponibilidade

Flash Player 5.
Uso typeof (expresso) Parmetros expresso Descrio

Seqncia de caracteres, clipe de filme, boto, objeto ou funo.

Operador; um operador unrio colocado antes de um nico parmetro. O operador typeof faz com que o interpretador do Flash avalie expresso; o resultado uma seqncia de caracteres que especifica se a expresso uma seqncia de caracteres, um clipe de filme, um objeto, uma funo, um nmero ou um valor booleano. A tabela a seguir mostra os resultados do operador typeof em cada tipo de expresso.
Parmetro String Movie Clip Button Text Field Number Boolean Object Function Sada
seqncia de caracteres clipe de filme objeto objeto nmero valor booleano objeto funo

854

Captulo 12: Dicionrio do ActionScript

undefined
Disponibilidade

Flash Player 5.
Uso undefined Parmetros

Nenhum.
Retorna

Nada.
Descrio

Um valor especial, geralmente usado para indicar que um valor ainda no foi atribudo a uma varivel. Uma referncia a um valor indefinido retorna o valor especial undefined. O cdigo ActionScript typeof(undefined) retorna a seqncia de caracteres "undefined". O nico valor do tipo undefined undefined. Em arquivos publicados para Flash Player 6 ou verses anteriores, o valor "" (uma seqncia de caracteres vazia). Em arquivos publicados para Flash Player 7 ou verses posteriores, o valor de undefined.toString() undefined.
undefined.toString()

O valor undefined semelhante ao valor especial null. Quando null e undefined so comparados ao operador de igualdade, eles so comparados como iguais.
Exemplo

Neste exemplo, a varivel x no foi declarada e, portanto, tem o valor undefined. Na primeira seo de cdigo, o operador de igualdade (==) compara o valor x ao valor undefined e o resultado apropriado enviado ao painel Output (Sada). Na segunda seo de cdigo, o operador de igualdade compara os valores null e undefined.
// x no foi declarado trace ("O valor de x " + x); if (x == undefined) { trace ("x undefined"); } else { trace ("x no undefined"); } trace ("typeof (x) " + typeof (x)); if (null == undefined) { trace ("null e undefined so iguais"); } else { trace ("null e undefined no so iguais"); }

O resultado a seguir exibido no painel Output.


O valor de x undefined x undefined typeof (x) undefined null e undefined so iguais

undefined

855

unescape
Disponibilidade

Flash Player 5.
Uso unescape(x) Parmetros x

Uma seqncia de caracteres com seqncias hexadecimais de escape.

Retorna

Uma seqncia de caracteres decodificada de um parmetro com codificao tipo URL.


Descrio

Funo; avalia o parmetro x como uma seqncia de caracteres, decodifica a seqncia de caracteres do formato de codificao URL (convertendo todas as seqncias hexadecimais em caracteres ASCII) e retorna a seqncia de caracteres.
Exemplo

O exemplo a seguir ilustra o processo de converso de escape em unescape.


escape("Ol{[Mundo]}");

O resultado de escape o seguinte:


("Ol%7B%5BMundo%5D%7D);

Use unescape para retornar ao formato original:


unescape("Ol%7B%5BMundo%5D%7D");

O resultado o seguinte:
Ol{[Mundo]}

856

Captulo 12: Dicionrio do ActionScript

unloadMovie()
Disponibilidade

Flash Player 3.
Uso unloadMovie(destino) Parmetros destino Retorna

O caminho de destino de um clipe de filme.

Nenhum.
Descrio

Funo; remove um clipe de filme que foi carregado por meio de loadMovie() a partir do Flash Player. Para descarregar um filme que tenha sido carregado por meio de loadMovieNum(), use unloadMovieNum() em vez de unloadMovie().
Exemplo

O exemplo a seguir descarrega o clipe de filme draggable_mc na Timeline (Linha de tempo) principal e carrega movie.swf no nvel 4.
on(press){ unloadMovie ("_root.draggable_mc"); loadMovieNum ("movie.swf", 4); }

O exemplo a seguir descarrega o filme carregado no nvel 4.


on(press){ unloadMovieNum (4); } Consulte tambm loadMovie(), MovieClipLoader.unloadClip()

unloadMovie()

857

unloadMovieNum()
Disponibilidade

Flash Player 3.
Uso unloadMovieNum(nvel) Parmetros nvel Retorna

O nvel (_levelN) de um filme carregado.

Nada.
Descrio

Funo; remove um filme que foi carregado por meio de loadMovieNum() a partir do Flash Player. Para descarregar um filme que tenha sido carregado por meio de loadMovie(), use unloadMovie() em vez de unloadMovieNum().
Consulte tambm loadMovie(), loadMovieNum(), unloadMovie()

updateAfterEvent()
Disponibilidade

Flash Player 5.
Uso updateAfterEvent() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo; atualiza a exibio (independentemente dos quadros por segundo definidos para o filme) quando chamada dentro de um manipulador onClipEvent() ou como parte de uma funo ou mtodo passado para setInterval(). O Flash ignora as chamadas a updateAfterEvent que no estejam dentro de um manipulador onClipEvent() ou que no faam parte de uma funo ou mtodo passado para setInterval().
Consulte tambm onClipEvent(), setInterval()

858

Captulo 12: Dicionrio do ActionScript

var
Disponibilidade

Flash Player 5.
Uso var nomeVarivel [= valor1] [...,nomeVarivelN [=valorN]] Parmetros nomeVarivel valor Retorna

Um identificador.

O valor atribudo varivel.

Nada.
Descrio

Instruo; usada para declarar variveis locais ou da Timeline (Linha de tempo).

Se as variveis forem declaradas dentro de uma funo, so variveis locais. Elas so definidas
para a funo e expiram no final da chamada da funo.

Se as variveis no forem declaradas em um bloco ({}), mas a lista de aes tiver sido executada
com uma ao call(), as variveis sero locais e expiraro no final da lista atual. Se as variveis no forem declaradas em um bloco e a lista de aes atual no tiver sido executada com a ao call(), as variveis sero interpretadas como variveis da Timeline. No entanto, no necessrio usar var para declarar variveis da Timeline.

No possvel declarar como varivel local uma varivel cujo escopo outro objeto:
meu_array.length = 25; // ok var meu_array.length = 25; // erro de sintaxe

Ao usar var, possvel atribuir estritamente um tipo a uma varivel; consulte Atribuio estrita de tipos de dados na pgina 41
Observao: As classes definidas em scripts externos tambm oferecem suporte a escopos de variveis pblicas, privadas e estticas. Consulte Captulo 9, Criando classes com o ActionScript 2.0, na pgina 165 e private, public e static.

var

859

Classe Video
Disponibilidade

Flash Player 6; a capacidade de reproduzir arquivos Flash Video (FLV) foi includa no Flash Player 7.
Descrio

A classe Video permite exibir fluxos de vdeo ao vivo no Stage (Palco), sem incorpor-los ao arquivo SWF. Para capturar o vdeo, use Camera.get(). Em arquivos publicados para Flash Player 7 e verses posteriores, tambm possvel usar a classe Video para reproduzir arquivos Flash Video (FLV) em HTTP ou a partir do sistema de arquivos local. Para obter mais informaes, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211, Classe NetConnection e Classe NetStream. Um objeto Video pode ser usado como um clipe de filme. Assim como ocorre com outros objetos colocados no Stage, possvel controlar vrias propriedades dos objetos Video. Por exemplo, voc pode mover o objeto Video pelo Stage usando suas propriedades _x e _y, pode mudar o tamanho usando as propriedades _height e _width e assim por diante.
Video.attachVideo()

Para exibir o fluxo do vdeo, coloque primeiramente um objeto Video no Stage. Em seguida, use para anexar o fluxo de vdeo ao objeto Video.

Para colocar um objeto Video no Stage:

1 Se o painel Library (Biblioteca) no estiver visvel, selecione Window (Janela) > Library para

exibi-lo. 2 Para incluir um objeto Video incorporado biblioteca, clique no menu Options (Opes) no lado direito do painel Library e selecione New Video (Novo vdeo). 3 Arraste o objeto Video para o Stage e use o inspetor Properties (Propriedades) para atribuir a ele um nome exclusivo de instncia como meu_vdeo. No d o nome Video. Resumo dos mtodos da classe Video
Mtodo Descrio no Stage.
Video.clear()

Video.attachVideo() Especifica um fluxo de vdeo a ser exibido dentro dos limites do objeto Video

Limpa a imagem atualmente exibida no objeto Video.

Resumo das propriedades da classe Video


Propriedade
Video.deblocking

Descrio Especifica o comportamento do filtro de desblocagem que o compactador de vdeo aplica durante o fluxo do vdeo. Somente leitura; a altura do fluxo do vdeo, em pixels. Especifica se o vdeo deve ser suavizado (interpolado) ao ser dimensionado. Somente leitura; a largura do fluxo do vdeo, em pixels.

Video.height Video.smoothing Video.width

860

Captulo 12: Dicionrio do ActionScript

Video.attachVideo()
Disponibilidade

Flash Player 6; a capacidade de trabalhar com arquivos Flash Video (FLV) foi includa no Flash Player 7.
Uso meu_vdeo.attachVideo(origem) Parmetros origem

Um objeto Camera que est capturando dados de vdeo ou um objeto NetStream. Para eliminar a conexo com o objeto Video, passe null como origem. Nada.

Retorna

Descrio

Mtodo; especifica um fluxo de vdeo (origem) a ser exibido dentro dos limites do objeto Video no Stage (Palco). O fluxo do video um arquivo FLV que est sendo exibido por meio do comando NetStream.play(), um objeto Camera ou null. Se origem for igual a null, o vdeo no ser mais reproduzido dentro do objeto Video. No ser necessrio usar esse mtodo se o arquivo FLV contiver apenas udio. A parte do udio de um arquivo FLV reproduzida automaticamente quando o comando NetStream.play() emitido. Se voc quiser controlar o udio associado a um arquivo FLV, poder usar
MovieClip.attachAudio() para rotear o udio para um clipe de filme. Em seguida, poder criar

um objeto Sound para controlar alguns aspectos do udio. Para obter mais informaes, consulte
MovieClip.attachAudio(). Exemplo

O exemplo a seguir reproduz vdeos ao vivo localmente.


minha_cm = Camera.get(); meu_vdeo.attachVideo(minha_cm); // meu_vdeo um objeto Video no Stage

O exemplo a seguir reproduz um arquivo gravado anteriormente denominado meuVdeo.flv, que est armazenado no mesmo diretrio que o arquivo SWF.
var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(meu_nc); meu_vdeo.attachVideo(ns); // meu_vdeo um objeto Video no Stage ns.play("meuVdeo.flv"); Consulte tambm

Classe Camera, Classe NetStream

Video.attachVideo()

861

Video.clear()
Disponibilidade

Flash Player 6.
Uso meu_vdeo.clear() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; limpa a imagem atualmente exibida no objeto Video. Isso til quando, por exemplo, voc deseja exibir informaes auxiliares sem precisar ocultar o objeto Video.
Consulte tambm Video.attachVideo()

Video.deblocking
Disponibilidade

Flash Player 6.
Uso meu_vdeo.deblocking meu_vdeo.deblocking = config Descrio

Propriedade; especifica o comportamento do filtro de desblocagem que o compactador de vdeo aplica durante o fluxo do vdeo. Os valores a seguir so aceitveis para config:

0 (o padro): Permitir que o compactador de vdeo aplique o filtro de desblocagem conforme


necessrio. 1: Nunca usar o filtro de desblocagem. 2: Sempre usar o filtro de desblocagem.

O filtro de desblocagem afeta o desempenho geral da reproduo e normalmente no necessrio para vdeos de alta largura de banda. Se o seu sistema no tiver recursos suficientes, voc poder ter dificuldades para reproduzir vdeos com esse filtro ativado.

862

Captulo 12: Dicionrio do ActionScript

Video.height
Disponibilidade

Flash Player 6.
Uso meu_vdeo.height Descrio

Propriedade somente de leitura; um inteiro que especifica a altura do fluxo de vdeo, em pixels. Para fluxo ao vivi, esse valor o mesmo da propriedade Camera.height do objeto Camera que est capturando o fluxo de vdeo. Para arquivos FLV, esse valor a altura do arquivo que foi exportado como FLV. Essa propriedade pode ser usada, por exemplo, para garantir que o usurio esteja vendo o vdeo no mesmo tamanho em que ele foi capturado, independentemente do tamanho real do objeto Video no Stage (palco).
Exemplo

Uso 1: O exemplo a seguir define os valores de altura e largura do objeto Video de modo que correspondam aos valores de um arquivo FLV. Voc deve chamar esse cdigo depois que NetStream.onStatus for chamado com uma propriedade code NetStream.Buffer.Full. Se o cdigo for chamado quando a propriedade code for NetStream.Play.Start, os valores de altura e largura sero 0, pois o objeto Video ainda no ter a altura e a largura do arquivo FLV carregado.
// Clipe o nome da instncia do clipe de filme // que contm o objeto Video "meu_vdeo". _root.Clipe._width = _root.Clipe.meu_vdeo.width; _root.Clipe._height = _root.Clipe.meu_vdeo.height;

Uso 2: O exemplo a seguir permite que o usurio pressione um boto para definir que a altura e a largura de um fluxo de vdeo que est sendo exibido no Flash Player sejam iguais altura e largura em que o fluxo de vdeo foi capturado.
on (release) { _root.meu_vdeo._width = _root.meu_vdeo.width _root.meu_vdeo._height = _root.meu_vdeo.height } Consulte tambm MovieClip._height, Video.width

Video.height

863

Video.smoothing
Disponibilidade

Flash Player 6.
Uso meu_vdeo.smoothing Descrio

Propriedade; um valor booleano que especifica se o vdeo deve ser suavizado (interpolado) ao ser dimensionado. Para que a suavizao funcione, o exibidor deve estar em modo de alta qualidade. O valor padro false (sem suavizao).

Video.width
Disponibilidade

Flash Player 6.
Uso meu_vdeo.width Descrio

Propriedade somente de leitura; um inteiro que especifica a largura do fluxo de vdeo, em pixels. Para fluxo ao vivi, esse valor o mesmo da propriedade Camera.width do objeto Camera que est capturando o fluxo de vdeo. Para arquivos FLV, esse valor a largura do arquivo que foi exportado como um arquivo FLV. Essa propriedade pode ser usada, por exemplo, para garantir que o usurio esteja vendo o vdeo no mesmo tamanho em que ele foi capturado, independentemente do tamanho real do objeto Video no Stage (Palco).
Exemplo

Consulte os exemplos de Video.height.

void
Disponibilidade

Flash Player 5.
Uso void (expresso) Descrio

Operador; um operador unrio que descarta o valor da expresso e retorna um valor indefinido. O operador void geralmente usado em comparaes que usem o operador == para testar os valores indefinidos.

864

Captulo 12: Dicionrio do ActionScript

while
Disponibilidade

Flash Player 4.
Uso while(condio) { instrues; } Parmetros condio instrues Retorna

A expresso que reavaliada sempre que a ao while executada. As instrues que sero executadas se a condio for avaliada como true.

Nada.
Descrio

Instruo; testa uma expresso e executa repetidamente uma instruo ou srie de instrues em um loop, enquanto a expresso for true. Antes do bloco de instrues ser executado, testa-se a condio; se o teste retornar true, o bloco de instrues ser executado. Se a condio for false, o bloco de instrues ser ignorado e a primeira instruo aps o bloco de instrues da ao while ser executado. O loop normalmente usado para executar um ao enquanto uma varivel de contador for menor do que um valor especificado. No final de cada loop, o contador incrementado at que o valor especificado seja obtido. Nesse ponto, a condio no mais true e o loop termina. A instruo while executa a srie de etapas a seguir. Cada repetio das etapas de 1 a 4 chamada de iterao do loop. A condio testada novamente no incio de cada iterao, como nas seguintes etapas:
1 A expresso condio avaliada. 2 Se condio for avaliada como true ou como um valor conversvel ao valor booleano true,

como um nmero diferente de zero, v para a etapa 3. Caso contrrio, a instruo while ser concluda e a execuo continuar na prxima instruo aps o loop while. 3 Executa o bloco de instrues instrues. 4 V para a etapa 1.
Consulte tambm do while, continue, for, for..in

while

865

with
Disponibilidade

Flash Player 5.
Uso with (objeto) { instrues; } Parmetros objeto

Uma instncia de um objeto ou clipe de filme do ActionScript. Uma ao ou grupo de aes entre chaves.

instrues Retorna

Nada.
Descrio

Instruo; permite especificar um objeto (como um clipe de filme) com o parmetro objeto e avaliar expresses e aes dentro desse objeto com o parmetro instrues. Isso evita que seja necessrio escrever repetidamente o nome do objeto ou o caminho do objeto. O parmetro objeto passa a ser o contexto em que so lidas as propriedades, variveis e funes no parmetro instrues. Por exemplo, se objeto for meu_array e duas das propriedades especificadas forem length e concat, essas propriedades sero lidas automaticamente como meu_array.length e meu_array.concat. Em outro exemplo, se objeto for estado.califrnia, qualquer instruo ou ao dentro da ao with ser chamada de dentro da instncia califrnia. Para localizar o valor de um identificador no parmetro instrues, o ActionScript inicia a busca no princpio da seqncia de escopos especificada pelo objeto e procura o identificador em cada nvel da seqncia, em uma ordem especfica. A seqncia de escopo usada pela ao with para resolver identificadores comea com o primeiro item na lista a seguir e continua at o ltimo item:

O objeto especificado no parmetro objeto na ao with mais interna. O objeto especificado no parmetro objeto na ao with mais externa. O objeto Activation. um objeto temporrio criado automaticamente quando uma funo
chamada e que mantm as variveis locais chamadas na funo.

O clipe de filme que contm o script em execuo no momento. O objeto Global (objetos internos como Math e String).
Para definir uma varivel dentro de uma ao with, a varivel deve ter sido declarada fora da ao ou ser necessrio inserir o caminho completo para a Timeline (Linha de tempo) na qual a varivel deve residir. Se for definida uma varivel em uma ao with sem ser declarada, a ao with procurar pelo valor de acordo com a seqncia de escopo. Se a varivel ainda no existir, o novo valor ser definido na Timeline a partir de que a ao with foi chamada.
with

866

Captulo 12: Dicionrio do ActionScript

No Flash 5 ou posterior, a ao with substitui a ao tellTarget obsoleta. Use de preferncia with em vez de tellTarget, pois uma extenso do ActionScript padro do padro ECMA 262. A principal diferena entre as aes with e tellTarget que with considera um clipe de filme ou outro objeto como seu parmetro, enquanto tellTarget considera uma seqncia de caracteres de caminho de destino que identifica um clipe de filme como seu parmetro e no pode ser usada para especificar objetos.
Exemplo

O exemplo a seguir define as propriedades _x e _y da instncia outro_mc e instrui outro_mc a ir para o Frame 3 (Quadro 3) parar.
with (outro_mc) { _x = 50; _y = 100; gotoAndStop(3); }

O prximo trecho de cdigo mostra como escrever o cdigo anterior sem usar uma ao with.
outro_mc._x = 50; outro_mc._y = 100; outro_mc.gotoAndStop(3);

Tambm possvel escrever esse cdigo usando a ao tellTarget. Entretanto, se outro_mc no fosse um clipe de filme, mas sim um objeto, no seria possvel usar a ao with.
tellTarget ("outro_mc") { _x = 50; _y = 100; gotoAndStop(3); }

A ao with til para fornecer acesso a vrios itens simultaneamente em uma seqncia de escopo. No exemplo a seguir, o objeto Math interno posicionado no incio da seqncia de escopo. Definir Math como um objeto padro resolve os identificadores cos, sin e PI como Math.cos, Math.sin e Math.PI, respectivamente. Os identificadores a, x, y e r no so mtodos ou propriedades do objeto Math, mas como existem no escopo de ativao do objeto da funo polar(), eles so resolvidos como as variveis locais correspondentes.
function polar(r) { var a, x, y; with (Math) { a = PI * r * r; x = r * cos(PI); y = r * sin(PI/2); } trace("area = " +a); trace("x = " + x); trace("y = " + y); }

with

867

Voc pode utilizar aes with aninhadas para ter acesso a informaes em vrios escopos. No exemplo a seguir, a instncia fresno e a instncia salinas so filhas da instncia califrnia. A instruo define os valores _alpha de fresno e salinas sem alterar o valor _alpha de califrnia.
with (califrnia){ with (fresno){ _alpha = 20; } with (salinas){ _alpha = 40; } } Consulte tambm tellTarget

Classe XML
Disponibilidade

Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio

Use os mtodos e propriedades da classe XML para carregar, analisar, enviar, montar e manipular rvores de documento XML. Voc deve usar o construtor new XML() para criar um objeto XML antes de chamar qualquer uma de suas classes. Resumo dos mtodos da classe XML
Mtodo Descrio

XML.addRequestHeader() Adiciona ou altera cabealhos HTTP de operaes POST. XML.appendChild() XML.cloneNode()

Anexa um n ao fim da lista filha do objeto especificado. Clona o n especificado e, opcionalmente, clona todos os filhos de forma recursiva. Cria um novo elemento XML. Cria um novo n de texto XML. Retorna o nmero de bytes carregados do documento XML especificado. Retorna o tamanho do documento XML, em bytes. Retornar true se o n especificado tiver ns filhos; caso contrrio, retornar false. Insere um n na frente de um n existente na lista de filhos do n especificado.

XML.createElement() XML.createTextNode() XML.getBytesLoaded()

XML.getBytesTotal() XML.hasChildNodes()

XML.insertBefore()

868

Captulo 12: Dicionrio do ActionScript

Mtodo
XML.load()

Descrio Carrega um documento (especificado pelo objeto XML) a partir de um URL. Analisa um documento XML na rvore de objeto XML especificada. Remove o n especificado de seu pai. Envia o objeto XML especificado para um URL. Envia o objeto XML especificado para um URL e carrega a resposta do servidor em outro objeto XML. Converte o n especificado e todos os seus filhos em texto XML.

XML.parseXML() XML.removeNode() XML.send() XML.sendAndLoad()

XML.toString()

Resumo das propriedades da classe XML


Propriedade
XML.contentType XML.docTypeDecl

Descrio Indica o tipo de MIME transmitido para o servidor. Define e retorna informaes sobre a declarao DOCTYPE de um documento XML. Somente leitura; faz referncia ao primeiro filho na lista do n especificado. Quando definida como true, os ns de texto que s contm espaos em branco so descartados durante o processo de anlise. Faz referncia ao ltimo filho na lista do n especificado. Somente leitura; verifica se o objeto XML especificado foi carregado. Somente leitura; faz referncia ao prximo irmo na lista de filhos do n pai. O nome do n de um objeto XML. O tipo do n especificado (elemento XML ou n de texto). O texto do n especificado se o n for um n de texto. Somente leitura; faz referncia ao n pai do n especificado. Somente leitura; faz referncia ao irmo anterior na lista de filhos do n pai. Um cdigo de status numrico que indica o xito ou a falha de uma operao de anlise de um documento XML. Especifica informaes sobre uma declarao XML do documento.

XML.firstChild

XML.ignoreWhite

XML.lastChild XML.loaded XML.nextSibling

XML.nodeName XML.nodeType XML.nodeValue XML.parentNode XML.previousSibling

XML.status

XML.xmlDecl

Classe XML

869

Resumo das colees da classe XML


Mtodo
XML.attributes

Descrio Retorna um array associativo que contm todos os atributos do n especificado. Somente leitura; retorna um array que contm referncias aos ns filhos do n especificado.

XML.childNodes

Resumo dos manipuladores de eventos da classe XML


Manipulador de eventos
XML.onData

Descrio Um manipulador de eventos que chamado quando o download de um texto XML do servidor totalmente concludo, ou quando ocorre um erro durante o download do texto XML de um servidor. Um manipulador de eventos que retorna um valor booleano indicando se o objeto XML foi carregado com xito com XML.load() ou XML.sendAndLoad().

XML.onLoad()

Construtor da classe XML


Disponibilidade

Flash Player 5.
Uso new XML([origem]) Parmetros origem Retorna

O texto XML analisado para criar o novo objeto XML.

Nada.
Descrio

Construtor; cria um novo objeto XML. Voc deve usar o construtor para criar um objeto XML antes de chamar qualquer um dos mtodos da classe XML.
Observao: Os mtodos createElement() e createTextNode() so os mtodos construtores para criar os elementos e ns de texto em uma rvore de documentos XML.

870

Captulo 12: Dicionrio do ActionScript

Exemplo

Uso 1: O exemplo a seguir cria um novo objeto XML vazio.


meu_xml = new XML();

Uso 2: O exemplo a seguir cria um novo objeto XML analisando o texto XML especificado no parmetro origem e preenche o objeto XML recm-criado com a rvore de documentos XML resultante.
outroXML = new XML("<estado>Califrnia<cidade>San Francisco</cidade></ estado>"); Consulte tambm XML.createElement(), XML.createTextNode()

XML.addRequestHeader()
Disponibilidade

Flash Player 6.
Uso xml.addRequestHeader(nomeCabealho, valorCabealho) xml.addRequestHeader(["nomeCabealho_1", "valorCabealho_1" ... "nomeCabealho_n", "valorCabealho_n"]) Parmetros nomeCabealho valorCabealho Retorna

Nome de cabealho da solicitao HTTP. Valor associado a nomeCabealho.

Nada.
Descrio

Mtodo; adiciona ou altera os cabealhos de solicitao HTTP (como Content-Type ou SOAPAction) enviados com aes POST. No primeiro uso, duas seqncias de caracteres so passadas para o mtodo: nomeCabealho e valorCabealho. No segundo uso, passa-se um array de seqncias de caracteres, que alterna nomes e valores de cabealho. Se forem feitas vrias chamadas para definir o mesmo nome de cabealho, cada valor sucessivo substituir o valor definido na chamada anterior. No possvel incluir ou alterar os seguintes cabealhos HTTP padro usando este mtodo:
Accept-Ranges, Age, Allow, Allowed, Connection, Content-Length, Content-Location, Content-Range, ETag, Host, Last-Modified, Locations, Max-Forwards, ProxyAuthenticate, Proxy-Authorization, Public, Range, Retry-After, Server, TE, Trailer, Transfer-Encoding, Upgrade, URI, Vary, Via, Warning e WWW-Authenticate.

XML.addRequestHeader()

871

Exemplo

Este exemplo adiciona a um objeto denominado meu_xml um cabealho HTTP personalizado, denominado SOAPAction, com o valor Foo.
meu_xml.addRequestHeader("SOAPAction", "'Foo'");

O seguinte exemplo cria um array denominado cabealhos, que contm dois cabealhos HTTP alternados com seus respectivos valores. O array passado como um parmetro para o mtodo addRequestHeader().
var cabealhos = ["Content-Type", "text/plain", "X-ClientAppVersion", "2.0"]; meu_xml.addRequestHeader(cabealhos); Consulte tambm

LoadVars.addRequestHeader()

XML.appendChild()
Disponibilidade

Flash Player 5.
Uso meu_xml.appendChild(nFilho) Parmetros nFilho Retorna

O n filho a ser includo na lista de filhos do objeto XML especificado.

Nada.
Descrio

Mtodo; anexa o n filho especificado lista de filhos do objeto XML. O n filho anexado ser colocado na estrutura depois de removido de seu n pai existente, se houver algum.
Exemplo

O exemplo a seguir clona o ltimo n do doc1 e o anexa ao doc2.


doc1 = new XML(src1); doc2 = new XML(); node = doc1.lastChild.cloneNode(true); doc2.appendChild(node);

872

Captulo 12: Dicionrio do ActionScript

XML.attributes
Disponibilidade

Flash Player 5.
Uso meu_xml.attributes Parmetros

Nenhum.
Retorna

Um array.
Descrio

Propriedade; um array associativo que contm todos os atributos do objeto XML especificado.
Exemplo

O exemplo a seguir grava os nomes dos atributos XML na janela Output (Sada).
str = "<mytag name=\"Val\"> intem </mytag>"; doc = new XML(str); y = doc.firstChild.attributes.name; trace (y); doc.firstChild.attributes.order = "first"; z = doc.firstChild.attributes.order trace(z);

O painel Output apresentar o seguinte:


Val first

XML.attributes

873

XML.childNodes
Disponibilidade

Flash Player 5.
Uso meu_xml.childNodes Parmetros

Nenhum.
Retorna

Um array.
Descrio

Propriedade (somente de leitura); um array dos filhos do objeto XML especificado. Cada elemento do array uma referncia a um objeto XML que representa um n filho. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos. Use XML.appendChild(), XML.insertBefore() e XML.removeNode() para manipular os ns filhos. Essa propriedade indefinida para os ns de texto (nodeType == 3).
Consulte tambm XML.nodeType

XML.cloneNode()
Disponibilidade

Flash Player 5.
Uso meu_xml.cloneNode(profundidade) Parmetros profundidade

Valor booleano que especifica se os filhos do objeto XML especificado so clonados de forma recursiva.

Retorna

Um n XML.
Descrio

Mtodo; cria e retorna um novo n XML do mesmo tipo, valor, nome e atributos do objeto XML especificado. Se o valor de profundidade for definido como true, todos os ns filhos sero clonados de forma recursiva, o que resultar em uma cpia exata da rvore de documentos do objeto original. O clone do n retornado no ser mais associado rvore do item clonado. Conseqentemente,
nextSibling, parentNode e previousSibling tero valor null. Se uma cpia de clipe no for realizada, firstChild e lastChild tambm sero null.

874

Captulo 12: Dicionrio do ActionScript

XML.contentType
Disponibilidade

Flash Player 6.
Uso meu_xml.contentType Descrio

Propriedade; o tipo MIME enviado ao servidor quando voc chama o mtodo XML.send() ou XML.sendAndLoad(). O padro application/x-www-form-urlencoded.
Consulte tambm XML.send(), XML.sendAndLoad()

XML.createElement()
Disponibilidade

Flash Player 5.
Uso meu_xml.createElement(nome) Parmetros nome Retorna

O nome da marca do elemento XML que est sendo criado.

Um elemento XML.
Descrio

Mtodo; cria um novo elemento XML com o nome especificado no parmetro. O novo elemento inicialmente no tem pai, filhos nem irmos. O mtodo retorna uma referncia ao objeto XML criado recentemente que representa o elemento. Esse mtodo e createTextNode() so os mtodos construtores para criao de ns de um objeto XML.

XML.createElement()

875

XML.createTextNode()
Disponibilidade

Flash Player 5.
Uso meu_xml.createTextNode(texto) Parmetros texto Retorna

O texto usado para criar o novo n de texto.

Nada.
Descrio

Mtodo; cria um novo n de texto XML com o texto especificado. Inicialmente, o novo n no tem pai e os ns de texto no podem ter filhos nem irmos. Esse mtodo retorna uma referncia ao objeto XML que representa o novo n de texto. Esse mtodo e o createElement() so os mtodos do construtor para criao de ns de um objeto XML.

XML.docTypeDecl
Disponibilidade

Flash Player 5.
Uso meu_xml.XMLdocTypeDecl Descrio

Propriedade; especifica informaes sobre a declarao DOCTYPE do documento XML. Aps o texto XML ter sido analisado em um objeto XML, a propriedade XML.docTypeDecl do objeto XML definida como o texto da declarao DOCTYPE do documento XML. Por exemplo, <!DOCTYPE greeting SYSTEM "Ol.dtd">. Esta propriedade definida usando uma representao de seqncia de caracteres da declarao DOCTYPE, e no de um objeto do n XML. O analisador XML do ActionScript no um analisador de validao. A declarao DOCTYPE lida pelo analisador e armazenada na propriedade docTypeDecl, mas nenhuma validao DTD executada. Se nenhuma declarao DOCTYPE for encontrada durante uma operao de anlise, XML.docTypeDecl ser definido como undefined (indefinida). XML.toString() mostra o contedo de XML.docTypeDecl imediatamente aps a declarao XML armazenada em XML.xmlDecl e antes de qualquer outro texto do objeto XML. Se XML.docTypeDecl for indefinido, nenhuma declarao DOCTYPE ser mostrada.

876

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir usa XML.docTypeDecl para definir a declarao DOCTYPE de um objeto XML.
meu_xml.docTypeDecl = "<!DOCTYPE greeting SYSTEM \"Ol.dtd\">"; Consulte tambm XML.toString(), XML.xmlDecl

XML.docTypeDecl

877

XML.firstChild
Disponibilidade

Flash Player 5.
Uso meu_xml.firstChild Descrio

Propriedade (somente de leitura); avalia o objeto XML especificado e faz referncia ao primeiro filho na lista de filhos do n pai. Essa propriedade ser null se o n no tiver filhos. Essa propriedade ser indefinida se o n for um n de texto. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos; use appendChild(), insertBefore() e removeNode() para manipular ns filhos.
Consulte tambm XML.appendChild(), XML.insertBefore(), XML.removeNode()

XML.getBytesLoaded()
Disponibilidade

Flash Player 6.
Uso XML.getBytesLoaded() Parmetros

Nenhum.
Retorna

Um inteiro que indica o nmero de bytes carregados.


Descrio

Mtodo; retorna o nmero de bytes carregados (transmitidos) do documento XML. possvel comparar o valor de getBytesLoaded() com o valor de getBytesTotal() para determinar que porcentagem de um documento XML foi carregada.
Consulte tambm XML.getBytesTotal()

878

Captulo 12: Dicionrio do ActionScript

XML.getBytesTotal()
Disponibilidade

Flash Player 6.
Uso XML.getBytesTotal() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o tamanho, em bytes, do documento XML.


Consulte tambm XML.getBytesLoaded()

XML.hasChildNodes()
Disponibilidade

Flash Player 5.
Uso meu_xml.hasChildNodes() Parmetros

Nenhum.
Retorna

Um valor booleano.
Descrio

Mtodo; retornar true se o objeto XML especificado tiver ns filhos; caso contrrio, retornar false.
Exemplo

O exemplo a seguir usa as informaes do objeto XML em uma funo definida pelo usurio.
if (rootNode.hasChildNodes()) { minhaFuno (rootNode.firstChild); }

XML.hasChildNodes()

879

XML.ignoreWhite
Disponibilidade

Flash Player 5.
Uso meu_xml.ignoreWhite = booleano XML.prototype.ignoreWhite = booleano Parmetros booleano Descrio

Um valor booleano (true ou false).

Propriedade; a configurao padro false. Quando definida como true, os ns de texto que s contm espaos em branco so descartados durante o processo de anlise. Os ns de texto com espao em branco inicial ou de rastro no so afetados. Uso 1: possvel definir a propriedade ignoreWhite para objetos XML individuais, como no cdigo a seguir:
meu_xml.ignoreWhite = true

Uso 2: possvel definir a propriedade padro ignoreWhite para objetos XML, como no cdigo a seguir:
XML.prototype.ignoreWhite = true

XML.insertBefore()
Disponibilidade

Flash Player 5.
Uso meu_xml.insertBefore(nFilho, nAnterior) Parmetros nFilho

O n a ser inserido. O n anterior ao ponto de insero de nFilho.

nAnterior Retorna

Nada.
Descrio

Mtodo; insere um novo n filho na lista de filhos do objeto XML, antes de nAnterior. Se o parmetro nAnterior for indefinido ou null, o n ser adicionado por meio de appendChild(). Se nAnterior no for um filho de meu_xml, ocorrer erro na insero.

880

Captulo 12: Dicionrio do ActionScript

XML.lastChild
Disponibilidade

Flash Player 5.
Uso meu_xml.lastChild Descrio

Propriedade (somente de leitura); avalia o objeto XML e faz referncia ao ltimo n filho na lista de filhos do n pai. Esse mtodo retornar null se o n no tiver filhos. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos; use appendChild(), insertBefore() e removeNode() para manipular ns filhos.
Consulte tambm XML.appendChild(), XML.insertBefore(), XML.removeNode()

XML.load()
Disponibilidade

Flash Player 5; comportamento modificado no Flash Player 7.


Uso meu_xml.load(url) Parmetros url O URL em que o documento XML a ser carregado est localizado. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir. Retorna

Nada.
Descrio

Mtodo; carrega um documento XML do URL especificado e substitui o contedo do objeto XML especificado pelo objeto com os dados XML descarregados. O URL relativo, sendo chamado via HTTP. O processo de carregamento assncrono; ele no termina imediatamente aps o mtodo load() ser carregado. Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com.

XML.load()

881

Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Quando load() executado, a propriedade do objeto XML loaded definida como false. Quando o download dos dados XML concludo, a propriedade loaded definida como true e o mtodo onLoad() chamado. Os dados XML so analisados somente depois de serem totalmente descarregados. Se o objeto XML continha anteriormente rvores XML, elas sero descartadas. Voc pode especificar seu prprio manipulador de eventos no lugar do mtodo onLoad().
Exemplo

A seguir mostrado um exemplo simples usando XML.load():


doc = new XML(); doc.load ("Arquivo.xml"); Consulte tambm XML.loaded, XML.onLoad()

XML.loaded
Disponibilidade

Flash Player 5.
Uso meu_xml.loaded Descrio

Propriedade (somente de leitura); determina se o processo de carregamento do documento iniciado pela chamada XML.load() foi concludo. Se o processo for concludo com xito, o mtodo retornar true; caso contrrio, retornar false.
Exemplo

O exemplo a seguir usa o XML.loaded em um script simples.


if (doc.loaded) { gotoAndPlay(4); }

882

Captulo 12: Dicionrio do ActionScript

XML.nextSibling
Disponibilidade

Flash Player 5.
Uso meu_xml.nextSibling Descrio

Propriedade (somente de leitura); avalia o objeto XML e faz referncia ao prximo irmo na lista de filhos do n pai. Esse mtodo retornar null se o n no tiver um n irmo prximo. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos. Use os mtodos appendChild(), insertBefore() e removeNode() para manipular os ns filhos.
Consulte tambm XML.appendChild(), XML.insertBefore(), XML.removeNode()

XML.nodeName
Disponibilidade

Flash Player 5.
Uso meu_xml.nodeName Descrio

Propriedade; o nome do n do objeto XML. Se o objeto XML for um elemento XML (nodeType == 1), nodeName ser o nome da marca que representa o n no arquivo XML. Por exemplo, TITLE o nodeName de uma marca TITLE em HTML. Se o objeto XML for um n de texto (nodeType == 3), o nodeName ser null.
Consulte tambm XML.nodeType

XML.nodeType
Disponibilidade

Flash Player 5.
Uso meu_xml.nodeType Descrio

Propriedade (somente de leitura); aceita ou apresenta um valor nodeType, onde 1 um elemento XML e 3 um n de texto.
Consulte tambm XML.nodeValue

XML.nodeType

883

XML.nodeValue
Disponibilidade

Flash Player 5.
Uso meu_xml.nodeValue Descrio

Propriedade; o valor do n do objeto XML. Se o objeto XML for um n de texto, nodeType ser 3 e nodeValue ser o texto do n. Se o objeto XML for um elemento XML (tipo de n 1), ser somente de leitura e ter null como nodeValue.
Consulte tambm XML.nodeType

XML.onData
Disponibilidade

Flash Player 5
Uso meu_xml.onData = function(fonte) { // suas instrues entram aqui } Parmetros fonte Retorna

Os dados brutos, geralmente em formato XML, que so enviados pelo servidor.

Nada.
Descrio

Manipulador de eventos; chamado quando o download de um texto XML foi totalmente feito do servidor, ou quando ocorre um erro ao fazer o download do texto XML de um servidor. Esse manipulador chamado antes do XML ser analisado e, portanto, pode ser usado para chamar uma rotina de anlise personalizada em vez de usar o analisador XML do Flash. O mtodo XML.onData retorna o valor undefined ou uma seqncia de caracteres que contenha texto XML cujo download tenha sido feito do servidor. Se o valor retornado tiver sido undefined, ocorreu um erro durante o download do XML do servidor. Por padro, o mtodo XML.onData chama XML.onLoad(). Voc pode substituir o mtodo XML.onData por um comportamento que tenha criado, mas XML.onLoad() no ser mais chamado, a menos que voc o chame na sua implementao de XML.onData.

884

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir mostra como o mtodo onData por padro:


XML.prototype.onData = function (fonte) { if (fonte == undefined) { this.onLoad(false); } else { this.parseXML(fonte); this.loaded = true; this.onLoad(true); } }

possvel substituir o mtodo XML.onData para interceptar o texto XML sem analis-lo.

XML.onLoad()
Disponibilidade

Flash Player 5.
Uso meu_xml.onLoad = function (sucesso) { //suas instrues entram aqui } Parmetros sucesso

Um valor booleano que indica se o objeto XML foi carregado com xito por meio de uma operao XML.load() ou XML.sendAndLoad().

Retorna

Nada.
Descrio

Manipulador de eventos; chamado pelo Flash Player quando um documento XML recebido do servidor. Se o documento XML for recebido com xito, o parmetro sucesso ser true. Se o documento no tiver sido recebido ou se tiver ocorrido algum no recebimento da resposta do servidor, o parmetro sucesso ser false. A implementao padro deste mtodo no est ativa. Para substituir a implementao padro, atribua uma funo que contm suas prprias aes.

XML.onLoad()

885

Exemplo

O exemplo a seguir cria um arquivo SWF simples para um aplicativo de comrcio eletrnico. O mtodo sendAndLoad() transmite um elemento XML que contm o nome e a senha do usurio, e instala um manipulador onLoad para lidar com a resposta do servidor.
function myOnLoad(sucesso) { if (sucesso) { if (e.firstChild.nodeName == "LOGINREPLY_xml" && e.firstChild.attributes.status == "OK") { gotoAndPlay("loggedIn") } else { gotoAndStop("loginFailed") } } else { gotoAndStop("connectionFailed") } } var meuLoginReply_xml = new XML(); meuLoginReply_xml.onLoad = myOnLoad; meu_xml.sendAndLoad("http://www.loja-exemplo.com/login.cgi", meuLoginReply_xml); Consulte tambm function, XML.load(), XML.sendAndLoad()

XML.parentNode
Disponibilidade

Flash Player 5.
Uso meu_xml.parentNode Descrio

Propriedade (somente de leitura); far referncia ao n pai do objeto XML especificado ou retornar null se o n no tiver pai. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos; use appendChild(), insertBefore() e removeNode() para manipular filhos.

886

Captulo 12: Dicionrio do ActionScript

XML.parseXML()
Disponibilidade

Flash Player 5.
Uso meu_xml.parseXML(origem) Parmetros origem Retorna

O texto XML a ser analisado e passado para o objeto XML especificado.

Nada.
Descrio

Mtodo; analisa o texto XML especificado no parmetro origem e preenche o objeto XML especificado com a rvore XML resultante. Quaisquer rvores existentes no objeto XML so descartadas.

XML.previousSibling
Disponibilidade

Flash Player 5.
Uso meu_xml.previousSibling Descrio

Propriedade (somente de leitura); retorna uma referncia do irmo anterior na lista de filhos do n pai. A propriedade ter um valor null se o n no tiver um n irmo anterior. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos. Use XML.appendChild(), XML.insertBefore() e XML.removeNode() para manipular ns filhos.

XML.previousSibling

887

XML.removeNode()
Disponibilidade

Flash Player 5.
Uso meu_xml.removeNode() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; remove o objeto XML especificado de seu pai. Todos os descendentes do n tambm so excludos.

XML.send()
Disponibilidade

Flash Player 5.
Uso meu_xml.send(url, [janela]) Parmetros url

O URL de destino do objeto XML especificado.

janela A janela do navegador que exibe dados retornados pelo servidor: _self especifica o quadro atual na janela atual, _blank especifica uma nova janela, _parent especifica o pai do quadro atual e _top especifica o quadro de alto nvel na janela atual. Este parmetro opcional; se nenhum parmetro window for especificado, ser o mesmo que especificar _self. Retorna

Nada.
Descrio

Mtodo; codifica o objeto XML especificado em um documento XML e o envia para o URL especificado usando o mtodo POST.

888

Captulo 12: Dicionrio do ActionScript

XML.sendAndLoad()
Disponibilidade

Flash Player 5; comportamento modificado no Flash Player 7.


Uso meu_xml.sendAndLoad(url,objeto_XML_destino) Parmetros url O URL de destino do objeto XML especificado. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir. objeto_XML_de_destino Um objeto XML criado com o mtodo construtor XML que receber as informaes de retorno do servidor. Retorna

Nada.
Descrio

Mtodo; codifica o objeto XML especificado em um documento XML, envia-o para o URL especificado usando o mtodo POST, faz o download da resposta do servidor e a carrega no objeto objeto_XML_de_destino especificado nos parmetros. A resposta do servidor carregada da mesma maneira usada pelo mtodo load(). Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Quando load() executado, a propriedade do objeto XML loaded definida como false. Quando o download dos dados XML concludo, a propriedade loaded definida como true e o mtodo onLoad() chamado. Os dados XML so analisados somente depois de serem totalmente descarregados. Se o objeto XML continha anteriormente rvores XML, elas sero descartadas.
Consulte tambm XML.load()

XML.sendAndLoad()

889

XML.status
Disponibilidade

Flash Player 5.
Uso meu_xml.status Descrio

Propriedade; define e retorna automaticamente um valor numrico que indica se um documento XML foi analisado com xito em um objeto XML. Os cdigos de status numrico e uma descrio de cada um deles so listados da seguinte maneira:

0 -2 -3 -4 -5 -6 -7 -8 -9 -10

Sem erro; a anlise foi concluda com xito. Uma seo CDATA no foi terminada adequadamente. A declarao XML no foi terminada adequadamente. A declarao DOCTYPE no foi terminada adequadamente. Um comentrio no foi terminado adequadamente. Um elemento XML foi mal formado. Sem memria. Um valor de atributo no foi terminado adequadamente. Uma marca de incio no correspondeu a uma marca de fim. Foi encontrada uma marca de fim sem uma marca de incio correspondente.

890

Captulo 12: Dicionrio do ActionScript

XML.toString()
Disponibilidade

Flash Player 5.
Uso meu_xml.toString() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; avalia o objeto XML especificado, constri uma representao textual da estrutura XML incluindo n, filhos e atributos, e retorna o resultado como uma seqncia de caracteres. No caso de objetos XML de alto nvel (os criados com o construtor), XML.toString() gera a declarao XML do documento (armazenada em XML.xmlDecl), seguida da declarao DOCTYPE do documento (armazenada em XML.docTypeDecl), seguida da representao textual de todos os ns XML no objeto. A declarao XML no ser mostrada se XML.xmlDecl for indefinido. A declarao DOCTYPE no ser mostrada se XML.docTypeDecl for indefinido.
Exemplo

O cdigo a seguir um exemplo de XML.toString() que envia <h1>teste</h1> ao painel Output (Sada).
node = new XML("<h1>teste</h1>"); trace(node.toString()); Consulte tambm XML.docTypeDecl, XML.xmlDecl

XML.toString()

891

XML.xmlDecl
Disponibilidade

Flash Player 5.
Uso meu_xml.xmlDecl Descrio

Propriedade; especifica informaes sobre uma declarao XML do documento. Depois de o documento XML ser analisado em um objeto XML, essa propriedade definida como o texto da declarao XML do documento. Essa propriedade definida usando uma representao de seqncia de caracteres da declarao XML, no de um objeto do n XML. Se nenhuma declarao XML foi encontrada durante a operao de anlise, a propriedade definida como undefined.XML. O mtodo toString() apresenta o contedo de XML.xmlDecl antes de qualquer outro texto no objeto XML. Se XML.xmlDecl contiver o tipo undefined, nenhuma declarao XML ser mostrada.
Exemplo

O exemplo a seguir usa XML.xmlDecl para definir a declarao do documento XML de um objeto XML.
meu_xml.xmlDecl = "<?xml version=\"1.0\" ?>";

A seguir, um exemplo de declarao XML:


<?xml version="1.0" ?> Consulte tambm XML.docTypeDecl, XML.toString()

892

Captulo 12: Dicionrio do ActionScript

Classe XMLNode
Disponibilidade

Flash Player 5.
Descrio

A classe XMLnode suporta as propriedades, os mtodos e as colees a seguir; para obter informaes sobre o seu uso, consulte as entradas das classes XML correspondentes.
Propriedade, mtodo ou coleo
appendChild() attributes childNodes cloneNode() firstChild hasChildNodes() insertBefore() lastChild nextSibling nodeName nodeType nodeValue parentNode previousSibling removeNode() toString()

Entrada da classe XML correspondente


XML.appendChild() XML.attributes XML.childNodes XML.cloneNode() XML.firstChild XML.hasChildNodes() XML.insertBefore() XML.lastChild XML.nextSibling XML.nodeName XML.nodeType XML.nodeValue XML.parentNode XML.previousSibling XML.removeNode() XML.toString()

Consulte tambm

Classe XML

Classe XMLNode

893

Classe XMLSocket
Disponibilidade

Flash Player 5.
Descrio

A classe XMLSocket implementa soquetes do cliente que permitem que o computador que est executando o Flash Player se comunique com um computador servidor identificado por um endereo IP ou nome de domnio. A classe XMLSocket til para aplicativos cliente-servidor que requerem uma latncia baixa, como sistemas de bate-papo em tempo real. Uma soluo de bate-papo baseada em HTTP pesquisa o servidor freqentemente e descarrega novas mensagens usando uma solicitao HTTP. Comparando, uma soluo de bate-papo XMLSocket mantm uma conexo aberta com o servidor, o que permite que o servidor envie mensagens de chegada imediatamente sem uma solicitao do cliente. Para usar a classe XMLSocket, o computador servidor deve executar um daemon que compreenda o protocolo usado pelo objeto XMLSocket. O protocolo o seguinte:

Mensagens XML so enviadas atravs de uma conexo de soquetes de fluxo TCP/IP


full-duplex.

Cada mensagem XML um documento XML completo, terminado por um byte zero. Um nmero ilimitado de mensagens XML pode ser enviado e recebido por uma conexo
XMLSocket. As restries a seguir aplicam-se a como e onde um objeto XMLSocket pode se conectar ao servidor:

O mtodo XMLSocket.connect() s pode se conectar a nmeros de porta TCP maiores ou


iguais a 1024. Uma conseqncia dessa restrio que os daemons do servidor que se comunicam com o objeto XMLSocket tambm devem ser atribudos a nmeros de porta maiores ou iguais a 1024. Os nmeros de porta abaixo de 1024 geralmente so usados pelos servios de sistema como FTP, Telnet e HTTP. Dessa forma, os objetos XMLSocket so impedidos de usar essas portas por motivos de segurana. A restrio do nmero de porta limita a possibilidade de um acesso no adequado a esses recursos e que deles se abuse. O mtodo XMLSocket.connect() pode se conectar somente a computadores no mesmo domnio onde o arquivo SWF reside. Essa restrio no se aplica aos arquivos SWF que estejam sendo executados fora de um disco local. Essa restrio idntica s regras de segurana de loadVariables(), XML.sendAndLoad() e XML.load(). Para se conectar a um daemon de servidor executado em um domnio diferente daquele onde reside o SWF, possvel criar um arquivo de diretivas de segurana no servidor que autoriza o acesso de determinados domnios. Para obter mais informaes sobre a criao de arquivos de diretivas para conexes XMLSocket, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.

Configurar um servidor para se comunicar com o objeto XMLSocket pode ser difcil. Se o seu aplicativo no exigir interatividade em tempo real, use a ao loadVariables() ou a conectividade do servidor XML baseada em HTTP do Flash (XML.load(), XML.sendAndLoad(), XML.send()) em vez do objeto XMLSocket. Para usar os mtodos da classe XMLSocket, use o construtor new XMLSocket para criar um novo objeto XMLSocket.

894

Captulo 12: Dicionrio do ActionScript

Resumo dos mtodos da classe XMLSocket


Mtodo
XMLSocket.close() XMLSocket.connect() XMLSocket.send()

Descrio Fecha uma conexo de soquete aberta. Estabelece uma conexo com o servidor especificado. Envia um objeto XML para o servidor.

Resumo dos manipuladores de eventos da classe XMLSocket


Manipulador de eventos
XMLSocket.onClose()

Descrio Um manipulador de eventos que chamado quando uma conexo XMLSocket fechada.

XMLSocket.onConnect() Um manipulador de eventos que chamado pelo Flash Player quando uma solicitao de conexo iniciada por meio de XMLSocket.connect()

obtm xito ou falha.


XMLSocket.onData()

Um manipulador de eventos que chamado aps o download de uma mensagem XML do servidor. Um manipulador de eventos que chamado aps a chegada de um objeto XML do servidor.

XMLSocket.onXML()

Construtor da classe XMLSocket


Disponibilidade

Flash Player 5.
Uso new XMLSocket() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Construtor; cria um novo objeto XMLSocket. O objeto XMLSocket no conectado inicialmente com qualquer servidor. Chame XMLSocket.connect() para conectar o objeto a um servidor.

Classe XMLSocket

895

XMLSocket.close()
Disponibilidade

Flash Player 5.
Uso meuXMLSocket.close() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; fecha a conexo especificada pelo objeto XMLSocket.


Consulte tambm XMLSocket.connect()

XMLSocket.connect()
Disponibilidade

Flash Player 5; comportamento modificado no Flash Player 7.


Uso meuXMLSocket.connect(host, porta) Parmetros host

Um nome de domnio DNS totalmente qualificado ou um endereo IP no formato aaa.bbb.ccc.ddd. Voc tambm pode especificar null para se conectar ao servidor host no qual o arquivo SWF reside. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir.

porta O nmero da porta TCP no host usado para estabelecer uma conexo. O nmero da porta deve ser 1024 ou superior. Retorna

Um valor booleano.
Descrio

Mtodo; estabelece uma conexo com o host de Internet especificado usando a porta TCP especificada (deve ser 1024 ou superior), e retorna true ou false dependendo do xito da conexo. Se voc no souber o nmero da porta de sua mquina host de Internet, entre em contato com o administrador da rede.

896

Captulo 12: Dicionrio do ActionScript

Se null for especificado para o parmetro host, o host contactado ser aquele em que reside o arquivo SWF que chama XMLSocket.connect(). Por exemplo, se o download do SWF tiver sido feito a partir de http://www.seu_site.com, especificar null para o parmetro host o mesmo que digitar o endereo IP de www.seu_site.com. Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis somente de arquivos SWF que tambm estejam localizados em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo acessado (esse arquivos deve ser colocado no servidor HTTP executado na porta 80, no mesmo domnio que o servidor de soquete). Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Quando load() executado, a propriedade do objeto XML loaded definida como false. Quando o download dos dados XML concludo, a propriedade loaded definida como true e o mtodo onLoad() chamado. Os dados XML so analisados somente depois de serem totalmente descarregados. Se o objeto XML continha anteriormente rvores XML, elas sero descartadas. Se XMLSocket.connect() retornou um valor true, o palco inicial do processo da conexo obteve xito; mais tarde, o mtodo XMLSocket.onConnect ser chamado para determinar se a conexo final obteve xito ou falhou. Se XMLSocket.connect() retornar false, a conexo no poder ser estabelecida.
Exemplo

O exemplo a seguir usa XMLSocket.connect() para estabelecer conexo com o host em que o arquivo SWF reside, e usa trace para exibir o valor de retorno que indica o xito ou a falha da conexo.
function myOnConnect(sucesso) { if (sucesso) { trace ("Sucesso na conexo!") } else { trace ("Falha na conexo!") } } socket = new XMLSocket() socket.onConnect = myOnConnect if (!socket.connect(null, 2000)) { trace ("Falha na conexo!") } Consulte tambm function, XMLSocket.onConnect()

XMLSocket.connect()

897

XMLSocket.onClose()
Disponibilidade

Flash Player 5.
Uso meuXMLSocket.onClose() = function() { // suas instrues entram aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado somente quando uma conexo aberta fechada pelo servidor. A implementao padro desse mtodo no executa aes. Para substituir a implementao padro, atribua uma funo que contm suas prprias aes.
Consulte tambm function, XMLSocket.onConnect()

XMLSocket.onConnect()
Disponibilidade

Flash Player 5.
Uso meuXMLSocket.onConnect(sucesso) // suas instrues entram aqui } Parmetros sucesso Um valor (true ou false). Retorna

booleano que indica se uma conexo de soquete foi estabelecida com xito

Nada.
Descrio

Manipulador de eventos; chamado pelo Flash Player quando uma solicitao de conexo iniciada por meio de XMLSocket.connect() obtm xito ou falha. Se a conexo obteve xito, o parmetro sucesso true. Caso contrrio, o valor de sucesso false. A implementao padro desse mtodo no executa aes. Para substituir a implementao padro, atribua uma funo que contm suas prprias aes.

898

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir ilustra o processo de especificao de uma funo de substituio do mtodo onConnect em uma aplicao de bate-papo simples. A funo controla para qual tela os usurios so conduzidos, dependendo do xito da conexo estabelecida. Se a conexo tiver sido estabelecida com xito, os usurios sero conduzidos para a tela de bate-papo principal no quadro chamado startChat. Se a conexo no tiver tido xito, os usurios iro para uma tela com as informaes de soluo de problemas, no quadro rotulado connectionFailed.
function myOnConnect(sucesso) { if (sucesso) { gotoAndPlay("startChat") } else { gotoAndStop("connectionFailed") } }

Depois de criar o objeto XMLSocket usando o mtodo construtor, o script instala no mtodo onConnect usando o operador de atribuio:
socket = new XMLSocket(); socket.onConnect = myOnConnect;

Finalmente, a conexo iniciada. Se connect() retornar false, o arquivo SWF ser enviado diretamente para o quadro denominado connectionFailed, e onConnect nunca ser chamado. Se connect() retornar true, o arquivo SWF saltar para um quadro denominado waitForConnection, que a tela Please wait (Aguarde). O arquivo SWF permanece no quadro waitForConnection at que o manipulador onConnect seja chamado, o que acontece em algum momento no futuro dependendo da latncia da rede.
if (!socket.connect(null, 2000)) { gotoAndStop("connectionFailed") } else { gotoAndStop("waitForConnection") } Consulte tambm function, XMLSocket.connect()

XMLSocket.onConnect()

899

XMLSocket.onData()
Disponibilidade

Flash Player 5.
Uso XMLSocket.onData = function(fonte) { // suas instrues entram aqui } Parmetros fonte Retorna

Uma seqncia de caracteres que contm os dados enviados pelo servidor.

Nada.
Descrio

Manipulador de eventos; chamado aps o download de uma mensagem do servidor, terminada por um byte zero. possvel substituir XMLSocket.onData para interceptar os dados enviados pelo servidor sem analis-los como XML. Isso til se voc estiver transmitindo pacotes de dados arbitrariamente formatados e preferir manipular os dados diretamente quando chegam, em vez de deixar o Flash Player analis-los como XML. Por padro, o mtodo XMLSocket.onData chama o mtodo XMLSocket.onXML. Se voc substituir XMLSocket.onData por seu prprio comportamento, XMLSocket.onXML no ser mais chamado, a menos que seja na sua implementao de XMLSocket.onData.
XMLSocket.prototype.onData = function (fonte) { this.onXML(new XML(fonte)); }

No exemplo acima, o parmetro fonte uma seqncia de caracteres que contm texto XML cujo download foi feito do servidor. O byte zero de trmino no includo na seqncia de caracteres.

900

Captulo 12: Dicionrio do ActionScript

XMLSocket.onXML()
Disponibilidade

Flash Player 5.
Uso meuXMLSocket.onXML(objeto) = function() { // suas instrues entram aqui } Parmetro objeto Retorna

Um objeto XML que contm um documento XML analisado recebido de um servidor.

Nada.
Descrio

Manipulador de eventos; chamado pelo Flash Player quando o objeto XML especificado que contm um documento XML chega por uma conexo XMLSocket aberta. Uma conexo XMLSocket pode ser usada para transferir um nmero ilimitado de documentos XML entre o cliente e o servidor. Cada documento terminado com um byte 0 (zero). Quando o Flash Player recebe o byte 0, ele analisa todo o XML recebido desde o byte 0 anterior ou desde que a conexo foi estabelecida, caso essa seja a primeira mensagem recebida. Cada lote de XML analisado tratado como um nico documento XML e passado para o mtodo onXML. A implementao padro desse mtodo no executa aes. Para substituir a implementao padro, atribua uma funo que contm aes definidas por voc.
Exemplo

A funo a seguir substitui a implementao padro do mtodo onXML em um aplicativo de bate-papo simples. A funo myOnXML instrui o aplicativo de bate-papo a reconhecer um nico elemento XML, MESSAGE, no seguinte formato:
<MESSAGE USER="Jos" TEXT="Ol, meu nome Jos!" />.

O manipulador onXML deve primeiro ser instalado no objeto XMLSocket da seguinte forma:
socket.onXML = myOnXML;

A funo displayMessage() subentendida como uma funo definida pelo usurio que exibe a mensagem recebida pelo usurio.
function myOnXML(doc) { var e = doc.firstChild; if (e != null && e.nodeName == "MESSAGE") { displayMessage(e.attributes.user, e.attributes.text); } } Consulte tambm function

XMLSocket.onXML()

901

XMLSocket.send()
Disponibilidade

Flash Player 5.
Uso meuXMLSocket.send(objeto) Parmetros objeto Retorna

Um objeto XML ou outros dados a serem transmitidos para o servidor.

Nada.
Descrio

Mtodo; converte o objeto XML ou os dados especificados no parmetro objeto em uma seqncia de caracteres e a transmite para o servidor, seguida de um byte zero. Se objeto for um objeto XML, a seqncia de caracteres ser a representao textual XML do objeto XML. A operao de envio assncrona; ela retorna imediatamente, mas os dados podem ser transmitidos posteriormente. O mtodo XMLSocket.send() no retorna nenhum valor que indique se os dados foram transmitidos com xito. Se o objeto meuXMLSocket no for conectado com o servidor (por meio de XMLSocket.connect()), a operao XMLSocket.send() falhar.
Exemplo

O exemplo a seguir ilustra como possvel especificar um nome e uma senha de usurio para enviar o objeto XML meu_xml para o servidor:
var meu_xml = new XML(); var meuLogin = meu_xml.createElement("login"); meuLogin.attributes.username = usernameTextField; meuLogin.attributes.password = passwordTextField; meu_xml.appendChild(meuLogin); meuXMLSocket.send(meu_xml); Consulte tambm XMLSocket.connect()

902

Captulo 12: Dicionrio do ActionScript

APNDICE A Mensagens de erro

O Macromedia Flash MX 2004 e o Macromedia Flash MX Professional 2004 fornecem relatrios avanados de erros durante a compilao quando voc especifica ActionScript 2.0 (o padro) ao publicar um arquivo. A tabela a seguir contm uma lista das mensagens de erro que podem ser geradas pelo compilador do Flash.
Nmero do erro 1093 1094 1095 1096 1097 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 Texto da mensagem Era esperado um nome de classe. esperado um nome de classe base aps a palavra-chave extends. Um atributo de membro foi usado de modo incorreto. No possvel repetir o nome de membro mais de uma vez. Todas as funes de membros devem ter nomes. Essa instruo no permitida na definio de classe. J foi definida uma classe ou interface com esse nome. Tipos incompatveis. No existe uma classe com o nome <NomeDaClasse>. No existe uma propriedade com o nome <nomeDaPropriedade>. Tentativa de uma chamada de funo em uma no-funo. Tipos incompatveis em uma instruo de atribuio: encontrado [lhs-type] onde [rhs-type] requerido. O membro privado e no pode ser acessado. No so permitidas declaraes de variveis em interfaces. No so permitidas declaraes de eventos em interfaces. No so permitidas declaraes getter/setter (apanhadoras/definidoras) em interfaces. No so permitidos membros privados em interfaces. No so permitidos corpos de funes em interfaces.

903

Nmero do erro 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141

Texto da mensagem Uma classe no pode estender a si mesma. Uma interface no pode estender a si mesma. No h interfaces definidas com esse nome. Uma classe no pode estender uma interface. Uma interface no pode estender uma classe. esperado um nome de interface aps a palavra-chave implements. Uma classe no pode implementar outra classe, somente interfaces. A classe deve implementar o mtodo nomeDoMtodo a partir da interface nomeDaInterface. A implementao de um mtodo de interface deve ser um mtodo e no uma propriedade. Uma classe no pode estender a mesma interface mais de uma vez. A implementao do mtodo de interface no corresponde sua definio. Esta construo s est disponvel no ActionScript 1.0. Esta construo s est disponvel no ActionScript 2.0. No so permitidos membros estticos em interfaces. A expresso retornada deve corresponder ao tipo de retorno da funo. Esta funo requer uma instruo return. Atributo usado fora da classe. Uma funo com tipo de retorno Void no pode retornar um valor. A clusula extends deve vir antes da clusula implements. esperado um identificador de tipo aps :. As interfaces devem usar a palavra-chave extends, e no implements. Uma classe no pode estender mais do que uma classe. Uma interface no pode estender mais do que uma interface. No existe um mtodo com o nome <nomeDoMtodo>. Esta instruo no permitida na definio de uma interface. Uma funo set exige exatamente um parmetro. Uma funo get no exige parmetros. S possvel definir classes em scripts externos de classes do ActionScript 2.0. Os scripts de classes do ActionScript 2.0 s podem definir construes de classes ou de interfaces. O nome desta classe, <A.B.C>, est em conflito com o nome de outra classe que estava carregada, <A.B>.

904

Apndice A: Mensagens de erro

Nmero do erro 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171

Texto da mensagem A classe <NomeDaClasse> no pde ser carregada. As interfaces s podem ser definidas em scripts externos de classes do ActionScript 2.0. No possvel acessar variveis de instncia em funes estticas. No possvel aninhar definies de classes e interfaces. A propriedade em questo no tem o atributo estatic. Esta chamada para super no corresponde ao superconstrutor. Somente o atributo public permitido para mtodos de interface. No possvel usar a palavra-chave como uma diretiva. Voc deve exportar o filme como Flash 7 para usar esta ao. Voc deve exportar o filme como Flash 7 para usar esta expresso. Esta clusula de exceo est colocada de modo incorreto. Uma classe deve ter somente um construtor. Um construtor no pode retornar um valor. Um construtor no pode especificar um tipo de retorno. Uma varivel no pode ser do tipo Void. Um parmetro de funo no pode ser do tipo Void. S possvel acessar membros estticos diretamente atravs de classes. Vrias interfaces implementadas contm o mesmo mtodo com tipos diferentes. J existe uma classe ou interface definida com esse nome. No possvel excluir classes, interfaces e tipos internos. No existem classes com esse nome. A palavra-chave <palavra-chave> reservada para o ActionScript 2.0 e no pode ser usada aqui. A definio do atributo personalizado no foi concluda. S possvel definir uma classe ou interface por arquivo .as do ActionScript 2.0. A classe em compilao, <A.b>, no coincide com a classe que foi importada, <A.B>. Insira o nome da classe. O nome da classe informado contm um erro de sintaxe. O nome da interface informado contm um erro de sintaxe. O nome da classe base informado contm um erro de sintaxe. O nome da interface base informado contm um erro de sintaxe.

905

Nmero do erro 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196

Texto da mensagem Insira o nome da interface. Insira o nome da classe ou da interface. O nome da classe ou interface informado contm um erro de sintaxe. varivel no acessvel a partir desse escopo. Foram encontradas diversas ocorrncias do atributo get/set/private/public/static. Um atributo de classe foi usado de modo incorreto. No possvel usar funes e variveis de instncia para inicializar variveis estticas. Foram descobertas circularidades durante a execuo entre as seguintes classes:%1 O Flash Player identificado no momento no oferece suporte depurao. O Flash Player identificado no momento no oferece suporte ao evento releaseOutside. O Flash Player identificado no momento no oferece suporte ao evento dragOver. O Flash Player identificado no momento no oferece suporte ao evento dragOut. O Flash Player identificado no momento no oferece suporte a aes de arrastar. O Flash Player identificado no momento no oferece suporte ao loadMovie. O Flash Player identificado no momento no oferece suporte ao getURL. O Flash Player designado no momento no oferece suporte ao FSCommand. No so permitidas instrues de importao nas definies de classe ou interface. No possvel importar a classe <A.B> porque o nome da folha j est sendo resolvido para a classe que est sendo definida, <C.B>. No possvel importar a classe <A.B> porque o nome da folha j est sendo resolvido para a classe importada <C.B>. S possvel inicializar as variveis de instncia de uma classe para expresses de constantes durante a compilao. Funes de membros de classes no podem ter o mesmo nome de uma funo construtora de superclasse. O nome desta classe, <NomeDaClasse>, est em conflito com o nome de outra classe que foi carregada. O superconstrutor deve ser chamado primeiro no corpo do construtor. O identificador <nomeDaClasse> no ser resolvido para o objeto interno <NomeDaClasse> durante a execuo. A classe <A.B.NomeDaClasse> precisar ser definida em um arquivo cujo caminho relativo seja <A.B>.

906

Apndice A: Mensagens de erro

Nmero do erro 1197 1198

Texto da mensagem O caractere curinga * foi usado de modo incorreto no nome da classe <NomeDaClasse>. O uso de maisculas/minsculas diferente na funo de membro <nomedaclasse> em relao ao nome da classe que est sendo definida, <NomeDaClasse>; a funo no ser tratada como o construtor de classe durante a execuo. O nico tipo permitido para um iterador de repetio for-in String. Uma funo definidora no pode retornar um valor. Os nicos atributos permitidos para funes construtoras so public e private.

1199 1200 1201

907

908

Apndice A: Mensagens de erro

APNDICE B Associatividade e precedncia de operadores

Esta tabela lista todos os operadores do ActionScript e sua associatividade, da precedncia mais alta para a mais baixa.
Operador Descrio Precedncia mais alta + ~ ! not ++ -() [] . ++ -new delete typeof void * / % + Mais unrio Menos unrio NOT bit a bit NOT lgico NOT lgico (estilo do Flash 4) Ps-incremento Ps-decremento Chamada de funo Elemento de array Membro da estrutura Pr-incremento Pr-decremento Alocar objeto Desalocar objeto Tipo de objeto Retorna um valor indefinido Multiplicar Dividir Mdulo Somar Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Associatividade

909

Operador add << >> >>> < <= > >= instanceof lt le gt ge == != eq ne & ^ | && and || or ?: =

Descrio Concatenao de seqncia de caracteres (antes &) Subtrair Deslocamento para esquerda bit a bit Deslocamento para direita bit a bit Deslocamento para direita bit a bit (sem sinal) Menor que Menor ou igual a Maior que Maior ou igual a Instncia de Menor que (verso de seqncia de caracteres) Menor que ou igual a (verso de seqncia de caracteres) Maior que (verso de seqncia de caracteres) Maior que ou igual a (verso de seqncia de caracteres) Igual Diferente Igual (verso de seqncia de caracteres) Diferente (verso de seqncia de caracteres) AND bit a bit XOR bit a bit OR bit a bit AND lgico AND lgico (Flash 4) OR lgico OR lgico (Flash 4) Condicional Atribuio

Associatividade Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Direita para esquerda Direita para esquerda Direita para esquerda Esquerda para direita Precedncia mais baixa

*=, /=, %=, +=, -=, &=, Atribuio composta |=, ^=, <<=, >>=, >>>= , Vrgula

910

Apndice B: Associatividade e precedncia de operadores

APNDICE C Teclas do teclado e valores de cdigos de teclas

As tabelas a seguir listam todas as teclas de um teclado padro e os valores de cdigos de teclas ASCII correspondentes usados para identificar as teclas no ActionScript. Para obter mais informaes, consulte a entrada Classe Key no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Letras de A a Z e nmeros padro de 0 a 9


A tabela a seguir lista as teclas de um teclado padro, com as letras de A a Z e os nmeros de 0 a 9, e os valores de cdigos de teclas ASCII correspondentes usados para identificar as teclas no ActionScript.
Tecla alfabtica ou numrica A B C D E F G H I J K L M N O Cdigo da tecla 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

911

Tecla alfabtica ou numrica P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9

Cdigo da tecla 80 81 82 83 84 85 86 87 88 89 90 48 49 50 51 52 53 54 55 56 57

912

Apndice C: Teclas do teclado e valores de cdigos de teclas

Teclas do teclado numrico


A tabela a seguir lista as teclas de um teclado numrico e os valores de cdigos de teclas ASCII correspondentes usados para identificar as teclas no ActionScript.
Tecla do teclado numrico 0 1 2 3 4 5 6 7 8 9 Multiplicar Somar Enter Subtrair Decimal Dividir Cdigo da tecla 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Teclas do teclado numrico

913

Teclas de funo
A tabela a seguir lista as teclas de funo em um teclado padro e os valores de cdigos de teclas ASCII correspondentes usados para identificar as teclas no ActionScript.
Tecla de funo F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 Cdigo da tecla 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

Outras teclas
A tabela a seguir lista as teclas de um teclado padro que no so letras, nmeros, teclas do teclado numrico nem teclas de funo, e os valores de cdigos de teclas ASCII correspondentes usados para identificar as teclas no ActionScript.
Tecla Backspace Tab Clear Enter Shift Control Alt Caps Lock Esc Cdigo da tecla 8 9 12 13 16 17 18 20 27

914

Apndice C: Teclas do teclado e valores de cdigos de teclas

Tecla Barra de espaos Page Up Page Down End Home Seta para Esquerda Seta para Cima Seta para Direita Seta para Baixo Insert Delete Help Num Lock ;: =+ -_ /? `~ [{ \| ]} "'

Cdigo da tecla 32 33 34 35 36 37 38 39 40 45 46 47 144 186 187 189 191 192 219 220 221 222

Outras teclas

915

916

Apndice C: Teclas do teclado e valores de cdigos de teclas

APNDICE D Criando scripts para verses anteriores do Flash Player

O ActionScript sofreu modificaes considerveis com a verso do Macromedia Flash MX 2004 e do Macromedia Flash MX Professional 2004. Ao criar contedo para o Flash Player 7, voc aproveitar todo o potencial do ActionScript. Voc ainda pode usar o Flash MX 2004 para criar contedo para verses anteriores do Flash Player, mas no poder usar todos os elementos do ActionScript. Este captulo fornece diretrizes para ajud-lo a criar scripts sintaticamente corretos para a verso do Flash Player desejada.

Sobre a especificao de verses anteriores do Flash Player


Durante a criao dos scripts, use as informaes de Availability (Disponibilidade) de cada elemento no ActionScript Dictionary (Dicionrio do ActionScript) (consulte Captulo 12, Dicionrio do ActionScript, na pgina 219) para determinar se o elemento que voc deseja usar suportado pela verso do Flash Player especificada. Para determinar quais elementos voc pode usar, exiba a caixa de ferramentas Actions (Aes); os elementos no suportados na verso especificada estaro realados em amarelo. Se estiver criando contedo para o Flash Player 6 ou Flash Player 7, dever usar o ActionScript 2.0, que contm diversos recursos importantes no disponveis no ActionScript 1, como o aprimoramento de erros do compilador e recursos mais robustos de programao orientada a objeto. Para ver as diferenas na implementao de alguns recursos ao publicar arquivos para Flash Player 7 em relao implementao dos recursos em arquivos publicados para verses anteriores do exibidor, consulte Portando scripts existentes para o Flash Player 7 na pgina 17. Para especificar a verso do exibidor e do ActionScript a ser usada na publicao de um documento, escolha File (Arquivo) > Publish Settings (Configuraes de publicao) e selecione as opes na guia Flash. Se voc precisa trabalhar com o Flash Player 4, consulte a prxima seo.

917

Usando o Flash MX 2004 para criar contedo para o Flash Player 4


Para usar o Flash MX 2004 na criao de contedo para o Flash Player 4, especifique Flash Player 4 na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao), em File (Arquivo) > Publish Settings. O ActionScript do Flash Player 4 possui apenas um tipo de dados primitivo bsico que usado para a manipulao de nmeros e de seqncias de caracteres. Ao criar um aplicativo para o Flash Player 4, utilize os operadores obsoletos de seqncia de caracteres localizados na categoria Deprecated (Obsoletos) > Operators (Operadores) na caixa de ferramentas Actions (Aes). possvel usar os seguintes recursos do Flash MX 2004 nas publicaes para Flash Player 4:

O operador de acesso de objetos e arrays ([]) O operador ponto (.) Operadores lgicos, operadores de atribuio e operadores de pr-incremento e
ps-incremento/decremento.

O operador de mdulo (%) e todos os mtodos e propriedades da classe Math.


Os elementos de linguagem a seguir no tm suporte nativo do Flash Player 4. O Flash MX 2004 os exporta como aproximaes de sries, criando resultados menos precisos numericamente. Alm disso, devido incluso de aproximaes de sries no arquivo SWF, esses elementos de linguagem ocupam mais espao nos arquivos SWF do Flash Player 4 do que nos arquivos SWF do Flash Player 5 ou verses posteriores.

As aes for, while, do while, break e continue As aes print() e printAsBitmap() A ao switch
Para obter informaes adicionais, consulte Sobre a especificao de verses anteriores do Flash Player na pgina 917. Usando o Flash MX 2004 para abrir arquivos do Flash 4 O ActionScript do Flash 4 tinha apenas um tipo de dados verdadeiro: seqncia de caracteres. Ele usava diferentes tipos de operadores em expresses para indicar se o valor devia ser tratado como uma seqncia de caracteres ou um nmero. Nas verses subseqentes do Flash, possvel usar um conjunto de operadores em todos os tipos de dados. Quando voc usa o Flash 5 ou posterior para abrir um arquivo criado no Flash 4, o Flash converte automaticamente as expresses do ActionScript para torn-las compatveis com a nova sintaxe. Voc ver as seguintes converses de operadores e tipos de dados no cdigo do ActionScript:

O operador = no Flash 4 era usado para igualdade numrica. No Flash 5 e verses posteriores,
== o operador de igualdade e = o operador de atribuio. Os operadores = em arquivos do Flash 4 so convertidos automaticamente em ==. O Flash executa automaticamente as converses de tipo para garantir o comportamento esperado dos operadores. Devido introduo de vrios tipos de dados, os seguintes operadores tm novos significados: +, ==, !=, <>, <, >, >=, <=

918

Apndice D: Criando scripts para verses anteriores do Flash Player

No ActionScript do Flash 4, esses operadores eram sempre operadores numricos. No Flash 5 e verses posteriores, eles se comportam de maneira diferente, dependendo dos tipos de dados dos operandos. Para evitar diferenas semnticas em arquivos importados, a funo Number() inserida delimitando todos os operandos desses operadores. (Nmeros constantes j so bvios, portanto, eles no so includos em Number()). No Flash 4, a seqncia de escape \n gerava um caractere de retorno de carro (ASCII 13). No Flash 5 e verses posteriores, para seguir o padro ECMA-262, \n gera um caractere de alimentao de linha (ASCII 10). Uma seqncia \n nos arquivos FLA do Flash 4 convertida automaticamente em \r. O operador & no Flash 4 era usado para adio de seqncias de caracteres. No Flash 5 e verses posteriores, & o operador AND bit a bit. O operador de adio de seqncias de caracteres chama-se agora add. Todos os operadores & nos arquivos do Flash 4 so automaticamente convertidos em operadores add. Muitas funes no Flash 4 no exigiam parnteses, por exemplo, Get Timer , Set Variable, Stop e Play. Para criar uma sintaxe consistente, a funo getTimer e todas as aes exigem agora fechamento de parnteses. Esses parnteses so adicionados automaticamente durante a converso. No Flash 5 e verses posteriores, quando a funo getProperty executada em um clipe de filme no existente, ela retorna o valor undefined, e no 0. A instruo undefined == 0 false no ActionScript aps o Flash 4 (no Flash 4, undefined == 1). No Flash 5 e verses posteriores, solucione esse problema ao converter arquivos do Flash 4, inserindo funes Number() nas comparaes de igualdade. No exemplo seguinte, Number() fora undefined a ser convertido em 0 para que a comparao tenha xito:
getProperty("clip", _width) == 0 Number(getProperty("clip", _width)) == Number(0)

Observao: Se alguma palavra-chave do Flash 5 ou posterior tiver sido usada como nome de varivel no ActionScript do Flash 4, a sintaxe retornar um erro quando for compilada no Flash MX 2004. Para solucionar esse problema, renomeie as variveis em todos os locais. Consulte Palavras-chave na pgina 36 e Atribuindo nome a uma varivel na pgina 44.

Usando a sintaxe de barra A sintaxe de barra foi usada no Flash 3 e 4 para indicar o caminho de destino de um clipe de filme ou de uma varivel. Nesse tipo de sintaxe, as barras so usadas no lugar dos pontos; alm disso, as variveis devem ser precedidas de dois-pontos:
myMovieClip/childMovieClip:myVariable

Para escrever o mesmo caminho de destino em sintaxe de ponto (consulte Sintaxe de ponto na pgina 33), que suportada pelo Flash Player 5 e verses posteriores, use o seguinte cdigo:
myMovieClip.childMovieClip.myVariable

A sintaxe de barra era mais utilizada com a ao tellTarget, cujo uso tambm no mais recomendado. A ao with agora mais usada do que tellTarget, pois mais compatvel com a sintaxe de ponto. Para obter mais informaes, consulte tellTarget e with no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Usando o Flash MX 2004 para criar contedo para o Flash Player 4

919

920

Apndice D: Criando scripts para verses anteriores do Flash Player

APNDICE E Programao orientada a objeto com o ActionScript 1

As informaes deste apndice foram extradas da documentao do Macromedia Flash MX e explicam como usar o modelo de objetos do ActionScript 1 para criar scripts. Elas foram includas aqui pelos seguintes motivos:

Se voc deseja criar scripts orientados a objeto com suporte para Flash Player 5, use o
ActionScript 1. Se voc j usa o ActionScript 1 para criar scripts orientados a objeto e no est pronto para migrar para o ActionScript 2.0, use este apndice para localizar ou verificar as informaes necessrias durante a criao de scripts do ActionScript 1.

Se voc nunca usou o ActionScript para criar scripts orientados a objeto e no precisa ter como alvo o Flash Player 5, no use as informaes deste apndice, pois a criao de scripts orientados a objeto com o ActionScript 1 est obsoleta. Em vez disso, consulte Captulo 9, Criando classes com o ActionScript 2.0, na pgina 165 para obter informaes sobre como usar o ActionScript 2.0.
Observao: Alguns dos exemplos deste apndice usam o mtodo Object.RegisterClass(). Esse mtodo s suportado no Flash Player 6 e verses posteriores; no use esse mtodo se est utilizando o Flash Player 5.

Sobre o ActionScript 1
ActionScript uma linguagem de programao orientada a objeto. A programao orientada a objeto usa objetos, ou estruturas de dados, para agrupar as propriedades e os mtodos que controlam o comportamento ou a aparncia do objeto. Os objetos permitem organizar e reutilizar o cdigo. Depois de definir um objeto, voc pode fazer referncia a ele pelo nome, sem precisar redefini-lo cada vez que for us-lo. Uma classe uma categoria genrica de objetos. A classe define uma srie de objetos que tm propriedades comuns e podem ser controlados da mesma maneira. As propriedades so atributos que definem um objeto, como tamanho, posio, cor, transparncia etc. As propriedades so definidas para uma classe e os valores das propriedades so definidos para os diferentes objetos da classe. Os mtodos so funes que podem definir ou recuperar as propriedades de um objeto. Por exemplo, voc pode definir um mtodo para calcular o tamanho de um objeto. Assim como as propriedades, os mtodos so definidos para uma classe de objetos e, em seguida, chamados para os diferentes objetos da classe. O ActionScript possui diversas classes internas, incluindo a classe MovieClip e outras. Tambm possvel criar classes para definir categorias de objetos para os aplicativos.

921

Os objetos no ActionScript podem ser meros recipientes de dados ou podem ser representados graficamente no Stage (Palco) como clipes de filmes, botes ou campos de texto. Todos os clipes de filmes so instncias da classe interna MovieClip, e todos os botes so instncias da classe interna Button. Cada instncia de clipe de filme contm todas as propriedades (por exemplo, _height, _rotation, _totalframes) e todos os mtodos (por exemplo, gotoAndPlay(), loadMovie(), startDrag()) da classe MovieClip. Para definir uma classe, crie uma funo especial denominada funo construtora. (Classes internas tm funes construtoras internas.) Por exemplo, se voc quiser informaes sobre um ciclista no aplicativo, poder criar uma funo construtora, Biker(), com as propriedades time e distance e o mtodo getSpeed(), que informa a velocidade do ciclista:
function Biker(t, d) { this.time = t; this.distance = d; this.getSpeed = function() {return this.time / this.distance;}; }

Neste exemplo, criada uma funo que requer duas informaes ou parmetros: t e d. Quando a funo for chamada para criar novas instncias do objeto, passe para ela os parmetros. O cdigo a seguir cria instncias do objeto Biker denominadas emma e hamish.
emma = new Biker(30, 5); hamish = new Biker(40, 5);

Em scripts orientados a objeto, as classes podem receber propriedades e mtodos umas das outras de acordo com uma ordem especfica. Esse processo chamado de herana. A herana pode ser usada para estender ou redefinir as propriedades e os mtodos de uma classe. Uma classe que herda propriedades e mtodos de outra classe chamada de subclasse. Uma classe que passa propriedades e mtodos para outra classe chamada de superclasse. Uma classe pode ser uma subclasse e uma superclasse ao mesmo tempo. Um objeto um tipo de dados complexo que pode conter ou no propriedades e mtodos. Cada propriedade, como uma varivel, possui um nome e um valor. As propriedades so anexadas ao objeto e contm valores que podem ser alterados e recuperados. Esses valores podem ser um dos seguintes tipos de dados: String, Number, Boolean, Object, MovieClip ou indefinido. As propriedades a seguir so de vrios tipos de dados:
customer.name = "Jane Doe"; customer.age = 30; customer.member = true; customer.account.currentRecord = 000609; customer.mcInstanceName._visible = true;

A propriedade de um objeto tambm pode ser um objeto. Na linha 4 do exemplo anterior, account uma propriedade do objeto customer e currentRecord uma propriedade do objeto account. O tipo de dados da propriedade currentRecord Number. Criando um objeto personalizado no ActionScript 1 Para criar um objeto personalizado, defina uma funo construtora. Uma funo construtora recebe sempre o mesmo nome do tipo de objeto que cria. Voc pode usar a palavra-chave this dentro do corpo da funo construtora para fazer referncia ao objeto que a construtora cria; quando uma funo construtora for chamada, o Flash passar this como um parmetro oculto. Por exemplo, a funo construtora a seguir cria um crculo com a propriedade radius:

922

Apndice E: Programao orientada a objeto com o ActionScript 1

function Circle(radius) { this.radius = radius; }

Depois de definir a funo construtora, crie uma instncia do objeto. Use o operador new antes do nome da funo construtora e atribua um nome de varivel nova instncia. Por exemplo, o cdigo a seguir usa o operador new para criar um objeto Circle com um raio de 5 e atribui-lo varivel myCircle:
myCircle = new Circle(5); Observao: Um objeto tem o mesmo escopo da varivel qual ele atribudo.

Atribuindo mtodos a um objeto personalizado no ActionScript 1 possvel definir os mtodos de um objeto dentro da funo construtora do objeto. No entanto, essa tcnica no recomendvel porque ela define o mtodo sempre que a funo construtora usada, como no exemplo a seguir, que cria os mtodos area() e diameter():
function Circle(radius) { this.radius = radius; this.area = Math.PI * radius * radius; this.diameter = function() {return 2 * this.radius;} }

Toda funo construtora tem uma propriedade prototype que criada automaticamente quando a funo definida. A propriedade prototype indica os valores de propriedade padro para objetos criados com essa funo. Cada nova instncia de um objeto tem uma propriedade __proto__ que faz referncia propriedade prototype da funo construtora que a criou. Portanto, se voc atribuir mtodos propriedade prototype de um objeto, eles ficaro disponveis para qualquer instncia recm-criada desse objeto. recomendvel atribuir um mtodo propriedade prototype da funo construtora porque ela existe em um local e serve de referncia para novas instncias do objeto (ou classe). Voc pode usar as propriedades prototype e __proto__ para estender objetos para que o cdigo possa ser reutilizado de uma forma orientada a objeto. Para obter mais informaes, consulte Criando herana no ActionScript 1 na pgina 925. O procedimento a seguir mostra como atribuir um mtodo area() a um objeto Circle personalizado.
Para atribuir um mtodo a um objeto personalizado:

1 Defina a funo construtora Circle() da seguinte forma:


function Circle(radius) { this.radius = radius; }

2 Defina o mtodo area() do objeto Circle. O mtodo area() calcular a rea do crculo. Voc

pode usar um literal de funo para definir o mtodo area() e atribuir a propriedade area ao objeto prottipo do crculo, da seguinte forma:
Circle.prototype.area = function () { return Math.PI * this.radius * this.radius; };

3 Crie uma instncia do objeto Circle da seguinte forma:


var myCircle = new Circle(4);

Sobre o ActionScript 1

923

4 Chame o mtodo area() do novo objeto myCircle da seguinte forma:


var myCircleArea = myCircle.area();

O ActionScript procura o mtodo area() no objeto myCircle. Como o objeto no possui um mtodo area(), feita uma pesquisa em seu objeto prottipo Circle.prototype para encontrar area(). O ActionScript o localiza e o chama. Definindo mtodos manipuladores de eventos no ActionScript 1 Voc pode criar uma classe do ActionScript para clipes de filme e definir os mtodos manipuladores de eventos no objeto prottipo dessa nova classe. Definir os mtodos no prottipo objeto faz todas as instncias desse smbolo responderem da mesma forma a esses eventos. Voc tambm pode adicionar uma ao do manipulador de eventos onClipEvent() ou on() a uma instncia individual para fornecer instrues exclusivas que so executadas apenas quando o evento da instncia ocorre. As aes onClipEvent() e on() no substituem o mtodo manipulador de evento. Os dois eventos fazem com que seus scripts sejam executados. No entanto, se definir os mtodos manipuladores de eventos no objeto prottipo e tambm definir um mtodo manipulador de evento para uma instncia especfica, a definio da instncia substituir a definio do prottipo.
Para definir um mtodo manipulador de evento no objeto prottipo de um objeto:

1 Coloque um smbolo de clipe de filme com a ID de vinculao theID na biblioteca. 2 No painel Actions (Aes), em Window (Janela)> Development Panels (Painis de

desenvolvimento) > Actions, use a ao function para definir uma nova classe do seguinte modo:
// define uma classe function myClipClass(){}

Essa nova classe atribuda a todas as instncias de clipe de filme adicionadas ao aplicativo pela Timeline (Linha de tempo) ou pelos mtodos attachMovie() ou duplicateMovieClip(). Para que esses clipes de filme tenham acesso aos mtodos e propriedades do objeto MovieClip interno, faa com que a nova classe herde tudo da classe MovieClip. 3 Insira cdigos do seguinte modo:
// herda da classe MovieClip myClipClass.prototype = new MovieClip();

Agora a classe myClipClass herdar todas as propriedades e mtodos da classe MovieClip.


4 Insira um cdigo como este para definir mtodos manipuladores de eventos para a nova classe:
// define mtodos manipuladores de eventos para classe myClipClass myClipClass.prototype.onLoad = function() {trace ("movie clip loaded");} myClipClass.prototype.onEnterFrame = function() {trace ("movie clip entered frame");}

5 Selecione Window > Library (Biblioteca) para abrir o painel Library se ele ainda no estiver

aberto. 6 Selecione os smbolos que deseja associar nova classe e escolha Linkage (Vinculao) no menu pop-up no canto superior do painel Library. 7 Na caixa de dilogo Linkage Properties (Propriedades de vinculao), selecione Export for ActionScript (Exportar para ActionScript).

924

Apndice E: Programao orientada a objeto com o ActionScript 1

8 Insira um identificador na caixa Identifier.

O identificador deve ser o mesmo para todos os smbolos que deseja associar nova classe. No exemplo do myClipClass, o identificador theID. 9 Insira cdigos como estes no painel de scripts:
// registra classe Object.registerClass("theID", myClipClass); _root.attachMovie("theID","myName",1);

Eles registram o smbolo cujo identificador de vinculao theID com a classe myClipClass. Todas as instncias de myClipClass possuem mtodos manipuladores de eventos que se comportam da forma como foram definidos na etapa 4. Eles tambm se comportam como todas as instncias da classe MovieClip, j que a nova classe foi definida para herdar tudo da classe MovieClip na etapa 3.
function myClipClass(){} myClipClass.prototype = new MovieClip(); myClipClass.prototype.onLoad = function(){ trace("movie clip loaded"); } myClipClass.prototype.onPress = function(){ trace("pressed"); } myClipClass.prototype.onEnterFrame = function(){ trace("movie clip entered frame"); } myClipClass.prototype.myfunction = function(){ trace("myfunction called"); } Object.registerClass("myclipID",myClipClass); _root.attachMovie("myclipID","ablue2",3);

Criando herana no ActionScript 1 Herana uma forma de organizar, estender e reutilizar a funcionalidade. Subclasses herdam mtodos e propriedades de superclasses e adicionam seus prprios mtodos e propriedades especializados. Tomando como exemplo o mundo real, Bike seria uma superclasse e MountainBike e Tricycle seriam subclasses da superclasse. Ambas as subclasses contm, ou herdam, os mtodos e propriedades da superclasse (por exemplo, wheels). Cada subclasse tambm tem seus prprios mtodos e propriedades que estendem a superclasse (por exemplo, a subclasse MountainBike teria uma propriedade gears). Voc pode usar os elementos prototype e __proto__ para criar herana no ActionScript. Todas as funes construtoras tm uma propriedade prototype que criada automaticamente quando a funo definida. A propriedade prototype indica os valores de propriedade padro para objetos criados com essa funo. Voc pode usar a propriedade prototype para atribuir propriedades e mtodos a uma classe. Para obter mais informaes, consulte Atribuindo mtodos a um objeto personalizado no ActionScript 1 na pgina 923.

Sobre o ActionScript 1

925

Todas as instncias de uma classe possuem uma propriedade __proto__ que informa de que objeto recebem herana. Quando uma funo construtora usada para criar um objeto, a propriedade __proto__ definida para fazer referncia propriedade prototype de sua funo construtora. A herana prossegue de acordo com uma hierarquia limitada. Quando voc chama o mtodo ou a propriedade de um objeto, o ActionScript verifica se esse elemento existe no objeto. Se ele no existir, o ActionScript procurar na propriedade __proto__ pela informao (myObject.__proto__). Se a propriedade no for uma propriedade do objeto__proto__ do objeto, o ActionScript examinar myObject.__proto__.__proto__ e assim por diante. O exemplo a seguir define a funo construtora Bike():
function Bike (length, color) { this.length = length; this.color = color; }

O cdigo a seguir adiciona o mtodo roll() classe Bike:


Bike.prototype.roll = function() {this._x = _x + 20;};

Em vez de adicionar roll() classe MountainBike e classe Tricycle, crie a classe MountainBike com Bike como superclasse:
MountainBike.prototype = new Bike();

Agora possvel chamar o mtodo roll() de MountainBike, como no exemplo a seguir:


MountainBike.roll();

Os clipes de filme no herdam uns dos outros. Para criar herana com clipes de filme, use Object.registerClass() para atribuir a clipes de filme uma classe diferente de MovieClip. Consulte Object.registerClass() no Captulo 12, Dicionrio do ActionScript, na pgina 219.
#endinitclip

Para obter mais informaes sobre herana, consulte as entradas Object.__proto__, #initclip, e super no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Adicionando propriedades getter/setter a objetos no ActionScript 1 possvel criar propriedades getter/setter (apanhadoras/definidoras) para um objeto usando o mtodo Object.addProperty(). Uma funo getter no possui nenhum parmetro. Seu valor de retorno pode ser de qualquer tipo. Seu tipo pode ser alterado entre as chamadas. O valor de retorno tratado como o valor atual da propriedade. Uma funo definidora utiliza um parmetro, que o novo valor da propriedade. Por exemplo, se a propriedade x for atribuda pela instruo x = 1, a funo definidora receber o parmetro 1 do tipo Number. O valor de retorno da funo definidora ignorado. Quando o Flash l uma propriedade getter/setter, chama a funo getter e o valor de retorno da funo torna-se um valor de prop. Quando o Flash grava uma propriedade getter/setter, ele chama a funo setter e passa a ela o novo valor como um parmetro. Se j houver uma propriedade com o mesmo nome, a nova propriedade a substituir.

926

Apndice E: Programao orientada a objeto com o ActionScript 1

possvel adicionar propriedades getter/setter aos objetos prottipo. Se voc adicionar uma propriedade getter/setter a um objeto prottipo, todas as instncias de objeto que herdam o objeto prottipo tambm herdaro essa propriedade. Isso torna possvel adicionar uma propriedade getter/setter em um nico local, o objeto prottipo, e fazer com que ela seja propagada para todas as instncias de uma classe (muito semelhante adio de mtodos a objetos prottipo). Se uma funo getter/setter for chamada para uma propriedade getter/setter em um objeto prottipo herdado, a referncia passada a essa funo ser o objeto referenciado originalmente e no o objeto prottipo. Para obter mais informaes, consulte Object.addProperty() no Captulo 12, Dicionrio do ActionScript, na pgina 219. O comando Debug (Depurar) > List Variables (Listar variveis) em modo de teste suporta as propriedades getter/setter adicionadas aos objetos usando Object.addProperty(). As propriedades adicionadas a um objeto desse modo so exibidas juntamente com outras propriedades do objeto no painel Output (Sada). As propriedades getter/setter so identificadas no painel Output com o prefixo [getter/setter]. Para obter mais informaes sobre o comando List Variables, consulte Usando o painel Output na pgina 82. Usando as propriedades do objeto Function no ActionScript 1 Voc pode especificar o objeto ao qual a funo aplicada e os valores dos parmetros passados para a funo usando os mtodos call() e apply() do objeto Function. Toda funo em ActionScript representada por um objeto Function para que todas as funes ofeream suporte a call() e apply(). Quando voc cria uma classe personalizada usando uma funo construtora ou quando define mtodos para uma classe personalizada usando uma funo, pode chamar call() e apply() para a funo. Chamando uma funo usando o mtodo Function.call() no ActionScript 1 O mtodo Function.call() chama a funo representada por um objeto Function. Em quase todos os casos, o operador de chamada de funo (()) pode ser usado no lugar do mtodo call(). O operador de chamada de funo cria um cdigo conciso e de fcil leitura. O mtodo call() til principalmente quando o parmetro this da chamada de funo precisa ser explicitamente controlado. Normalmente, se uma funo chamada como um mtodo de um objeto, no corpo da funo, this definido como myObject conforme o exemplo a seguir:
myObject.myMethod(1, 2, 3);

Em algumas situaes, pode ser prefervel que this aponte para algum outro lugar; por exemplo, se for necessrio chamar uma funo como um mtodo de um objeto, mas ela no estiver realmente armazenada como um mtodo desse objeto.
myObject.myMethod.call(myOtherObject, 1, 2, 3);

Voc pode passar o valor null para o parmetro thisObject para invocar uma funo como uma funo regular e no como um mtodo de um objeto. Por exemplo, as seguintes invocaes de funo so equivalentes:
Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4)

Para obter mais informaes, consulte Function.call() no Captulo 12, Dicionrio do ActionScript, na pgina 219.

Sobre o ActionScript 1

927

Para chamar uma funo usando o mtodo Function.call:

Use a sintaxe a seguir.


myFunction.call(thisObject, parameter1, ..., parameterN)

O mtodo requer os seguintes parmetros: O parmetro thisObject especifica o valor de this no corpo da funo. Os parmetros parameter1..., parameterN especificam os parmetros a serem passados para myFunction. Voc pode especificar zero ou mais parmetros. Especificando o objeto ao qual uma funo aplicada usando Function.apply() no ActionScript 1 O mtodo Function.apply() especifica o valor de this para ser usado em qualquer funo chamada pelo ActionScript. Esse mtodo tambm especifica os parmetros a serem passados a qualquer funo chamada. Os parmetros so especificados como um objeto Array. Em geral, isso til quando o nmero de parmetros a serem passados s conhecido quando o script realmente executado. Para obter mais informaes, consulte Function.apply() no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Para especificar o objeto ao qual uma funo aplicada usando Function.apply():

Use a sintaxe a seguir.


myFunction.apply(thisObject, argumentsObject)

O mtodo requer os seguintes parmetros: O parmetro thisObject especifica o objeto ao qual myFunction aplicada. O parmetro argumentsObject define qualquer array cujos elementos so passados para myFunction como parmetros.

928

Apndice E: Programao orientada a objeto com o ActionScript 1

NDICE REMISSIVO

A acessando propriedades de objetos 53 aes definidas 29 repetindo 60 aes assncronas 190 Actions (Aes), caixa de ferramentas 62 itens em amarelo na 65 Actions (Aes), painel 62 ActionScript atribuio estrita de tipos de dados no suportada no ActionScript 1 42 atribuindo a classe ActionScript 2.0 a clipes de filme 141 mensagens de erro do compilador do ActionScript 2.0 903 viso geral do ActionScript 2.0 25, 165 adicionando observaes a scripts 35 agrupando instrues 34 anexando sons 109 animao, smbolos e 39 aplicativos da Web, conexo contnua 197 argumentos. Consulte parmetros arquitetura baseada em componentes, definida 129 arquivo SWD definido 75 arquivos de classe externa criando 168 usando os caminhos de classe para localizar 179 arquivos de classes, criando 168 arquivos de diretivas 204 devem receber o nome crossdomain.xml 204 Consulte tambm segurana arquivos remotos, comunicando com 189 arquivos SWF carregados identificando 54 removendo 131 arrastando clipes de filme 134

arrays e matrizes 53 ASCII, valores 103 outras teclas 914 teclas de funo 914 teclas do teclado 911 teclas do teclado numrico 913 aspas, incluindo em seqncias de caracteres 38 associatividade de operadores 909 atalhos de teclado para scripts presos 64 atribuio estrita de tipos de dados 41 e variveis globais 41 e variveis locais 46 no suportada no ActionScript 1 42 atribuindo nome a variveis 44, 66 atribuindo um tipo de dados a variveis 40 atributo privado para membros de classe 174 atributo pblico para membros de classe 174 B balano (som), controlando 111 C caixa de mensagem, exibindo 200 caminhos da classe em nvel de documento 179 caminhos de classe definidos 179 global e em nvel de documento 179 modificando 180 pesquisar ordem de 180 caminhos de classe globais 179 caminhos de destino definidos 31 especificando 54 inserindo 54 campos de texto 143 aplicando Cascading Style Sheets 151

929

Consulte tambm TextField, classe 144 criando e removendo durante a execuo 145 determinando o tamanho necessrio 147 e texto HTML 152 evitando conflitos de nome de varivel 145 exibindo propriedades para depurao 84 fazendo o texto fluir em torno de imagens incorporadas 156, 158 formatao 146 formatando com Cascading Style Sheets 147 nomes de instncias e de variveis comparados 144 propriedades padro 147 Consulte tambm TextField, classe; TextField.StyleSheet, classe; TextFormat, classe capturando pressionamentos de teclas 103 caracteres especiais 38 Cascading Style Sheets aplicando a campos de texto 151 aplicando classes de estilo 151 atribuindo estilos a marcas HTML internas 152 carregando 149 combinando estilos 151 definindo estilos no ActionScript 150 e a classe TextField.StyleSheet 149 exemplo de uso com marcas HTML 153 exemplo de uso com marcas XML 155 formatando texto 147 propriedades suportadas 148 usando para definir novas marcas 154 chamando mtodos 39 chaves 34 verificando pares correspondentes 72 classe XML, mtodos da 194 classes atribuindo a clipes de filme 141 atribuindo nome 171 atributos de membro pblico e privado 174 caminhos de classe 179 criando arquivos de classe externos 168 criando e usando 171 criando propriedades e mtodos 171 criando subclasses 173 definidas 29, 121 definidas apenas em arquivos externos 168, 171 dinmicas 184 e programao orientada a objeto 166 especificando quadro de exportao 185 estendendo 173 estendendo durante a execuo 184

exemplo de criao 167 get/set, mtodos 183 importando 182 inicializando propriedades durante a execuo 142 inicializando propriedades inline 172 interfaces 177179 membros de instncia e membros de classe 175 organizando em pacotes 181 resolvendo referncias de classe 180 sobre compilao e exportao 185 sobrecarga no suportada 174 Consulte tambm classes internas classes dinmicas 184 classes internas 121128 estendendo 173 clipes de filme adicionando parmetros 136 ajustando cor 107 alterando propriedades durante a reproduo 133 alterando propriedades no Debugger 78 anexando a smbolo no Stage (Palco) 135 anexando manipuladores on() e onClipEvent() 93 aninhados definidos 129 arrastando 134 ativando com teclado 105 atribuindo estados de boto a 93 atribuindo um nome de instncia 54 carregando arquivos MP3 em 209 carregando arquivos SWF e JPEG em 208 chamando mtodos 130 chamando vrios mtodos 130 compartilhando 135 controlando 129 criando durante a execuo 134 criando instncia vazia 134 criando subclasses 141 detectando colises 112 determinando profundidade de 138 determinando prxima profundidade disponvel 138 duplicando 135 e instruo with 130 e propriedade _root 131 excluindo 135 filho, definidos 129 funes 130 gerenciando profundidade 137 incorporando em campos de texto 161 inicializando propriedades durante a execuo 142 iniciando e parando 98

930

ndice remissivo

listando objetos 82 listando variveis 83 mtodos 130 mtodos e funes comparadas 129 mtodos, usando para desenhar formas 139 nome de instncia definida 129 pai, definidos 129 propriedades 133 propriedades, inicializando durante a execuo 142 removendo 135 repetio em filhos 61 tipo de dados 39 usando como mscaras 140 Consulte tambm SWF, arquivos clipes de filme aninhados definidos 129 clipes de filme-filho definidos 129 clipes de filme-pai definidos 129 codificando texto 28 cdigo exibindo nmeros de linha 73 formatando 72, 73 percorrendo as linhas 80 quebra automtica de linha 73 selecionando uma linha 80 cdigos de teclas ASCII obtendo 103 outras teclas 914 teclado numrico 913 teclas alfabticas e numricas 911 teclas de funo 914 colchetes. Consulte operadores de acesso de array colises, detectando 112 entre clipes de filme 113 entre um clipe de filme e um ponto no Stage (Palco) 113 combinando operaes 52 comentrios 35 comunicando com o Flash Player 198 concatenando seqncias de caracteres 37 condies, verificando 60 conexes de soquete script de exemplo 198 sobre 197 conflitos de nome 45 constantes 29, 36 construtoras viso geral 174 construtores definidos 29 contadores, repetindo ao com 60, 61

controles ActiveX 201 controles do teclado e Test Movie 73 para ativar clipes de filmes 105 convenes de atribuio de nome para classes 171 para pacotes 181 convenes tipogrficas 10 convertendo tipos de dados 37, 42 cores na caixa de ferramentas Actions (Aes) 65 no painel Script 65 valores, definindo 107 criando objetos 122 CSS. Consulte Cascading Style Sheets cursores, criando personalizados 100 D dados carregados, verificando 190 dados externos 189 acesso entre SWFs de domnios diferentes 202 e mensagens 198 e objeto LoadVars 192 e objeto XMLSocket 197 e scripts de servidor 191 e XML 193 enviando e carregando 189 recursos de segurana 201 verificando o carregamento 190 Debug Player 73 Debugger botes no 81 definindo pontos de interrupo 79 Flash Debug Player 73 guia Properties 78 lista de observao 78 selecionando no menu de contexto 76 usando 73 variveis 77 Default Encoding 28 depurao remota 74 depurando 73 com instruo trace 84 de um local remoto 74 Debug Player 73 listando objetos 82 listando variveis 83 manipulao de excees 15 mensagens de erro do compilador 903

ndice remissivo

931

propriedades de campo de texto 84 usando o painel Output 82 desenhando formas 139 linhas e preenchimentos 114 detectando colises 112 dicas de ferramenta. Consulte referncias de cdigo DOM (Document Object Model, Modelo de objetos de documentos) XML 193 duplicando clipes de filme 135 E ECMA-262 conformidade 18 especificao 27 editor do ActionScript 62, 65 endereos IP e arquivos de diretivas 204 e segurana 201 enviando informaes em formato XML 190 formato de cdigo URL 190 para arquivos remotos 189 via TCP/IP 190 equilbrio da pontuao, verificando 72 erros conflito de nome 45 lista de mensagens de erro 903 sintaxe 65 Escape, teclas de atalho de 70 evento do sistema definido 89 evento do usurio definido 89 eventos definidos 29, 89 exportando scripts e codificao de idioma 28 expresses atribuindo diversas variveis 52 comparando valores 49 definidas 30 manipulando valores em 48 Extensible Markup Language. Consulte XML F fazendo referncia a variveis 45 Flash Player comunicando com 198 dimensionando arquivo SWF para 199 esmaecendo menu de contexto 199 exibio normal de menu 199 exibindo em tela cheia 199

exibindo menu de contexto 199 mtodos 201 obtendo a verso mais recente 85 verso de depurao 74 Flash Player 7 e conformidade com ECMA-262 18 elementos de linguagem novos e alterados 15 novo modelo de segurana 17, 20, 21, 23 portando scripts existentes 17, 205 FLV (vdeo externo), arquivos 211 pr-carregando 214 folhas de estilos. Consulte Cascading Style Sheets fontes de dispositivo, mscara 140 formatando cdigo 72, 73 formato de cdigo URL, enviando informaes 190 formato MIME, padro 192 fscommand(), funo comandos e argumentos 199 comunicando com o Director 200 usando 199 funes 30 assncronas 190 chamando 57 construtor 922 converso 37 definindo 55 e mtodos 30 exemplo 31 internas 54 para controlar clipes de filme 130 passando parmetros para 56 personalizadas 55 retornando valores 56 variveis locais em 56 funes construtoras, exemplo 922 funes de converso 37 funes internas 54 funes personalizadas 55 G getAscii(), mtodo 103 getURL(), mtodo 99 H herana 166 e subclasses 173 permitida apenas de uma classe 173 herana mltipla no permitida 173 hitTest(), mtodo 112

932

ndice remissivo

HTML atribuindo estilos a marcas internas 152 exemplo de uso com estilos 153 marcas entre aspas 156 marcas suportadas 157 usando a marca <img> para fazer o texto fluir 156, 158, 161 usando Cascading Style Sheets para definir marcas 154 usando em campos de texto 156 HTTP, protocolo 190 comunicando com scripts de servidor 191 HTTPS, protocolo 190 I cones acima do painel Script 63 no Debugger 81 identificador de vinculao 135, 141 identificadores definidos 30 idiomas, usando vrios em scripts 28 imagens carregando em clipes de filme 133 Consulte tambm mdia externa incorporando em campos de texto 161 importando classes 182 scripts e codificao de idioma 28 importando classes 182 indo para um URL 99 informaes, transferindo entre arquivos SWF 190 inicializando propriedades de clipe de filme 142 instanciando objetos 122 instncias definidas 30, 121 exemplo de criao 170 instrues agrupando 34 instrues trace 84 terminando 34 interatividade em arquivos SWF criando 97 tcnicas para 100 interfaces 167 criando e usando 177179 interrompendo (percorrendo) cdigo 80 interrompendo clipes de filme 98

J JavaScript documentao do Netscape Navigator 27 e ActionScript 27 e Netscape 201 enviando mensagens para 199 instruo alert 84 padro internacional 27 JPEG, arquivos carregando em clipes de filme 133, 208 incorporando em campos de texto 161 pr-carregando 213 L Linkage Properties (Propriedades de vinculao), caixa de dilogo 135, 141 List Objects (Listar Objetos), comando 82 List Variables (Listar Variveis), comando 83 loadMovie(), funo 190 loadVariables(), funo 190 LoadVars, objeto 192 loops for e membros de instncia 175 M Macromedia Director, comunicando-se com 200 manipulao de excees 15 manipuladores de eventos anexando a botes ou clipes de filme 92 atribuindo funes a 90 definidos 30, 89 definidos por classes do ActionScript 90 e manipuladores on() e onClipEvent() 92 escopo 94 verificando dados XML 191 manipulando nmeros 38 marcas de ID3 210 mscaras 140 e fontes de dispositivo 140 traos ignorados 139, 140 matrizes 53 membros de classe 122 criados uma vez por classe 175 criando 175 e subclasses 177 exemplo de uso 176 membros de instncia 175 membros estticos. Consulte membros de classe menu pop-up View Options 71

ndice remissivo

933

mtodos assncronos 190 de objetos, chamando 122 declarando 171 definidos 30 para controlar clipes de filme 130 mtodos get/set de classes 183 mtodos manipuladores de eventos 89 mdia externa 207215 carregando arquivos MP3 209 carregando arquivos SWF e JPEG 208 motivos para usar 207 pr-carregando 212, 213, 214 reproduzindo arquivos FLV 211 viso geral de carregamento 207 modelo de evento para manipuladores on() e onClipEvent() 92 para mtodos manipuladores de eventos 89 para ouvintes de eventos 91 mouse, ponteiro do. Consulte cursores moviename_DoFSCommand, funo 199 MP3, arquivos carregando em clipes de filme 209 e marcas de ID3 210 pr-carregando 214 N navegao controlando 97 indo para quadro ou cena 98 Navegador Script 63 Netscape DevEdge Online 27 Netscape, mtodos JavaScript suportados 201 nveis 54 carregando 131 n-filho 193 nomes de domnio e segurana 201 nomes de instncias atribuindo 54 comparados com nomes de variveis 144 definidas 30, 129 definindo dinamicamente 53 ns 193 null, tipo de dados 39 nmeros convertendo em inteiros de 32 bits 51 manipulando 38 nmeros de linha em cdigo, exibindo 73

O objeto transmissor 91 objeto XMLSocket mtodos 197 verificando dados 191 objetos acessando propriedades 122 chamando mtodos 122 criando 122 definidos 31 e programao orientada a objeto 166 repetio em filhos de 61 tipo de dados 39 objetos ouvintes 91 cancelando o registro 92 obtendo a posio do ponteiro do mouse 101 obtendo informaes de arquivos remotos 189 on() e onClipEvent(), manipuladores 92 anexando a clipes de filme 93 escopo 94 onClipEvent(), manipuladores 116 operadores 31 associatividade 48, 909 bit a bit 51 combinando com valores 48 comparao 49 de acesso de array 53 de atribuio 52 de igualdade 51 de seqncia de caracteres 50 lgicos 50 numricos 49 ponto 53 precedncia 909 operadores bit a bit 51 operadores de acesso de array 53 verificando pares correspondentes 72 operadores de atribuio compostos 52 diferentes de operadores de igualdade 51 sobre 52 operadores de comparao 49 operadores de igualdade 51 diferentes de operadores de atribuio 51 estrita 51 operadores de igualdade estrita 51 operadores de seqncia de caracteres 50 operadores lgicos 50 operadores numricos 49 operadores ponto 53

934

ndice remissivo

operadores, associatividade de 48 Options (Opes), menu pop-up no Debugger 75 no painel Actions (Aes) 64, 65 no painel Output (Sada) 82 ordem de execuo associatividade de operadores 48 precedncia de operadores 48 scripts 59 origens externas, conectando o Flash com 189 Output (Sada), painel 82 e instruo trace 84 List Objects (Listar Objetos), comando 82 List Variables (Listar Variveis), comando 83 opes 82 ouvintes de eventos 91 definidos por classes do ActionScript 92 escopo 94 P pacotes 181 atribuindo nome 181 palavras reservadas. Consulte palavras-chave palavras-chave 30 listadas 36 parmetros definidos 31 entre parnteses 35 passando para funes 56 parnteses 35 verificando pares correspondentes 72 passando valores por contedo 47 por referncia 47 percorrendo as linhas de cdigo 80 ponteiro. Consulte cursores ponto de registro e imagens carregadas 133 ponto-e-vrgula 34 pontos de interrupo definindo no Debugger 79 e arquivos externos 79 sobre 79 posio do mouse, obtendo 101 precedncia de operadores 909 prendendo scripts no lugar 64 pressionamentos de teclas, capturando 103 profundidade definidas 137 determinando instncia em 138 determinando para clipes de filme 138

determinando prxima disponvel 138 gerenciando 137 programao orientada a objeto 166 Consulte tambm classes projetores, executando aplicativos em 199 Properties, guia do Debugger 78 propriedades acessando 53 constantes 36 de clipes de filme 133 de objetos, acessando 122 declarando 171 definidas 31 inicializando durante a execuo 142 propriedades de objetos acessando 53 atribuindo valores a 122 Q quebra automtica de linha em cdigo, ativando 73 R propriedade _root e clipes de filme carregados 131 realando sintaxe 65 recuo no cdigo, ativando 73 recursos adicionais 10 referncias de cdigo 66 ativando 66, 68 especificando configuraes para 68 exibindo manualmente 70 no exibidas 69 usando 68 removendo arquivos SWF carregados 131 clipes de filme 135 repetio 60, 61 aes 61 repetindo aes 60 reproduzindo clipes de filme 98 requisitos de sistema 9 rolagem, texto de 163 S script de exemplo 115 Script, janela (somente Flash Professional) 62 Script, painel botes acima 63 sobre 62 trabalhando com scripts no 64

ndice remissivo

935

scripts atalhos de teclado para scripts presos 64 comentando 35 controlando a execuo 59 controlando o fluxo 59 corrigindo problemas de exibio de texto 28 declarando variveis 46 depurando 73 exemplo 115 importando e exportando 28 portando para o Flash Player 7 17, 205 prendendo no lugar 64 sobre escrita e depurao 59 testando 73 scripts do servidor formato XML 194 linguagens 189 segurana 201205 acesso a dados entre domnios 202, 203 e arquivos de diretivas 204 e portando scripts para o Flash Player 7 20, 21, 23 senhas e depurao remota 74 seqncias de caracteres 37 seqncias de escape 38 servidores, abrindo conexo contnua 197 setRGB, mtodo 107 sinal para agrupamento de instrues. Consulte chaves sintaxe chaves 34 de barra 33 de ponto 33 distino entre maisculas e minsculas 32 parnteses 35 ponto-e-vrgula 34 realando 65 regras 32 verificando 71 sintaxe de barra 33 no suportada no ActionScript 2.0 33 sintaxe de ponto 33 sites remotos, conexo contnua 197 solucionando problemas. Consulte depurando sons anexando Timeline (Linha de tempo) 109 Consulte tambm mdia externa controlando 108 controle de balano 111 Stage (Palco), anexando smbolos a clipes de filme 135 strings. Consulte seqncias de caracteres

subclasses criando 173 criando para clipes de filme 141 e membros de classe 177 sufixos 66 SWF, arquivos carregando e descarregando 131 carregando em clipes de filme 208 controlando no Flash Player 201 criando controles de som 108 escalando para o Flash Player 199 incorporando em campos de texto 161 indo para quadro ou cena 98 inserindo em pgina da Web 99 mantendo o tamanho original 199 pr-carregando 213 transferindo informaes entre 190 Consulte tambm clipes de filme T TCP/IP, conexo com objeto XMLSocket 198 enviando informaes 190 tecla Tab e Test Movie 73 teclado numrico, valores de cdigos de teclas ASCII 913 teclado, valores de cdigos de teclas ASCII 911 teclas de funo, valores de cdigos de teclas ASCII 914 tempo de compilao, definido 10 tempo de execuo, definido 10 terminando instrues 34 terminologia 29 Test Movie e controles do teclado 73 e Unicode 73 testando. Consulte depurando TextField.StyleSheet, classe 144, 147 TextField, classe 144 criando texto de rolagem 163 TextField.StyleSheet, classe criando estilos de texto 150 e cascading style sheets 149 e propriedade TextField.styleSheet 147, 151 TextFormat, classe 144, 146 texto atribuindo a campo de texto durante a execuo 144 codificando 28 de rolagem 163

936

ndice remissivo

determinando o tamanho necessrio do objeto TextField 147 obtendo informaes mtricas 147 usando a marca <img> para fazer o texto fluir em torno das imagens 158 Consulte tambm campos de texto this, palavra-chave 116 tipos de dados 37 atribuio de tipo estrita 41 atribuindo a elementos 40 atribuindo automaticamente 40 Boolean 38 convertendo 37, 42 de referncia 37 declarando 41 definidos 29 determinando 40 MovieClip 39 Null 39 Number 38 Object 39 primitivos 37 String 37 undefined 39 transferindo variveis entre filme e servidor 192 U undefined, tipo de dados 39 Unicode e o comando Test Movie 28, 73 suporte 28 UTF-8 (Unicode) 28 V valores booleanos 38 comparando 50 definidos 29 valores, manipulando em expresses 48 Variables (Variveis), guia do Debugger 77 variveis atribuindo diversas 52 atribuindo nome 66 atribuindo nome a regras 44 atribuindo um escopo 45 convertendo em XML 194 definidas 31 definindo dinamicamente 53 determinando o tipo de dados 40

e guia Debugger Variables (Variveis do depurador) 77 e lista de observao do Debugger 78 enviando para URL 99 evitando conflitos de nome 145 fazendo referncia a um valor 47 modificando no Debugger 77 passando contedo 47 sobre 44 sufixos 66 testando 44 transferindo entre filme e servidor 192 usando em scripts 46 verificando e definindo valores 44 variveis de Timeline 46 variveis globais 46 e atribuio estrita de tipos de dados 41 variveis locais 45 e atribuio estrita de tipos de dados 46 em funes 56 exemplo 45 vrios idiomas, usando em scripts 28 verificando dados carregados 190 sintaxe e pontuao 71 vdeo, alternativa para importao 211 View Options (Opes de exibio), menu pop-up 73 vinculando clipes de filme 135 volume, criando controle deslizante 110 W Watch (Observao), guia do Debugger 78 X XML 193 converso de variveis de exemplo 194 DOM 193 em scripts do servidor 194 enviando informaes com mtodos XML 190 enviando informaes via soquete TCP/IP 190 exemplo de uso com estilos 155 hierarquia 193 XMLSocket, objeto usando 197

ndice remissivo

937

938

ndice remissivo

Das könnte Ihnen auch gefallen