Вы находитесь на странице: 1из 888

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: 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: Agosto de 2003 Macromedia, Inc. 600 Townsend St. So Francisco, CA 94103

CONTEDO

INTRODUO: Guia de introduo ao ActionScript .

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

Pblico-alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Requisitos do 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

. . . . . . . . . . . . . . . 13 13 15 15 16 18 18

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

. . . . . . . . . . . . . . . . . . . . . . . . 21

Diferenas entre o ActionScript e o JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Suporte a Unicode para ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Terminologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Sobre tipos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Atribuindo tipos de dados a elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Sobre variveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Usando operadores para manipular valores em expresses . . . . . . . . . . . . . . . . . . . 41 Especificando o caminho de um objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Usando funes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Criando funes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

CAPTULO 3: Escrevendo e depurando scripts

. . . . . . . . . . . . . . . . . . . . . . . . . . 51

Controlando o momento em que o ActionScript executado . . . . . . . . . . . . . . . . 52 Usando o painel Actions e a janela Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Usando o editor do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Depurando scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Usando o painel Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Atualizando o Flash Player para teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

PARTE II: Manipulando eventos e criando interao


CAPTULO 4: Manipulando eventos .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Usando mtodos de manipuladores de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Usando ouvintes de eventos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Usando manipuladores de eventos de boto e clipe de filme . . . . . . . . . . . . . . . . . 82 Criando clipes de filme com estados de boto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Escopo do manipulador de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Escopo da palavra-chave this. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
CAPTULO 5: Criando interao com o ActionScript .

. . . . . . . . . . . . . . . . . . . . . 87

Sobre eventos e interao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Controlando a reproduo do SWF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Criando interatividade e efeitos visuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Desconstruindo um script de exemplo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

PARTE III: Trabalhando com objetos e classes


CAPTULO 6: Usando as classes internas

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

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

. . . . . . . . . . . . . . . . . . . . . . . . . 119

Sobre o controle de clipes de filme com o ActionScript . . . . . . . . . . . . . . . . . . . . 120 Chamando vrios mtodos em um nico clipe de filme. . . . . . . . . . . . . . . . . . . . 121 Carregando e descarregando arquivos SWF adicionais . . . . . . . . . . . . . . . . . . . . . 121 Especificando uma Timeline raiz para arquivos SWF carregados . . . . . . . . . . . . . 122 Carregando JPEGs em clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Alterando a posio e a aparncia de um clipe de filme . . . . . . . . . . . . . . . . . . . . 123 Arrastando clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Criando clipes de filme durante a execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Adicionando parmetros aos clipes de filme criados dinamicamente . . . . . . . . . . 127 Gerenciando profundidades do clipe de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Desenhando formas com o ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Contedo

Usando clipes de filme como mscaras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identificando eventos do clipe de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Atribuindo uma classe a um smbolo de clipe de filme. . . . . . . . . . . . . . . . . . . . . Inicializando as propriedades de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CAPTULO 8: Trabalhando com texto .

130 131 131 133

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 136 137 138 139 148 155 157

Usando a classe TextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando campo de texto durante a execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usando a classe TextFormat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatando o texto com Cascading Style Sheet. . . . . . . . . . . . . . . . . . . . . . . . . . Usando o texto em formato HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando texto de rolagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exibindo as propriedades do campo de texto para depurao. . . . . . . . . . . . . . . .
CAPTULO 9: Criando classes com o ActionScript 2 .

. . . . . . . . . . . . . . . . . . . . 159 159 161 165 169 171 173 175 175 177 178 179

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

. . . . . . . . . . . . . . . . . . . . . . . 183

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

. . . . . . . . . . . . . . . . . . . . 201 202 202 204 205 206 208

Viso geral de carregamento de mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . Carregando SWFs e JPEGs 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 .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Exemplo de entrada da maioria dos elementos do ActionScript . . . . . . . . . . . . . . 215 Exemplo de entrada de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Contedo do dicionrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Classe Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Classe Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Classe Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Classe Boolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Classe Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Classe Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Classe Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Classe ContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Classe ContextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Classe CustomActions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Classe Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Classe Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Classe Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Classe key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Classe LoadVars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 Classe LocalConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Classe Math. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Classe Microphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 Classe Mouse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Classe MovieClip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 Classe MovieClipLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602 Classe NetConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 Classe NetStream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 Classe Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614 Classe Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 Classe PrintJob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 Classe Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 Classe SharedObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671 Classe Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 Classe String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 Classe System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723 Classe TextField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741 Classe TextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783 Classe Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808 Classe XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816 Classe XMLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 Classe XMLSocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842

Contedo

APNDICE A: Mensagens de erro

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851 . . . . . . . . . . . . . . 857 . . . . . . . . . . . . 859 859 861 862 862

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

. . . . . . 865

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

. . . . . . . . 869

Sobre o ActionScript 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869


NDICE REMISSIVO

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879

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 objeto 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, use 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 objeto no Stage (Palco) e manipullos 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 do 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. Se voc alterar alguma dessas configuraes, as explicaes e os exemplos de cdigo mostrados na documentao podero no funcionar corretamente.

Usando a documentao
Este documento oferece uma viso geral da sintaxe do ActionScript, informaes sobre como usar o ActionScript ao trabalhar com diferentes tipos de objeto 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 21). Em seguida, aprenda o mecanismo para escrever e depurar scripts Flash (consulte o Captulo 3, Escrevendo e depurando scripts, na pgina 51). Antes de escrever seus prprios scripts, leia as sees 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 sees, 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 79. Para localizar informaes sobre um certo comando que voc deseja usar, procure a respectiva entrada no Captulo 12, Dicionrio do ActionScript, na pgina 215; cada elemento de linguagem est listado ali em ordem alfabtica.

Convenes tipogrficas
As seguintes convenes tipogrficas so usadas neste manual:

Fonte de cdigo indica

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

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 21.

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
Usando a Ajuda do Flash. Para obter informaes sobre como trabalhar com componentes, consulte Usando a Ajuda de 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).

O site 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 Centro de Suporte do Macromedia Flash (www.macromedia.com/support/flash) fornece TechNotes, atualizaes de documentao e links para recursos adicionais na comunidade Flash.

10

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 estiver 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Captulo 2: Conceitos bsicos do ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Captulo 3: Escrevendo e depurando scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

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 16 e Alteraes de depurao na pgina 18) e a introduo a um modelo de programao mais orientado a objeto (consulte Novo modelo de programao orientado a objeto na pgina 18).

Elementos de linguagem novos e alterados


Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na guia Help (Ajuda). Esta seo descreve os elementos da linguagem ActionScript novos ou 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 classificao 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 objeto 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. (Somente Windows) O ouvinte de eventos Mouse.onMouseWheel gerado quando o usurio usa a esfera do mouse para rolagem.

13

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


durante a execuo e garantir que seus objeto sejam renderizados na frente dos outros objeto no espao de ordem z de um clipe de filme pai. O mtodo MovieClip.getInstanceAtDepth() permite acessar dinamicamente instncias de MovieClip criadas usando a profundidade como ndice de pesquisa. O mtodo MovieClip.getSWFVersion() permite determinar qual verso do Flash Player um SWF carregado suporta. O mtodo MovieClip.getTextSnapshot() e o Objeto TextSnapshot permitem trabalhar com texto em campos de texto estticos de um clipe de filme. A propriedade MovieClip._lockroot permite especificar que um clipe de filme funcione 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 objeto e mtodos, e o System.capabilities object 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 deve rolar quando o ponteiro do mouse posicionado sobre o campo e o usurio rola 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.

14

Captulo 1: Novidades do ActionScript no Flash MX 2004

Novo modelo de segurana


Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). As regras do Flash Player que determinam se dois domnios so idnticos ou diferentes mudaram no Flash Player 7. Alm disso, regras que determinam se e como um arquivo SWF servido de um domnio HTTP pode acessar um SWF ou carregar dados de um domnio HTTPS foram alteradas. Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 195. Na maioria dos casos, essas alteraes no o afetam, a menos que voc esteja transferindo arquivos SWF existentes para o Flash Player 7. Entretanto, se voc possuir SWFs publicados para o Flash Player 6 ou anterior que carreguem dados de um arquivo armazenado em um servidor, e o SWF chamador for executado no Flash Player 7, o usurio poder ver uma caixa de dilogo que no havia aparecido antes, perguntando se o acesso deve ser permitido. Para evitar que essa caixa de dilogo aparea, implemente um arquivo de diretivas no site onde os dados esto armazenados. Para obter mais informaes, consulte Sobre compatibilidade com os modelos de segurana anteriores do Flash Player na pgina 199.

Transferindo scripts existentes para o Flash Player 7


Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na guia Help (Ajuda). 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 13.) Alm disso, o comportamento de alguns recursos existentes foi alterado. Se possuir scripts escritos para o Flash Player 6 ou anterior que deseja publicar no Flash Player 7, modifique os scripts para que atendam implementao do Flash Player 7 e funcionem como determinado. Essas modificaes so analisadas nesta seo. 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 (consulte Novo modelo de programao orientado a objeto na pgina 18), outros recursos foram adicionados e certos comportamentos foram alterados. Alm disso, ao publicar no Flash Player 7, voc pode declarar o tipo de objeto de uma varivel ao cri-la; esse recurso chama-se definio de tipos de dados estritos. Voc tambm pode converter um tipo de objeto em outro. Para obter mais informaes, consulte Atribuio estrita de tipos de dados na pgina 35 e Convertendo objeto na pgina 36. Esses recursos no exigem a atualizao de scripts existentes; entretanto, voc pode us-los ao publicar seus scripts em Flash Player 7 e, posteriormente, continuar a revis-los e aperfeio- los.

Transferindo scripts existentes para o Flash Player 7

15

Lembre-se de que as alteraes a seguir, que tambm aumentam a conformidade com ECMA, podem fazer com que scripts existentes passem a funcionar de forma diferente. Se tiver usado esses recursos em scripts existentes que deseja publicar no Flash Player 7, revise as alteraes feitas para garantir que o cdigo ainda funcione como desejado ou para determinar se preciso reescrev-lo.
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 25. Avaliar undefined em um contexto numrico retorna NaN. O valor de undefined.toString() undefined. Quando 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. SWF publicado para verses anteriores do 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. O valor de undefined.toString() "" (uma seqncia de caracteres vazia). Quando voc converter uma seqncia de caracteres em um valor booleano, a seqncia ser convertida primeiro em um nmero; o resultado ser true se o nmero for diferente de zero; caso contrrio, ser false.

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

16

Captulo 1: Novidades do ActionScript no Flash MX 2004

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. Em verses anteriores do Flash, s era possvel prender um script por vez. Navegador Script (somente Flash Professional) 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 do editor do ActionScript

17

Alteraes de depurao
Esta seo descreve as alteraes que melhoram a depurao de scripts.
Janela Output alterada para painel Output Agora voc pode mover e acoplar o painel Output da mesma forma que qualquer outro painel do Flash. Relatrio de erros aperfeioado no tempo de compilao Alm de fornecer uma manipulao de excees mais eficiente, o ActionScript 2 exibe diversos novos erros durante a compilao. Para obter mais informaes, consulte Apndice A, Mensagens de erro, na pgina 851. Manipulao de excees melhorada A classe Error e os comandos throw e try..catch..finally permitem implementar uma manipulao de excees mais

eficiente.

Novo modelo de programao orientado a objeto


A linguagem ActionScript cresceu e desenvolveu-se desde sua introduo, h vrios anos. Com cada nova verso do Flash, mais palavras-chave, objeto, 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 2. O ActionScript 2 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 oferece suporte a todos os elementos padro da linguagem ActionScript; ele simplesmente permite escrever scripts que atendam melhor aos padres usados em outras linguagens orientadas a objeto, como JavaScript e Java. O ActionScript 2 deve interessar principalmente a desenvolvedores de Flash intermedirios ou avanados que criem aplicativos que precisam da implementao de classes e subclasses. O ActionScript 2 tambm permite declarar o tipo de objeto de uma varivel quando voc a cria (consulte Atribuio estrita de tipos de dados na pgina 35) e fornece erros de compilador bem aprimorados (consulte Apndice A, Mensagens de erro, na pgina 851).

18

Captulo 1: Novidades do ActionScript no Flash MX 2004

Os novos elementos de linguagem do ActionScript 2 esto listados abaixo.

class extends implements interface dynamic static public private get set import

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

Os scripts que usam elementos de linguagem do ActionScript 2 devem ser armazenados como
arquivos de script externos, com uma nica classe definida em cada script; ou seja, o painel Actions no oferece suporte para a terminologia do ActionScript 2. (A nica exceo o comando import, que suportado no painel Actions.) Voc pode importar arquivos de classes individuais implicitamente (armazenando-os em um local especificado por caminhos de pesquisa globais ou especficos de documentos) ou explicitamente (usando o comando import); possvel importar (colees de arquivos de classe em um diretrio) usando caracteres curingas. Os aplicativos desenvolvidos com o ActionScript 2 so suportados pelo Flash Player 6 e verses posteriores. Entretanto, os arquivos que usam o ActionScript 2 e especificam o Flash Player 6 implementam a distino entre maisculas e minsculas durante a compilao, mas no durante a execuo; isso pode causar conflitos de tempo de execuo, cujo diagnstico pode ser difcil. Para obter mais informaes, consulte ActionScript 2, Flash Player 6 e distino entre maisculas e minsculas na pgina 26.

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

Novo modelo de programao orientado a objeto

19

20

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 um comando. 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 215.

Diferenas entre o ActionScript e o JavaScript


Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

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 importar ou exportar arquivos na pgina de cdigo tradicional do sistema, use 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, altere a preferncia de codificao de exportao ou desative o aviso nas preferncias do ActionScript.

21

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 do idioma do 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 cancele a seleo de Warn on Encoding Conflicts When Exporting .as Files

(Avisar em conflitos de codificao ao exportar arquivos .as).

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. so comandos que instruem um arquivo SWF a fazer algo enquanto reproduzido. Por exemplo, gotoAndStop() envia a reproduo para um quadro ou identificador especfico. Neste manual, os termos ao e comando so equivalentes.
Aes 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, 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 que a 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; } }

22

Captulo 2: Conceitos bsicos do ActionScript

O termo construtor tambm usado quando voc cria (instancia) um objeto baseado em uma classe especfica. Os comandos abaixo so construtores para a classe Array interna e a classe Circle personalizada:
my_array:Array = new Array(); my_circle:Circle = new Circle(); Tipos de dados descrevem que tipos de informaes um elemento do ActionScript ou varivel pode conter. Os tipos de dados do ActionScript so String (Seqncia de caracteres), Number (Nmero), Boolean (Booleano), Object (Objeto), MovieClip (Clipe de filme), Function (Funo), null (nulo) e undefined (indefinido). Para obter mais informaes, consulte Sobre tipos de dados na pgina 31. 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.

ou load. Existem dois tipos de manipuladores de eventos do ActionScript: mtodos de manipulador 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 de manipulador 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 48. Identificadores

Manipuladores de eventos so aes especiais que gerenciam eventos como mouseDown

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 objeto 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 instncia so nomes exclusivos que permitem fazer referncia a instncias de botes e clipes de filme em scripts. Use o inspetor Property (Propriedades) para atribuir nomes 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 de instncia scorePlayer1_mc e scorePlayer2_mc. O seguinte cdigo define uma varivel denominada score em 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 nomear instncias para que referncias de cdigo (consulte Usando referncias de cdigo na pgina 60) apaream medida que voc digita o cdigo. Para obter mais informaes, consulte Usando sufixos para ativar referncias de cdigo na pgina 58.

Terminologia

23

Palavras-chave so palavras reservadas que tm significado especial. Por exemplo, var uma palavra-chave usada para declarar variveis locais. No possvel usar uma palavra-chave como um identificador. Por exemplo, var no um nome de varivel legal. Mtodos so

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

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

so colees de propriedades e mtodos; cada objeto tem seu prprio nome e uma instncia de uma classe especfica. Objeto 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 (+) adiciona 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 seguinte funo welcome() usa dois valores que recebe nos parmetros firstName e hobby: function welcome(firstName, hobby) { welcomeText = "Hello, " + firstName + "I see you enjoy " + hobby; } 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.

so endereos hierrquicos de nomes de instncias de clipes de filme, variveis e objeto em um SWF. Voc pode dar um nome a uma instncia de clipe de filme no inspetor Property 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, o seguinte comando o caminho de destino da varivel volume dentro do clipe de filme stereoControl:
Caminhos de destino _root.stereoControl.volume

Para obter mais informaes sobre caminhos de destino, consulte Absolute and relative target paths (Caminhos de destino absolutos e relativos) em Usando a Ajuda do Flash. As variveis so identificadores que contm valores de qualquer tipo de dado. 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 dos sinais 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 36.

24

Captulo 2: Conceitos bsicos do ActionScript

Sintaxe
Como em qualquer linguagem, o ActionScript tem regras de sintaxe a serem seguidas para criar scripts que possam ser compilados e executados corretamente. Esta seo descreve os elementos que compem a sintaxe do ActionScript. Distino entre maisculas e minsculas Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). Em uma linguagem de programao que distingue maisculas e minsculas, nomes de variveis que diferem somente em sua primeira letra (book e Book) so considerados diferentes. No Flash, a distino entre maisculas e minsculas implementada de forma um pouco diferente, dependendo da verso do Flash Player especificada e da sua verso do ActionScript. Assim, independentemente do Flash Player especificado, recomendvel seguir convenes de maisculas e minsculas consistentes, como as usadas neste manual, para facilitar a identificao de nomes de funes e variveis no cdigo do ActionScript. 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 30 e Realce de sintaxe na pgina 57. Flash Player 7 ou posterior e distino entre maisculas e minsculas Quando voc publica arquivos para Flash Player 7 ou posterior, o Flash implementa a distino entre maisculas e minsculas durante a compilao e a execuo, independentemente do uso do ActionScript 1 ou ActionScript 2. Isso significa que palavras-chave, nomes de classes, variveis, nomes de mtodos e outros distinguem maisculas e minsculas. Por exemplo:
// Em arquivo que especifique o Flash Player 7 // e o ActionScript 1 ou o ActionScript 2 // // Define propriedades de dois objeto 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();

Sintaxe

25

Alm disso, a distino entre maisculas e minsculas implementada durante a compilao e a execuo para scripts externos, como arquivos de classe do ActionScript 2 ou scripts que voc importa com o comando #include. Assim, se voc fizer upgrade do Flash MX ou anterior para o Flash MX 2004 e j tiver criado arquivos externos adicionados aos scripts com o comando #include, ser necessrio revisar cada arquivo e confirmar o uso consistente de maisculas ou minsculas em todos eles. Uma forma de fazer isso abrir o arquivo na janela Script (somente Flash Professional) ou, em um novo arquivo FLA, definir as configuraes de publicao para o Flash Player 7 e copiar o contedo do arquivo para o painel Actions. Em seguida, use o boto Check Syntax (Verificar sintaxe) (consulte Verificando sintaxe e pontuao na pgina 63) ou publique o arquivo; os erros causados por conflitos de nomeao aparecero no painel Output (Sada). ActionScript 2, Flash Player 6 e distino entre maisculas e minsculas Quando voc especifica ActionScript 2 e Flash Player 6 na caixa de dilogo Publish Settings (Configuraes de publicao), a distino entre maisculas e minsculas de variveis (mas no de palavras-chave) implementada durante a compilao, mas no durante a execuo. Na prtica, essa implementao significa que erros de distino entre maisculas e minsculas, que podem impedir os programas de funcionarem corretamente durante a execuo, no aparecem durante a compilao. Por exemplo, no sero exibidos erros durante a compilao em funo da existncia de duas variveis score e Score em um script, embora elas possam estar em conflito e causar a falha silenciosa do script durante a execuo. Como o conflito no aparente durante a compilao, voc dever diagnosticar esse tipo de problema sozinho.
// Em arquivo que especifica o Flash Player 6 // e usa o ActionScript 2 // // Define propriedades de dois objeto diferentes durante a compilao // mas trata os dois como o mesmo objeto durante a execuo cat.hilite = true; CAT.hilite = true; // Cria trs variveis diferentes // mas trata as trs como a mesma varivel durante a execuo var myVar=10; var myvar=10; var mYvAr=10; // Gera erros durante a compilao var array = new Array(); var date = new Date();

26

Captulo 2: Conceitos bsicos do ActionScript

ActionScript 1, Flash Player 6 ou anterior e distino entre maisculas e minsculas Se voc usar o ActionScript 1 e especificar o Flash Player 6 ou anterior, a distino entre maisculas e minsculas no ser implementada. Os nomes de variveis que diferirem somente quanto ao uso de maisculas ou minsculas sero considerados idnticos. Alm disso, nomes de variveis no podero ser iguais a palavras-chave, mesmo se houver distino entre maisculas e minsculas.
// Em arquivo que especifica o Flash Player 6 ou anterior // e usa o ActionScript 1 // // Define propriedades de um nico objeto cat.hilite = true; CAT.hilite = true; // Cria uma varivel var myVar=10; var myvar=10; var mYvAr=10; // Gera erros durante a compilao var array = new Array(); var date = new Date();

Sintaxe de ponto No ActionScript, um ponto (.) usado 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 de 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 no comando abaixo:
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, o seguinte comando 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, o seguinte comando na instncia dog_mc informar que animal_mc deve parar:
_parent.stop();

Sintaxe

27

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 63. Pontos-e-vrgulas Um comando do ActionScript terminado 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.

28

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 ela entre parnteses da seguinte forma:
myFunction (Steve, 10, true);

Tambm possvel usar parnteses para substituir a ordem de precedncia do ActionScript ou para facilitar a leitura dos comandos do ActionScript. (Consulte Associatividade e precedncia de operadores na pgina 41.) Use parnteses tambm para avaliar uma expresso esquerda de um ponto em uma sintaxe de ponto. Por exemplo, no seguinte comando, os parnteses fazem com que new Color(this) avalie e crie um novo objeto Color:
onClipEvent (enterFrame){ (new Color(this)).setRGB(0xffffff); }

Se voc no usar parnteses, adicione um comando 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 63. 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, caso voc esteja trabalhando em um ambiente de colaborao ou fornecendo amostras. 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 57), 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

29

Para comentar uma parte inteira do script, coloque o comentrio em bloco, em vez de adicionar // ao incio de cada linha. Essa tcnica mais fcil e til quando voc deseja testar somente partes de um script comentando grandes sees dele. Para criar um bloco de comentrio, coloque /* no incio das linhas comentadas e */ no fim. Por exemplo, quando o seguinte script executado, a parte do cdigo contida no bloco no executada:
// O cdigo abaixo 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, funes ou rtulos. A tabela seguinte lista todas as palavras-chave do ActionScript:
break default extends if instanceof public switch void case delete for implements interface return this while class dynamic function import new set typeof with continue else get in private static var

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 o seguinte comando:
if(Key.getCode() == Key.ENTER) { alert = "Are you ready to play?"; controlMC.gotoAndStop(5); }

30

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 dados do tipo primitivo String, Number e Boolean tm um valor constante e, portanto, podem manter o valor real do elemento que representam. Os de referncia MovieClip e Object tm valores que podem ser alterados e, portanto, contm referncias ao valor real do elemento. Em determinadas situaes, as variveis que contm tipos de dados primitivos comportam-se de maneira diferente das que contm tipos de dados de referncia. (Consulte Usando variveis em um programa na pgina 39.) Existem tambm dois tipos de dados especiais: null e undefined. No Flash, qualquer objeto interno que no seja do tipo de dado primitivo ou de clipe de filme, como Array ou Math (Matemtica), ser do tipo de dado Object. Cada tipo de dado possui suas prprias regras e descrito nos seguintes tpicos:

String na pgina 31 Number na pgina 32 Boolean na pgina 32 Object na pgina 33 MovieClip na pgina 33 Null na pgina 33 Undefined na pgina 33

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 34). Voc pode converter um tipo de dado 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 comandos do ActionScript colocando-as entre aspas simples ou duplas. As seqncias de caracteres so tratadas como caracteres e no como variveis. Por exemplo, no seguinte comando, "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 no 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

31

Para incluir aspas em uma seqncia de caracteres, coloque uma barra invertida (\) antes dessas aspas. Isso chamado de caractere de escape. H outros caracteres que s podem ser representados no ActionScript por seqncias de escape especiais. A tabela seguinte fornece todos os caracteres de escape do ActionScript:
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 42. 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 comandos do ActionScript que fazem comparaes para controlar o fluxo de um script. Por exemplo, no seguinte script, o SWF ser reproduzido se a varivel password for true:
onClipEvent (enterFrame){ if (userName == true && password == true){ play(); } }

Consulte Usando funes internas na pgina 47 e Operadores lgicos na pgina 43.

32

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 dado do Flash, at mesmo um tipo de dado de objeto. Isso permite aninhar os objeto, ou seja, organiz-los uns dentro dos outros. Para especificar os objeto e suas propriedades, use o operador ponto (.). Por exemplo, no seguinte cdigo, hoursWorked uma propriedade de weeklyStats, que por sua vez uma propriedade de employee:
employee.weeklyStats.hoursWorked

possvel usar os objeto internos do ActionScript para acessar e manipular tipos especficos de 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 controlar instncias de smbolos de clipes de filme no Stage. Este exemplo usa os mtodos play() e nextFrame():
mcInstanceName.play(); mc2InstanceName.nextFrame();

Voc tambm pode criar objeto 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 objeto 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. O tipo de dado MovieClipe o nico que faz referncia a elementos grficos. Ele 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 dado 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 valor de retorno de uma funo, para indicar que no havia valor disponvel a ser
retornado pela funo Como parmetro de uma funo, para indicar a omisso de um parmetro

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

Sobre tipos de dados

33

Determinando o tipo de dados de um item Ao testar e depurar seus programas, voc pode descobrir problemas que parecem estar relacionados aos tipos de dados de itens diferentes. Nesses casos, voc pode determinar o tipo de dado de um item. Para isso, use o operador typeof, como mostrado neste exemplo:
trace(typeof(variableName));

Para obter mais informaes sobre testes e depurao, consulte Captulo 3, Escrevendo e depurando scripts, na pgina 51.

Atribuindo tipos de dados a elementos


O 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 Objeto 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 35. 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 dado number. Uma atribuio posterior pode alterar o tipo de x; por exemplo, o comando 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"

34

Captulo 2: Conceitos bsicos do ActionScript

Atribuio estrita de tipos de dados O ActionScript 2 permite declarar explicitamente o tipo de objeto de uma varivel quando voc a cria; isso se chama Atribuio estrita de tipos de dados. Como erros de tipos de dados causam erros do compilador, a Atribuio estrita de tipos de dados ajuda a evitar atribuir o tipo de dados errado a uma varivel existente. Para atribuir um tipo de dados especfico a um item, defina seu tipo usando a sintaxe ps-dois-pontos:
// atribuio de tipo de dados estrita de varivel var x:Number = 7; // 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; } // atribuio de tipo de dados estrita de objeto var my_date:Date = new Date();

Voc pode declarar o tipo de dado de objeto baseado 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 objeto que criar sejam do tipo Student:
var student:Student = new Student();

Voc tambm poder especificar que os objeto sejam do tipo Function. 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:
// na definio do constutor para a classe Student var status:Boolean; // propriedade de objeto 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 de tipo de dados estrita que o Flash MX 2004 exibe automaticamente referncias de cdigo para objeto internos quando o tipo de dados atribudo a eles estritamente. Para obter mais informaes, consulte Atribuindo tipo a objeto estritamente para ativar referncias de cdigo na pgina 58. O ActionScript 1 no oferece suporte para a atribuio de tipo de dados estrita. Embora um script com comandos de atribuio de tipo de dados estrita possa parecer ser compilado corretamente no ActionScript 1, o SWF talvez no funcione como desejado. Alm disso, quando voc usa o ActionScript 2 e especifica Flash Player 6, o suporte durante a execuo para a atribuio de tipo de dados estrita no est presente. O resultado pode ser a atribuio de um objeto a uma varivel do tipo incorreto, fazendo com que o compilador permita que chamadas de mtodo ilegais e referncias de propriedade no definidas sejam passadas sem serem relatadas.

Atribuindo tipos de dados a elementos

35

Convertendo objeto O operador de converso usado pelo Flash tem a forma de uma chamada de funo e simultneo coero explcita, conforme especificado na proposta ECMA-262 edio 4. Ele permite afirmar que um objeto seja de um certo tipo, para que, quando a verificao de tipo ocorrer, o compilador possa ver o objeto com um conjunto de propriedades que o tipo inicial no contm. Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

Sobre variveis
Uma varivel um recipiente que contm informaes. O recipiente sempre o mesmo, mas o contedo pode mudar. Ao alterar o valor de uma varivel quando o SWF estiver sendo reproduzido, voc poder registrar e salvar informaes sobre as atividades do usurio, gravar valores que mudam medida que o 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 inicializar uma varivel e geralmente feito no primeiro quadro do SWF. A inicializao de variveis facilita o controle e a comparao do valor da varivel durante a reproduo do SWF. Variveis podem armazenar qualquer tipo de dados (consulte Sobre tipos de dados na pgina 31). 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 SWF e instncia de clipe de filme tem um conjunto de variveis, no qual cada varivel tem um valor independentemente das variveis em outros SWFs 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 o comando trace na pgina 75 e Exibindo e modificando variveis na pgina 68.

36

Captulo 2: Conceitos bsicos do ActionScript

Nomeando uma varivel O nome de uma varivel deve seguir estas regras:

Ele deve ser um identificador (consulte Terminologia na pgina 22). No pode ser uma palavra-chave nem um literal do ActionScript como true, false, null ou
undefined.

Ele deve ser exclusivo em seu escopo (consulte Atribuindo um escopo e declarando variveis
na pgina 37). Alm disso, no use qualquer elemento na linguagem ActionScript como um nome de varivel; isso pode causar erros de sintaxe ou resultados inesperados. Por exemplo, se voc nomear uma varivel String 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 se baseiem nessas 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 nome-la usando um sufixo especfico. 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 objeto Array. Para obter mais informaes, consulte Escrevendo cdigo para ativar referncias de cdigo na pgina 57. 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 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 168 e Criando membros de classe na pgina 169.

Sobre variveis

37

Variveis locais Para declarar variveis locais, use o comando var dentro do corpo de uma funo. O escopo de uma varivel local o bloco e expira ao final desse bloco. Uma varivel local no declarada dentro de um bloco expira ao final de seu script. Por exemplo, as variveis i e j so usadas com freqncia para contagem de repeties. No exemplo seguinte, i usado como uma varivel local; ela s existe dentro da funo makeDays():
function makeDays() { var i; for( i = 0; i < monthArray[month]; i++ ) { _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 nomes, que podem causar erros no aplicativo. Por exemplo, se usar name como uma varivel local, voc 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 h conflitos. 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 ir alterar a funo. 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. Certifique-se de inicializar a varivel antes de acess-la em um script. Por exemplo, se voc colocar o cdigo var x = 10; no quadro 20, um script anexado a qualquer quadro antes do Quadro 20 no poder acessar essa varivel.

38

Captulo 2: Conceitos bsicos do ActionScript

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, o comando 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

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;

Sobre variveis

39

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 solicita 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.
zeroArray()

No exemplo abaixo, myArray contm um objeto Array, portanto, ela passada para a funo 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 passada por referncia.

40

Captulo 2: Conceitos bsicos do ActionScript

Usando operadores para manipular valores em expresses


Uma expresso qualquer comando 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, no comando 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 215. Associatividade e precedncia de operadores Quando dois ou mais operadores so usados no mesmo comando, 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. 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, os dois comandos 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 857.

Usando operadores para manipular valores em expresses

41

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 comandos condicionais. No exemplo a seguir, se a varivel score for 100, um determinado SWF ser carregado; caso contrrio, ser carregado outro SWF :
if (score > 100){ loadMovieNum("winner.swf", 5); else { loadMovieNum("loser.swf", 5); }

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

42

Captulo 2: Conceitos bsicos do ActionScript

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, o comando 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 os dois 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

Usando operadores para manipular valores em expresses

43

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 objeto ou arrays, 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

44

Captulo 2: Conceitos bsicos do ActionScript

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

Voc tambm pode usar o operador de atribuio para atribuir diversas variveis na mesma expresso. No comando 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, os dois comandos 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, enviar 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

Usando operadores para manipular valores em expresses

45

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 nomeada. 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 instncia 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 um comando de atribuio. Isso permite que voc defina dinamicamente nomes de objeto, variveis e instncias, conforme mostrado no exemplo seguinte:
name[index] = "Gary";

Crie arrays multidimensionais no ActionScript construindo um array cujos elementos tambm so arrays. Para acessar elementos de um array multidimensional, voc pode aninhar o operador de acesso de array nele mesmo, como 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 63.

46

Captulo 2: Conceitos bsicos do ActionScript

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, no comando seguinte, a propriedade _alpha do clipe de filme chamado star definida com 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 Property.


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 SWF carregado no nvel 5 possui o caminho de destino _level5. No exemplo a seguir, um 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, 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 Absolute and relative target paths (Caminhos de destino absolutos e relativos) em Usando a Ajuda do 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 tem 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.

Usando funes internas

47

Cada funo tem suas prprias caractersticas e algumas exigem a passagem de 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 dado 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 em Captulo 12, Dicionrio do ActionScript, na pgina 215.

Criando funes
Voc pode definir funes para executar uma srie de comandos 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 dos comandos 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 um comando. Voc pode usar um literal de funo para definir uma funo, retornar seu valor e atribu-la a uma varivel em uma expresso, como mostrado no exemplo seguinte:
area = (function() {return Math.PI * radius *radius;})(5);

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

48

Captulo 2: Conceitos bsicos do ActionScript

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, recomendvel usar comentrios de script para documentar essas modificaes. Retornando valores de uma funo Use a ao return para retornar valores de funes. A ao return interrompe a funo e a substitui pelo valor da ao return. Se o Flash no encontrar uma ao return antes do trmino de uma funo, uma seqncia de caracteres vazia ser retornada. Por exemplo, a funo a seguir retorna o quadrado do parmetro x:
function sqr(x) { return x * x; }

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; }

Criando funes

49

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, o comando 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);

50

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 escrever arquivos de classe do ActionScript 2, armazene 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 52). Para escrever arquivos de script externos, use qualquer editor de texto ou de cdigo. No Flash MX Professional, tambm possvel usar a janela Script interna. Para obter mais informaes, consulte Usando o painel Actions e a janela Script na pgina 54. 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 57. 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 de documentos) em Usando a Ajuda do 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 64.

51

Controlando o momento em que o ActionScript executado


Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na guia Help (Ajuda). 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 SWF renderizado de forma incremental os objeto 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 objeto do quadro esto disponveis. Os scripts anexados a clipes de filmes ou botes so executados quando ocorre um evento. Um evento uma ocorrncia no SWF, como um movimento de mouse, um pressionamento de tecla ou o carregamento 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 79. Para executar uma ao, dependendo da existncia de uma condio, ou para repetir uma ao, use os comandos if, else, else if, for, while, do while, for..in ou switch, que so descritos rapidamente no restante desta seo. Verificando uma condio Os comandos que verificam se uma condio true ou false comeam com o termo if. Se a condio existir, o ActionScript executar o comando seguinte. Se a condio no existir, o ActionScript passar para o prximo comando fora do bloco de cdigo. Para otimizar o desempenho do cdigo, verifique as condies mais provveis primeiro. Os comandos seguintes 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 o comando switch em vez de vrios comandos 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 o comando while.


Uma repetio while avalia uma expresso e executa o cdigo no corpo da repetio se a expresso for true. Depois que cada comando do corpo for executado, a expresso ser avaliada novamente. No exemplo seguinte, a repetio executada quatro vezes:

52

Captulo 3: Escrevendo e depurando scripts

i = 4; while (var i > 0) { my_mc.duplicateMovieClip("newMC" + i, i ); i--; }

Voc pode usar o comando 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); Para repetir uma ao usando um contador interno:

Use o comando 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 um comando que aumente ou diminua a varivel sempre que a repetio for executada. Na ao for, o contador e o comando 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 o comando for..in.


Os filhos so outros clipes de filme, funes, objeto e variveis. O exemplo a seguir usa o comando 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 em Captulo 12, Dicionrio do ActionScript, na pgina 215.

Controlando o momento em que o ActionScript executado

53

Usando o painel Actions e a janela Script


Para obter as informaes mais recentes sobre este tpico, clique no boto Update na parte superior da guia Help. 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 a reutilizao do cdigo em vrios arquivos FLA. Depois, no arquivo FLA, crie um script que use comandos #include para acessar o cdigo armazenado externamente. Use o sufixo .as para identificar os scripts como arquivos do ActionScript (AS). (Se escrever arquivos de classe personalizados, armazene-os 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, salve-o e recompile os arquivos FLA que o utilizam.

Ao incorporar o cdigo do ActionScript ao arquivo FLA, voc pode anexar cdigo a quadros e objeto. 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 objeto, 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 seu editor de texto preferido ou, no Flash MX 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 Windows.)

Se no centralizar todo o cdigo de um arquivo FLA em um local, voc 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 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). Para mover-se pelos scripts presos, clique nas guias. Mover-se por scripts presos no altera sua posio atual na Timeline.

54

Captulo 3: Escrevendo e depurando scripts

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 direita na figura a seguir, o script j estar preso; clicar no cone o desprender.) 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 desprender (fechar) 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, clique no cone de tachinha direita da guia. (Se a tachinha for parecida com o cone esquerda na figura a seguir, o script j estar solto; clicar no cone o prender.) 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.

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.

Usando o painel Actions e a janela Script

55

No painel Actions do Flash Professional, a caixa de ferramentas Actions tambm contm um navegador Script, que uma representao visual da estrutura do arquivo FLA: voc pode navegar pelo arquivo FLA aqui 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.
Aes (somente Flash Professional) caixa de ferramentas Navegador Script* pop-up Menu*

* Somente painel Actions

Existem tambm vrios botes acima do painel Script:


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

* Somente painel Actions

Voc pode editar aes, digitar parmetros para aes ou excluir aes diretamente no painel Script. Pode tambm usar a caixa de ferramentas Actions e o boto Add (+) (Adicionar) para adicionar aes ao painel Script. (Para obter mais informaes sobre como usar a caixa de ferramentas Actions, consulte Usando a caixa de ferramentas Actions na pgina 61.)

56

Captulo 3: Escrevendo e depurando scripts

Usando o editor do ActionScript


O Flash MX 2004 e o Flash MX Professional 2004 fornecem vrias ferramentas para ajudar voc a escrever cdigos sintaticamente corretos 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. Por exemplo, se a verso do SWF do Flash Player estiver definida como Flash 6, o ActionScript que s tem suporte do 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 Flash SWF) em Usando a Ajuda do 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 verdeescuro. 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. Escrevendo cdigo para 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 um tipo estritamente aos seus objeto ou os nomeia 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 60.
Observao: A referncia de cdigo ativada automaticamente para classes nativas que no exigem a criao e a nomeao de um objeto da classe, como Math, Key, Mouse etc.

Usando o editor do ActionScript

57

Atribuindo tipo a objeto estritamente para ativar referncias de cdigo Com o ActionScript 2, voc pode atribuir um tipo estritamente a uma varivel que se baseia em 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 objeto Array, porque voc atribui o tipo array varivel. Para obter mais informaes sobre como atribuir tipos de dados, consulte Atribuio estrita de tipos de dados na pgina 35. Para obter informaes sobre como usar referncias de cdigo quando elas aparecerem, consulte Usando referncias de cdigo na pgina 60. Usando sufixos para ativar referncias de cdigo Se usar o ActionScript 1 ou se desejar exibir referncias de cdigo para objeto criados por voc sem atribuir um tipo estritamente a eles (consulte Atribuindo tipo a objeto estritamente para ativar referncias de cdigo na pgina 58), 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 objeto que aparecem no Stage, use o sufixo na caixa de texto Instance Name (Nome de instncia) no inspetor Property (Propriedades). Por exemplo, para exibir referncias de cdigo de objeto MovieClip, use o inspetor Property para atribuir nomes de instncia com o sufixo _mc a todos os objeto 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. 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 Sufixo da varivel _array _btn _cam _color _cm _cmi _date _err

58

Captulo 3: Escrevendo e depurando scripts

Tipo de objeto LoadVars LocalConnection Microphone MovieClip MovieClipLoader PrintJob NetConnection NetStream SharedObject Sound String TextField TextFormat Video XML XMLNode XMLSocket

Sufixo da varivel _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 60. 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 de tipo de dados estrita (consulte Atribuindo tipo a objeto estritamente para ativar referncias de cdigo na pgina 58) ou sufixos (consulte Usando sufixos para ativar referncias de cdigo na pgina 58) em vez dessa tcnica, porque eles ativam automaticamente a referncia de cdigos e tornam o cdigo mais compreensvel.

Usando o editor do ActionScript

59

Usando referncias de cdigo As referncias de cdigo so ativadas por padro. Ao definir preferncias, possvel desativar as 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 > Preferences e ative ou desative Code Hints (Referncias de cdigo) na guia
ActionScript. No painel Actions, selecione Preferences no menu pop-up Options, 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, talvez prefira 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.

Observao: Se uma referncia de cdigo no aparecer, certifique-se de no ter desativado as referncias na guia ActionScript. Para exibir referncias de cdigo para uma varivel ou objeto criado por voc, verifique se voc nomeou a varivel ou o objeto corretamente (consulte Usando sufixos para ativar referncias de cdigo na pgina 58) ou se atribuiu um tipo estritamente varivel ou ao objeto (consulte Atribuindo tipo a objeto estritamente para ativar referncias de cdigo na pgina 58).

2 Digite um valor para o parmetro. Se houver mais de um parmetro, separe 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 do comando. Pressione Escape.

60

Captulo 3: Escrevendo e depurando scripts

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 da referncias de cdigo exibido.

Observao: Se uma referncia de cdigo no aparecer, certifique-se de no ter desativado as referncias na guia ActionScript. Para exibir referncias de cdigo para uma varivel ou objeto criado por voc, verifique se voc nomeou a varivel ou o objeto corretamente (consulte Usando sufixos para ativar referncias de cdigo na pgina 58) ou se atribuiu um tipo estritamente varivel ou ao objeto (consulte Atribuindo tipo a objeto estritamente para ativar referncias de cdigo na pgina 58).

2 Para navegar pelas referncias de cdigo, use as teclas de seta para cima e 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 do comando. Digite um parnteses de fechamento [)] caso j tenha digitado um parnteses de abertura. Pressione Escape.

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 um comando ou uma instruo, 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. Se estiver trabalhando no painel Actions, abra o menu pop-up, no lado direito da barra de ttulo, e selecione Show Code Hint. Usando a caixa de ferramentas Actions Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

Usando o editor do ActionScript

61

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 colocado no script, e o ponto de insero ser colocado entre os parnteses, para que seja possvel comear a digitar a condio:
catch () { }

Para aprender (ou ser lembrado) quais comandos tm teclas de atalho de Escape, exiba-os ao lado de elementos do 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).

62

Captulo 3: Escrevendo e depurando scripts

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).


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.
Para definir opes de formato:

1 No painel Actions, selecione Auto Format Options (Opes de formatao automtica) no

menu pop-up Options, no canto superior direito do painel. 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).

Usando o editor do ActionScript

63

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, 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 restante desta seo, permite localizar erros em um 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 objeto (consulte Usando
o painel Output na pgina 73) O comando trace, que envia observaes de programao e valores de expresso para o painel Output (consulte Usando o comando trace na pgina 75) Os comandos 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 durante a execuo e de compilador abrangentes, que permitem diagnosticar e solucionar problemas mais facilmente (consulte Apndice A, Mensagens de erro, na pgina 851)

O Debugger mostra uma lista hierrquica de clipes de filme carregados atualmente no Flash Player. Com o Debugger, voc pode exibir e modificar os valores de variveis e propriedades durante a reproduo do SWF, e pode usar pontos de interrupo para interromper o SWF e executar uma depurao direta do 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.

64

Captulo 3: Escrevendo e depurando scripts

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 filme 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 filme, 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 SWFs 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 de depurao para proteger seu trabalho. 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 na mesma pasta do arquivo SWF no servidor.
Observao: S possvel depurar remotamente SWFs que foram criados com a verso da ferramenta de criao que voc usou. Por exemplo, se estiver usando o Flash MX 2004, voc s poder depurar remotamente SWFs publicados para Flash Player 7.

Depurando scripts

65

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

66

Captulo 3: Escrevendo e depurando scripts

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, pressionando Control, clique (Macintosh) no SWF para exibir o menu de contexto e selecione Debugger.

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 Other Machine se o Debug Player e o aplicativo de criao Flash no estiverem no mesmo computador. Digite o endereo IP do computador que executa o aplicativo de criao Flash. 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.

Depurando scripts

67

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 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 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 SWF reproduzido. Se um clipe de filme for removido do SWF em um quadro especfico, esse clipe ser removido da lista de exibio do Debugger juntamente com sua varivel e o nome da varivel. Entretanto, se voc marcar uma varivel para a lista de observao (consulte Usando a lista de observao na pgina 69), 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 o comando trace. Consulte Usando o comando trace na pgina 75.

68

Captulo 3: Escrevendo e depurando scripts

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 aparecem durante a reproduo do 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 com o boto direito do mouse (Windows) ou, pressionando Control, clique (Macintosh) e selecione Add 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.

Depurando scripts

69

Exibindo propriedades do clipe de filme e alterando propriedades editveis No Debugger, a guia Properties exibe todos os valores de propriedades de qualquer clipe de filme no Stage. possvel alterar um valor e ver o efeito no arquivo SWF durante sua reproduo. Algumas propriedades de clipe de filme so somente leitura e no podem ser alteradas.
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 array (por exemplo, {id: "rogue"} ou [1, 2, 3]) no Debugger. Para obter mais informaes, consulte Operadores de seqncia de caracteres na pgina 43 e Usando operadores para manipular valores em expresses na pgina 41.
Observao: Para escrever o valor de uma expresso para o painel Output no modo de teste, use o comando trace. Consulte Usando o comando trace na pgina 75.

70

Captulo 3: Escrevendo e depurando scripts

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 comandos if..else if e no conseguir determinar qual deles est em execuo, adicione um ponto de interrupo antes dos comandos e execute uma depurao direta de cada um 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.
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, 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).

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. (ConsulteNo painel Actions, se o ponto de interrupo for definido em um comentrio ou em uma linha em branco, ele ser ignorado.

Depurando scripts

71

Depurando direto as linhas de cdigo No incio de uma sesso de depurao, o Flash Player interrompido. Se voc definir pontos de interrupo no painel Actions, basta clicar no boto Continue (Continuar) para reproduzir o SWF at alcanar 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 executar uma depurao total para trazer o Debugger at a primeira linha da funo myFunction(), independentemente do local em que ela esteja definida no documento. Tambm possvel executar uma depurao direta ou circular da funo. Se voc no definir pontos de interrupo no painel Actions, use 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. medida que voc executa a depurao direta das linhas de cdigo, os valores de variveis e as propriedades so alterados na lista de observao e nas guias Variables, Locals e Properties. A seta amarela do lado esquerdo da visualizao de cdigo do Debugger indica a linha em que o Debugger parou. Use os seguintes botes localizados na parte superior da visualizao de cdigo:
Continue Stop Debugging Toggle Breakpoint Remove All Breakpoints

Step Out Step In Step Over

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;

72

Captulo 3: Escrevendo e depurando scripts

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 sai da linha em que o exibidor est parado e continua a reproduo at alcanar um ponto de interrupo. Stop Debugging (Parar a depurao)

desativa o Debugger, mas continua a reproduzir o SWF

no Flash Player.

Usando o painel Output


No modo de teste, o painel Output 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 objeto) e List Variables (Listar variveis). (Consulte Listando os objeto de um arquivo SWF na pgina 74 e Listando as variveis de um arquivo SWF na pgina 74.) Se voc usar o comando trace em seus scripts, poder enviar informaes especficas para o painel Output enquanto o SWF executado. Essas informaes podem incluir observaes sobre o status do SWF ou o valor de uma expresso. (Consulte Usando o comando trace na pgina 75.) 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 SWF.

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

Usando o painel Output

73

Listando os objeto de um arquivo SWF No modo de teste, o comando List Objects exibe o nvel, o quadro, o tipo de objeto (forma, clipe de filme ou boto), caminhos de destino e nomes de instncia 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 da instncia corretos. Ao contrrio do Debugger, a lista no atualizada automaticamente enquanto o SWF exibido. Selecione o comando List Objects sempre que desejar enviar as informaes para o painel Output. O comando List Objects no lista todos os objeto de dados do ActionScript. Nesse contexto, um objeto considerado como uma forma ou smbolo no Stage.
Para exibir uma lista de objeto 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 objeto 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 exibe uma lista de todas as variveis atualmente no arquivo SWF. Essa lista especialmente til para localizar o caminho de destino e o nome da varivel corretos. Ao contrrio do Debugger, a lista no atualizada automaticamente enquanto o SWF exibido. Selecione o comando List Variables sempre que desejar enviar as informaes para o painel Output.
_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.

Para exibir uma lista de variveis em um SWF:

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

Uma lista de todas as variveis atualmente no 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 }

74

Captulo 3: Escrevendo e depurando scripts

Usando o comando trace Ao usar o comando 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. O comando trace semelhante ao comando JavaScript alert. Quando o comando trace usado 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:

O comando trace retorna valores que aparecem no painel Output.


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

Atualizando o Flash Player para teste


possvel fazer o download da verso mais recente do Flash Player do site da Macromedia na Web e us-la para testar os arquivos SWF.

Atualizando o Flash Player para teste

75

76

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 teclas pressionadas, 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Captulo 5: Criando interao com o ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

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 de manipuladores de eventos, ouvintes de eventos e manipuladores de eventos de botes e clipes de filme.

Usando mtodos de manipuladores de eventos


Um mtodo de manipulador de eventos um mtodo de classe chamado quando ocorre um evento em uma instncia dessa classe. Por exemplo, a classe Button define um manipulador de evento 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 de 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 o comando 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 de manipulador de eventos 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 }

79

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 de manipulador de eventos e definir a funo posteriormente.
// Atribua uma referncia de funo ao mtodo de manipulador de eventos 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 215. Voc tambm pode atribuir funes a manipuladores de eventos para objeto 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 124.

80

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 objeto 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 de manipuladores de eventos na pgina 79), 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.

Usando ouvintes de eventos

81

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 Property (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. Certifique-se de que a opo Show Border Around Text no esteja 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. 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 objeto 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 215.

Usando manipuladores de eventos de boto e clipe de filme


Voc pode anexar manipuladores de eventos diretamente a uma instncia de boto ou 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. Para obter mais informaes, consulte Criando clipes de filme com estados de boto na pgina 84.

82

Captulo 4: Manipulando eventos

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"); }

Voc tambm pode 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 630 e onClipEvent() na pgina 631. A manipulao de eventos atravs de on() e onClipEvent() no entra em conflito com a manipulao de eventos atravs de mtodos de manipulador de eventos definidos por voc. Por exemplo, imagine que exista um boto em um arquivo SWF; o boto pode ter um manipulador on(press), que instrua o SWF a ser reproduzido, e pode ter um mtodo onPress, para o qual voc define uma funo que instrui um objeto do Stage a girar. Quando o usurio clica no boto, o SWF reproduzido e o objeto gira. Dependendo de sua preferncia, voc pode usar on() e onClipEvent(), mtodos de manipulador de eventos ou os dois tipos de manipulao de eventos. Entretanto, o escopo de variveis e objeto em manipuladores on() e onClipEvent() diferente daquele em manipuladores e ouvintes de eventos. (Consulte Escopo do manipulador de eventos na pgina 84.) Voc s pode anexar onClipEvent() e on() a ocorrncias 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 objeto criados durante a execuo, use mtodos de manipuladores de eventos ou ouvintes de eventos. (Consulte Usando mtodos de manipuladores de eventos na pgina 79 e Usando ouvintes de eventos na pgina 81.)

Usando manipuladores de eventos de boto e clipe de filme

83

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 Property (_up, _over ou _down). 3 Para adicionar outros estados de boto, repita as etapas 1 e 2. 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 82. 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 de manipuladores de eventos na pgina 79.

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 de 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.

84

Captulo 4: Manipulando eventos

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 evento on() a seguir produzir resultados diferentes, dependendo de estar anexado a um objeto de clipe de filme ou 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 pai } // Anexado ao clipe de filme on(press){ play(); // reproduz a Timeline do clipe de filme }

Ou seja, quando anexado a um objeto de boto, a chamada de mtodo play() aplica-se Timeline que contm o boto, isto , a Timeline pai 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 ou ouvinte de evento, a mesma funo se aplicar Timeline que contm a definio de funo. Por exemplo, imagine que a funo de manipulador de evento MovieClip.onPress seguinte foi declarada na Timeline que contm a instncia de clipe de filme myMovieClip.
play() // 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, refira-se explicitamente 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 do manipulador de eventos

85

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 objeto diferentes.
Em uma funo de manipulador ou ouvinte de eventos, this refere-se ao objeto que define o mtodo de manipuladores ou ouvintes de eventos. Por exemplo, no cdigo a seguir this refere-se a myClip. // manipulador de evento onPress() anexado a _level0.myClip: myClip.onPress = function () { trace(this); // exibe '_level0.myClip' } Em um manipulador on() anexado a um clipe de filme, this 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 ao clipe de filme ao qual

refere-se Timeline que contm o boto.

86

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 SWF, mover objeto, 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 SWF a interromper a reproduo, ou uma srie de comandos e instrues, como primeiro avaliar uma condio e depois executar uma ao. Muitos comandos do ActionScript so simples e permitem criar controles bsicos para um 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 de 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 79.

87

Controlando a reproduo do 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() no manipulador de eventos onRelease de um objeto de boto para enviar a reproduo da Timeline que contm o boto para o Frame (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 SWF no fim de uma cena antes de passar para a cena seguinte. Depois que um SWF pra, ele deve ser iniciado explicitamente outra vez chamando 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 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. O seguinte manipulador on(press) anexado a um boto inicia a reproduo movendo o 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(); }

88

Captulo 5: Criando interao com o ActionScript

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. Os comandos includos em um manipulador on(), quando anexado a um objeto de boto, sero aplicados Timeline que contm o boto, por padro. Entretanto, os comandos includos em um manipulador on(), quando anexado a um objeto de clipe de filme, sero aplicados 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 objeto 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 enviar 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;

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 432.

Controlando a reproduo do SWF

89

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 ocorrncia do clipe de filme no Stage. 3 Selecione Window > Development Panels > Actions 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(); }

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 806.)

90

Captulo 5: Criando interao com o ActionScript

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 objeto medida que voc move o mouse no 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, defina 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 de Classe Mouse em Captulo 12, Dicionrio do ActionScript, na pgina 215. Obtendo a posio do mouse Voc pode usar as propriedades _xmouse e _ymouse para localizar o ponteiro do mouse (cursor) em um 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

91

Para obter a posio atual do mouse na Timeline principal:

1 Crie duas caixas de texto dinmicas e nomeie-as 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 a qualquer quadro no SWF _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 do clipe de filme no Stage. Com o inspetor Property (Propriedades),

nomeie-a como 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, o comando a seguir pode ser colocado em qualquer Timeline no SWF _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 = _xmouse; ymousePosition = _ymouse; }

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

92

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) 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 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 859.

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 > Test Movie e pressione a tecla desejada.
onClipEvent(load) { trace(Key.getCode()); }

O cdigo da tecla desejada exibido no painel Output.

Criando interatividade e efeitos visuais

93

Um lugar comum para se usar os mtodos da classe Key em um manipulador de eventos. No exemplo abaixo, 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 comandos 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 tecla para mover um clipe de filme para cima, para baixo, para a esquerda ou para a direita no Stage, 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.

94

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 Property, fornea a ela um nome de instncia 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 136.

3 Selecione Frame 1 na Timeline; em seguida, selecione Window > Development Panels >

Actions 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 um comando with ao corpo do manipulador onEnterFrame e especifique car como

o objeto do comando 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 correspondente, adicione este cdigo ao corpo do comando with.


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. O prximo comando 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 SWF.

Criando interatividade e efeitos visuais

95

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

sendo pressionadas.
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 em Captulo 12, Dicionrio do ActionScript, na pgina 215.

96

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 Property, insira carColor como o nome da instncia. 3 Crie um boto chamado color chip, coloque quatro instncias do boto no Stage e nomeie-as

como red, green, blue e black. 4 Selecione Frame 1 na Timeline principal e selecione Window > Development Panels > Actions. 5 Para criar um novo 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) }

Criando interatividade e efeitos visuais

97

O valor hexadecimal 0x0000ff azul. A tabela a seguir exibe as outras cores que voc usar e seus valores hexadecimais.
Cor Vermelho Verde Azul Preto Valor hexadecimal
0xff0000 0x00ff00 0x0000ff 0x000000

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 em Captulo 12, Dicionrio do ActionScript, na pgina 215.

98

Captulo 5: Criando interao com o ActionScript

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 novo 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. 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.

Criando interatividade e efeitos visuais

99

Para anexar um som a uma Timeline:

1 Selecione File > Import para importar um som. 2 Selecione um som na biblioteca, clique com o boto direito (Windows) ou, pressionando 3 4 5 6 7

Control, clique (Macintosh) e selecione Linkage (Vinculao). Selecione Export for ActionScript (Exportar para ActionScript) e Export in First Frame (Exportar no primeiro quadro); em seguida, especifique o identificador a_thousand_ways. Adicione um boto ao Stage e nomeie-o como playButton. Adicione um boto ao Stage e nomeie-o como stopButton. Adicione um clipe de filme ao Stage e nomeie-o como speaker. 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 objeto playButton e stopButton iniciam e interrompem o som usando os mtodos Sound.start() e Sound.stop(), alm de iniciar e interromper o 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.

100

Captulo 5: Criando interao com o ActionScript

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 do 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; 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 do clipe. 6 Selecione Edit (Editar) > Edit Document (Editar documento) para voltar Timeline principal. 7 Selecione o clipe de filme no Stage.

Criando interatividade e efeitos visuais

101

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 em Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 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 sobreporem, 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.

102

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 insira box como o nome da instncia no inspetor

Property.
2 Crie uma caixa de texto dinmica no Stage e insira status como o nome da instncia no

inspetor Property.
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. 5 Adicione este cdigo ao painel Actions:


box.onEnterFrame = function () { status.text = this.hitTest(_xmouse, _ymouse, true); }

6 Selecione Control > Test Movie 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 instncia car e area. 2 Crie uma caixa de texto dinmica no Stage e insira status como o nome da instncia no

inspetor Property .
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

103

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 ser true.
MovieClip.hitTest()

Para obter mais informaes, consulte Para obter mais informaes, consulte em Captulo 12, Dicionrio do ActionScript, na pgina 215.

Criando uma ferramenta de desenho de linha simples Use mtodos da classe MovieClip para desenhar linhas e preenchimentos no Stage durante a reproduo do arquivo SWF. Isso permite criar ferramentas de desenho para usurios e desenhar formas no 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 do SWF (_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 538, MovieClip.beginGradientFill() na pgina 539, MovieClip.clear() na pgina 543, MovieClip.curveTo() na pgina 546, MovieClip.endFill() na pgina 549, MovieClip.lineTo() na pgina 564, MovieClip.lineStyle() na pgina 562 e MovieClip.moveTo() na pgina 570.

104

Captulo 5: Criando interao com o ActionScript

Para criar uma ferramenta de desenho de linha simples:

1 Em um novo documento, crie um novo boto no Stage e digite clear_btn como o nome de

instncia no inspetor Property.


2 Selecione Frame 1 na Timeline; em seguida, selecione Window > Development Panels >

Actions para abrir o painel Actions se ele no estiver visvel.


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 > Test Movie 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 em Usando a Ajuda do 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 objeto: a joaninha, a tomada e um boto de redefinio. Cada um desses objeto uma instncia de clipe de filme.

Desconstruindo um script de exemplo

105

Existe um script no SWF; ele est anexado instncia bug, como mostrado no painel Actions abaixo:

Ao

Manipulador de eventos Evento

Varivel

Comando 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 no comando onClipEvent(load) so executadas somente uma vez, quando o SWF carregado. As aes no comando onClipEvent(enterFrame) so executadas sempre que a reproduo entra em um quadro. Mesmo em um 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.

106

Captulo 5: Criando interao com o ActionScript

onClipEvent(enterFrame) Um comando 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 executada. Se o mtodo hitTest() retornar false, no ser executado nenhum cdigo entre chaves {} logo aps o comando if. Existem dois manipuladores on() anexados instncia bug com dois eventos diferentes: press e release. As aes no comando on(press) so executadas quando o boto do mouse pressionado sobre a instncia bug. As aes no comando on(release) so executadas quando o boto do mouse liberado sobre a instncia bug. As aes a seguir ocorrem dentro de cada manipulador onClipEvent():
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 o SWF ser executado, consulte a Ajuda do Guia de referncia do ActionScript.

Desconstruindo um script de exemplo

107

108

Captulo 5: Criando interao com o ActionScript

PARTE III Trabalhando com objetos e classes

Parte III

Esta parte analisa o modelo de objeto do Macromedia Flash durante a execuo e seus recursos, concentrando-se no trabalho com clipes de filmes e texto. Ela tambm descreve como criar classes e interfaces prprias com o ActionScript 2. Captulo 6: Usando as classes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Captulo 7: Trabalhando com clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Captulo 8: Trabalhando com texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Captulo 9: Criando classes com o ActionScript 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

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 21), o ActionScript tambm fornece vrias classes internas ou tipos de dados complexos. Essas classes oferecem vrios recursos e funcionalidades de script. Algumas classes baseiam-se na 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 113.) As outras classes internas do ActionScript so especficas para o modelo de objeto 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 112. Para obter uma viso geral sobre o trabalho com classes e objeto na programao orientada a objeto, consulte Sobre classes e instncias na pgina 111.

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.

111

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 Video.
var my_video = new Video();

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 112. Acessando propriedades de objeto Use o operador ponto (.) para acessar o valor de uma propriedade em um objeto. Coloque o nome do objeto esquerda do ponto e o nome da propriedade direita. Por exemplo, no comando 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 46. Chamando mtodos de objeto Use o operador ponto (.) seguido pelo mtodo para chamar o mtodo de um objeto. 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.

112

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 215. A classe Array contm mtodos e propriedades para o trabalho com os objeto array. Consulte a entrada Classe Array no Captulo 12, Dicionrio do ActionScript, na pgina 215. A classe Boolean uma cobertura dos valores booleanos (true ou false). Consulte a entrada Classe Boolean no Captulo 12, Dicionrio do ActionScript, na pgina 215. A classe Button fornece mtodos e propriedades para o trabalho com os objeto button. Consulte a entrada Classe Button no Captulo 12, Dicionrio do ActionScript, na pgina 215. A classe Date fornece acesso aos valores de data e hora relativos ao horrio universal (Hora 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 215. A classe Error contm informaes sobre os erros que ocorrem nos scripts. Em geral, use o comando throw para gerar uma condio de erro, que voc pode manipular com um comando try..catch..finally. Consulte try..catch..finally e Classe Error no Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 215. 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 215. A classe Number uma cobertura do tipo de dados do nmero primitivo. Consulte a entrada Classe Number no Captulo 12, Dicionrio do ActionScript, na pgina 215.

Array

Boolean

Button

Date

Error

Function

Math

Number

Viso geral das classes internas

113

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 215. A classe String uma cobertura 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 215.

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 os locais das classes na caixa de ferramentas Actions, 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 dos clipes de filmes, botes e campos de textos em tempo de execuo. Consulte _accProps e Classe Accessibility no Captulo 12, Dicionrio do ActionScript, na pgina 215. Cada boto em um 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 215. A classe Color permite que voc obtenha e defina os valores de cores RGB dos objeto do clipe de filme. Para obter mais informaes, consulte a entrada Classe Color em Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 97.

Button

Color

114

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 objeto ContextMenu separados a objeto 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 215. 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 215. A classe Key fornece mtodos e propriedades para obter informaes sobre o teclado e os pressionamentos de tecla. Para obter mais informaes, consulte a entrada Classe key em Captulo 12, Dicionrio do ActionScript, na pgina 215. Para obter um exemplo da captura de pressionamentos de tecla para criar um SWF interativo, consulte Capturando pressionamentos de teclas na pgina 93. A classe LocalConnection permite a comunicao entre dois SWFs executados no mesmo computador. Consulte a entrada Classe LocalConnection no Captulo 12, Dicionrio do ActionScript, na pgina 215. A classe Mouse fornece controle sobre o mouse em um SWF; por exemplo, essa classe permite que voc oculte ou mostre o ponteiro do mouse. Para obter mais informaes, consulte a entrada Classe Mouse em Captulo 12, Dicionrio do ActionScript, na pgina 215. Para obter um exemplo do uso da classe Mouse, consulte Criando um ponteiro de mouse personalizado na pgina 90. Cada clipe de filme em um filme do Flash uma instncia da classe MovieClip. Use os mtodos e propriedades dessa classe para controlar objeto de clipe de filme. Consulte Captulo 7, Trabalhando com clipes de filme, na pgina 119 e a entrada Classe MovieClip no Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 209 e a entrada Classe MovieClipLoader no Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 215 e Using the ActionScript PrintJob class (Usando a classe PrintJob do ActionScript) em Usando a Ajuda do Flash.

ContextMenuItem

Key

LocalConnection

Mouse

MovieClip

MovieClipLoader

PrintJob

Viso geral das classes internas

115

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 215. 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 215. A classe Stage fornece informaes sobre dimenses do arquivo SWF, alinhamento, modos de escala e reporta eventos de redimensionamento do Stage. Consulte a entrada Classe Stage no Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 SWF. Consulte a entrada Classe System no Captulo 12, Dicionrio do ActionScript, na pgina 215. A classe TextField fornece controle sobre os campos de texto dinmicos e de entrada. Consulte Captulo 8, Trabalhando com texto, na pgina 135 e a entrada Classe TextField no Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 Sheet na pgina 139 e a entrada Classe TextField.StyleSheet no Captulo 12, Dicionrio do ActionScript, na pgina 215. A classe TextFormat permite que voc aplique estilos de formatao aos caracteres ou pargrafos em um objeto TextField. Consulte Usando a classe TextFormat na pgina 138 e a entrada Classe TextFormat em Captulo 12, Dicionrio do ActionScript, na pgina 215.

SharedObject

Stage

System

TextField

TextField.StyleSheet

TextFormat

116

Captulo 6: Usando as classes internas

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 215. A classe Microphone fornece acesso ao microfone do usurio, se houver um instalado. Quando usado com o Flash Communication Server MX, o SWF pode transmitir e gravar udio do microfone de um usurio. Consulte a entrada Classe Microphone no Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 em Captulo 12, Dicionrio do ActionScript, na pgina 215. Para obter mais informaes sobre a reproduo de arquivos FLV na Internet, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 206. A classe NetStream usada para controlar a reproduo de arquivos FLV. Para obter mais informaes, consulte a entrada Classe NetStream em Captulo 12, Dicionrio do ActionScript, na pgina 215. Para obter mais informaes sobre a reproduo de arquivos FLV na Internet, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 206. A classe Sound fornece controle sobre os sons em um SWF. Para obter mais informaes, consulte a entrada Classe Sound em Captulo 12, Dicionrio do ActionScript, na pgina 215. Para obter um exemplo do uso da classe Sound para criar controladores de volume e balano, consulte Criando controles de som na pgina 99. A classe Video usada para exibir objeto de vdeo em um SWF. Consulte a entrada Classe Video no Captulo 12, Dicionrio do ActionScript, na pgina 215.

Microphone

NetConnection

NetStream

Sound

Video

Viso geral das classes internas

117

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 SWF pode carregar dados apenas do mesmo domnio do qual for atendido. Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 195 e Sobre a autorizao de acesso a dados entre domnios na pgina 197.

Essas classes localizam-se na subpasta Built-In Classes > Client/Server (Cliente/Servidor) no painel Actions.
LoadVars 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 186 e a entrada Classe LoadVars no Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 188 e a entrada Classe XML no Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 215. 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 191 e a entrada Classe XMLSocket no Captulo 12, Dicionrio do ActionScript, na pgina 215.

XML

XMLNode

XMLSocket

Classes de autoridade 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 215. 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 215.

Live Preview

118

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 tiver somente um quadro, e um clipe de filme nesse quadro tiver dez quadros, cada quadro do clipe de filme ser reproduzido quando o 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 filho. Cada instncia de clipe de filme tem um nome, nome da 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 objeto autnomos que podem responder aos eventos, enviar mensagens para outros objeto 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.

119

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. Os dois comandos duplicam a instncia my_mc, nomeiam o novo clipe newClip e colocam-no em uma profundidade 5.
my_mc.duplicateMovieClip("newClip", 5); duplicateMovieClip("my_mc", "newClip", 5);

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, depois, do nome do mtodo e dos parmetros, como nos comandos a seguir:
myMovieClip.play(); parentClip.childClip.gotoAndPlay(3);

No primeiro comando, play() move a reproduo na instncia myMovieClip. No segundo comando, 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 215.

120

Captulo 7: Trabalhando com clipes de filme

Chamando vrios mtodos em um nico clipe de filme


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

O script comporta-se como se os comandos dentro do comando with fossem chamados 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 SWFs 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 SWF, voc pode especificar um nvel ou clipe de filme de destino no qual o SWF ser carregado. Se voc carregar um SWF em um destino, o SWF carregado herdar as propriedades do clipe de filme de destino. Aps o filme ser carregado, voc poder alterar essas propriedades. O mtodo unloadMovie() remove um SWF carregado anteriormente pelo loadMovie(). Descarregar explicitamente SWFs com unloadMovie() assegura uma transio suave entre SWFs e pode diminuir a 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 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 SWFs e JPEGs externos na pgina 202.
Carregando e descarregando arquivos SWF adicionais 121

Especificando uma Timeline raiz para arquivos SWF carregados


A propriedade _root do ActionScript especifica ou retorna uma referncia para a Timeline raiz de um arquivo SWF. Se um SWF tem vrios nveis, a Timeline raiz est no nvel que contm o script em execuo atualmente. Por exemplo, se um script no nvel 1 avaliar _root, ser retornado _level1. Entretanto, a Timeline especificada por _root pode mudar dependendo de o SWF estar sendo executado independentemente (em seu prprio nvel) ou de ter sido carregado em uma instncia do clipe de filme por uma chamada loadMovie(). Por exemplo, considere um arquivo container.swf que tem uma instncia do clipe de filme em sua Timeline principal. O arquivo container.swf declara uma varivel userName na Timeline principal; o mesmo script carrega outro arquivo contents.swf no clipe de filme target_mc.
target_mc // Em container.swf: _root.userName = "Timteo"; target_mc.loadMovie("contents.swf");

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

Quando o contents.swf for carregado no clipe de filme do container.swf, o valor de userName que estiver anexado Timeline raiz do 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 o _root a avaliar sempre na Timeline do SWF carregado, em vez de na Timeline raiz real, use a propriedade _lockroot. Essa propriedade pode ser definida carregando o SWF ou com o SWF sendo carregado. Quando _lockroot definida como true em uma instncia de clipe de filme, esse clipe de filme funciona como _root de qualquer SWF carregado nele. Quando _lockroot definida como true em um SWF, esse SWF funciona como sua prpria raiz, independentemente do outro 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. Por exemplo, o autor de container.swf pode anexar o seguinte cdigo ao clipe de filme target_mc :
// 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 SWF carregado no target_mc, estejam relacionadas prpria Timeline, 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 o contents.swf for carregado, qualquer referncia que ele fizer a _root estar relacionada sua prpria Timeline principal, e no quela do SWF hospedeiro. Para obter mais informaes, consulte MovieClip._lockroot na pgina 568.

122

Captulo 7: Trabalhando com clipes de filme

Carregando JPEGs 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 do clipe de filme. Tambm possvel usar a funo loadMovieNum() para carregar um JPEG no nvel SWF. 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.
loadMovie() na pgina 463, MovieClip.loadMovie() na pgina 565

Para obter mais informaes, consulte Carregando SWFs e JPEGs externos na pgina 202, e loadMovieNum() na pgina 464.

Alterando a posio e a aparncia de um clipe de filme


Para alterar as propriedades de um clipe de filme durante sua reproduo, escreva um comando 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 Dicionrio ActionScript.) As propriedades a seguir so somente leitura: _currentframe, _droptarget, _framesloaded, _parent, _target, _totalframes, _url, _xmouse e _ymouse. Voc pode criar comandos para definir qualquer propriedade que no seja somente leitura. O comando a seguir define a propriedade _alpha da instncia do clipe de filme wheel que filha da instncia car:
car.wheel._alpha = 50;

Alm disso, voc pode criar comandos que obtenham o valor de uma propriedade do clipe de filme. Por exemplo, o comando a seguir obtm o valor da propriedade _xmouse na Timeline do nvel atual e define a propriedade _x da instncia customCursor como 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

123

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 533.

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 704 ou MovieClip.startDrag() na pgina 592.

Criando clipes de filme durante a execuo


Voc pode no apenas criar instncias do 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 nova e vazia do clipe de filme Duplicando uma instncia do clipe de filme existente Anexando uma instncia de um smbolo da biblioteca de clipes de filme no Stage
Cada instncia do 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. (Consulte Gerenciando profundidades do clipe de filme na pgina 128.)

124

Captulo 7: Trabalhando com clipes de filme

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 new_mc em uma profundidade de 10 pol. no clipe de filme parent_mc.
parent_mc.createEmptyMovieClip("new_mc", 10);

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

Para obter mais informaes, consulte MovieClip.createEmptyMovieClip() na pgina 543. Duplicando ou removendo um clipe de filme Para duplicar ou remover instncias do 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 do

clipe de filme, atribui um novo nome a ela 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 a frente de todos os clipes de filme predefinidos colocados na Timeline. 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 408 e removeMovieClip() na pgina 657. Anexando um smbolo de clipe de filme ao Stage A ltima maneira de criar instncias do clipe de filme durante a execuo usar o
attachMovie(). O mtodo attachMovie() anexa a instncia de um smbolo de clipe de filme na

biblioteca do SWF ao Stage. O novo clipe torna-se um clipe filho do clipe que o anexou. 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 SWF. Caso contrrio, o elemento no ser exportado para o arquivo SWF.

Criando clipes de filme durante a execuo

125

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. 6 Opcionalmente, voc pode atribuir uma classe ActionScript 2 ao smbolo de clipe de filme. (Consulte Atribuindo uma classe a um smbolo de clipe de filme na pgina 131.) 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, coloque uma instncia do clipe de filme no quadro da Timeline no qual voc deseja que ele 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

maneira descrita anteriormente.


2 Com o painel Actions (Aes) aberto, a partir de Window > Development Panels > Actions,

selecione um quadro na Timeline.


3 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.
4 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().
5 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 a fim de design-lo. 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 537.

126

Captulo 7: Trabalhando com clipes de filme

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. Para obter mais informaes, consulte MovieClip.attachMovie() na pgina 537 MovieClip.duplicateMovieClip() na pgina 548. e

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 Flash, crie um novo 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 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.

Adicionando parmetros aos clipes de filme criados dinamicamente

127

Gerenciando profundidades do clipe de filme


Cada clipe de filme tem seu prprio espao de ordem z que determina como os objeto so sobrepostos no 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 do clipe de filme. Ao criar um novo 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. 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 555, MovieClip.getInstanceAtDepth() na pgina 554, MovieClip.getDepth() na pgina 554 e MovieClip.swapDepths() na pgina 594. 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 objeto 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 129).

128

Captulo 7: Trabalhando com clipes de filme

Determinando a instncia em uma profundidade particular


MovieClip.getInstanceAtDepth().

Para determinar a instncia em uma profundidade particular, use Esse mtodo retorna uma referncia para a instncia 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 raiz.

var highestOccupiedDepth = _root.getNextHighestDepth() - 1; var instanceAtHighestDepth = _root.getInstanceAtDepth(highestOccupiedDepth);

Para obter mais informaes, consulte MovieClip.getInstanceAtDepth() na pgina 554. Determinando a profundidade de uma instncia Para determinar a profundidade de uma instncia do clipe de filme, use MovieClip.getDepth(). O cdigo a seguir faz a iterao de todos os clipes de filme em uma Timeline principal do SWF e exibe cada nome de instncia do clipe e o valor da profundidade no painel Output (Sada).
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 554. 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 594.
MovieClip.swapDepths().

Desenhando formas com o ActionScript


Voc pode usar mtodos da classe MovieClip para desenhar linhas e preenchimentos no Stage. 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.

Desenhando formas com o ActionScript

129

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 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 em Captulo 12, Dicionrio do ActionScript, na pgina 215.

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 Property (Propriedades), insira um nome de instncia para o clipe de filme, 3

4 5 6

como image. 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. Selecione Frame 1 na Timeline. Abra o painel Actions em Window > Development Panels > Actions se ainda no estiver aberto. No painel Actions, insira o seguinte cdigo:
image.setMask(mask);

Para obter informaes detalhadas, consulte MovieClip.setMask() na pgina 591.

130

Captulo 7: Trabalhando com clipes de filme

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 uma mscara do clipe de filme no retangular para o texto da fonte de dispositivo no ambiente de criao do Flash, a mscara que aparece no SWF ter a forma da caixa delimitadora retangular da mscara, 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.

Identificando eventos do clipe de filme


Os clipes de filme podem responder aos eventos do usurio, como cliques do mouse e pressionamentos de tecla, 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 identificar os eventos do clipe de filme: por meio dos mtodos do identificador de eventos e por meio dos identificadores de eventos onClipEvent() e on(). Para obter mais informaes, consulte Captulo 4, Manipulando eventos, na pgina 79.

Atribuindo uma classe a um smbolo de clipe de filme


Usando o ActionScript 2, voc pode criar sua prpria classe, que prolonga 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. 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, consulte Captulo 9, Criando classes com o ActionScript 2, na pgina 159.) Em uma subclasse da classe MovieClip, voc pode fornecer definies de mtodo para os mtodos internos MovieClip e identificadores de eventos, como onEnterFrame e onRelease. No procedimento a seguir, voc criar uma classe MoveRight que prolonga a classe MovieClip; a MoveRight define um identificador 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.

Atribuindo uma classe a um smbolo de clipe de filme

131

Para criar uma subclasse de clipe de filme:

1 Crie uma nova pasta BallTest. 2 Crie um novo arquivo ActionScript seguindo um destes procedimentos:

No Flash MX Professional 2004, selecione File (Arquivo) > New (Novo), e selecione o arquivo ActionScript da lista de tipos de documento. No Flash MX 2004, crie um novo arquivo de texto no 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 na pasta 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

tipos de arquivo e clique em OK.


2 Usando a ferramenta Oval, desenhe um crculo no Stage. 3 Selecione o crculo e, em seguida, Modify (Modificar) > Convert to Symbol (Converter em

4 5 6 7 8

smbolo). Na caixa de dilogo Convert to Symbol, selecione Movie Clip como comportamento do smbolo e insira Ball (Bola) na caixa de texto Name (Nome). Abra o painel Library em Window > Library e selecione o smbolo Ball. Selecione Linkage 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 e digite MoveRight na caixa de texto AS 2.0 Class. Clique em OK. Salve o arquivo como Ball.fla na pasta BallTest (a mesma pasta que contm o arquivo MoveRight.as). Teste o filme em Control > Test Movie. Sempre que voc clicar no clipe de filme ball, ele se mover 20 pixels para a direita.

132

Captulo 7: Trabalhando com clipes de filme

Inicializando as propriedades de classe


No exemplo apresentado anteriormente, voc adicionou a instncia do smbolo Ball ao Stage manualmente, ou seja, durante a criao. Como foi discutido anteriormente (consulte Adicionando parmetros aos clipes de filme criados dinamicamente na pgina 127), 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 131). A diferena uma nova propriedade 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 pressionamento do mouse var distance:Number; function onPress() { this._x += distance; } }

Supondo que essa classe seja atribuda a um smbolo com um identificador de vinculao Ball, o cdigo a seguir cria duas novas instncias do smbolo na Timeline raiz do 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});

Inicializando as propriedades de classe

133

134

Captulo 7: Trabalhando com clipes de filme

CAPTULO 8 Trabalhando com texto

Um campo de texto dinmico ou de entrada uma instncia da classe TextField do ActionScript. Ao criar um campo de texto, voc pode atribuir um nome de instncia a ele no inspetor Property (Propriedades). possvel usar o nome de instncia em comandos 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 136. 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 objeto TextField (consulte Usando a classe TextFormat na pgina 138). 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 148). 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 150). No Flash Player 7 e verses posteriores, voc pode aplicar os estilos CSS (Cascading Style Sheets 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 Sheet na pgina 139. 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, SWFs e JPEGs). 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 150.

135

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 objeto TextField oferecem suporte s mesmas propriedades que os objeto 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 Property. 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 objeto TextField durante a execuo e atribuir a eles nomes de instncias, usando o mtodo MovieClip.createTextField(). Para obter mais informaes, consulte Criando campo de texto durante a execuo na pgina 137. 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 Usando a ferramenta Text, crie um novo campo de texto no Stage (Palco). 2 Com o campo de texto selecionado, no inspetor Property, em Window (Janela) > Properties,

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, selecione o primeiro quadro em Layer 1 e abra o painel Actions, em Window > Development Panels > Actions. 4 Insira o cdigo a seguir no painel Actions.
headline_txt.text = "O Brasil vence a Copa do mundo";

5 Selecione Control > Test Movie para testar o filme.

Sobre a instncia do campo de texto e os nomes de variveis No inspetor Property, 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.

136

Captulo 8: Trabalhando com texto

Por exemplo, se voc atribuiu a um campo de texto o nome de varivel mytextVar, poder definir o contedo desse campo usando o seguinte cdigo:
var mytextVar = "Este o texto que aparecer no campo de 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 = "Uma varivel de campo de texto no uma referncia de objeto";

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 campo de texto durante a execuo


Voc pode usar o mtodo createTextField() da classe MovieClip para criar um campo de texto novo e 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 da 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 = "Crie novos campos de texto com o mtodo MovieClip.createTextField.";

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 544 e TextField.removeTextField() na pgina 763.

Criando campo de texto durante a execuo

137

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 do ponto, 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 767 e TextField.setNewTextFormat() na pgina 766.
Para formatar um campo de texto com a classe TextFormat:

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

Text. Digite algum texto no campo de texto no Stage, como Texto em negrito, itlico, tamanho 24. 2 No inspetor Property, digite myText_txt na caixa de texto Instance Name, selecione Dynamic (Dinmica) no menu pop-up Text Type e selecione Multiline (Multilinha) no menu pop-up Line Type (Tipo de linha). 3 Na Timeline, selecione o primeiro quadro em Layer 1 e abra o painel Actions, em Window > Development Panels > Actions. 4 Digite o cdigo a seguir no painel Actions para criar um novo 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 767. 6 Selecione Control > Test Movie para testar o filme.

138

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 = [] (empty array)

Para obter uma lista completa dos mtodos TextFormat e suas descries, consulte a entrada Classe TextFormat no Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 788.

Formatando o texto com Cascading Style Sheet


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

Formatando o texto com Cascading Style Sheet

139

O uso de folhas de estilos envolve trs etapas bsicas:

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


objeto de folha de estilos na pgina 141.

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 141 e Criando novos estilos com o ActionScript na pgina 142. 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 142, Um exemplo do uso de estilos com HTML na pgina 145 e Um exemplo do uso de estilos com XML na pgina 147.

Propriedades CSS suportadas O Flash Player oferece suporte a um subconjunto de propriedades na especificao CSS1 original (www.w3.org/TR/REC-CSS1). A tabela a seguir mostra as propriedades e os valores de CSS suportados e os nomes de propriedades do ActionScript correspondentes. (Cada nome de propriedade do ActionScript derivado do nome de 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

140

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 (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 SWFs que se destinam ao Flash Player 7 ou verso posterior. Para criar um novo 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 141 e Criando novos estilos com o ActionScript na pgina 142. 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 retorno de chamada onLoad do objeto de folha de estilos.
TextField.StyleSheet.getStyleNames()

No exemplo a seguir, voc criar e carregar um arquivo CSS externo e usar o mtodo para recuperar os nomes dos estilos carregados.

Para carregar uma folha de estilos externa:

1 No editor de texto ou XML preferido, crie um novo arquivo. 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 novo documento FLA. 5 Na Timeline (Window > Timeline), selecione Layer 1. 6 Abra o painel Actions (Window > Development Panels > Actions).

Formatando o texto com Cascading Style Sheet

141

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("Erro ao carregar o arquivo CSS."); } }

8 Salve o arquivo na mesma pasta que contm o styles.css. 9 Teste o filme em Control > Test Movie.

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

Se a mensagem Erro ao carregar o arquivo CSS for exibida no painel Output, verifique se o FLA e o arquivo CSS esto na mesma pasta 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 redimensionado no mesmo domnio que o SWF que est carregando o arquivo. (Consulte Sobre a autorizao de acesso a dados entre domnios na pgina 197.) 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 styles que define dois estilos idnticos queles importados anteriormente (consulte Carregando arquivos CSS externos na pgina 141).
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'} );

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.

142

Captulo 8: Trabalhando com texto

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>. 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">Isto <span class="emphasis">realmente entusiasmante!</ span></p>

Formatando o texto com Cascading Style Sheet

143

Atribuindo estilo s 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 148.) 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 a seguir 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

144

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 No editor de texto preferido, crie um novo arquivo. 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 novo arquivo FLA. Usando a ferramenta Text, crie um campo de texto de cerca de 400 pixels de largura e 300 pixels de altura. Abra o inspetor Property (Window > Properties) e selecione o campo de texto. No inspetor Property, 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. Selecione o primeiro quadro na Layer 1 da Timeline (Window > Timeline).

Formatando o texto com Cascading Style Sheet

145

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'>Agora, o Flash Player oferece suporte a Cascading Style Sheets!</p><p><span class='byline'>San Francisco, CA</span>--A Macromedia Inc. anunciou hoje uma nova verso do Flash Player que oferece suporte a estilos de texto CSS (Cascading Style Sheet). Para obter mais informaes, visite o site do Macromedia Flash em <a href='http://www.macromedia.com'>na Web.</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 183.

10 Salve o arquivo como news_html.fla na mesma pasta que contm o arquivo CSS

criado anteriormente. 11 Execute o filme (Control > Test Movie) para ver os estilos aplicados ao texto HTML automaticamente. 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 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 }

146

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>Esta uma seo</sectionHeading> <mainBody>Este o texto de corpo principal, com uma palavra <emphasized>enfatizada</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 145) 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 novo arquivo FLA. 2 Usando a ferramenta Text, crie um campo de texto de cerca de 400 pixels de largura e 300 pixels

de altura.
3 Abra o inspetor Property (Window > Properties) e selecione o campo de texto. 4 No inspetor Property, 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 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 Sheet

147

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

Actions:
var storyText = "<title>Agora, o Flash Player oferece suporte a Cascading Style Sheets</title><mainBody><byline>San Francisco, CA</byline>--A Macromedia Inc. anunciou hoje uma nova verso do Flash Player que oferece suporte a estilos de texto CSS (Cascading Style Sheet). Para obter mais informaes, visite o site do Macromedia Flash em <a href=\"http:// www.macromedia.com\">na Web</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 (Control > Test Movie) 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 JPEGs, SWFs 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, SWFs e clipes de filme aos campos de texto na pgina 154. 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 138. 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 Property ou definindo a propriedade html do campo de texto como true. Para inserir HTML em um campo de texto, use a propriedade TextField.htmlText.
headline_txt

Por exemplo, o cdigo a seguir ativa a formatao HTML para um campo de texto e atribui um cdigo HTML ao campo de texto.

headline_txt.html = true; headline_txt.htmlText = "<font face='Times New Roman' size='24'> assim que voc atribui um texto HTML a um campo de texto.</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>Este texto est alinhado esquerda</p>";

148

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'>Este texto contm aspas simples</p>"; textField.htmlText = "<p align=\"left\">Este texto contm aspas duplas com caractere de escape</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 Sheet na pgina 139. 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 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">V para a pgina principal</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 s marcas HTML internas na pgina 144. 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>Isto um texto em negrito.</b>

Marca de quebra (<br>) A marca <br> cria uma quebra de linha no campo de texto, como mostra este exemplo:
Uma linha de texto<br>Outra linha de texto<br>

Usando o texto em formato HTML

149

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. 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 SWF, o Flash Player escolher uma fonte substituta. Exemplo:

<font color="#FF0000">Este texto est em vermelho</font> face

<font face="Times, Times New Roman">Este texto pode ser em Times ou Times New Roman..</font>

Para obter mais informaes sobre a incorporao de fontes em aplicativos Flash, consulte TextField.embedFonts na pgina 749 e Setting dynamic and input text options (Definindo opes de texto dinmico e de entrada) em Usando a Ajuda do 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">Este texto est em verde, tamanho 24</font>

Marca de imagem (<img>) A marca <img> permite incorporar JPEGs, SWFs e clipes de filme externos a 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


Property, 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 (JPEGs e SWFs) no so exibidos at que o download seja concludo.

Observao: O Flash Player no oferece suporte a JPEGs progressivos.

150

Captulo 8: Trabalhando com texto

id Especifica o nome da instncia do clipe de filme (criado pelo Flash Player) que contm o JPEG, SWF ou clipe de filme incorporado. til para controlar o contedo incorporado com o ActionScript. width A largura da imagem, SWF ou clipe de filme, em pixels. height A altura da imagem, SWF ou 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. 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, SWFs e clipes de filme aos campos de texto na pgina 154. Marca de itlico (<i>) A marca <i> exibe o texto marcado em itlico. Um tipo itlico deve estar disponvel para a fonte usada.
Isto muito <i>interessante</i>

O cdigo anterior ser renderizado assim: Isto muito interessante. Marca de item de lista (<li>) A marca <li> coloca um bullet na frente do texto que inclui.
Lista de alimentos: <li>Mas</li> <li>Laranjas</li> <li>Limes</li>

O cdigo anterior ser renderizado assim: Lista de alimentos: Mas Laranjas Limes

Usando o texto em formato HTML

151

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 por uma instncia da classe TextField.StyleSheet. Para obter mais informaes, consulte Usando classes de estilo na pgina 143.) 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'>Este texto alinhado no lado direito do campo de texto</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'>Este texto tem estilo de corpo.</p>.";

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 Sheet na pgina 139.) Ela oferece suporte ao seguinte atributo:

class Especifica uma classe de estilo CSS definida por uma instncia da classe TextField.StyleSheet. Para obter mais informaes sobre a criao de classes de estilo de texto, consulte Usando classes de estilo na pgina 143.

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:

786.) indent Especifica o recuo do primeiro caractere no pargrafo em relao margem esquerda; corresponde a TextFormat.indent. (Consulte TextFormat.indent na pgina 790.) leading Especifica a quantidade de espao vertical entre as linhas; corresponde ao TextFormat.leading. (Consulte TextFormat.leading na pgina 791.) leftmargin Especifica a margem esquerda do pargrafo, em pontos; corresponde ao TextFormat.leftMargin. (Consulte TextFormat.leftMargin na pgina 791.)

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

152

Captulo 8: Trabalhando com texto

rightmargin Especifica a margem direita do pargrafo, em pontos; corresponde TextFormat.rightMargin. (Consulte TextFormat.rightMargin na pgina 791.)

ao

tabstops Especifica as interrupes de tabulao personalizadas como um array de inteiros no negativos; corresponde ao TextFormat.tabStops. (Consulte TextFormat.tabStops na pgina 792.)

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:
Nome Tim Edwin Idade 32 46 Departamento IMD Engenharia

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

1 Usando a ferramenta Text, crie um campo de texto dinmico que tenha aproximadamente 300

pixels de largura e 100 pixels de altura. 2 No inspetor Property, 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. 4 Abra o painel Actions (Window > Development Panels > Actions) e digite o cdigo a seguir:
var rowHeaders = "<b>Nome\t</b><b>Idade\t</b><b>Departamento"; 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.

Usando o texto em formato HTML

153

Incorporando imagens, SWFs e clipes de filme aos campos de texto No Flash Player 7 e verses posteriores, voc pode usar a marca <img> para incorporar JPEGs, SWFs e clipes de filmes a campos de texto dinmicos e de entrada. (Para obter uma lista completa de atributos da marca <img>, consulte Marca de imagem (<img>) na pgina 150.) 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 154.) 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 SWFs e JPEGs 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 JPEG localizado na mesma pasta que o SWF.
textField_txt.htmlText = "<p>Aqui est uma foto das minhas ltimas frias:<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 125.) Por exemplo, o cdigo a seguir insere um smbolo do clipe de filme com o identificador de vinculao symbol_ID.
textField_txt.htmlText = "<p>Aqui est um smbolo de clipe:<img src='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 reservado no campo de texto para o JPEG, SWF ou clipe de filme. Aps o download completo de um arquivo JPEG ou SWF, ele 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 insere-o no campo de texto com tamanho completo e quebra novamente o texto em torno dele.

154

Captulo 8: Trabalhando com texto

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 animation.swf ao campo de texto no nvel 0 e atribui o nome de instncia animation_mc ao clipe de filme que contm o SWF.
textField_txt _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 SWF incorporado.
on(press){ textField_txt.animation_mc.stop(); }

Criando hiperlinks fora da mdia incorporada Para criar um hiperlink fora de um JPEG, SWF ou clipe de filme incorporado, inclua a marca <img> em uma marca <a>:
textField.htmlText = "Clique na imagem para voltar para a pgina principal<a href='home.htm'><img src='home.jpg'></a>";

Quando o mouse est sobre uma imagem, SWF ou clipe de filme entre marcas <a>, o ponteiro do mouse muda para um cone de mo, como os hiperlinks padro. Observe que a interatividade, como cliques de mouse e pressionamentos de tecla, no registrada nos SWFs e clipes de filmes que esto entre marcas <a>.

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 entrada do componente TextArea em Usando a Ajuda dos componentes.

Criando texto de rolagem

155

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 Property. 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; }

156

Captulo 8: Trabalhando com texto

Exibindo as propriedades do campo de texto para depurao


Para obter informaes depuradas sobre os objeto 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 objeto 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 objeto 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"

Para obter mais informaes sobre o comando List Variables ou List Objects, consulte Usando o painel Output na pgina 73.

Exibindo as propriedades do campo de texto para depurao

157

158

Captulo 8: Trabalhando com texto

CAPTULO 9 Criando classes com o ActionScript 2

O ActionScript 2 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 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 est em conformidade com os padres existentes e baseia-se na proposta ECMAScript 4 (www.mozilla.org/js/language/es4/). Os recursos do ActionScript 2 so descritos posteriormente.
Modelo familiar OOP (object-oriented programming - programao orientada a objeto)

O recurso primrio do ActionScript 2 um modelo familiar para a criao de programas orientados a objeto. O ActionScript 2 introduz 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 OOP fornecido pelo ActionScript 2 uma formalizao sinttica do mtodo de encadeamento de prottipo usado nas verses anteriores do Macromedia Flash para criar objeto e estabelecer herana.
Atribuio estrita de tipo de dados O ActionScript 2 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 userName de tipo String (um tipo de dados interno do ActionScript ou classe). var userName:String = ""; Avisos e erros do compilador

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.

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.

159

Objeto 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 objeto 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. A instncia da pessoa conter todas as propriedades e mtodos da classe Person. No ActionScript, voc define uma classe com o comando class (consulte Criando e usando classes na pgina 165). O ActionScript inclui vrias classes internas, como MovieClip, TextField e String. Para obter mais informaes, consulte Captulo 6, Usando as classes internas, na pgina 111. 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 Mamfero, que define certas propriedades e comportamentos comuns a todos os mamferos. Voc pode criar uma classe Gato que estenda a classe Mamfero. 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 167.

160

Captulo 9: Criando classes com o ActionScript 2

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. Voc tambm pode usar as interfaces para fornecer um forma limitada de herana mltipla, que no permitida no ActionScript 2. Na herana mltipla, uma classe estende mais de uma classe. Por exemplo, no C++, a classe Gato pode estender a classe Mamfero, bem como uma classe Brincalho, que contm os mtodos PerseguirCauda e ComerComidaGato. O ActionScript 2, como o Java, no permite que uma classe estenda vrias classes diretamente. Entretanto, voc pode criar uma interface Brincalho que declara os mtodos PerseguirCauda e ComerComidaGato. Uma classe Gato, ou qualquer outra classe, pode implementar essa interface e fornecer definies para esses mtodos.

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 uma pasta 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 baseada na classe original. Nesta seo tambm analisado um novo recurso do ActionScript 2 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 171.

Usando classes: um exemplo simples

161

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 uma nova pasta no disco rgido e chame-a de PersonFiles. Essa pasta 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 MX 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 na pasta 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 palavrachave class, seguida pelo nome da classe (Person, neste caso) e chaves ({}). Tudo entre as chave 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
age

e name, como mostrado posteriormente.

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.

162

Captulo 9: Criando classes com o ActionScript 2

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 tipo de dados. Quando voc atribui um tipo a uma varivel dessa maneira (var variableName:variableType), o compilador do ActionScript 2 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 35.) 6 Em seguida, voc criar o mtodo showInfo(), que retorna uma seqncia de caracteres prformatada 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("Ol, meu nome " + name + " e eu tenho " + age + " anos."); } }

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("Ol, meu nome " + name + " e eu tenho " + age + "anos."); } // 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 167.
Observao: Se voc no criar uma funo construtora, uma funo vazia criada automaticamente durante a compilao.

Usando classes: um exemplo simples

163

8 Salve o arquivo como Person.as na pasta PersonFiles criada na etapa 1.

Se voc estiver usando o Flash MX 2004 (no o Flash MX Professional), v para a prxima seo (consulte Criando uma instncia da classe Person na pgina 164.) 9 (Somente Flash MX 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, compare o cdigo no script com o cdigo final na etapa 7 anterior. Se voc no conseguir corrigir os erros do cdigo, copie 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 objeto 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 178.)
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 na pasta PersonFiles criada 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 :
Ol, meu nome Nate e eu tenho 32 anos. Ol, meu nome Jane e eu tenho 28 anos.

164

Captulo 9: Criando classes com o ActionScript 2

Quando voc cria uma instncia de uma classe chamando sua funo construtora, o Flash procura um arquivo AS de nome igual ao do construtor em um conjunto de locais de pasta predeterminados. Esse grupo de locais de pasta conhecido coletivamente como caminho de classe (consulte Noes bsicas de caminho de classe na pgina 173). 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 no comando class, seguido 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 deve 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 uma das pastas do caminho de classe designado pastas em que o Flash procura definies de classe ao compilar os scripts. (Consulte Noes bsicas de caminho de classe na pgina 173.) 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.
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() } }

Criando e usando classes

165

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, bar e 25 so constantes function myFunc() { return "Ol mundo"; } }

Essa regra aplica-se apenas a variveis da 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 169.

166

Captulo 9: Criando classes com o ActionScript 2

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 do comando 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 Mamfero, que defina certas propriedades e mtodos comuns a todos os mamferos. Para criar uma variao da classe Mamfero, por exemplo, uma classe Marsupial, voc estender a classe Mamfero, ou seja, criar uma subclasse da classe Mamfero.
class Marsupial extends Mamfero {}

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 168.) A herana mltipla, ou herana de mais de uma classe, no permitida. Uma classe s pode estender uma nica superclasse. 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 toca 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]); } }

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.

Criando e usando classes

167

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 userName e um mtodo privado getUserName().
class LoginClass { private var userName:String; private function getUserName() { return 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() }

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.

168

Captulo 9: Criando classes com o ActionScript 2

Membros de instncias e classes


Na programao orientada a objeto, os membros (propriedades ou mtodos) de uma classe podem ser membros da instncia ou membros da classe. Os membros da instncia so criados e copiados, para cada instncia da classe; em contraste, os membros da classe so criados apenas uma vez por classe. (Os membros da classe tambm so conhecidos como membros estticos.) Para chamar um mtodo da instncia ou acessar uma propriedade da 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 da classe (esttica), 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);

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 da classe (estticos) s podem acessar as propriedades da classe (esttica), e no as propriedades da instncia. Por exemplo, o cdigo a seguir resultar em um erro do compilador, porque o mtodo da classe getName() faz referncia varivel da instncia name.
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 da instncia ou transformar a varivel em uma varivel da classe.

Membros de instncias e classes

169

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 da 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();

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

170

Captulo 9: Criando classes com o ActionScript 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 170), 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 tem 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, cada classe implementa (fornece 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 }

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

Criando e usando interfaces

171

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(){ } }

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();

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(); }

172

Captulo 9: Criando classes com o ActionScript 2

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 pastas na qual o Flash procura as definies de classe e interface chama-se caminho de classe. Quando voc cria um arquivo de classes ActionScript, preciso salvar o arquivo em uma das pastas especificadas no caminho de classe ou em uma subpasta. (Voc pode modificar o caminho de classe para incluir o caminho da pasta desejada; consulte Modificando o caminho de classe na pgina 174.) Caso contrrio, o Flash no poder resolver ou localizar a classe ou interface especificada no script. As subpastas criadas em uma pasta do caminho de classe chamam-se pacotes e permitem organizar as classes. Para obter mais informaes, consulte Usando pacotes na pgina 175. 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 pasta: um caminho relativo que aponte para a pasta que contm o documento atual, e a pasta Classes localizada na pasta de configurao do usurio instalada com o Flash. O local desta pasta mostrado aqui:

Windows 2000 ou XP: C:\Documents and Settings\<user>\Local Settings\Application


Data\Macromedia\Flash 2004\<language>\Configuration\

Windows 98: C:\Windows\Application Data\Macromedia\Flash 2004\


<language>\Configuration\ Macintosh OS X: Hard Drive/Users/Library/Application Support/Macromedia/Flash 2004/ <language>/Configuration/

O padro que o caminho de classe em nvel de documento fique vazio. 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 as pastas do caminho de classe global, j que os arquivos AS no tm caminho de classe de documento associado.

Noes bsicas de caminho de classe

173

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 pasta absolutos (por exemplo, C:/my_classes) e caminhos de pasta relativos (por exemplo, ../my_classes ou .). Por padro, o caminho de classe global contm um caminho absoluto (a pasta Classes na pasta de configurao do usurio) e um caminho de classe relativo, indicado por um nico ponto (.), que aponta para a pasta de documentos atual. Saiba que os caminhos de classe relativos podem apontar para pastas 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 173.
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 uma pasta ao caminho da classe, clique no boto Browse to Path, procure a pasta desejada 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 uma pasta de caminhos de classe existente, selecione o caminho na lista Classpath e clique no boto Browse to Path, procure a pasta desejada e clique em OK. A alternativa clicar duas vezes no caminho na lista Classpath, digitar o caminho desejado e clicar em OK. Para excluir uma pasta do caminho de classe, selecione o caminho na lista Classpath e clique no boto Remove from Path.

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 uma pasta ao caminho da classe, clique no boto Browse to Path, procure a pasta desejada 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 uma pasta de caminhos de classe existente, selecione o caminho na lista Classpath e clique no boto Browse to Path, procure a pasta desejada e clique em OK. A alternativa clicar duas vezes no caminho na lista Classpath, digitar o caminho desejado e clicar em OK. Para excluir uma pasta do caminho de classe, selecione o caminho na lista Classpath e clique no boto Remove from Path.

174

Captulo 9: Criando classes com o ActionScript 2

Usando pacotes
Voc pode organizar os arquivos de classe do ActionScript em pacotes. Um pacote uma pasta que contm um ou mais arquivos de classe e reside em uma pasta designada do caminho da classe. (Consulte Noes bsicas de caminho de classe na pgina 173.) Um pacote pode, por sua vez, conter outros pacotes, chamados subpacotes, cada um com seus prprios arquivos de classe. 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 uma pasta especificada 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 (pasta) Shapes. Nesse caso, o nome da 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 uma subpasta. Por exemplo, se voc colocou cada arquivo AS que define uma forma na pasta Shapes, ser 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 encontre em uma pasta de pacotes, voc poder especificar o nome da classe totalmente qualificado ou importar o pacote usando o comando import. Para obter mais informaes, consulte Importando classes na pgina 175.

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 uma pasta do caminho de classe de nvel superior, e no em uma subpasta na pasta 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 pastas do pacote. Os caminhos do pacote so hierrquicos, nos quais cada ponto representa uma pasta aninhada. Por exemplo, suponha que voc tenha criado uma classe Data que se encontre em com/ network/ package no caminho de classe. Para criar uma instncia dessa classe, voc pode especificar o nome da classe totalmente qualificado, da seguinte maneira:
var dataInstance = new com.network.Data();

Importando classes

175

Voc tambm pode usar o nome da classe totalmente qualificado para digitar as suas variveis:
var dataInstance:com.network.Data = new Data();

Voc pode usar o comando import para importar pacotes para um script, o que permite usar o nome abreviado de uma classe em vez do nome 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 UserClass que esteja includa no caminho da pasta 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 o comando 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();

Voc tambm pode usar o caractere curinga (*) para importar todas as classes de um pacote especfico. Por exemplo, suponha que voc tenha um pacote macr.util com dois arquivos de classes 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();

O comando import aplica-se apenas ao script atual (quadro ou objeto) no qual ele chamado. Por exemplo, suponha que voc importe todas as classes do pacote macr.util no Frame 1 de um documento do Flash. Nesse quadro, voc pode fazer referncia s classes desse pacote por seus nomes simples.
// No Quadro 1 de um FLA: import macr.util.*; var myFoo:foo = new foo();

Em outro script do quadro, entretanto, voc precisar fazer referncia s classes desse pacote por seus nomes totalmente qualificados (var myFoo:foo = new macr.util.foo();) ou adicionar um comando import ao outro quadro que importe as classes desse pacote. Se uma classe importada no for usada em um script, a classe no ser includa no cdigo de byte do SWF resultante.

176

Captulo 9: Criando classes com o ActionScript 2

Mtodos get/set implcitos


A prtica da programao orientada a objeto no aconselha 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 as 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, use 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.
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() no ActionScript 1. Consulte Adicionando propriedades de apanhador/ definidor a objeto no ActionScript 1 na pgina 875.

Mtodos get/set implcitos

177

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 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 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; }

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

178

Captulo 9: Criando classes com o ActionScript 2

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

179

180

Captulo 9: Criando classes com o ActionScript 2

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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Captulo 11: Trabalhando com mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

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. Pode tambm enviar dados de um arquivo SWF para processamento por um servidor de aplicativos (como Macromedia ColdFusion MX ou Macromedia JRun) ou outro tipo de script do 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) 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 195.)

Enviando e carregando variveis para/de uma origem remota


Um SWF uma janela para a captura e a exibio de informaes, que se assemelha 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 scripts do servidor, arquivos de texto e arquivos XML. Alm disso, os scripts do servidor podem solicitar informaes especficas de 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) e PHP. Ao armazenar as informaes em um banco de dados e recuper-las, voc pode criar um contedo dinmico e personalizado para o 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.

183

Vrias funes e mtodos do ActionScript permitem transferir informaes para/de um 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 os dados em um SWF, verifique se eles foram 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 certificar-se de que ela tenha sido carregada a partir 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 no destino de um 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 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 depois que todas as variveis, incluindo lastFrameVisited, tiverem sido carregadas:
onClipEvent(data) { goToAndPlay(lastFrameVisited); }

184

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 188 e Usando a classe XMLSocket na pgina 191. 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 do servidor atravs dos 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 SWF em um nvel especificado ou um clipe de filme do 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 SWF que recebe as variveis. (A funo getURL() no requer esse parmetro.) Para obter mais informaes sobre nveis e destinos, consulte About multiple Timelines and levels (Sobre vrias Timelines e nveis) em Usando a Ajuda do 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 SWF sempre que algum jogar esse 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 do clipe de filme scoreClip usando o mtodo HTTP GET.

Enviando e carregando variveis para/de uma origem remota

185

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 465, getURL() na pgina 432, loadMovie() na pgina 463 e a entrada Classe LoadVars em Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 XML armazenada no objeto XML. Crie uma nova instncia da classe LoadVars para chamar seus mtodos. Essa instncia um recipiente que mantm 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 novo arquivo de texto

e adicione o seguinte texto ao arquivo:


day=11&month=July&year=2003

2 Salve o arquivo como date.txt. 3 No Flash, crie um novo documento. 4 Crie um campo de texto dinmico no Stage (Palco) e atribua a ele o nome de instncia
data_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.

186

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("data.txt");

Esse cdigo carrega as variveis de data.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 na mesma pasta que contm data.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 em Captulo 12, Dicionrio do ActionScript, na pgina 215. 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 childNode. Essa estrutura de rvore hierrquica de ns denominada DOM XML, semelhante ao DOM JavaScript, que a estrutura de elementos de um navegador da Web. No exemplo a seguir, <PORTFOLIO> o n pai; ele no possui atributo algum e contm o n filho <HOLDING>, 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

187

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:

faz o download do XML de um URL e coloca-o em um objeto ActionScript XML. envia um objeto XML para um URL. Todas as informaes retornadas so enviadas para outra janela do navegador. sendAndLoad() envia um objeto XML para um URL. Todas as informaes retornadas so colocadas em um objeto ActionScript XML.
load() send()

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 SWF (por exemplo, um nome de usurio e uma senha) em um objeto XML e enviar os dados para o script do 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 SWF.
loginReplyXM L loginXML
Documento XML Documento XML Resposta Solicitao SQL

Script do servidor
username Jean Smith password

Submit

Banco de dados

Filme do Flash Player

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 objeto XML anexados ao boto Submit (Enviar) no formulrio. Quando os usurios inserem suas informaes nos campos de texto do SWF com as variveis username e password, essas variveis devem ser convertidas em XML antes de serem enviadas ao 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.

188

Captulo 10: Trabalhando com dados externos

O script a seguir anexado ao boto Submit. Para compreender esse script, leia as linhas comentadas (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:
<LOGIN USERNAME="JeanSmith" PASSWORD="VerySecret" />

O servidor recebe o XML, gera uma resposta XML e envia-a novamente ao 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 em branco no SWF. O comando 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;

O segundo comando atribui a funo onLoginReply() ao manipulador loginReplyXML.onLoad.

Enviando e carregando variveis para/de uma origem remota

189

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.

A funo onLoginReply() definida no primeiro quadro do SWF. (Para compreender esse script, leia as linhas comentadas.)
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.

190

Captulo 10: Trabalhando com dados externos

Para enviar o nome do usurio e a senha como XML para o servidor e carregar uma resposta XML novamente no 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 Classe XML entrada em Captulo 12, Dicionrio do ActionScript, na pgina 215. Usando a classe XMLSocket O ActionScript oferece 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 ao cliente assim que elas estiverem 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 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. 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).

Enviando e carregando variveis para/de uma origem remota

191

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 comentadas (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="Erro ao conectar ao "+serverName; } } // Atribui a funo onSockConnect() propriedade onConnect sock.onConnect = onSockConnect;

Para obter mais informaes, consulte a entrada Classe XMLSocket em Captulo 12, Dicionrio do ActionScript, na pgina 215.

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 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 SWF para um quadro especfico.

192

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 define o exibidor independente para dimensionar o 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() para controlar um SWF 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. A especificao de false define o exibidor para que o SWF seja sempre desenhado em seu tamanho original e nunca dimensionado. A especificao de true faz com que o SWF seja dimensionado para 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 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

193

Para usar fscommand() para abrir uma caixa de mensagem em um SWF na pgina HTML atravs de JavaScript:

1 Na pgina HTML que incorpora o SWF, adicione o seguinte cdigo JavaScript:


function theMovie_DoFSCommand(command, args) { if (command == "messagebox") { alert(args); } }

Na publicao do SWF usando 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 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 (Publicando) em 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", "Esta uma caixa de mensagem chamada no Flash."); }

Alm disso, possvel usar expresses para fscommand() e parmetros, como no exemplo a seguir:
fscommand("messagebox", "Ol, " + nome + ", bem-vindo(a) ao nosso site na Web!")

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 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-chaves mtodo do Flash e faa uma pesquisa no Centro de Suporte Flash em www.macromedia.com/ support/flash.

194

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, incluindo uma lista completa dos mtodos de script do Flash Player, use as palavras-chaves mtodo do Flash para pesquisar o Centro de Suporte Flash em www.macromedia.com/support/flash. 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


Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na guia Help (Ajuda). Por padro, o Flash Player 7 e verses posteriores impedem que um arquivo SWF de um domnio acesse os dados fornecidos por outro domnio. Por padro, os SWFs pertencentes a domnios distintos no podem acessar os objeto e variveis uns dos outros. Nem um SWF pertencente a um domnio pode carregar dados de outro domnio (usando loadVariables(), por exemplo). Endereos IP numricos idnticos so compatveis. Contudo, o nome de domnio no compatvel com o 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

A tabela a seguir mostra exemplos de domnios incompatveis:


www.macromedia.com macromedia.com data.macromedia.com www.macromedia.com

Recursos de segurana do Flash Player

195

www.macromedia.com 65.57.83.12 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)

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. 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 199. O grfico a seguir mostra como o Flash Player determina se deve permitir uma solicitao HTTP:
No
ESTGIO 1

ESTGIO 1 uma solicitao de dados?

Sim

ESTGIO 2 uma solicitao para um URL relativo?

Sim
ESTGIO 2

No

ESTGIO 3 O filme solicitado foi descarregado de um disco local?(O URL comea com o arquivo:) ESTGIO 4 O URL solicitado comea com http://, https:// ouftp://? ESTGIO 5 O nome de domnio do filme solicitado corresponde ao do URL solicitado? Solicitao aceita

Sim
ESTGIO 3

No

No
ESTGIO 4

Sim

Sim
ESTGIO 5

No

Solicitao rejeitada

196

Captulo 10: Trabalhando com dados externos

Sobre a permisso de acesso a dados entre SWFs de domnios diferentes Um SWF pode carregar outro SWF de qualquer local da Internet. Contudo, para que dois arquivos SWF possam acessar os dados correspondentes (variveis e objeto), 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 SWF pode conceder acesso a SWFs atendidos por determinados domnios atravs de System.security.allowDomain(). Por exemplo, suponha que o arquivo main.swf seja atendido por www.macromedia.com. Em seguida, esse SWF carrega outro 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 denominado 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 SWFs 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

Entretanto, data.swf poder conceder acesso aos SWFs atendidos por www.macromedia.com atravs do mtodo System.security.allowDomain(). O cdigo a seguir adicionado a data.swf permitir que qualquer SWF atendido por www.macromedia.com acesse suas variveis e mtodos:
// No data.swf System.security.allowDomain("www.macromedia.com");

Observe que allowDomain() permite que qualquer SWF do domnio autorizado crie um script para qualquer outro SWF do domnio permitindo o acesso. Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 195 e System.security.allowDomain() na pgina 735. Sobre a autorizao de acesso a 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 ou elementos definidos em outro arquivo SWF durante a execuo. Por padro, os dados ou a mdia do SWF, no caso de bibliotecas compartilhadas durante a execuo, devem residir no mesmo domnio do SWF que est carregando esses dados ou mdia externos. Para tornar os dados e elementos das bibliotecas compartilhadas em tempo de execuo disponveis aos SWFs 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 SWFs atendidos por determinados domnios ou por todos os domnios. Todos os SWFs que so atendidos por um domnio especificado pelo arquivo de diretivas do servidor tero permisso para acessar os dados ou elementos daquele servidor.

Recursos de segurana do Flash Player

197

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 ser nomeados como 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-accessfrom> 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 aos SWFs carregados a partir daquele endereo IP por meio 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>

Um arquivo de diretivas que no contenha marcas <allow-access-from> tem o mesmo efeito de no haver uma diretiva no servidor.

198

Captulo 10: Trabalhando com dados externos

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 195), 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 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 SWF de um domnio carregasse dados de um domnio semelhante. No Flash Player 7 e verses posteriores, se um 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 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 SWF ter permisso de acesso aos dados solicitados; se o usurio clicar em Deny (Negar), o 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 acesso a dados entre domnios na pgina 197.

Recursos de segurana do Flash Player

199

200

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 JPEGs de cada imagem em tempo de 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.

201

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 SWFs e JPEGs externos, voc pode usar a funo loadMovie() ou loadMovieNum(), ou o mtodo MovieClip.loadMovie(). Ao carregar um 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 SWFs e JPEGs externos na pgina 202. 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 205. 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 206. 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 SWFs ou JPEGs. Para pr-carregar arquivos MP3 e FLV, use o mtodo getBytesLoaded() das classes Sound e NetStream. Para obter mais informaes, consulte Pr-carregando mdia externa na pgina 208.

Carregando SWFs e JPEGs 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 SWF ou JPEG em um nvel de filme no Flash Player, use loadMovieNum(). Para carregar um SWF ou JPEG em um clique de filme de destino, use a funo ou o mtodo loadMovie(). Em qualquer um dos casos, o contedo carregado substitui o contedo do nvel de filme ou do clipe de filme de destino. Quando voc carrega um arquivo SWF ou JPEG em um clipe de filme de destino, o canto superior esquerdo do SWF ou JPEG colocado 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 uma imagem de SWF ou JPEG em uma Timeline (Linha de tempo) raiz, o canto superior esquerdo da imagem colocado 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 do servidor que retorna um JPEG ou SWF de acordo com os dados passados pelo aplicativo do Flash.
loadMovieNum().

202

Captulo 11: Trabalhando com mdia externa

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 do clipe de filme denominada 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");

O cdigo a seguir carrega a imagem JPEG flowers.jpg na instncia do clipe de filme image_clip:
image_clip.loadMovie("flowers.jpg");

Para obter mais informaes sobre loadMovie(), loadMovieNum() e MovieClip.loadMovie(), consulte as entradas correspondentes em Captulo 12, Dicionrio do ActionScript, na pgina 215. Sobre SWFs carregados e a Timeline raiz A propriedade ActionScript _root especifica ou retorna uma referncia Timeline raiz de um arquivo SWF. Se voc carregar um SWF em um clipe de filme de outro SWF, todas as referncias a _root no SWF carregado sero resolvidas para a Timeline do SWF host, e no do SWF carregado. Isso s vezes pode ocasionar um comportamento no esperado durante a execuo como, por exemplo, se o SWF host e o SWF carregado usarem _root para especificar uma varivel. No Flash Player 7 e posterior, possvel usar a propriedade MovieClip._lockroot para fazer com que as referncias a _root feitas por um clipe de filme sejam resolvidas para sua prpria Timeline, em vez de para a Timeline do SWF que contm o clipe de filme. Para obter mais informaes, consulte Especificando uma Timeline raiz para arquivos SWF carregados na pgina 122. Sobre o acesso a dados em SWFs carregados Um arquivo SWF pode carregar outro arquivo SWF de qualquer local da Internet. Entretanto, para que um SWF acesse os dados (variveis, mtodos etc.) definidos no outro SWF, os dois arquivos devem ter o mesmo domnio como origem. No Flash Player 7 e posterior, os scripts entre domnios so proibidos, a menos que o SWF carregado especifique de outra forma chamando System.security.allowDomain(). Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 195 e System.security.allowDomain() em Captulo 12, Dicionrio do ActionScript, na pgina 215.

Carregando SWFs e JPEGs externos

203

Carregando arquivos MP3 externos


Para carregar arquivos MP3 durante a execuo, use o mtodo loadSound() da classe Sound. Em primeiro lugar, crie um novo 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 SWF; no necessrio usar start(). Por exemplo, o cdigo a seguir cria um novo objeto Sound denominado classical e, em seguida, carrega um arquivo MP3 de nome beethoven.mp3:
var classical:Sound = new Sound(); classical.loadSound("http://server.com/mp3s/beethoven.mp3", true);

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), defina isStreaming como false. Para determinar se o download de um som foi concludo, use o manipulador de eventos
Sound.onLoad. Esse manipulador de eventos recebe automaticamente um valor Booleano (true ou false) que indica se o download do arquivo foi concludo com sucesso.

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 denominado 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 em Captulo 12, Dicionrio do ActionScript, na pgina 215.

204

Captulo 11: Trabalhando com mdia externa

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 s marcas das verses 1.0, 1.1, 2.3 e 2.4; no fornecido suporte para as marcas da verso 2.2. Por exemplo, o cdigo a seguir carrega um arquivo MP3 denominado favoriteSong.mp3 no objeto Sound denominado song. Quando as marcas de ID3 do arquivo estiverem disponveis, um campo de texto denominado 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. O Flash Player mapeia automaticamente um subconjunto das marcas do ID3 2.0 para as marcas do ID3 1.0 equivalentes do seguinte modo:
Marca do ID3 2.0
TALB TPE1 TIT2 TYER TRCK COMM TCON

Marca do ID3 1.0


album artist songname year track comment gnero

Observe que o manipulador de eventos onID3 ser chamado sempre que houver novos dados do ID3 disponveis. 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 das marcas de ID3 suportadas, consulte Sound.ID3 em Captulo 12, Dicionrio do ActionScript, na pgina 215.

Lendo marcas de ID3 em arquivos MP3

205

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. 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 em Usando a Ajuda do Flash. Se voc tiver o Flash MX Professional 2004, poder usar o plug-in FLV Export para exportar arquivos FLV dos 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)) em Usando a Ajuda do 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. Desse modo, os arquivos grandes so armazenados em pequenas partes e acessados de modo dinmico, e no requerem 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. A legendagem do contedo do vdeo mais fcil com arquivos FLV externos, pois possvel usar as funes de retorno para acessar os metadados do vdeo.

Os mtodos e propriedades a seguir das classes NetConnection e NetStream so usados para controlar a reproduo do FLV. (Para obter informaes completas sobre essas classes, consulte as entradas Classe NetConnection e Classe NetStream em Captulo 12, Dicionrio do ActionScript, na pgina 215.)

206

Captulo 11: Trabalhando com mdia externa

Mtodo ou propriedade
new NetConnection()

Objetivo Cria um novo objeto NetConnection para armazenar os objeto NetStream. O valor null prepara o objeto NetConnection para esperar downloads de FLVs locais ou do HTTP em vez de fazer o download de um Macromedia Flash Communication Server. Cria um novo objeto NetStream. Fecha o fluxo mas no limpa o objeto de vdeo. Interrompe a reproduo e limpa o buffer. Esse comando ativa e desativa a pausa a menos que seja passado true ou false. Busca um tempo especfico no FLV. O tempo de busca especificado em segundos. Por exemplo, para buscar 2 minutos e 20 segundos, especifique o seguinte :
NetStream.seek(140);

NetConnection.connect(null)

new NetStream() NetStream.close() NetStream.pause()

NetStream.seek()

NetStream.setBufferTime() NetStream.bufferLength NetStream.bufferTime

Define a quantidade de tempo no buffer, em segundos. Informa o tamanho atual do buffer. Informa o tamanho que foi definido para o buffer, e no o valor atual. Informa o nmero atual de quadros por segundo. Essa informao til para determinar se os quadros esto sendo eliminados durante a reproduo. A posio atual da qual o FLV est sendo reproduzido, em segundos. Manipulador de retorno chamado quando ocorre um erro ou uma alterao no status de NetStream. passado um objeto ao manipulador que contm duas propriedades: status, cujo valor pode ser level ou error, e code, cujo valor pode ser um dos seguintes: NetStream.Play.Start Comea a reproduo de um arquivo FLV. NetStream.Play.Stop Termina a reproduo de um FLV. NetStream.Buffer.Full O buffer est cheio. NetStream.Buffer.Empty Os dados no esto sendo recebidos com rapidez suficiente para encher o buffer. Essa mensagem tambm gerada em caso de pausa na reproduo. NetStream.Play.StreamNotFound O FLV passado para o mtodo play() no foi encontrado.

NetStream.currentFps

NetStream.time

NetStream.onStatus

Para usar NetStream.onStatus, adicione este cdigo:


_root.myNetStream.onStatus = function(infoObj){ // Este um exemplo bsico de um cdigo de manipulador // que informa as duas propriedades do objeto de informao. trace(infoObj.code); trace(infoObj.level); }

Reproduzindo arquivos FLV externos dinamicamente

207

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 uma instncia do objeto de vdeo do painel Library para o Stage. Com o objeto de vdeo selecionado no Stage, no inspetor Property (Propriedades), em Window > Properties, informe myVideo 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 Property. Selecione Frame 1 na Timeline 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: myVideo.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 Prcarregando arquivos SWF e JPEG na pgina 209. 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 211.

208

Captulo 11: Trabalhando com mdia externa

Pr-carregando arquivos SWF e JPEG Para pr-carregar arquivos SWF e JPEG em instncias de clipes de filmes, 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. Para usar MovieClipLoader para prcarregar SWFs e JPEGs, observe as etapas a seguir:
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 criar funes de retorno

O objeto ouvinte pode ser qualquer objeto do ActionScript, como um objeto genrico Object, um clipe de filme ou um componente personalizado. A tabela a seguir lista as funes de retorno chamadas pelos objeto MovieClipLoader:
Funo de retorno do ouvinte
onLoadStart(target)

Descrio Chamada quando o download para target iniciado por uma chamada de MovieClipLoader.loadClip(). Chamada quando o download para target progrediu de acordo com um incremento determinado pelo Flash Player. Chamada quando o download para target termina. Chamada quando ocorre uma falha no download para target. Chamada quando as aes do Frame 1 do arquivo SWF descarregado foram concludas, mas o quadro ainda no foi desenhado.

onLoadProgress(target, bytesLoaded, bytesTotal) onLoadComplete(target) onLoadError(target, errorCode) onLoadInit(target)

Por exemplo, o cdigo a seguir cria um objeto ouvinte genrico denominado 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); }

Pr-carregando mdia externa

209

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 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 ProgressBar component (Componente ProgressBar) em Usando a Ajuda de 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 o nome de


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 Property, atribua o nome pBar ao componente ProgressBar e, na guia Parameters

(Parmetros), selecione Manual no menu pop-up Mode (Modo).


5 Selecione Frame 1 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 215.

210

Captulo 11: Trabalhando com mdia externa

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. 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() em Captulo 12, Dicionrio do ActionScript, na pgina 215.

Pr-carregando mdia externa

211

212

Captulo 11: Trabalhando com mdia externa

PARTE V Referncia

Parte V

Esta parte contm o Dicionrio 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Apndice A: Mensagens de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851 Apndice B: Associatividade e precedncia de operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857 Apndice C: Teclas do teclado e valores de cdigos de teclas. . . . . . . . . . . . . . . . . . . . . . . . . . 859 Apndice D: Criando Scripts para verses anteriores do Flash Player . . . . . . . . . . . . . . . . . . . 865 Apndice E: Programao orientada a objeto com o ActionScript 1 . . . . . . . . . . . . . . . . . . . . 869

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 captulo e cole-o no painel Script ou em um arquivo de script externo. O dicionrio lista todos os elementos do ActionScript: operadores, palavras-chave, comandos, aes, propriedades, funes, classes e mtodos. Para ter uma viso geral de todas as entradas do dicionrio, consulte Contedo do dicionrio na pgina 217. 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 Usando componentes. O ActionScript segue o padro ECMA-262 (a especificao escrita pela Associao Europia de Fabricantes de Computadores), salvo indicao em contrrio. Alguns elementos do ActionScript do Flash 5 (e anteriores) ficaram obsoletos e foram substitudos por novos elementos do ActionScript que correspondem ao padro ECMA. A Macromedia recomenda que se utilizem os elementos mais recentes, embora o Flash Player 5 ainda suporte os elementos obsoletos. H dois tipos de entradas neste dicionrio:

Entradas individuais para operadores, palavras-chave, funes, variveis, propriedades,


mtodos e comandos

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 entradas.

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.

215

Disponibilidade

Esta seo 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.
Uso

Esta seo fornece a sintaxe correta para usar o elemento do ActionScript em seu cdigo. A parte obrigatria da sintaxe est em codigo fonte e o cdigo fornecido pelo usurio est em cdigo fonte em itlico. Os colchetes ([]) indicam parmetros opcionais.
Parmetros

Esta seo descreve qualquer parmetro listado na sintaxe.


Retorna

Se houver valores, esta seo identifica qual ser retornado 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 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.

216

Captulo 12: Dicionrio do ActionScript

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. 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 junto 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)

Contedo do dicionrio

217

Operadores simblicos
/* /= [] ^ ^= {} | || |= ~ + += < << <<= <= <> = -= == === > >= >> >>= >>> >>>=

Consulte a entrada
/* (delimitador de comentrio) /= (atribuio de diviso) [] (acesso de array) ^ (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 ou igual que) <> (diferena) = (atribuio) -= (atribuio de subtrao) == (igualdade) === (igualdade estrita) > (maior que) >= (maior 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

Consulte a entrada
#endinitclip #include #initclip Object.__proto__ _accProps

218

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
_alpha _currentframe _droptarget _focusrect _framesloaded _global _height _highquality _lockroot _name _parent _quality _root _rotation _soundbuftime _target _totalframes _url _visible _width _x _xmouse _xscale _y _ymouse _yscale abs Acessibilidade acos activityLevel add addListener

Consulte a entrada
MovieClip._alpha, Button._alpha, TextField._alpha MovieClip._currentframe MovieClip._droptarget _focusrect, Button._focusrect, MovieClip._focusrect MovieClip._framesloaded _global object 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 Key.addListener(), Mouse.addListener(), MovieClipLoader.addListener() , Selection.addListener(), Stage.addListener(), TextField.addListener()

Contedo do dicionrio

219

Elemento do ActionScript
addPage addProperty addRequestHeader align allowDomain and appendChild apply Argumentos Array asfunction asin atan atan2 attachAudio attachMovie attachSound attachVideo attributes autosize avHardwareDisable background backgroundColor BACKSPACE bandwidth beginFill beginGradientFill blockIndent bold Booleano border borderColor bottomScroll break bufferLength

Consulte a entrada
PrintJob.addPage() Object.addProperty() LoadVars.addRequestHeader(), XML.addRequestHeader() Stage.align, TextFormat.align LocalConnection.allowDomain, System.security.allowDomain() 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.securityLimits.avHardwareDisable TextField.background TextField.backgroundColor Key.BACKSPACE Camera.bandwidth MovieClip.beginFill() MovieClip.beginGradientFill() TextFormat.blockIndent TextFormat.bold Boolean(), Classe Boolean TextField.border TextField.borderColor TextField.bottomScroll break NetStream.bufferLength

220

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
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 Cor concat connect condenseWhite constructor

Consulte a entrada
NetStream.bufferTime ContextMenu.builtInItems TextFormat.bullet Classe Button NetStream.bytesLoaded NetStream.bytesTotal call(), Function.call() arguments.callee arguments.caller Classe Camera System.capabilities object 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() 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

Contedo do dicionrio

221

Elemento do ActionScript
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 duration dynamic E else else if embedFonts enabled END endFill

Consulte a entrada
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() Sound.duration dynamic Math.E else else if TextField.embedFonts Button.enabled, ContextMenuItem.enabled, MovieClip.enabled Key.END MovieClip.endFill()

222

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
ENTER eq Error ESCAPE (constante) escape (funo) eval exp extends false finally firstChild floor flush focusEnabled fonte for for..in fps fromCharCode fscommand function gain ge get getAscii getBeginIndex getBounds getBytesLoaded getBytesTotal getCaretIndex getCode getDate getDay

Consulte a entrada
Key.ENTER eq (igual especfico de seqncia de caracteres) Classe Error Key.ESCAPE escape eval() Math.exp() extends false try..catch..finally 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 ou igual a especfico de seqncias de caracteres) 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() Date.getDate() Date.getDay()

Contedo do dicionrio

223

Elemento do ActionScript
getDepth getEndIndex getFocus getFontList getFullYear getHours getInstanceAtDepth getLocal getMilliseconds getMinutes getMonth getNewTextFormat getNextHighestDepth getPan getProgress getProperty getRGB getSeconds getSize getStyle getStyleNames getSWFVersion getTextExtent getTextFormat getTime getTimer getTimezoneOffset getTransform getURL getUTCDate getUTCDay getUTCFullYear getUTCHours getUTCMilliseconds getUTCMinutes

Consulte a entrada
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() SharedObject.getSize() TextField.StyleSheet.getStyle() TextField.StyleSheet.getStyleNames() MovieClip.getSWFVersion() TextFormat.getTextExtent() TextField.getTextFormat() Date.getTime() getTimer Date.getTimezoneOffset() Color.getTransform(), Sound.getTransform() getURL(), MovieClip.getURL() Date.getUTCDate() Date.getUTCDay() Date.getUTCFullYear() Date.getUTCHours() Date.getUTCMilliseconds() Date.getUTCMinutes()

224

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
getUTCMonth getUTCSeconds getVersion getVolume getYear globalToLocal goto gotoAndPlay gotoAndStop gt hasAccessibility hasAudio hasAudioEncoder hasChildNodes hasEmbeddedVideo hasMP3 hasPrinting hasScreenBroadcast hasScreenPlayback hasStreamingAudio hasStreamingVideo hasVideoEncoder height hide hideBuiltInItems hitArea hitTest HOME hscroll html htmlText ID3 if ifFrameLoaded ignoreWhite

Consulte a entrada
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 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() Key.HOME TextField.hscroll TextField.html TextField.htmlText Sound.ID3 if ifFrameLoaded XML.ignoreWhite

Contedo do dicionrio

225

Elemento do ActionScript
implements import indent index indexOf Infinity -Infinity INSERT insertBefore install instanceof int interface isActive isDebugger isDown isFinite isNaN isToggled italic join Key language lastChild lastIndexOf le leading LEFT leftMargin length level lineStyle lineTo list LN10

Consulte a entrada
implements import TextFormat.indent Camera.index, Microphone.index String.indexOf() Infinity -Infinity Key.INSERT XML.insertBefore() CustomActions.install() instanceof int interface Accessibility.isActive() System.capabilities.isDebugger Key.isDown() isFinite isNaN() Key.isToggled() TextFormat.italic Array.join() Classe key System.capabilities.language XML.lastChild String.lastIndexOf() le (menor 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

226

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
LN2 load loadClip loaded loadMovie loadMovieNum loadSound loadVariables loadVariablesNum LoadVars LocalConnection localFileReadDisable localToGlobal log LOG10E LOG2E lt manufacturer Math max MAX_VALUE maxChars maxhscroll maxscroll mbchr mblength mbord mbsubstring menu message Microphone min MIN_VALUE motionLevel motionTimeOut

Consulte a entrada
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.securityLimits.localFileReadDisable MovieClip.localToGlobal() Math.log() Math.LOG10E Math.LOG2E lt (menor que seqncia de caracteres especfica) 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 Camera.motionLevel Camera.motionTimeOut

Contedo do dicionrio

227

Elemento do ActionScript
Mouse mouseWheelEnabled moveTo MovieClip MovieClipLoader multiline muted name names 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

Consulte a entrada
Classe Mouse TextField.mouseWheelEnabled MovieClip.moveTo() Classe MovieClip Classe MovieClipLoader TextField.multiline Camera.muted, Microphone.muted Error.name, Microphone.name Camera.names, Microphone.names 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

228

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
onEnterFrame onID3 onKeyDown onKeyUp onKillFocus onLoad onLoadComplete onLoadError onLoadInit onLoadProgress onLoadStart onMouseDown onMouseMove onMouseUp onMouseWheel onPress onRelease onReleaseOutisde onResize onRollOut onRollOver onScroller onSelect onSetFocus onSoundComplete onStatus

Consulte a entrada
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() 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() MovieClip.onUnload onUpdate XMLSocket.onXML() or ord System.capabilities.os

onUnload onUpdate onXML or (OR lgico) ord os

Contedo do dicionrio

229

Elemento do ActionScript
parentNode parseCSS parseFloat parseInt parseXML password pause 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
XML.parentNode TextField.StyleSheet.parseCSS() parseFloat() parseInt XML.parseXML() TextField.password NetStream.pause() 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(), Selection.removeListener(), Stage.removeListener(), TextField.removeListener()

230

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
removeMovieClip removeNode removeTextField replaceSel replaceText resolutionX resolutionY restrict return reverse RIGHT rightMargin round scaleMode screenColor screenDPI screenResolutionX screenResolutionY scroll seek selectable Selection send sendAndLoad separatorBefore serverString set set variable setBufferTime setDate setFocus setFullYear setGain setHours setInterval

Consulte a entrada
removeMovieClip(), MovieClip.removeMovieClip() XML.removeNode() TextField.removeTextField() TextField.replaceSel() TextField.replaceText 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() Date.setDate() Selection.setFocus() Date.setFullYear() Microphone.setGain() Date.setHours() setInterval()

Contedo do dicionrio

231

Elemento do ActionScript
setMask setMilliseconds setMinutes setMode setMonth setMotionLevel setNewTextFormat setPan setProperty setQuality setRate setRGB setSeconds setSelection setSilenceLevel setStyle setTextFormat setTime setTransform setUseEchoSuppression setUTCDate setUTCFullYear setUTCHours setUTCMilliseconds setUTCMinutes setUTCMonth setUTCSeconds setVolume setYear SharedObject SHIFT (constante) shift (mtodo) show showMenu showSettings

Consulte a entrada
MovieClip.setMask() Date.setMilliseconds() Date.setMinutes() Camera.setMode() Date.setMonth() Camera.setMotionLevel() TextField.setNewTextFormat() Sound.setPan() setProperty() Camera.setQuality() Microphone.setRate() Color.setRGB() Date.setSeconds() Selection.setSelection() Microphone.setSilenceLevel() TextField.StyleSheet.setStyle() TextField.setTextFormat() Date.setTime() Color.setTransform(), Sound.setTransform() Microphone.setUseEchoSuppression() 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 System.showSettings()

232

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
silenceLevel silenceTimeout sin tamanho slice smoothing sort sortOn Som 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 TAB tabChildren tabEnabled

Consulte a entrada
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 Key.TAB MovieClip.tabChildren Button.tabEnabled, MovieClip.tabEnabled, TextField.tabEnabled

Contedo do dicionrio

233

Elemento do ActionScript
tabIndex tabStops tan target targetPath tellTarget text textColor TextField TextFormat textHeight textWidth this throw time toggleHighQuality toLowerCase toString

Consulte a entrada
Button.tabIndex, MovieClip.tabIndex, TextField.tabIndex TextFormat.tabStops Math.tan() TextFormat.target targetPath tellTarget TextField.text TextField.textColor Classe TextField Classe TextFormat TextField.textHeight 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() MovieClipLoader.unloadClip() unloadMovie(), MovieClip.unloadMovie() unloadMovieNum() Array.unshift() Object.unwatch()

toUpperCase trace trackAsMenu true try type typeof undefined underline unescape uninstall unloadClip unloadMovie unLoadMovieNum unshift unwatch

234

Captulo 12: Dicionrio do ActionScript

Elemento do ActionScript
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
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

Contedo do dicionrio

235

(decremento)
Disponibilidade

Flash Player 4.
Uso expresso expresso Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador (aritmtico); um operador unitrio 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

236

Captulo 12: Dicionrio do ActionScript

++ (incremento)
Disponibilidade

Flash Player 4.
Uso ++expresso expresso++ Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador (aritmtico); um operador unrio pr-incremento e ps-incremento que adiciona 1 expresso. A expresso pode ser uma varivel, um elemento em uma matriz ou uma propriedade de um objeto. A forma pr-incremento do operador (++expresso) adiciona 1 expresso e retorna o resultado. A forma ps-incremento do operador (expresso++) adiciona 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

++ (incremento)

237

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 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

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 (Sada):


0,1,2,3,4,5,6,7,8,9

238

Captulo 12: Dicionrio do ActionScript

! (NOT lgico)
Disponibilidade

Flash Player 4.
Uso !expresso Parmetros

Nenhum.
Retorna

Nada.
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"); }

! (NOT lgico)

239

!= (diferena)
Disponibilidade

Flash Player 5.
Uso expresso1 != expresso2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador (diferena); testa o oposto exato do operador ==. Se expresso1 for igual a expresso2, o resultado ser false. Como com 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, matrizes 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 um comando if.


a = "David"; b = "Fool" if (a != b){ trace("David is not a fool"); } Consulte tambm !== (diferena estrita), == (igualdade), === (igualdade estrita)

240

Captulo 12: Dicionrio do ActionScript

!== (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. Da mesma forma que 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, matrizes e funes so comparadas 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("Hello"); 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)

!== (diferena estrita)

241

% (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 e 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 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

242

Captulo 12: Dicionrio do ActionScript

%= (atribuio de mdulo)
Disponibilidade

Flash Player 4.
Uso expresso1 Parmetros %= expresso2

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)

%= (atribuio de mdulo)

243

& (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 no assinados de 32 bits e executa uma operao AND booleana em cada bit dos parmetros inteiros. O resultado um novo inteiro no assinado de 32 bits.

244

Captulo 12: Dicionrio do ActionScript

&& (AND lgico)


Disponibilidade

Flash Player 4.
Uso expresso1 && expresso2 Parmetros

Nenhum.
Retorna

Nada.
Descrio

Operador (lgico); executa uma operao booleana nos valores de uma ou de ambas as expresses. Avalia expresso1 (a expresso do lado esquerdo do operador) e retorna false se a expresso for avaliada como false. Se expresso1 for avaliada como true, expresso2 (a expresso do lado direito do operador) ser avaliada. Se 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 turns e score so atualizadas quando for a vez de um jogador ou quando esse marcar um ponto durante o jogo. O script abaixo exibe a mensagem Voc venceu o jogo! no painel Output (Sada) quando a pontuao do jogador atingir 75, ou mais, em 3 voltas, ou menos.
rodadas=2; placar=77; vencedor = (rodadas< = 3) && (placar >= 75); if (vencedor) { trace("Voc venceu o jogo!"); else { trace("Tente novamente!"); }

&& (AND lgico)

245

&= (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)

246

Captulo 12: Dicionrio do ActionScript

() (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 Retorna

Uma srie de parmetros que devem ser executados antes de os resultados serem transferidos como parmetros para a funo fora dos parnteses.

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: Os comandos 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

() (parnteses)

247

(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: O comando a seguir reverte o sinal da expresso 2 + 3.


-(2 + 3)

O resultado -5. Uso 2: O comando a seguir subtrai o inteiro 2 do inteiro 5.


5 - 2

O resultado 3, que um inteiro. Uso 2: O comando 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.

248

Captulo 12: Dicionrio do ActionScript

* (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

O comando a seguir multiplica os inteiros 2 e 3:


2 * 3

O resultado 6, que um inteiro.


Exemplo

Este comando 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.

* (multiplicao)

249

*= (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

O exemplo a seguir atribui o valor 50 varivel x.


x = 5; y = 10; trace (x *= y); // retorna 50 Exemplo

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)

250

Captulo 12: Dicionrio do ActionScript

, (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 principalmente usado com o comando 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;

, (vrgula)

251

. (ponto)
Disponibilidade

Flash Player 4.
Uso objeto.propriedade_ou_metodo 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 do 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 (filha) 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.

252

Captulo 12: Dicionrio do ActionScript

Exemplo

O comando a seguir identifica o valor atual da varivel corCabelo no clipe de filme person_mc.
pessoa_mc.corCabelo

Isso equivale seguinte sintaxe do Flash 4:


/pessoa_mc:corCabelo

O cdigo a seguir ilustra como o operador ponto pode ser usado para criar a estrutura de uma matriz:
account.name = "Gary Smith"; account.address = "123 Main St"; account.city = "Any Town"; account.state = "CA"; account.zip = "12345"; Consulte tambm [] (acesso de array)

. (ponto)

253

: (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 851. 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 35). 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.

254

Captulo 12: Dicionrio do ActionScript

Exemplo

Uso 1: O exemplo a seguir declara uma varivel pblica denominada nomeUsuario cujo tipo String e atribui uma seqncia de caracteres vazia a ela.
public var nomeUsuario:String = "";

Uso 2: Este exemplo demonstra como especificar o tipo de parmetro de uma funo. O cdigo a seguir define uma funo denominada setData() que requer um parmetro denominado dataAtual do tipo Date.
function setData(dataAtual:Date) { this.data = dataAtual; }

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); }

: (tipo)

255

?: (condicional)
Disponibilidade

Flash Player 4.
Uso expresso1 ? expresso2 : expresso3 Parmetros expresso1 Uma expresso que avaliada para um valor booleano, normalmente uma expresso de comparao como x < 5. expresso2, expresso3 Retorna

Valores de qualquer tipo.

Nada.
Descrio

Operador; instrui o Flash a avaliar expresso1 e, se o valor de expresso1 for true, ele retornar o valor de expresso2; caso contrrio, retornar o valor de expresso3.
Exemplo

O comando a seguir atribui o valor de varivel x a varivel z, pois expresso1 foi avaliada como true:
x = 5; y = 10; z = (x < 6) ? x: y; trace (z); // retorna 5

256

Captulo 12: Dicionrio do ActionScript

/ (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

O comando 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.

/ (diviso)

257

// (delimitador de comentrio)
Disponibilidade

Flash 1.
Uso // comentrio Parmetros comentrio Retorna

Qualquer caractere.

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

258

Captulo 12: Dicionrio do ActionScript

/* (delimitador de comentrio)
Disponibilidade

Flash Player 5.
Uso /* comentrio */ /* comentrio comentrio */ Parmetros comentrio Retorna

Qualquer caractere.

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)

/* (delimitador de comentrio)

259

/= (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, os dois comandos 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

260

Captulo 12: Dicionrio do ActionScript

[] (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 em uma matriz. O nome de um array multidimensional simulado.

a0, a1,...aN

meu_arrayMultiDimensional E

O nmero (ou ndice) de um elemento em uma matriz. 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 uma nova matriz ou uma matriz multidimensional com os elementos especificados (a0, e assim por diante), ou acessa elementos em uma matriz. O operador de acesso de matriz 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 so denominadas elementos, que so identificados individualmente por um nmero chamado de ndice. Na criao de uma matriz, os elementos ficam entre o operador de acesso de matriz (ou colchetes). Uma matriz pode conter elementos de vrios tipos. Por exemplo, a matriz a seguir, denominada 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: Para simular matrizes multidimensionais, possvel aninhar os colchetes. O cdigo a seguir cria uma matriz denominada ticTacToe com trs elementos; cada um deles tambm uma matriz 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 visualizar uma lista dos elementos de matriz

[] (acesso de array)

261

Uso 3: Coloque o ndice de cada elemento entre colchetes para acess-lo diretamente. possvel adicionar um novo elemento e alterar ou recuperar o valor de um elemento existente no array. O primeiro elemento de uma matriz sempre 0:
meu_array[0] = 15; meu_array[1] = "Ol"; meu_array[2] = true;

Use colchetes para adicionar um quarto elemento, como no exemplo a seguir:


meu_array[3] = "George";

Uso 4: Para acessar um elemento em uma matriz multidimensional, use colchetes. O primeiro conjunto de colchetes identifica o elemento na matriz original, e o segundo conjunto identifica o elemento na matriz aninhada. 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 de 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 (Sada). Na quarta linha, um elemento do array alterado e a quinta linha envia o array recentemente modificado para o painel Output (Sada):
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 ("piece" + i) avaliada e o resultado usado como o nome da varivel a ser recuperada do clipe de filme my_mc. Neste exemplo, a varivel i deve estar na mesma Timeline que o boto. Se a varivel i for igual a 5, por exemplo, o valor da varivel piece5 no clipe de filme my_mc ser exibido no painel Output (Sada):
on (release) { x = meu_mc["trecho"+i]; trace(x); }

262

Captulo 12: Dicionrio do ActionScript

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 de array do lado esquerdo de um comando de atribuio para definir dinamicamente a instncia, a varivel e os nomes de objeto:
name[index] = "Gary"; Consulte tambm

Classe Array, Classe Object, eval()

[] (acesso de array)

263

^ (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 sem sinal de 32 bits 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)

264

Captulo 12: Dicionrio do ActionScript

^= (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, os dois comandos 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)

^= (atribuio XOR bit a bit)

265

{} (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 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.
object = {}; object = new Object();

O exemplo a seguir cria um objeto account 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 matriz e de objeto podem ser aninhados um no 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.
person = new Person(); person.name = 'Gina Vechio'; person.children = new Array(); person.children[0] = 'Ruby'; person.children[1] = 'Chickie'; person.children[2] = 'Puppa'; Consulte tambm [] (acesso de array), new,
266

Classe Object

Captulo 12: Dicionrio do ActionScript

| (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 no assinados de 32 bits 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)

| (OR bit a bit)

267

|| (OR lgico)
Disponibilidade

Flash Player 4.
Uso expresso1 || expresso2 Parmetros expresso1,expresso2

Um valor ou uma expresso booleana convertida em um valor

booleano.
Retorna

Nenhum.
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

O exemplo a seguir usa o operador || em um comando 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('o teste de OR lgico passou'); } Exemplo

Este exemplo demonstra como uma expresso no-booleana pode apresentar um resultado inesperado. Se a expresso da esquerda for convertida em true, esse resultado ser retornado sem converter a expresso da direita.
function fx1(){ trace ("fx1 chamado"); retorna true; } function fx2(){ trace ("fx2 chamado"); retorna true; } if (fx1() || fx2()){ trace ("entrou no comando IF"); } //O que se segue enviado para o painel Output (Sada): // fx1 chamado // comando IF inserido

268

Captulo 12: Dicionrio do ActionScript

|= (atribuio OR bit a bit)


Disponibilidade

Flash Player 5.
Uso expresso1 Parmetros expresso1,expresso2 Retorna |= expresso2

Um nmero ou uma varivel.

Nenhum.
Descrio

Operador (atribuio bit a bit); atribui a expresso1 o valor de expresso1 | expresso2. Por exemplo, os dois comandos 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)

|= (atribuio OR bit a bit)

269

~ (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 sem sinal de 32 bits, 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

270

Captulo 12: Dicionrio do ActionScript

+ (adio)
Disponibilidade

Flash Player 4; Flash Player 5. No Flash 5 e 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 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 posterior, convertido:


Number(x) + Number(y) Uso expresso1 + expresso2 Parmetros expresso1,expresso2 Retorna

Nmeros ou seqncias de caracteres.

Nenhum.
Descrio

Operador; adiciona expresses numricas ou concatena (combina) seqncias de caracteres. Se uma expresso for uma seqncia de caracteres, todas as outras expresses so 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

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);

+ (adio)

271

Exemplo

As variveis associadas a campos de texto dinmico e de entrada tm a seqncia de caracteres como tipo de dado. No exemplo a seguir, o depsito da varivel um campo de texto de entrada no Palco. Depois que um usurio inserir um valor, o script tenta adicionar o depsito a SaldoAnterior. Contudo, como depsito um tipo de dado de seqncia de caracteres, o script concatena (combina os dados para formar uma 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() envia o valor 4751345.23 para o painel Output (Sada). Para corrigir isso, use a funo Number() para converter a seqncia de caracteres em um nmero, como no exemplo a seguir:
currentBalance = Number(deposit) + oldBalance; Exemplo

Este comando adiciona os inteiros 2 e 3 e exibe o inteiro resultante, 5, no painel Output (Sada):
trace (2 + 3);

Este comando adiciona 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 (Sada):
trace (2,5 + 3,25); Consulte tambm _accProps

272

Captulo 12: Dicionrio do ActionScript

+= (atribuio de adio)
Disponibilidade

Flash Player 4.
Uso expresso1 Parmetros expresso1,expresso2 Retorna += expresso2

Nmeros ou seqncias de caracteres.

Nada.
Descrio expresso2. x += y; x = x + y;

Operador (atribuio composta aritmtica); atribui a expresso1 o valor de expresso1 + Por exemplo, os dois comandos 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)

+= (atribuio de adio)

273

< (menor que)


Disponibilidade

Flash Player 4; Flash Player 5. No Flash 5 e posteriores, o operador < (menor que) um operador de comparao capaz de gerenciar vrios tipos de dados. No Flash 4, < um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou 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 posterior, convertido:


Number(x) < Number(y) Uso expression1 Parmetros expresso1,expresso2 Descrio < expression2

Nmeros ou seqncias 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 retorna 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

274

Captulo 12: Dicionrio do ActionScript

<< (deslocamento para a esquerda bit a bit)


Disponibilidade

Flash Player 5.
Uso expression1 << Parmetros expresso1 expresso2 Retorna

expression2

Nmero ou expresso a ser deslocada para a esquerda. Um nmero ou expresso que pode ser transformada em um inteiro de 0 a 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)

<< (deslocamento para a esquerda bit a bit)

275

<<= (deslocamento para a esquerda bit a bit e atribuio)


Disponibilidade

Flash Player 5.
Uso expresso1 Parmetros expresso1 expresso2 Retorna <<= expresso2

Nmero ou expresso a ser deslocada para a esquerda. Um nmero ou expresso que pode ser transformada em um inteiro de 0 a 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)

276

Captulo 12: Dicionrio do ActionScript

<= (menor ou igual que)


Disponibilidade

Flash Player 4. Arquivo do Flash 4:


x <= y

Arquivo do Flash 5, ou posterior, convertido:


Number(x) <= Number(y) Uso expresso1 < = expresso2 Parmetros expresso1,expresso2 Retorna

Nmeros ou seqncias de caracteres.

Nada.
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 retorna false. As expresses de seqncia de caracteres so avaliadas em ordem alfabtica; todas as letras maisculas vm antes das minsculas. No Flash 5 ou posteriores, o operador menor ou igual a (<=) um operador de comparao, com capacidade para gerenciar vrios tipos de dados. No Flash 4, <= um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou 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.

<= (menor ou igual que)

277

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

278

Captulo 12: Dicionrio do ActionScript

<> (diferena)
Disponibilidade

Flash 2.
Uso expression1 <> expression2 Parmetros expression1,expression2

Nmero, seqncia de caracteres, valor booleano, varivel, objeto,

array ou funo.
Retorna

Nada.
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, matrizes 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)

279

= (atribuio)
Disponibilidade

Flash Player 4. Arquivo do Flash 4:


x = y

Arquivo do Flash 5, ou posterior, convertido:


Number(x) == Number(y) Uso expresso1 Parmetros expresso1 expresso2 Retorna = expresso2

Varivel, elemento de uma matriz ou propriedade de um objeto. Valor de qualquer tipo.

Nada.
Descrio

Operador; atribui o tipo de expresso2 (o parmetro da direita) varivel, ao elemento da matriz ou propriedade em expresso1. No Flash 5 ou 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 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 atribuir o tipo de dado numrico varivel x.
x = 5

O exemplo a seguir usa o operador de atribuio para atribuir o tipo de dado de seqncia de caracteres varivel x.
x = "hello" Consulte tambm == (igualdade)

280

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 expresso1Por exemplo, os dois comandos a seguir so equivalentes:

As expresses de seqncia de caracteres devem ser convertidas em nmeros ou ser retornado NaN.
Exemplo

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 Exemplo

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)

281

== (igualdade)
Disponibilidade

Flash Player 5.
Uso expresso1 == expresso2 Parmetros expression1,expression2

Nmero, seqncia de caracteres, valor booleano, varivel, objeto,

array ou funo.
Retorna

Nada.
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 dado do parmetro:

Nmeros e valores booleanos so comparados por valor e, se tiverem o mesmo valor,


so considerados iguais. Expresses de seqncia de caracteres so iguais se tiverem o mesmo nmero de caracteres e os caracteres forem idnticos. Variveis, objetos, matrizes e funes so comparadas por referncia. Duas variveis so iguais se fizerem referncia ao mesmo objeto, matriz ou funo. Dois arrays separados nunca so considerados iguais, mesmo que tenham o mesmo nmero de elementos.

Exemplo

O exemplo a seguir usa o operador == com um comando if:


a = "David" , b = "David"; if (a == b){ trace("David David"); } Exemplo

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)

282

Captulo 12: Dicionrio do ActionScript

=== (igualdade estrita)


Disponibilidade

Flash Player 6.
Uso expresso1 === expresso2 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 dado do parmetro:

Nmeros e valores booleanos so comparados por valor e, se tiverem o mesmo valor, so


considerados iguais. Expresses de seqncia de caracteres so iguais se tiverem o mesmo nmero de caracteres e os caracteres forem idnticos. Variveis, objetos, matrizes e funes so comparadas por referncia. Duas variveis so iguais se fizerem referncia ao mesmo objeto, matriz 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("Hello"); 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)

283

> (maior que)


Disponibilidade

Flash Player 5.
Uso expression1 > expression2 Parmetros expresso1,expresso2

Um inteiro, um nmero de ponto flutuante ou uma seqncia de

dados.
Retorna

Nada.
Descrio

Operador (comparao); compara duas expresses e determina se expresso1 maior que expresso2 (true) ou se expresso1 menor ou igual a expresso2 (false).

>= (maior ou igual a)


Disponibilidade

Flash Player 4. Arquivo do Flash 4:


x > y

Arquivo do Flash 5, ou 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

Nada.
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 posteriores, maior ou igual a (>) um operador de comparao com capacidade para gerenciar vrios tipos de dado. No Flash 4, > um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou posteriores passam por um processo de converso para manter a integridade dos tipos de dados.

284

Captulo 12: Dicionrio do ActionScript

>> (deslocamento para a direita bit a bit)


Disponibilidade

Flash Player 5.
Uso expression1 >> expression2 Parmetros expresso1 expresso2 Retorna

Nmero ou expresso a ser deslocada para a direita. Um nmero ou expresso que pode ser transformada em um inteiro de 0 a 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) de 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)

>> (deslocamento para a direita bit a bit)

285

>>= (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. Um nmero ou expresso que pode ser transformada em um inteiro de 0 a 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(number){ var result = ""; for (var i=0; i32; i++) { // Extrai o bit menos significativo pelo uso de AND bit a bit var lsb = number & 1; // Adiciona esse bit a nossa seqncia de caracteres de resultado result = (bms ? "1" : "0") + result; // Desloca o nmero um bit para a direita para ver prximo bit numero >= 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)

286

Captulo 12: Dicionrio do ActionScript

>>> (deslocamento para a direita bit a bit sem sinal)


Disponibilidade

Flash Player 5.
Uso expression1 >>> expression2 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)

>>> (deslocamento para a direita bit a bit sem sinal)

287

>>>= (deslocamento para a direita bit a bit sem sinal e atribuio)


Disponibilidade

Flash Player 5.
Uso expresso1>>> Parmetros expresso1 expresso2 Retorna = expresso2

Nmero ou expresso a ser deslocada para a esquerda. Um nmero ou expresso que pode ser transformada em um inteiro de 0 a 31.

Nada.
Descrio

Operador (atribuio composta bit a bit); executa uma operao de deslocamento para direita bit a bit no assinada 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.
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 registrar as alteraes feitas nas propriedades de acessibilidade de um objeto usando _accProps com um aplicativo leitor de tela, use o mtodo Accessibility.updateProperties(). Resumo de 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.

288

Captulo 12: Dicionrio do ActionScript

Accessibility.isActive()
Disponibilidade

Flash Player 6.
Uso Accessibility.isActive() Parmetros

Nenhum.
Retorna

Um valor booleano true, se houver clientes ativos do Microsoft Active Accessibility (MSAA), caso contrrio, false.
Descrio

Mtodo; indica se um programa leitor de tela MSAA est ativo no momento. Use este mtodo quando desejar que seu aplicativo tenha um comportamento diferente diante de um leitor de tela.
Observao: No Flash Player 6, se este 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

Accessibility.isActive()

289

Accessibility.updateProperties()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
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. O usurio pode aplicar propriedades de acessibilidade em todo o arquivo SWF ou em um clipe de filme especfico e pode defini-las atravs do painel Acessibility (Acessibilidade) durante a criao e atravs da varivel global _accProps em tempo de execuo.
Consulte tambm Accessibility.isActive(), _accProps, System.capabilities.hasAccessibility

_accProps
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Consulte tambm Accessibility.isActive(), Accessibility.updateProperties(), System.capabilities.hasAccessibility

290

Captulo 12: Dicionrio do ActionScript

add
Disponibilidade

Flash Player 4.
Uso seq_caract1 add seq_caract2 Parmetros seqncia de caracteres1, seqncia de caracteres2 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 posteriores. Entretanto, o operador add tornou-se obsoleto no Flash Player 5 e a Macromedia recomenda que o operador + seja usado criar contedo para o Flash Player 5 ou 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 avaliam como true ou false.

Nada.
Descrio

Operador; executa uma operao lgica AND no Flash Player 4. Se ambas as expresses forem avaliadas como true, toda a expresso true. Este operador tornou-se obsoleto no Flash 5, e a Macromedia recomenda que o operador && seja usado.
Consulte tambm && (AND lgico)

and

291

Classe Arguments
Disponibilidade

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 de propriedades da classe Arguments
Propriedade
arguments.callee arguments.caller arguments.length

Descrio Refere-se funo sendo chamada. Refere-se ao objeto Arguments da funo que chama. 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 repetitiva, 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 repetitiva nomeada:


function factorial (x) { if (x <= 1) { return 1; else { return x * factorial(x-1); } }

292

Captulo 12: Dicionrio do ActionScript

arguments.caller
Disponibilidade

Flash Player 6.
Uso arguments.caller Descrio

Propriedade; refere-se ao objeto Arguments da funo chamada.

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. Uma matriz um objeto cujas propriedades so identificadas por nmeros que representam suas posies na matriz. Esse nmero chamado de ndice. Todas as matrizes so de base zero, o que significa que o primeiro elemento na matriz [0], o segundo [1], etc. 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 de matriz ([]). Para acessar os elementos de um array, use o operador de acesso de array ([]).

Classe Array

293

Resumo de mtodos da classe Array


Mtodo
Array.concat() Array.join() Array.pop() Array.push()

Descrio Concatena os parmetros e os retorna como uma nova matriz. Rene todos os elementos de uma matriz em uma seqncia de caracteres. Remove o ltimo elemento de uma matriz e retorna seu valor. Adiciona um ou mais elementos ao fim de um array e retorna o novo tamanho do array. Inverte a direo de uma matriz. Remove o primeiro elemento de uma matriz e retorna seu valor. Extrai uma seo de uma matriz e a retorna como uma nova matriz. Classifica uma matriz no local. Classifica uma matriz com base em um campo da matriz. Adiciona e remove elementos de um array. Retorna um valor de seqncia de caracteres que representa os elementos no objeto Array. Adiciona um ou mais elementos ao incio de uma matriz e retorna o novo tamanho da matriz.

Array.reverse() Array.shift() Array.slice() Array.sort() Array.sortOn() Array.splice() Array.toString()

Array.unshift()

Resumo de propriedades da classe Array


Propriedade
Array.length

Descrio Um inteiro maior que zero que especifica o nmero de elementos no 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 na matriz. No caso de elementos no contguos, o parmetro tamanho especifica o nmero do ndice do ltimo elemento na matriz mais 1.
elemento0...elementoN Uma lista de dois ou mais valores arbitrrios. Os valores podem ser nmeros, seqncias de caracteres, objetos ou outras matrizes. O primeiro elemento em uma matriz sempre tem um ndice, ou posio 0.

294

Captulo 12: Dicionrio do ActionScript

Retorna

Nada.
Descrio

Construtor; permite a criao de uma matriz. possvel usar o construtor para criar diferentes tipos de arrays: um array vazio, um array com tamanho especfico mas cujos elementos no possuem valores 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 apenas um tamanho for especificado, ser criado um array com tamanho elementos, sem valores. Uso 3: Se os parmetros elemento forem usados para especificar os 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 da matriz 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 adiciona um sexto elemento ao 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

295

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

uma nova matriz.


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 uma matriz, os elementos dessa matriz sero concatenados, em vez da prpria matriz. O array meu_array permanece inalterado.
Exemplo

O cdigo a seguir concatena duas matrizes:


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 matriz ["a","b","c",1,2,3]

O cdigo a seguir concatena trs matrizes:


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 matriz [1,3,5,2,4,6,7,8,9]

As matrizes aninhadas no so achatadas da mesma forma que as matrizes 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 uma matriz aninhada 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]); // "b" trace(x_array[4]); // 2, 3 trace(x_array[5]); // 4

296

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 da matriz 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 uma matriz em seqncias de caracteres, insere o separador especificado entre eles, concatena esses elementos e retorna a seqncia de caracteres resultante. Um vetor 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, rene 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 os exibe 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()

297

Array.length
Disponibilidade

Flash Player 5.
Uso meu_array.length Descrio

Propriedade; um inteiro maior que zero que especifica o nmero de elementos no array. Essa propriedade atualizada automaticamente quando so adicionados novos elementos matriz. 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 no 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 myPets, com quatro elementos, depois remove seu ltimo elemento.
myPets = ["gato", "cachorro", "pssaro", "peixe"]; popped = myPets.pop(); trace(popped); // retorna peixe

298

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 matriz.

O tamanho da nova matriz.


Descrio

Mtodo; adiciona um ou mais elementos ao fim de um array e retorna o novo tamanho do array.
Exemplo

O exemplo a seguir cria a matriz myPets com dois elementos, gato e cachorro. A segunda linha adiciona dois elementos matriz. Depois que o mtodo push() for chamado, a varivel pushed conter quatro elementos. Como o mtodo push() retorna o novo tamanho do array, a ao na ltima linha envia o novo tamanho de myPets (4) para o painel Output (Sada):
myPets = ["gato", "cachorro"]; pushed = myPets.push("pssaro", "peixe"); trace(pushed);

Array.reverse()
Disponibilidade

Flash Player 5.
Uso meu_array.reverse() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; reverte a matriz no local.


Exemplo

O exemplo a seguir mostra o uso deste mtodo.


var numbers_array = [1, 2, 3, 4, 5, 6]; trace(numbers_array.join()); //1,2,3,4,5,6 numbers_array.reverse(); trace(numbers_array.join()); // 6,5,4,3,2,1

Array.reverse()

299

Array.shift()
Disponibilidade

Flash Player 5.
Uso meu_array.shift() Parmetros

Nenhum.
Retorna

O primeiro elemento de uma matriz.


Descrio

Mtodo; remove o primeiro elemento de uma matriz e retorna esse elemento.


Exemplo

O cdigo a seguir cria a matriz myPets e, em seguida, remove o primeiro elemento da matriz e o atribui varivel shifted.
var myPets_array = ["gato", "cachorro", "pssaro", "peixe"]; shifted = myPets_array.shift(); trace(shifted); // retorna "gato" Consulte tambm Array.pop()

Array.slice()
Disponibilidade

Flash Player 5.
Uso meu_array.slice(incio, fim) Parmetros incio fim

Um nmero que especifica o ndice do ponto inicial da fatia. Se incio for um nmero negativo, o ponto inicial comear no fim da matriz, onde -1 o ltimo elemento.

Um nmero que especifica o ndice do ponto final da fatia. Se esse argumento for omitido, a fatia incluir todos os elementos do incio ao fim da matriz. Se fim for um nmero negativo, o ponto final ser especificado a partir do fim da matriz, onde -1 o ltimo elemento.
Retorna

Uma matriz.
Descrio

Mtodo; extrai um segmento ou subseqncia de caracteres da matriz e o retorna como uma nova matriz, sem modificar a matriz original. A matriz retornada inclui o elemento incio e todos os elementos at, mas no incluindo, o elemento fim.

300

Captulo 12: Dicionrio do ActionScript

Array.sort()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 5.
Uso meu_array.sort([compareFunction]) Parmetros compareFunction

Uma funo de comparao opcional usada para determinar a ordem de classificao de elementos de uma matriz. Dados os elementos A e B, o parmetro orderfunc pode ter um dos trs seguintes valores:

-1 se A aparecer antes de B na seqncia classificada 0 se A = B 1 se A aparecer depois de B na seqncia classificada


Retorna

Nada.
Descrio

Mtodo; classifica a matriz no local, sem fazer uma cpia. Se o parmetro compareFunction for omitido, o Flash ordenar as posies dos elementos usando o operador de comparao <.
Exemplo

O exemplo a seguir usa Array.sort() sem especificar o parmetro compareFunction:


var frutas_array = ["laranjas", "mas", "morangos", "abacaxis", "cerejas"]; trace(frutas_array.join()); frutas_array.sort(); trace(frutas_array.join());

Sada:
laranjas, mas, morangos, abacaxis, cerejas abacaxis, cerejas, laranjas, mas, morangos

Array.sort()

301

Array.sortOn()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso meu_array.sortOn(nomeCampo) Parmetros fieldName

Uma seqncia de caracteres que identifica um campo em um elemento do Array para usar valor de classificao. Nenhum.

Retorna

Descrio

Mtodo; classifica os elementos de uma matriz com base em um campo da matriz. Se nenhum parmetro nomeCampo for passado, a funo falhar. Se vrios parmetros fieldName forem passados, o primeiro campo ser convertido em um valor de seqncia de caracteres e os parmetros remanescentes sero ignorados. Se algum dos elementos comparados no tiver o campo especificado no parmetro fieldName, a ordenao adotar o comportamento padro descrito em Array.sort().
Exemplo

O exemplo a seguir cria uma nova matriz e a classifica com base no campo cidade:
var rec_array = new Array(); rec_array.push( { nome: "beto", cidade: "olinda", cep: 68144 } ); rec_array.push( { nome: "gregrio", cidade: "joo pessoa", cep: 72345 } ); rec_array.push( { nome: "cris", cidade: "boa vista", cep: 94010 } ); for(i=0; i<rec_array.length; i++) { trace(rec_array[i].nome + ", " + rec_array[i].cidade); } // resulta em // beto, olinda // gregrio, joo pessoa // cris, boa vista rec_array.sortOn("cidade"); for(i=0; i<rec_array.length; i++) { trace(rec_array[i].nome + ", " + rec_array[i].cidade); } // resulta em // cris, boa vista // gregrio, joo pessoa // beto, olinda Consulte tambm Array.sort()

302

Captulo 12: Dicionrio do ActionScript

Array.splice()
Disponibilidade

Flash Player 5.
Uso meu_array.splice(incio, deleteCount [, valor0, valor1...valorN]) Parmetros incio

O ndice do elemento na matriz onde a insero e/ou excluso comea.

O nmero de elementos a serem excludos. Esse nmero inclui o elemento especificado no parmetro incio. Se no houver valores especificados para deleteCount, o mtodo exclui todos os valores a partir do elemento incio at o ltimo elemento na matriz. Se o valor for 0, nenhum elemento ser excludo.
deleteCount valor Um parmetro opcional que especifica os valores a serem inseridos no array no ponto de insero especificado no parmetro start. Retorna

Nada.
Descrio

Mtodo; adiciona e remove elementos de uma matriz. Esse mtodo modifica a matriz sem fazer uma cpia.

Array.splice()

303

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, a converte 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

da matriz.
Retorna

O novo tamanho da matriz.


Descrio

Mtodo; adiciona um ou mais elementos ao incio de um array e retorna o novo tamanho do array.

304

Captulo 12: Dicionrio do ActionScript

Array()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 5.
Uso Array(expresso) Parmetros expresso Retorna

Uma expresso a ser convertida em array

Um array, como descrito a seguir.


Descrio

Funo de converso; cria um novo array vazio, ou converte os elementos especificados em um array. Esse comando similar criao de um array usando o construtor Array (consulte Construtor da classe Array na pgina 294).
Consulte tambm

Classe Array

Array()

305

asfunction
Disponibilidade

Flash Player 5.
Uso asfunction:function,"parmetro" Parmetros funo

Um identificador para uma funo. Uma seqncia de caracteres que passada para a funo identificada no parmetro

parmetro function. 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 MyFunc() definida nas trs primeiras linhas de cdigo. A varivel textField associada a um campo de texto HTML. O texto "Clique em mim!" um hiperlink dentro do campo de texto. A funo MyFunc() ser chamada quando o usurio clicar no hiperlink:
function MyFunc(arg){ trace ("Voc me clicou! O parmetro foi "+arg); } myTextField.htmlText ="<A HREF=\"asfunction:MyFunc,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

306

Captulo 12: Dicionrio do ActionScript

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 a representao de uma seqncia de caracteres de um objeto Boolean. Use o construtor new Boolean() para criar um objeto Boolean antes de chamar seus mtodos. Resumo de mtodos da classe Boolean
Mtodo
Boolean.toString()

Descrio Retorna uma seqncia de caracteres (true ou false) que representa o valor 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. Caso especifique um valor para o parmetro x, o mtodo o avalia e retorna o resultado como um valor booleano de acordo com as regras estabelecidas na funo Boolean().
Observao: Para manter a compatibilidade com o Flash Player 4, a manipulao de seqncias de caracteres pela classe Boolean no usa o padro ECMA-262. Exemplo

O cdigo a seguir cria um novo objeto Boolean vazio denominado myBoolean.


myBoolean = new Boolean();

Classe Boolean

307

Boolean.toString()
Disponibilidade

Flash Player 5.
Uso myBoolean.toString() Parmetros

Nenhum.
Retorna

Um valor booleano.
Descrio

Mtodo; retorna a representao da seqncia de caracteres (true ou false) do objeto Boolean.

Boolean.valueOf()
Disponibilidade

Flash Player 5.
Uso myBoolean.valueOf() Parmetros

Nenhum.
Retorna

Um valor booleano.
Descrio

Mtodo; retorna o tipo de valor primitivo do objeto Boolean especificado.

308

Captulo 12: Dicionrio do ActionScript

Boolean()
Disponibilidade

Flash Player 5.
Uso Booleano(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 esse no for zero, o valor de retorno ser true, caso contrrio,
o valor de retorno ser false. Se expresso for uma seqncia de caracteres, o mtodo toNumber ser chamado e o valor de retorno ser true se o nmero no for zero, caso contrrio, o valor de retorno ser false. 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

Boolean()

309

break
Disponibilidade

Flash Player 4.
Uso break Parmetros

Nenhum.
Retorna

Nada.
Descrio

Comando; exibido em um loop (for, for..in, do while ou while) ou em um bloco de comandos associados 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 o comando aps o comando loop. Ao usar a ao break, o interpretador Flash ignora o resto dos comandos nesse bloco case e vai para o primeiro comando subseqente ao switch anexada. 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

310

Captulo 12: Dicionrio do ActionScript

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 Property (Propriedades) e usar os mtodos e as propriedades da classe Button para manipular botes com o ActionScript. Nomes de instncia de boto so exibidos no Movie Explorer e na caixa de dilogo Inserir caminho de destino no painel Actions. A classe Button herda da Classe Object. Resumo de mtodos da classe Button
Mtodo
Button.getDepth()

Descrio Retorna a profundidade de uma instncia de boto.

Resumo de 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 do 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 guia automtica. Indica a ordem de guias 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, quando o mouse passa sobre um boto, exibe-se a mo indicadora.

Button._quality Button._rotation Button._soundbuftime Button.tabEnabled Button.tabIndex Button._target Button.trackAsMenu Button._url Button.useHandCursor

Classe Button

311

Propriedade
Button._visible

Descrio 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._width Button._x Button._xmouse Button._xscale

Button._y Button._ymouse Button._yscale

Resumo dos manipuladores de eventos da classe Button


Identificador 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. Chamada quando uma tecla liberada. Chamada quando o foco removido de um boto. Chamada quando o mouse pressionado enquanto o ponteiro est sobre um boto. Chamada quando o mouse liberado enquanto o ponteiro est sobre um boto. um boto, depois que o boto pressionado enquanto o ponteiro est dentro do boto.

Button.onDragOver

Button.onKeyUp Button.onKillFocus Button.onPress

Button.onRelease

Button.onReleaseOutside Chamada quando o mouse liberado enquanto o ponteiro est fora de

Button.onRollOut Button.onRollOver Button.onSetFocus

Chamada quando o ponteiro rola para fora da rea de um boto. Chamada quando o ponteiro do mouse rola sobre um boto. Chamada quando um boto tem o foco de entrada e uma tecla liberada.

312

Captulo 12: Dicionrio do ActionScript

Button._alpha
Disponibilidade

Flash Player 6.
Uso my_btn._alpha Descrio

Propriedade; o valor da transparncia alfa do boto especificado por my_btn. 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 star_btn como 30% quando se clica no boto:
on (release) { star_btn._alpha = 30; } Consulte tambm MovieClip._alpha, TextField._alpha

Button.enabled
Disponibilidade

Flash Player 6.
Uso my_btn.enabled Descrio

Propriedade; um valor booleano que especifica se um boto est ativado. O valor padro true.

Button._focusrect
Disponibilidade

Flash Player 6.
Uso my_btn._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._focusrect

313

Button.getDepth()
Disponibilidade

Flash Player 6.
Uso my_btn.getDepth() Retorna

Um inteiro.
Descrio

Mtodo; retorna a profundidade de uma instncia de boto.

Button._height
Disponibilidade

Flash Player 6.
Uso my_btn._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:
my_btn._width = 200; my_btn._height = 200;

Button._highquality
Disponibilidade

Flash Player 6.
Uso my_btn._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 SWF no contiver animao. Especifique 0 (baixa qualidade) para evitar o recurso sem serrilhado.

314

Captulo 12: Dicionrio do ActionScript

Exemplo _highquality = 1; Consulte tambm _quality, toggleHighQuality()

Button.menu
Disponibilidade Flash Player 7.
Uso my_button.menu = contextMenu Parmetros contextMenu Descrio

Um objeto ContextMenu.

Propriedade; associa o objeto contextMenu de classe ContextMenu ao objeto boto my_button. A classe ContextMenu permite modificar o menu contextual 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 save_btn. 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" vai aqui } save_btn.menu = menu_cm; Consulte tambm

Classe ContextMenu, Classe ContextMenuItem, MovieClip.menu, TextField.menu

Button._name
Disponibilidade

Flash Player 6.
Uso my_btn._name Descrio

Propriedade; nome da instncia do boto especificado por my_btn.

Button._name

315

Button.onDragOut
Disponibilidade

Flash Player 6.
Uso my_btn.onDragOut = function() { // seus comandos vo 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.

316

Captulo 12: Dicionrio do ActionScript

Button.onDragOver
Disponibilidade

Flash Player 6.
Uso my_btn.onDragOver = function() { // seus comandos vo 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):
my_btn.onDragOver = function () { trace ("onDragOver chamado"); }; Consulte tambm Button.onKeyUp

Button.onDragOver

317

Button.onKeyDown
Disponibilidade

Flash Player 6.
Uso my_btn.onKeyDown = function() { // seus comandos vo 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) associada ao manipulador onKeyDown.
my_btn.onKeyDown = function () { trace ("onKeyDown chamado"); }; Consulte tambm Button.onKeyUp

318

Captulo 12: Dicionrio do ActionScript

Button.onKeyUp
Disponibilidade

Flash Player 6.
Uso my_btn.onKeyUp = function() { // seus comandos vo 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) associada ao manipulador onKeyPress.
my_btn.onKeyUp = function () { trace ("onKeyUp chamada"); };

Button.onKillFocus
Disponibilidade

Flash Player 6.
Uso my_btn.onKillFocus = function (newFocus) { // seus comandos vo aqui } Parmetros newFocus Retorna

O objeto em foco.

Nada.
Descrio

Manipulador de eventos; chamado quando um boto perde o foco do teclado. O mtodo onKillFocus recebe um parmetro, newFocus, que um objeto representando o novo objeto a receber o foco. Se nenhum objeto receber o foco, newFocus conter o valor null.
Button.onKillFocus 319

Button.onPress
Disponibilidade

Flash Player 6.
Uso my_btn.onPress = function() { // seus comandos vo 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) associada ao manipulador onPress.
my_btn.onPress = function () { trace ("onPress chamado"); };

320

Captulo 12: Dicionrio do ActionScript

Button.onRelease
Disponibilidade

Flash Player 6.
Uso my_btn.onRelease = function() { // seus comandos vo 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) associada ao manipulador onRelease.
my_btn.onRelease = function () { trace ("onRelease chamado"); };

Button.onRelease

321

Button.onReleaseOutside
Disponibilidade

Flash Player 6.
Uso my_btn.onReleaseOutside = function() { // seus comandos vo 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 associada ao manipulador onReleaseOutside.
my_btn.onReleaseOutside = function () { trace ("onReleaseOutside chamado"); };

322

Captulo 12: Dicionrio do ActionScript

Button.onRollOut
Disponibilidade

Flash Player 6.
Uso my_btn.onRollOut = function() { // seus comandos vo 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 associada ao manipulador onRollOut.
my_btn.onRollOut = function () { trace ("onRollOut chamado"); };

Button.onRollOut

323

Button.onRollOver
Disponibilidade

Flash Player 6.
Uso my_btn.onRollOver = function() { // seus comandos vo 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 associada ao manipulador onRollOver.
my_btn.onRollOver = function () { trace ("onRollOver chamado"); };

Button.onSetFocus
Disponibilidade

Flash Player 6.
Uso my_btn.onSetFocus = function(oldFocus){ // seus comandos vo aqui } Parmetros oldFocus Retorna

O objeto a perder o foco de teclado.

Nada.
Descrio

Manipulador de eventos; chamado quando um boto recebe foco de teclado. O parmetro oldFocus 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 oldFocus conter a instncia do campo de texto. Se nenhum objeto possua o foco anteriormente, oldFocus conter um valor null.

324

Captulo 12: Dicionrio do ActionScript

Button._parent
Disponibilidade

Flash Player 6.
Uso my_btn._parent.propriedade _parent.property 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 do 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 my_btn._quality Descrio

Propriedade (global); define ou recupera a qualidade de renderizao usada para um arquivo SWF. As fontes de dispositivo so sempre serrilhadas, sendo assim no so afetadas pela propriedade _quality.
Observao: Embora seja possvel especificar esta propriedade para um objeto Button, ela , na verdade, uma propriedade global e seu valor pode simplesmente ser especificado como _quality. Para obter mais informaes, consulte _quality.

Button._rotation
Disponibilidade

Flash Player 6.
Uso my_btn._rotation Descrio

Propriedade; a rotao do boto, em graus.

Button._rotation

325

Button._soundbuftime
Disponibilidade

Flash Player 6.
Uso myButton._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.
Observao: Embora seja possvel especificar esta propriedade para um objeto Button, ela , na verdade, uma propriedade global e seu valor pode simplesmente ser especificado como _soundbuftime. Para obter mais informaes, consulte _soundbuftime.

Button.tabEnabled
Disponibilidade

Flash Player 6.
Uso my_btn.tabEnabled Descrio

Propriedade; especifica se my_btn est includo na ordenao automtica de guias. A opo undefined utilizada por padro. Se a propriedade tabEnabled for undefined ou true, o objeto ser includo na ordenao automtica de guias. Se a propriedade tabIndex tambm estiver definida com um determinado valor, o objeto ser includo na ordenao personalizada de guias tambm. Se tabEnabled for false, o objeto no ser includo nem na ordenao de guias automtica nem na personalizada, ainda que a propriedade tabIndex seja definida.
Consulte tambm Button.tabIndex, MovieClip.tabEnabled, TextField.tabEnabled

326

Captulo 12: Dicionrio do ActionScript

Button.tabIndex
Disponibilidade

Flash Player 6.
Uso my_btn.tabIndex Descrio

Propriedade; permite personalizar a ordenao de guias dos objetos em um arquivo 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 sendo exibido atualmente no arquivo SWF tiver uma propriedade tabIndex, a ordenao automtica de guias ser desativada e a ordenao de guias passar a ser calculada a partir das propriedades tabIndex dos objetos do SWF. A ordenao personalizada de guias inclui apenas os objetos que tm propriedades 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 guia personalizada definida pela propriedade tabIndex flat. Isso significa que as relaes hierrquicas de objetos so ignoradas no arquivo SWF. Todos os objetos no SWF com propriedades tabIndex so colocados na ordem de guia. Por sua vez, essa determinada pela ordem dos valores de tabIndex. Se dois objetos tiverem o mesmo valor tabIndex, o que ser posicionado na frente indefinido. 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 myButton._target Descrio

Propriedade (somente leitura); retorna o caminho de destino da instncia de boto especificada por my_btn.
Consulte tambm targetPath

Button._target

327

Button.trackAsMenu
Disponibilidade

Flash Player 6.
Uso my_btn.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 existir, 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 my_btn._url Descrio

Propriedade (somente leitura); recupera o URL do arquivo SWF que criou o boto.

Button.useHandCursor
Disponibilidade

Flash Player 6.
Uso my_btn.useHandCursor Descrio

Propriedade; um valor booleano que, quando definido como true (o padro), indica se um cursor em forma de mo (mo indicadora) ser exibido 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. A propriedade useHandCursor pode ser lida de um objeto de prottipo.

328

Captulo 12: Dicionrio do ActionScript

Button._visible
Disponibilidade

Flash Player 6.
Uso my_btn._visible Descrio

Propriedade; um valor booleano que indica se o boto especificado por my_btn 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 my_btn._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.


my_btn._width=200; my_btn._height=200; Consulte tambm MovieClip._width

Button._width

329

Button._x
Disponibilidade

Flash Player 6.
Uso my_btn._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 Linha de tempo principal, seu sistema de coordenadas refere-se ao canto superior esquerdo do Palco como (0, 0). Se o boto estiver dentro de outro clipe de filme que tenha transformaes, o boto est no sistema de coordenadas local 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 my_btn._xmouse Descrio

Propriedade (somente leitura); retorna a coordenada x da posio do mouse em relao ao boto.


Consulte tambm Button._ymouse

330

Captulo 12: Dicionrio do ActionScript

Button._xscale
Disponibilidade

Flash Player 6.
Uso my_btn._xscale Descrio

Propriedade; o dimensionamento horizontal 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 redimensionado em 50%, a definio da propriedade _x move um objeto no boto pela metade do nmero de pixels, tomando como base as dimenses em 100% do SWF.
Consulte tambm Button._x, Button._y, Button._yscale

Button._y
Disponibilidade

Flash Player 6.
Uso my_btn._y Descrio

Propriedade; a coordenada y do boto em relao s coordenadas locais do clipe de filme pai. Se um boto estiver na Linha de tempo principal, seu sistema de coordenadas ir referir-se ao canto superior esquerdo do Palco como (0, 0). Se o boto estiver dentro de outro clipe de filme que tem transformaes, o boto est no sistema de coordenadas local 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

331

Button._ymouse
Disponibilidade

Flash Player 6.
Uso my_btn._ymouse Descrio

Propriedade (somente leitura); indica a coordenada y da posio do mouse em relao ao boto.


Consulte tambm Button._xmouse

Button._yscale
Disponibilidade

Flash Player 6.
Uso my_btn._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

332

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 identificador ou nmero de um quadro na 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 Playerpor exemplo, para monitorar um fluxo de vdeo de uma web camera conectada ao seu sistema local. O Flash fornece recursos similares 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

333

Resumo de mtodos da classe Camera


Mtodo
Camera.get()

Descrio Retorna 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 de propriedades da classe Camera


Propriedade (somente leitura)
Camera.activityLevel Camera.bandwidth

Descrio A quantidade de movimento que a cmera est detectando. A quantidade mxima de 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 quantidade 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 pela quantidade de compactao aplicada 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

334

Captulo 12: Dicionrio do ActionScript

Resumo de manipuladores de eventos da classe Camera


Identificador 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 quantidade de movimento que a cmera est detectando. Os valores vo de 0 (nenhum movimento detectado) a 100 (grande quantidade de movimento detectada). O valor dessa propriedade pode ajud-lo a determinar se necessrio passar uma configurao para Camera.setMotionLevel(). Se somente estiver sendo gerado fluxo de vdeo local no compactado, esta propriedade estar definida apenas se uma funo tiver sido associada ao manipulador de eventos Camera.onActivity. Do contrrio, ela estar indefinida.
Consulte tambm Camera.motionLevel, Camera.setMotionLevel()

Camera.activityLevel

335

Camera.bandwidth
Disponibilidade

Flash Player 6.
Uso cmera_ativa.bandwidth Descrio

Propriedade somente de leitura; um inteiro que especifica a quantidade mxima de 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

O exemplo a seguir carrega outro arquivo SWF se a largura de banda da cmera for de 32 kilobytes ou mais.
if(myCam.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 alterada. Entretanto, 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()

336

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 em um determinado instante,
use a propriedade Camera.currentFps.
Exemplo

O exemplo a seguir define a taxa de quadros por segundo da cmera ativa, myCam.fps, como o valor fornecido pela caixa de texto do usurio, this.config.txt_fps.
if (this.config.txt_fps != undefined) { myCam.setMode(myCam.width, myCam.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

337

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 camera_ativa=Camera.get(). Parmetros ndice Um inteiro opcional maior ou igual a zero que 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 retorna 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 pode especificar a cmera padro no painel Camera Settings (Configuraes de cmera) do Flash Player. Se no houver cmeras disponveis ou instaladas, o mtodo retorna null. Se ndice estiver especificado, este mtodo retorna 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 cam1=Camera.get() e cam2=Camera.get(), tanto cam1 quanto cam2 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 (Configuraes de cmera), 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 a preferida do usurio. O ndice ser usado em casos raros por exemplo, se o aplicativo estiver capturando vdeo de duas cmeras ao mesmo tempo. Quando um 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 pelo menos de 215 x 138 pixels. Esse o tamanho mnimo que o Flash necessita para exibir a caixa de dilogo.)

338

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 um domnio em particular clicando com o boto direito do mouse (no Windows) ou pressionando Control e clicando com o mouse (no Macintosh) enquanto um SWF estiver sendo executado, escolhendo Settings (Configuraes), abrindo o painel Privacy (Privacidade) e selecionando Remember (Lembre-se).

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 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 pelo tempo que a instncia do player estiver ativa. Entretanto, se o Flash no achar nenhuma cmera, ele ir procurar por uma toda vez que Camera.get for chamado. Isso pode ser til caso um usurio tenha esquecido de conectar a cmera; se o SWF apresentar um boto Try Again (Tente novamente) que chame Camera.get, o Flash poder achar a cmera sem que o usurio precise reiniciar o SWF.
Exemplo

O exemplo a seguir captura e exibe vdeo localmente dentro de um objeto Video denominado my_video no Stage (Palco).
var my_cam = Camera.get(); my_video.attachVideo(myCam); Consulte tambm Camera.index, Camera.muted, Camera.names, Camera.onStatus, Camera.setMode(), Video.attachVideo()

Camera.get()

339

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.
_root.txt_height = myCam.height;

Veja tambm o exemplo para Camera.setMode().


Consulte tambm Camera.setMode(), Camera.width

Camera.index
Disponibilidade

Flash Player 6.
Uso cmera_ativa.index Descrio

Propriedade somente de leitura; um inteiro maior ou igual a zero que 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.


myCam = Camera.get(ndice); Consulte tambm Camera.get(), Camera.names

340

Captulo 12: Dicionrio do ActionScript

Camera.motionLevel
Disponibilidade

Flash Player 6.
Uso cmera_ativa.motionLevel Descrio

Propriedade somente de leitura; um valor numrico que especifica a quantidade de movimento necessria para chamar Camera.onActivity(true). Os valores aceitveis vo 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.onStatus, Camera.setMotionLevel()

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(myCam.motionTimeOut >= 1000){ myCam.setMotionLevel(myCam.motionLevel, 1000); } Consulte tambm Camera.onActivity, Camera.setMotionLevel()

Camera.motionTimeOut

341

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 se modifica este valor, Camera.onStatus invocado. Para obter mais informaes, consulte Camera.get().
Exemplo

No exemplo a seguir, quando o usurio clica no boto, o Flash publica e reproduz um fluxo ao vivo se a cmera no estiver no modo mudo.
on (press) { // Se o usurio coloca a cmera em mudo, exibe informao de off-line. // Caso contrrio, publica e reproduz um fluxo ao vivo a partir da cmera. if(myCam.muted) { _root.debugWindow+="Camera off-line." + newline; } else { // Publica os dados da cmera, chamando // a funo pubLive() de root. _root.pubLive(); // Reproduz o que estiver sendo publicado chamando // a funo playLive() de root. _root.playLive(); } } Consulte tambm Camera.get(), Camera.onStatus

342

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).
myCam = Camera.get(); trace("O nome da cmera : " + myCam.name); Consulte tambm Camera.get(), Camera.names

Camera.name

343

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 que qualquer outro array do ActionScript: fornece implicitamente o ndice (que inicia em zero) de cada cmera e o nmero de cmeras no sistema (atravs de Camera.names.length). Para obter mais informaes, consulte a entrada da Classe Array. Para chamar a propriedade Camera.names, necessria uma busca extensiva no hardware, e 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 pode escolher qual cmera definir como padro.
cam_array = Camera.names; if (cam_array.length == 1){ Camera.get(); } else System.showSettings(3); Camera.get(); Consulte tambm Camera.get(), Camera.index, Camera.name

344

Captulo 12: Dicionrio do ActionScript

Camera.onActivity
Disponibilidade

Flash Player 6.
Uso cmera_ativa.onActivity = function(atividade) { // seus comandos vo aqui } Parmetros activity

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 quantidade 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.
// Assume que um objeto Video chamado "myVideoObject" est no Stage (Palco) c = Camera.get(); myVideoObject.attachVideo(c); c.setMotionLevel(10, 500); c.onActivity = function(mode) { trace(mode); }; Consulte tambm Camera.onActivity, Camera.setMotionLevel()

Camera.onActivity

345

Camera.onStatus
Disponibilidade

Flash Player 6.
Uso camera_ativa.onStatus = function(infoObject) { // seus comandos vo aqui } Parmetros infoObject Retorna

Um 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 acesso, a propriedade Camera.muted ser definida como false e esse
manipulador ser chamado com um objeto de informao cuja propriedade code Camera.Unmuted. Se o usurio negar acesso, a propriedade Camera.muted ser definida como true e esse manipulador ser chamado com um objeto de informao cuja propriedade code Camera.Muted.

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 escolher permanentemente permitir ou negar acesso para todos os arquivos SWF de um domnio especfico, esse manipulador no ser chamado para SWFs desse domnio, a menos que o usurio altere posteriormente a configurao de privacidade. Para obter mais informaes, consulte Camera.get().

346

Captulo 12: Dicionrio do ActionScript

Exemplo

A funo de retorno de chamada a seguir exibe uma mensagem sempre que o usurio permitir ou negar acesso cmera.
myCam = Camera.get(); myVideoObject.attachVideo(myCam); myCam.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 pela quantidade de compactao aplicada 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

347

Camera.setMode()
Disponibilidade

Flash Player 6.
Uso cmera_ativa.setMode(largura, altura, qps [,favorSize]) 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.

favorSize Um parmetro booleano opcional 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 favorSize. 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 seleciona 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 favorSize. Ao escolher um modo nativo, o Flash tenta manter a proporo solicitada sempre que possvel. Por exemplo, se o comando camera_ativa.setMode(400,400,30) for executado, e os valores mximos de largura e altura disponveis na cmera forem 320 e 288, o Flash define a largura e a altura como 288. Ao configurar essas propriedades como o mesmo valor, o Flash mantm a proporo 1:1 solicitada. Para determinar os valores atribudos a estas propriedades depois que o Flash selecionar o modo que mais se aproxime dos valores solicitados, use Camera.width, Camera.height e Camera.fps.

348

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 favorSize 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.myCam.setMode(txt_width, txt_height, txt_fps); // Atualiza os campos de texto do usurio com a nova configurao. _root.txt_width = myCam.width; _root.txt_height = myCam.height; _root.txt_fps = myCam.fps; } Consulte tambm Camera.currentFps, Camera.fps, Camera.height, Camera.width

Camera.setMode()

349

Camera.setMotionLevel()
Disponibilidade

Flash Player 6.
Uso cmera_ativa.setMotionLevel(sensibilidade [, tempoLimite]) Parmetros sensibilidade Um valor numrico que especifica a quantidade de movimento necessria para chamar Camera.onActivity(true). Os valores aceitveis vo de 0 a 100. O valor padro 50. tempoLimite

Um parmetro numrico opcional que especifica quantos milissegundos devem decorrer sem atividade antes do Flash considerar que a atividade foi interrompida 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 que o Flash considere que o movimento foi interrompido e chamar Camera.onActivity(false).
Observao: Pode-se exibir o vdeo 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 testespor exemplo, para desativar temporariamente quaisquer aes definidas para ocorrer quando Camera.onActivity for chamado. Para descobrir a quantidade 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 invocado. Entretanto, esses mtodos possuem um 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 ainda assim enviado.

350

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.
// Assume que um objeto Video chamado "myVideoObject" est 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); myVideoObject.attachVideo(c); Consulte tambm Camera.activityLevel, Camera.motionLevel, Camera.motionTimeOut, Camera.onActivity

Camera.setMotionLevel()

351

Camera.setQuality()
Disponibilidade

Flash Player 6.
Uso cmera_ativa.setQuality(larguraBanda, qlddQuadro) Parmetros larguraBanda

Um inteiro que especifica a quantidade mxima de 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 quantidade de 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 pela quantidade de compactao aplicada 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 quantidade mxima de largura de banda por segundo ou a qualidade de vdeo necessria do fluxo de sada de vdeo atual. Este mtodo geralmente aplicvel somente se o vdeo estiver sendo transmitindo usando-se o 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.

352

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) esteja sendo usado para enviar vdeo cmera_ativa.setQuality(8192,0); // Garante que no mais de 8192 (8 Kb/segundo) esteja sendo usado para enviar vdeo // 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.setQuality()

353

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.
myTextField.text=myCam.width;

Veja tambm o exemplo para Camera.setMode().


Consulte tambm Camera.height

case
Disponibilidade

Flash Player 4.
Uso case expresso: comandos Parmetros expresso comandos Retorna

Qualquer expresso. Qualquer comando.

Nada.
Descrio

Comando; define uma condio para a ao switch. Os comandos no parmetro comandos so executados se o parmetro expresso subseqente palavra-chave case for igual ao parmetro expresso da ao switch que usa a igualdade estrita (===) O uso da ao case fora de um comando switch apresenta erro e o script no compilado.
Consulte tambm break, default, === (igualdade estrita), switch

354

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 myVar.


myVar = chr(65); Consulte tambm String.fromCharCode()

chr

355

class
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso class nome_classe {} class nome_classe extends nome_classe {} class nome_classe implements nome_interface [, nome_interface... ] {} Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Essa palavrachave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). Descrio

Comando; 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, use o operador new para criar objetos para a fatura. No possvel aninhar definies de classe; ou seja, no possvel definir classes adicionais dentro de uma definio de classe. 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 um nico comando.
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 Captulo 9, Criando classes com o ActionScript 2, na pgina 159.

356

Captulo 12: Dicionrio do ActionScript

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 estacaoFlor:String; // A linha a seguir um construtor // pois tem o mesmo nome que a classe function Planta (param_tipoFolha:String, param_estacaoFlor:String) { // Associa os valores passados s propriedades quando um novo objeto Planta criado tipoFolha = param_tipoFolha; estacaoFlor = param_estacaoFlor; } // 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 getEstacaoFlor():String {return estacaoFlor}; }

Em um arquivo de script externo ou no painel Actions (Aes), 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.getEstacaoFlor()); Consulte tambm dynamic, extends, implements, interface, new

class

357

clearInterval()
Disponibilidade

Flash Player 6.
Uso clearInterval( intervalID ) Parmetros intervalID Retorna

Um objeto retornado de uma chamada para setInterval().

Nada.
Descrio

Funo; limpa uma chamada para setInterval().


Exemplo

O exemplo a seguir em primeiro lugar define uma chamada de intervalo, depois limpa-a:
function callback() { trace("interval chamado"); } var intervalID; intervalID = setInterval( callback, 1000 ); // depois de algum tempo clearInterval( intervalID ); 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.

358

Captulo 12: Dicionrio do ActionScript

Resumo de 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 my_color para o clipe de filme my_mc e define seu valor RGB:
my_color = new Color(my_mc); my_color.setRGB(0xff9933);

Classe Color

359

Color.getRGB()
Disponibilidade

Flash Player 5.
Uso my_color.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 my_color, converte-o em uma seqncia de caracteres hexadecimal e a atribui varivel valor.
valor = my_color.getRGB().toString(16); Consulte tambm Color.setRGB()

Color.getTransform()
Disponibilidade

Flash Player 5.
Uso my_color.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 Color.setTransform() chamada.


Consulte tambm Color.setTransform()

360

Captulo 12: Dicionrio do ActionScript

Color.setRGB()
Disponibilidade

Flash Player 5.
Uso my_color.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 my_mc. Para observar o funcionamento deste cdigo, coloque um clipe de filme no Stage (Palco) com nome de instncia my_mc. Depois, coloque o cdigo a seguir no Frame 1 (Quadro 1) na Timeline (Linha de tempo) principal e escolha Control (Controlar) > Test Movie (Testar filme).
my_color = new Color(my_mc); my_color.setRGB(0x993366); Consulte tambm Color.setTransform()

Color.setRGB()

361

Color.setTransform()
Disponibilidade

Flash Player 5.
Uso my_color.setTransform(colorTransformObject) Parmetros colorTransformObject 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. Retorna

Nada.
Descrio

Mtodo; define informaes de transformao de cor para um objeto Color. O parmetro colorTransformObject um objeto genrico criado a partir do construtor new Object. Ele possui 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 na caixa de dilogo 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 colorTransformObject desta maneira:


myColorTransform = new Object(); myColorTransform.ra = 50; myColorTransform.rb = 244; myColorTransform.ga = 40; myColorTransform.gb = 112; myColorTransform.ba = 12; myColorTransform.bb = 90; myColorTransform.aa = 40; myColorTransform.ab = 70;

Alm disso, possvel usar a seguinte sintaxe para criar um parmetro colorTransformObject:
myColorTransform = { ra: 50, rb: 244, ga: 40, gb: 112, ba: 12, bb: 90, aa: 40, ab: 70}

362

Captulo 12: Dicionrio do ActionScript

Exemplo

Este exemplo cria uma nova instncia do objeto Color para um SWF especfico. Alm disso, cria um objeto genrico denominado myColorTransform com as propriedades definidas acima e usa o mtodo setTransform() para passar o colorTransformObject para um objeto Color. Para usar esse cdigo em um documento Flash (FLA), coloque-o no Frame 1 (Quadro 1) na Timeline (Linha do tempo) principal e coloque um clipe de filme no Stage (Palco) com o nome de instncia my_mc, como no cdigo a seguir:
// Cria um objeto Color chamado my_color no clipe my_mc my_color = new Color(my_mc); // Cria um objeto de transformao de cor chamado myColorTransform usando // o objeto genrico Object myColorTransform = new Object(); // Defina os valores de myColorTransform myColorTransform = { ra: '50', rb: '244', ga: '40', gb: '112', ba: '12', bb: '90', aa: '40', ab: '70'}; // Associe o objeto de transformao de cor ao objeto Color // criado para my_mc my_color.setTransform(myColorTransform);

Classe ContextMenu
Disponibilidade

Flash Player 7.
Descrio

A classe ContextMenu fornece controle em tempo de execuo sobre os itens do menu contextual 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 adicionar itens de menu personalizados, controlar a exibio dos itens internos do menu contextual, 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 uma instncia da classe ContextMenuItem e depois adicionar esse objeto ao array ContextMenu.customItems. Para obter mais informaes sobre a criao de itens de menu contextual, 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.

Classe ContextMenu

363

Os itens de menu personalizados sempre aparecem na parte superior do menu contextual do Flash Player, acima de quaisquer itens de menu internos visveis; uma barra separadora distingue os itens de menu internos dos personalizados. Um menu contextual no pode conter mais de 15 itens de menu personalizados. Use o construtor new ContextMenu() para criar um objeto ContextMenu antes de chamar seus mtodos. Resumo de mtodos da classe ContextMenu
Mtodo
ContextMenu.copy()

Descrio Retorna uma cpia do objeto ContextMenu especificado. Player, exceto Settings e About (Sobre).

ContextMenu.hideBuiltInItems() Oculta todos os itens internos no menu contextual do Flash

Resumo de propriedades da classe ContextMenu


Propriedade
ContextMenu.builtInItems

Descrio Um objeto cujos membros correspondem a itens internos do menu contextual. Um array, indefinido por padro, que contm objetos ContextMenuItem.

ContextMenu.customItems

Resumo de manipuladores de eventos da classe ContextMenu


Propriedade
ContextMenu.onSelect

Descrio Um manipulador de retorno de chamada que chamado antes da exibio do menu.

Construtor da classe ContextMenu


Disponibilidade

Flash Player 7.
Uso new ContextMenu ([callBackFunction]) Parmetros callBackFunction 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.

364

Captulo 12: Dicionrio do ActionScript

Descrio

Construtor; cria um novo objeto ContextMenu. possvel especificar, opcionalmente, um identificador para uma funo de retorno de chamada quando o objeto for criado. A funo especificada chamada quando o usurio chama o menu contextual, 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 mais informaes sobre a criao de uma funo de retorno de chamada, consulte ContextMenu.onSelect.
Exemplo

O exemplo a seguir oculta todos os objetos internos no menu contextual. 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, a funo de retorno de chamada especificada, menuHandler, 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 desativado; do contrrio, ele ativado.
var showItem = false; // Altere para true para ver o efeito my_cm = new ContextMenu(menuHandler); my_cm.customItems.push(new ContextMenuItem("Ol", itemHandler)); function menuHandler(obj, menuObj) { if (showItem == false) { menuObj.customItems[0].enabled = false; } else { menuObj.customItems[0].enabled = true; } } function itemHandler(obj, item) { } _root.menu = my_cm; Consulte tambm Button.menu, ContextMenu.onSelect, ContextMenu.customItems, ContextMenu.hideBuiltInItems(), MovieClip.menu, TextField.menu

Classe ContextMenu

365

ContextMenu.builtInItems
Disponibilidade

Flash Player 7.
Uso my_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, my_cm, que est anexado Timeline (Linha do tempo) raiz do SWF.
var my_cm = new ContextMenu (); my_cm.builtInItems.quality=false; my_cm.builtInItems.print=false; _root.menu = my_cm;

No prximo exemplo, um loop for..in enumera todos os nomes e valores dos itens de menu internos do objeto ContextMenu, my_cm.
my_cm = new ContextMenu(); for(eachProp in my_cm.builtInItems) { var propName = eachProp; var propValue = my_cm.builtInItems[propName]; trace(propName + ": " + propValue); }

366

Captulo 12: Dicionrio do ActionScript

ContextMenu.copy()
Disponibilidade

Flash Player 7.
Uso my_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 my_cm cujos itens de menu internos esto ocultos e adiciona um item de menu com o texto Salvar.... Ele depois cria uma cpia de my_cm e a atribui varivel clone_cm, que herda todas as propriedades do menu original.
my_cm = new ContextMenu(); my_cm.hideBuiltInItems(); my_cm.customItems.push(new ContextMenuItem("Salvar...", saveHandler); function saveHandler (obj, menuItem) { saveDocument(); // funo personalizada (no exibida) } clone_cm = my_cm.copy();

ContextMenu.copy()

367

ContextMenu.customItems
Disponibilidade

Flash Player 7.
Uso my_cm.customItems Descrio

Propriedade; um array com os objetos ContextMenuItem. Cada objeto no array representa um item de menu contextual definido por voc. Use essa propriedade para adicionar, remover ou modificar esses itens de menu personalizados. Para adicionar novos itens de menu, crie primeiro um novo objeto ContextMenuItem e depois 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 emailHandler (no mostrado). O novo item de menu depois adicionado ao objeto ContextMenu, my_cm, usando o array customItems. E, por fim, o novo menu anexado a um clipe de filme denominado email_mc.
var my_cm = new ContextMenu(); var menuItem_cm = new ContextMenuItem("Enviar e-mail", emailHandler); my_cm.customItems.push(menuItem_cm); email_mc.menu = my_cm; Consulte tambm Button.menu,

Classe ContextMenu, MovieClip.menu, TextField.menu

368

Captulo 12: Dicionrio do ActionScript

ContextMenu.hideBuiltInItems()
Disponibilidade

Flash Player 7.
Uso my_cm.hideBuiltInItems() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; oculta todos os itens de menu internos, exceto Settings (Configurao) e About (Sobre), no objeto ContextMenu especificado. Esse mtodo oculta somente os itens de menu que aparecem no menu contextual 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 my_cm.builtInItems como false. possvel, seletivamente, tornar um item interno visvel definindo seu membro correspondente em my_cm.builtInItems como true (como demonstrado no exemplo a seguir).
Exemplo

O exemplo a seguir cria um novo objeto ContextMenu denominado my_cm cujos itens de menu internos esto ocultos, exceto para Print (Imprimir). O objeto de menu anexado Timeline (Linha de tempo) raiz.
my_cm = new ContextMenu(); my_cm.hideBuiltInItems(); my_cm.builtInItems.print = true; _root.menu = my_cm;

ContextMenu.hideBuiltInItems()

369

ContextMenu.onSelect
Disponibilidade

Flash Player 7.
Uso my_cm.onSelect = function (item:Object, item_menu:ContextMenu) { // aqui vai 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 contextual 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 contextual do Flash Player, mas antes do menu ser realmente exibido. Isso permite que o contedo do menu contextual 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 determina sobre qual tipo de objeto o menu contextual foi chamado.
my_cm = new ContextMenu(); menuHandler = 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); } } my_cm.onSelect = menuHandler;

370

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 contextual do Flash Player. Cada objeto ContextMenuItem possui uma legenda (texto) que exibida no menu contextual e um manipulador de retorno de chamada (uma funo) que chamado quando o item de menu selecionado. Para adicionar um novo item a um menu contextual, adicione-o ao 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 contextual, acima de todos os itens internos. Uma barra separadora sempre divide itens de menu personalizados de itens internos. possvel adicionar, no mximo, 15 itens personalizados ao menu contextual 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 de mtodos da classe ContextMenuItem
Mtodo
ContextMenuItem.copy()

Descrio Retorna uma cpia do objeto ContextMenuItem especificado.

Resumo de 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 de manipuladores de eventos da classe ContextMenuItem


Identificador de eventos
ContextMenuItem.onSelect

Descrio Chamado quando o item de menu selecionado.

Classe ContextMenuItem

371

Construtor da classe ContextMenuItem


Disponibilidade

Flash Player 7.
Uso new ContextMenuItem(legenda, funoCallback, [separadorAntes,] [ativado,] [visvel]); Parmetros legenda

Uma seqncia de caracteres que contm o texto associado ao item de menu. Uma funo, definida por voc, que chamada quando o item de menu

funoCallback

selecionado.
separadorAntes Um valor booleano que indica se uma barra separadora deve aparecer acima do item de menu no menu contextual. Esse parmetro opcional; seu valor padro false. ativado

Um valor booleano que indica se o item de menu est ativado ou desativado no menu contextual. Esse parmetro opcional; seu valor padro true.

visvel 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 adicionado ao array ContextMenu.customItems.
Exemplo

Este exemplo adiciona itens de menu Iniciar e Parar, separados por uma barra, ao objeto ContextMenu, my_cm. A funo startHandler() chamada quando Iniciar selecionado do menu contextual; stopHandler() chamada quando Parar selecionado. O objeto ContextMenu aplicado Timeline (Linha de tempo) raiz.
my_cm = new ContextMenu(); my_cm.customItems.push(new ContextMenuItem("Iniciar", startHandler)); my_cm.customItems.push(new ContextMenuItem("Parar", stopHandler, true)); function stopHandler(obj, item) { trace("Parando..."); } function startHandler(obj, item) { trace("Iniciando..."); } _root.menu = my_cm;

372

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 contextual.
Exemplo

Este exemplo exibe a legenda do item de menu selecionado (Interromper jogo) no painel Output (Sada).
my_cm = new ContextMenu(); menuItem_cmi = new ContextMenuItem("Interromper jogo", onPause); my_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 para a funo onPause. O exemplo depois cria uma cpia do objeto ContextMenuItem e a atribui varivel copy_cmi.
original_cmi = new ContextMenuItem("Pausa", onPause); function onPause(obj, menu) { _root.stop(); } original_cmi.visible = false; copy_cmi = orig_cmi.copy();

ContextMenuItem.copy()

373

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 contextual e depois desativa esse item de menu.
var saveMenuItem = new ContextMenuItem("Salvar...", doSave); saveMenuItem.enabled = false;

374

Captulo 12: Dicionrio do ActionScript

ContextMenuItem.onSelect
Disponibilidade

Flash Player 7.
Uso menuItem_cmi.onSelect = function (obj, menuItem) { // seus comandos vo 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 contextual 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 contextual do Flash Player e menuItem, uma referncia ao objeto ContextMenuItem que representa o item de menu selecionado.
Exemplo

O exemplo a seguir atribui uma funo ao identificador 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.onSelect

375

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 adicionados ao array customItems do objeto ContextMenu. E, por fim, o menu anexado Timeline (Linha de tempo) raiz do SWF.
my_cm = new ContextMenu(); open_cmi = new ContextMenuItem("Abrir", itemHandler); save_cmi = new ContextMenuItem("Salvar", itemHandler); print_cmi = new ContextMenuItem("Imprimir", itemHandler); print_cmi.separatorBefore = true; my_cm.customItems.push(open_cmi, save_cmi, print_cmi); function itemHandler(obj, menuItem) { trace("Voc selecionou: " + menuItem.caption); }; _root.menu = my_cm; Consulte tambm ContextMenu.onSelect

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 contextual do Flash Player for exibido. Por padro, essa propriedade true.

376

Captulo 12: Dicionrio do ActionScript

continue
Disponibilidade

Flash Player 4.
Uso continue Parmetros

Nenhum.
Retorna

Nada.
Descrio

Comando; aparece em vrios tipos de comandos de loop; em cada um dos tipos tem um comportamento diferente. 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

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 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 montar SWFs 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).

Classe CustomActions

377

Resumo de 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()

CustomActions.get()
Disponibilidade

Flash Player 6.
Uso CustomActions.get(customActionsName) Parmetros customActionsName Retorna

O nome da definio de aes personalizadas a ser recuperada.

Se a definio XML de aes personalizadas for localizada, retornar uma seqncia de caracteres; do contrrio, retornar undefined.
Descrio

Mtodo; l o contedo do arquivo de definio XML de aes personalizadas denominado customActionsName. 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 customActionsName no puder ser encontrado, ser retornado o valor undefined. Se a definio XML de aes personalizadas especificada pelo parmetro customActionsName for localizada, ela ser lida por inteiro e retornada como uma seqncia de caracteres.

378

Captulo 12: Dicionrio do ActionScript

CustomActions.install()
Disponibilidade

Flash Player 6.
Uso CustomActions.install(customActionsName, customXMLDefinition) Parmetros customActionsName customXMLDefinition Retorna

O nome da definio de aes personalizadas a ser instalada. O texto da definio XML a ser instalada.

Um valor booleano.
Descrio

Mtodo; instala um novo arquivo de definio XML de aes personalizadas indicado pelo parmetro customActionsName. O contedo do arquivo especificado pela seqncia de caracteres customXMLDefinition. 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 customActionsName, ele ser substitudo. Se ocorrer um erro durante a instalao, ser retornado o valor false; caso contrrio, ser retornado o valor true para indicar que a ao personalizada foi instalada com xito. Se o diretrio Configurao/ActionsPanel/CustomActions for inexistente quando esse mtodo for chamado, ento o diretrio ser criado.

CustomActions.list()
Disponibilidade

Flash Player 6.
Uso CustomActions.list() Parmetros

Nenhum.
Retorna

Uma matriz.
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 aes personalizadas registradas, list() retornar um array de tamanho zero. Se ocorrer um erro, list() retornar o valor undefined.
CustomActions.list() 379

CustomActions.uninstall()
Disponibilidade

Flash Player 6.
Uso CustomActions.uninstall(customActionsName) Parmetros customActionsName Retorna

O nome da definio de aes personalizadas a ser desinstalada.

Um valor booleano.
Descrio

Mtodo; remove o arquivo de definio XML de aes personalizadas denominado customActionsName. O nome do arquivo de definies deve ser simples, sem a extenso de arquivo .xml e sem qualquer separador de diretrio (':', '/' ou '\'). Se no forem localizadas aes personalizadas com o nome customActionsName, ser retornado o valor false. Se a remoo das aes personalizadas for bem sucedida, ser retornado o valor true.

380

Captulo 12: Dicionrio do ActionScript

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 instncia individual do 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:

Windowsa 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 detecta 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. Mac OS Xo 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:

Windowsas 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.

Classe Date

381

Resumo de 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. 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.

Date.getTimezoneOffset()

Date.getUTCDate() Date.getUTCDay() Date.getUTCFullYear() Date.getUTCHours() Date.getUTCMilliseconds() Date.getUTCMinutes() Date.getUTCMonth() Date.getUTCSeconds() Date.getYear() Date.setDate()

Date.setFullYear()

Date.setHours()

Date.setMilliseconds()

Date.setMinutes()

Date.setMonth()

Date.setSeconds()

382

Captulo 12: Dicionrio do ActionScript

Mtodo
Date.setTime()

Descrio 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.setUTCDate()

Date.setUTCFullYear()

Date.setUTCHours()

Date.setUTCMilliseconds()

Date.setUTCMinutes()

Date.setUTCMonth()

Date.setUTCSeconds()

Date.setYear() Date.toString()

Date.UTC()

Construtor da classe Date


Disponibilidade

Flash Player 5.
Uso new Date() new Date(ano [, ms [, data [, hora [, minutos [, segundos [, milissegundos ]]]]])

Classe Date

383

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 data hora minuto segundo

milissegundo 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-os no campo de texto especificado pela varivel date_str.
data_hoje = new Date(); data_str = ((data_hoje.getMonth() + 1) + "/" + data_hoje.getDate() + "/" + data_hoje.getFullYear());

384

Captulo 12: Dicionrio do ActionScript

Date.getDate()
Disponibilidade

Flash Player 5.
Uso my_date.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 my_date.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.

Date.getDay()

385

Date.getFullYear()
Disponibilidade

Flash Player 5.
Uso my_date.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.getHours()
Disponibilidade

Flash Player 5.
Uso my_date.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.

386

Captulo 12: Dicionrio do ActionScript

Date.getMilliseconds()
Disponibilidade

Flash Player 5.
Uso my_date.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.

Date.getMinutes()
Disponibilidade

Flash Player 5.
Uso my_date.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.getMinutes()

387

Date.getMonth()
Disponibilidade

Flash Player 5.
Uso my_date.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.getSeconds()
Disponibilidade

Flash Player 5.
Uso my_date.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.

388

Captulo 12: Dicionrio do ActionScript

Date.getTime()
Disponibilidade

Flash Player 5.
Uso my_date.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.

Date.getTimezoneOffset()
Disponibilidade

Flash Player 5.
Uso my_date.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 apresentado somente se a data definida no objeto Date constar do perodo do horrio de vero.
trace(new Date().getTimezoneOffset()); // o valor 420 apresentado no painel Output (Sada) // (7 horas * 60 minutos/hora = 420 minutos) // Este um exemplo de horrio de vero do Pacfico (PDT (Pacific Daylight Time) GMT-0700). // O resultado varia em funo do local e da hora do ano.

Date.getTimezoneOffset()

389

Date.getUTCDate()
Disponibilidade

Flash Player 5.
Uso my_date.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.getUTCDay()
Disponibilidade

Flash Player 5.
Uso my_date.getUTCDay() 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 universal.

390

Captulo 12: Dicionrio do ActionScript

Date.getUTCFullYear()
Disponibilidade

Flash Player 5.
Uso my_date.getUTCFullYear() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna o ano com quatro dgitos do objeto Date especificado, de acordo com a hora universal.

Date.getUTCHours()
Disponibilidade

Flash Player 5.
Uso my_date.getUTCHours() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna a hora do objeto Date especificado, de acordo com a hora universal.

Date.getUTCHours()

391

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.getUTCMinutes()
Disponibilidade

Flash Player 5.
Uso my_date.getUTCMinutes() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna os minutos do objeto Date especificado, de acordo com a hora universal.

392

Captulo 12: Dicionrio do ActionScript

Date.getUTCMonth()
Disponibilidade

Flash Player 5.
Uso my_date.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.

Date.getUTCSeconds()
Disponibilidade

Flash Player 5.
Uso my_date.getUTCSeconds() Parmetros

Nenhum.
Retorna

Um inteiro.
Descrio

Mtodo; retorna os segundos do objeto Date especificado, de acordo com a hora universal.

Date.getUTCSeconds()

393

Date.getYear()
Disponibilidade

Flash Player 5.
Uso my_date.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.setDate()
Disponibilidade

Flash Player 5.
Uso my_date.setDate(dia) Parmetros data 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.

394

Captulo 12: Dicionrio do ActionScript

Date.setFullYear()
Disponibilidade

Flash Player 5.
Uso my_Date.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, esses 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() Date.getUTCDay() e Date.getDay() Date.getDay() podem retornar um novo valor se o dia da semana for alterado como resultado da chamada desse mtodo.

Date.setHours()
Disponibilidade

Flash Player 5.
Uso my_date.setHours(horas) 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.setHours()

395

Date.setMilliseconds()
Disponibilidade

Flash Player 5.
Uso my_date.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.setMinutes()
Disponibilidade

Flash Player 5.
Uso my_date.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.

396

Captulo 12: Dicionrio do ActionScript

Date.setMonth()
Disponibilidade

Flash Player 5.
Uso my_Date.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.

Date.setSeconds()
Disponibilidade

Flash Player 5.
Uso my_date.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.setSeconds()

397

Date.setTime()
Disponibilidade

Flash Player 5.
Uso my_date.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.setUTCDate()
Disponibilidade

Flash Player 5.
Uso my_date.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() podem retornar um novo valor se o dia da semana for alterado como resultado da chamada desse mtodo.

398

Captulo 12: Dicionrio do ActionScript

Date.setUTCFullYear()
Disponibilidade

Flash Player 5.
Uso my_date.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 (my_date), 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() podem retornar um novo valor se o dia da semana for alterado como resultado da chamada desse mtodo.

Date.setUTCHours()
Disponibilidade

Flash Player 5.
Uso my_date.setUTCHours(horas [, minutos [, segundos [, milissegundos]]]) Parmetros horas minutos segundos

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.

milissegundos Retorna

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.setUTCHours()

399

Date.setUTCMilliseconds()
Disponibilidade

Flash Player 5.
Uso my_date.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.setUTCMinutes()
Disponibilidade

Flash Player 5.
Uso my_date.setUTCMinutes(minutos [, segundos [, milissegundos]]) Parmetros minutos segundo

Um inteiro de 0 a 59. Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 999. Este parmetro opcional.

milissegundo Retorna

Um inteiro.
Descrio

Mtodo; define os minutos do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos.

400

Captulo 12: Dicionrio do ActionScript

Date.setUTCMonth()
Disponibilidade

Flash Player 5.
Uso my_date.setUTCMonth(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 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() podem retornar um novo valor se o dia da semana for alterado como resultado da especificao de um valor para o parmetro dia.

Date.setUTCSeconds()
Disponibilidade

Flash Player 5.
Uso my_date.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.setUTCSeconds()

401

Date.setYear()
Disponibilidade

Flash Player 5.
Uso my_date.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.toString()
Disponibilidade

Flash Player 5.
Uso my_date.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

402

Captulo 12: Dicionrio do ActionScript

Date.UTC()
Disponibilidade

Flash Player 5.
Uso Date.UTC(ano, ms [, data [, hora [, minutos [, segundos [, milissegundos ]]]]]); Parmetros ano ms data hora

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.

minutos segundos

milissegundos Retorna

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()

403

default
Disponibilidade

Flash Player 6.
Uso default: comandos Parmetros comandos Retorna

Qualquer comando.

Nada.
Descrio

Comando; define o caso padro de uma ao switch. Os comandos sero executados se o parmetro expresso da ao switch for diferente (usando a igualdade estrita) de todos os parmetros expresso que seguem as palavras-chaves de case de uma ao switch. Para ter um case default, no necessria uma ao switch. Um case 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 diferente das expresses B e D, portanto, o comando que segue a palavra-chave default executado 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

404

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.

Nada.
Descrio

Operador; elimina o objeto ou a varivel especificada pelo parmetro referncia e retorna true se o objeto for excludo com xito; do contrrio, retorna false. Este operador til para liberar memria usada pelos scripts. Embora delete seja um operador, normalmente ele usado como um comando, como no exemplo a seguir:
delete x;

O operador delete pode falhar e retornar false se o parmetro de 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

O exemplo a seguir cria um objeto, usa-o e o exclui quando no for mais necessrio.
account = new Object(); account.name = 'Jon'; account.balance = 10000; delete account; Exemplo

O exemplo a seguir exclui uma propriedade de um objeto.


// cria um novo objeto "account" account = new Object(); // atribui nome de propriedade a account account.name = 'Jon'; // exclui a propriedade delete account.name;

delete

405

Exemplo

O exemplo a seguir outro exemplo de excluso da propriedade de um objeto.


// cria um objeto Array com tamanho 0 meu_array = new Array(); // adiciona um elemento ao array. A propriedade Array.length agora vale 1 my_array[0] = "abc"; // adiciona outro elemento ao array. A propriedade Array.length agora vale 2 my_array[1] = "def"; // adiciona outro elemento ao array. A propriedade Array.length agora vale 3 my_array[2] = "ghi"; // my_array[2] ser excludo, mas Array.length no alterado delete array[2]; trace(my_array.length);

O exemplo a seguir ilustra o comportamento de delete em referncias de objetos.


// 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 ref1 no tivesse sido copiada para ref2, o objeto teria sido excludo durante a excluso de ref1, pois no haveria referncias. Se ref2 for excludo, no haver mais referncias ao objeto; ele ser eliminado e a memria que estava sendo usada ficar disponvel.
Consulte tambm var

406

Captulo 12: Dicionrio do ActionScript

do while
Disponibilidade

Flash Player 4.
Uso do { comando(s) } while (condio) Parmetros condio

A condio a ser avaliada.

comando(s) O(s) comando(s) a ser(em) executado(s) desde que o parmetro condio seja avaliado como true. Retorna

Nada.
Descrio

Comando; executa os comandos e, a seguir, avalia a condio do loop, repetindo enquanto a condio for true.
Consulte tambm break, continue

do while

407

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 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

Nada.
Descrio

Funo; cria uma instncia de um clipe de filme durante a reproduo do SWF. A reproduo em clipes de filme duplicados sempre comea pelo 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 o ser. Use a ao ou mtodo removeMovieClip() para excluir uma instncia de clipe de filme criada com duplicateMovieClip().
Exemplo

Este comando duplica a instncia do clipe de filme flower dez vezes. A varivel i usada para criar um novo nome de instncia e uma profundidade exclusiva para cada clipe de filme duplicado.
on (release) { amount = 10; while (amount > 0) { duplicateMovieClip (_root.flower, "mc"+i, i); setProperty ("mc"+i, _x, random(275)); setProperty ("mc"+i, _y, random(275)); setProperty ("mc"+i, _alpha, random(275)); setProperty ("mc"+i, _xscale, random(50)); setProperty ("mc"+i, _yscale, random(50)); i++; amount--; } } Consulte tambm MovieClip.duplicateMovieClip(), removeMovieClip(), MovieClip.removeMovieClip()

408

Captulo 12: Dicionrio do ActionScript

dynamic
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso dynamic class nome_classe [ extends nome_classe] {} Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Essa palavrachave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). Descrio

Aplique a palavra-chave dynamic a definies de classes para indicar quais instncias da classe podem adicionar e acessar propriedades dinmicas em tempo de execuo. A verificao de tipos nessas classes mais tolerante, pois os membros acessados dentro da definio de classe e nas instncias das classes no so comparados aos definidos no escopo da classe. Entretanto, os tipos de retorno e os parmetros das funes que so membros das classes ainda podem ter verificados. Esse comportamento especialmente til ao trabalhar com objetos MovieClip, onde h muitas maneiras diferentes de adicionar propriedades e objetos a um clipe de filme dinamicamente, tais como MovieClip.createEmptyMovieClip() e MovieClip.createTextField(). Para obter mais informaes, consulte Criando classes dinmicas na pgina 178.
Exemplo

No exemplo a seguir, a classe B foi marcada como dinmica, assim, chamar uma funo no declarada na mesma no causar um erro no tempo de compilao.
dynamic class B extends A { function B() {/*este o construtor*/} function m():Number {return 25;} function o(s:String):Void {trace(s);} } Consulte tambm class

dynamic

409

else
Disponibilidade

Flash Player 4.
Uso if (condio){ comandos(s); } else (condio){ comandos(s); } Parmetros condio comando(s) comando if Retorna

Uma expresso que seja avaliada como true ou false. Uma srie alternativa de comandos a ser executada se a condio especificada no for false.

Nada.
Descrio

Comando; especifica os comandos a serem executados se a condio no comando if retornar false.


Consulte tambm if

410

Captulo 12: Dicionrio do ActionScript

else if
Disponibilidade

Flash Player 4.
Uso if (condio){ comandos(s); } else if (condio){ comandos(s); } Parmetros condio comando(s) comando if Retorna

Uma expresso que seja avaliada como true ou false. Uma srie alternativa de comandos a ser executada se a condio especificada no for false.

Nada.
Descrio

Comando; se a condio no comando if inicial retornar false avalia a condio e especifica os comandos a serem executados. Se a condio else if retornar true, o interpretador Flash executar os comandos que seguem a condio entre chaves ({}). Se a condio else if for false, o Flash ignorar os comandos entre chaves e executar os comandos aps as chaves. Use a ao else if para criar uma lgica ramificada em seus scripts.
Exemplo

O exemplo seguinte 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, // mande-o de volta e inverta 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

411

#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 ...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 expression1,expression2 Retorna

Nmeros, seqncias de caracteres ou variveis.

Nada.
Descrio

Operador de comparao; avalia se duas expresses so iguais e retorna 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 retorna o valor false.
Consulte tambm == (igualdade)

412

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. Geralmente, um novo objeto Error "lanado" a partir do interior 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 de mtodos da classe Error
Mtodo
Error.toString()

Descrio Retorna a representao da seqncia de caracteres do objeto Error.

Resumo de 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 uma nova instncia do objeto Error. Se mensagem for especificada, seu valor ser atribudo propriedade Error.message do objeto.

Classe Error

413

Exemplo

No exemplo a seguir, uma funo lana 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("Strings no coincidem."); } } try { compareStrings("Co","co"); } catch (e) { trace(e.toString()); } Consulte tambm throw, try..catch..finally

Error.message
Disponibilidade

Flash Player 7.
Uso myError.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 myError.name Descrio

Propriedade; contm o nome do objeto Error. O valor padro desta propriedade "Error".
Consulte tambm throw, try..catch..finally

414

Captulo 12: Dicionrio do ActionScript

Error.toString()
Disponibilidade

Flash Player 7.
Uso my_err.toString() Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna a seqncia de caracteres "Error" por padro 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 formato de URL, onde todos os caracteres que no so alfanumricos so substitudos por seqncias hexadecimais de %.
Exemplo

A execuo do cdigo a seguir apresenta o resultado Oi%7B%5BMundo%5D%7D.


escape("Oi{[Mundo]}"); Consulte tambm unescape

escape

415

eval()
Disponibilidade

Flash Player 5 ou 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

Nada.
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 fazer isso atravs do operador de acesso a matrizes ([]). No Flash 5 e 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:
piece3 = "perigoso"; x = 3; y = eval("piece" + x); trace(y); // Sada: perigoso

416

Captulo 12: Dicionrio do ActionScript

Consulte tambm

Classe Array

extends
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso class nome_classe extends outro_nome_classe interface nome_interface extends outro_nome_interface Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Essa palavrachave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). 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. Uma classe no pode estender mais de uma classe e uma interface no pode estender mais de uma interface. Se voc no fizer uma chamada para o superconstrutor na funo construtora de uma subclasse, uma chamada para o construtor de sua superclasse imediata sem parmetros ser automaticamente inserida como o primeiro comando da funo. Entretanto, se a superclasse requerer parmetros em sua definio, deve ser criado um construtor na subclasse e a superclasse com os parmetros necessrios deve ser chamada. Para obter mais informaes, consulte Criando subclasses na pgina 167.
Exemplo

Na classe B definida abaixo, ser inserida automaticamente uma chamada para o superconstrutor da classe A, como o primeiro comando da funo construtora de B, j que no existe uma chamada nela.
class B extends class A { function B() { // este o construtor super(); // opcional; inserida durante a compilao se houver sido omitida } function m():Number {return 25;} function o(s:String):Void {trace(s);} } Consulte tambm class, interface

extends

417

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); especifica 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 quando 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

418

Captulo 12: Dicionrio do ActionScript

for
Disponibilidade

Flash Player 5.
Uso for(incio; condio; prxima) { comando(s); } Parmetros incio Uma expresso a ser avaliada antes do incio da seqncia de loop, geralmente uma expresso de atribuio. O comando var tambm permitido 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 ++ (aumento) ou -- (diminuio). Uma instruo ou instrues a ser(em) executada(s) no corpo do loop.

comando(s) Descrio

Comando; um construtor de loop que avalia a expresso incio (inicializao) uma vez e depois comea a seqncia do loop pelo qual, enquanto condio for avaliada como true, comando ser executado e a prxima expresso ser avaliada. Algumas propriedades no podem ser enumeradas pelas aes for nem for..in. Por exemplo, os mtodos internos da classe Array (Array.sort() e Array.reverse()) no so includos na enumerao de um objeto Array e as propriedades de clipe de filme, tais como _x e _y, no so enumeradas.

for

419

Exemplo

O exemplo a seguir usa for para adicionar os elementos a uma matriz:


my_array=new Array(); for(i=0; i < 10; i++) { my_array [i] = (i + 5)*10; trace(my_array[i]); }

Os seguintes resultados so exibidos no painel Output (Sada):


50 60 70 80 90 100 110 120 130 140

O exemplo a seguir mostra o uso de for para executar a mesma ao repetidamente. No cdigo abaixo, o loop for adiciona os nmeros de 1 a 100.
var sum = 0; for (var i=1; i<=100; i++) { soma = soma + i; } Consulte tambm ++ (incremento), (decremento), for..in, var

420

Captulo 12: Dicionrio do ActionScript

for..in
Disponibilidade

Flash Player 5.
Uso for(variableIterant in objeto){ comando(s); } Parmetros variableIterant objeto

O nome de uma varivel que age como iterando, fazendo referncia a cada propriedade de um objeto ou elemento em uma matriz. O nome de um objeto a ser repetido. Uma instruo a ser executada para cada iterao.

comando(s) Retorna

Nada.
Descrio

Comando; realiza uma passagem pelas propriedades de um objeto ou elemento em um array e executa o comando 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 (Array.sort() e Array.reverse()) no so includos na enumerao de um objeto Array e as propriedades de clipe de filme, tais como _x e _y, no so enumeradas. A construo 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. Se o objeto filho tiver um pai prottipo e ambos contiverem a propriedade prop, a ao for..in iniciada sobre o filho enumerar prop a partir do filho, mas ignorar a que est no pai.

for..in

421

Exemplo

O exemplo a seguir mostra o uso de for..in para iterao das propriedades de um objeto:
myObject = { name:'Tara', age:27, city:'San Francisco' }; for (name in myObject) { trace ("myObject." + name + " = " + myObject[name]); }

A sada deste exemplo :


myObject.name = Tara myObject.age = 27 myObject.city = San Francisco

O exemplo a seguir mostra o uso do operador typeof com for..in para iterar um tipo especfico de filho:
for (name in my_mc) { if (typeof (my_mc[name]) = "movieclip") { trace ("I have a movie clip child named " + name); } }

O exemplo a seguir enumera os filhos de um clipe de filme e envia cada um para o Frame 2 de suas respectivas Timelines. O clipe de filme RadioButtonGroup pai de vrios filhos, _RedRadioButton_, _GreenRadioButton_ e _BlueRadioButton.
for (var name in RadioButtonGroup) { RadioButtonGroup[name].gotoAndStop(2); }

422

Captulo 12: Dicionrio do ActionScript

fscommand()
Disponibilidade

Flash Player 3.
Uso fscommand("command", "parameters") Parmetros comand

Uma seqncia de caracteres passada ao aplicativo host para qualquer uso ou um comando passado ao Flash Player independente.
parmetros

Uma seqncia de caracteres passada ao aplicativo host para qualquer uso ou um valor passado ao Flash Player.

Retorna

Nada.
Descrio

Funo; permite ao arquivo SWF comunicar-se 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 abaixo mostra os valores que podem ser especificados para os parmetros comando e parmetros, da ao fscommand, para controlar um SWF reproduzido em um Flash Player independente (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 faz com que o exibidor sempre desenhe o SWF em seu tamanho original e nunca redimensionado. O valor true fora o SWF a ser redimensionado para 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 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 identificador onClipEvent(keyDown/keyUp) no Flash Player.

allowscale

true ou false

showmenu

true ou false

exec trapallkeys

Caminho para o aplicativo true ou false

fscommand()

423

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 de 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 moviename o nome do Flash Player conforme atribudo pelo atributo NAME da tag EMBED ou pela propriedade ID da tag 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. Director Support Center. Para obter mais informaes, consulte o Director Support Center 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, pesquise no Flash Support Center usando as palavras-chave Flash method em www.macromedia.com/ support/flash.
Exemplo

Uso 1: No exemplo abaixo, a ao fscommand determina que o Flash Player ajuste o SWF para o tamanho de tela cheia quando o boto liberado.
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 adicionar uma funo 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 um comando condicional if que verifica se a seqncia de caracteres de comando caixa_de_mensagem. Se for, ser aberta uma caixa de alerta JavaScript (ou caixa de mensagem) que exibir o contedo da seqncia de caracteres parmetros.

424

Captulo 12: Dicionrio do ActionScript

function meuDocumento_DoFSCommand(comando, args) { if (comando == "caixa_de_mensagem") { alert(args); } }

No documento Flash, adicione a ao fscommand a um boto:


fscommand("caixa_de_mensagem", "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("caixa_de_mensagem", "Ol, " + nome + ", bem-vindo a nosso website!")

Para testar o filme, escolha File (Arquivo) > Publish Preview (Visualizar Publicao) > HTML.
Observao: Se voc publicar o filme usando o modelo Flash com FSCommand em HTML Publish Settings (Configuraes de Publicao em HTML), a funo meuDocumento_DoFSCommand ser inserida automaticamente. Os atributos NAME e ID do SWF sero o nome do arquivo. Por exemplo, para o arquivo meuDocumento.fla, estes atributos seriam definidos como meuDocumento.

fscommand()

425

function
Disponibilidade

Flash Player 5.
Uso function functionname ([parameter0, parameter1,...parameterN]){ comando(s) } function ([parameter0, parameter1,...parameterN]){ comando(s) } Parmetros functionname parameter

O nome da nova funo.

Um identificador que representa um parmetro a ser passado para a funo. Esses parmetros so opcionais. Qualquer instruo ActionScript definida para o corpo da funo.

comando(s) Retorna

Nada.
Descrio

Comando; formado por um conjunto de comandos que voc define para realizar uma determinada tarefa. Voc pode declarar, ou definir, uma funo em um local e cham-la, ou invoc-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. Use a ao return no(s) comando(s) de uma funo para fazer a funo retornar, ou apresentar, um valor. Uso 1: Declarao de uma funo com o nomeFuno, os parmetros e o(s) comando(s) especificados. 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. Esta sintaxe pode ser usada sempre que for permitido um comando. Uso 2: Criao de uma funo annima e retorno. Esta sintaxe usada em expresses e particularmente til para a instalao de mtodos em objetos.

426

Captulo 12: Dicionrio do ActionScript

Exemplo

Uso 1: O exemplo abaixo define a funo sqr, que aceita um parmetro e retorna o quadrado (x*x) do parmetro. Observe que, se a funo for declarada e usada no mesmo script, a declarao de funo pode 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; }

O comando a seguir define uma funo annima que calcula a rea de um crculo e a anexa ao objeto Circle como um mtodo:
Circle.prototype.area = function () {return Math.PI * this.radius * this.radius}

Classe Function
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6. Resumo de mtodos da classe Function


Mtodo
Function.apply() Function.call()

Descrio Ativa o cdigo ActionScript para chamar uma funo. Invoca a funo representada por um objeto Function.

Resumo de propriedades da classe Function


Propriedade
Function.prototype

Descrio Refere-se a um objeto que o prottipo de uma classe.

Classe Function

427

Function.apply()
Disponibilidade

Flash Player 6.
Uso myFunction.apply(thisObject, argumentsObject) Parmetros thisObject

O objeto ao qual myFunction aplicada. Uma matriz cujos elementos so passados para myFunction como

argumentsObject

parmetros.
Retorna

Qualquer valor que a funo chamada especifica.


Descrio

Mtodo; especifica o valor de this para ser usado em qualquer funo que ActionScript chame. Este 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 invocaes de funo a seguir so equivalentes.


Math.atan2(1, 0) Math.atan2.apply(null, [1, 0])

Voc pode construir um arquivo SWF contendo campos de entrada que permitam ao usurio inserir o nome de uma funo a ser chamada e zero ou mais parmetros a serem passados 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 functionName. A quantidade de parmetros especificada em um campo de texto de entrada denominado numParameters. At 10 parmetros so especificados em campos de texto denominados parameter1, parameter2, at parameter10.
on (release) { callTheFunction(); } ... function callTheFunction() { var theFunction = eval(functionName.text); var n = Number(numParameters); var parameters = []; for (var i = 0; i < n; i++) { parameters.push(eval("parameter" + i)); } theFunction.apply(null, parameters); }

428

Captulo 12: Dicionrio do ActionScript

Function.call()
Disponibilidade

Flash Player 6.
Uso myFunction.call(thisObject, parameter1, ..., parameterN) Parmetros thisObject parameter1

Especifica o valor de this no corpo da funo. Um parmetro a ser passado a myFunction. Voc pode especificar zero ou mais

parmetros.
parameterN Retorna

Nada.
Descrio

Mtodo; invoca 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 invocao da funo precisa ser explicitamente controlado. Normalmente, se uma funo invocada como um mtodo de um objeto, no corpo da funo, this definido para myObject como no exemplo a seguir:
myObject.myMethod(1, 2, 3);

Em algumas situaes, pode ser prefervel que this aponte para algum outro lugar; por exemplo, se uma funo tiver que ser invocada como um mtodo de um objeto, mas 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)

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 MyObject() { } function MyMethod(obj) { trace("this == obj? " + (this == obj)); } var obj = new MyObject(); MyMethod.call(obj, obj);

A ao trace() envia o seguinte cdigo ao painel Output (Sada):


this == obj? true
Function.call() 429

Function.prototype
Disponibilidade

Flash Player 5.
Uso myFunction.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.

ge (maior ou igual a especfico de seqncias de caracteres)


Disponibilidade

Flash Player 4. Este operador foi substitudo no Flash 5 pelo operador >= (maior ou igual a).
Uso expresso1 ge expresso2 Parmetros expression1, expression2 Retorna

Nmeros, seqncias de caracteres ou variveis

Nada.
Descrio

Operador (comparao); compara a representao em seqncia de caracteres da expresso1 com a representao em seqncia de caracteres da expresso2 e retorna true se a expresso1 for maior ou igual expresso2; caso contrrio, retorna false.
Consulte tambm >= (maior ou igual a)

get
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Consulte tambm set

430

Captulo 12: Dicionrio do ActionScript

getProperty
Disponibilidade

Flash Player 4.
Uso getProperty(my_mc, property) Parmetros my_mc

O nome da instncia de um clipe de filme da qual a propriedade est sendo recuperada. Uma propriedade de um clipe de filme.

property Retorna

O valor da propriedade especificada.


Descrio

Funo; retorna o valor da propriedade especificada do clipe de filme my_mc.


Exemplo

O exemplo a seguir recupera a coordenada do eixo horizontal (_x) do clipe de filme my_mc e a atribui varivel my_mc_x:
my_mc_x = getProperty(_root.my_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

431

getURL()
Disponibilidade

Flash 2. As opes GET e POST s esto disponveis no Flash Player 4 e verses posteriores.
Uso getURL(url [, window [, "variables"]]) Parmetros url

O URL de onde o documento ser obtido.

window 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

variables Um mtodo GET ou POST para envio de variveis. Caso no haja variveis, omitir esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros. 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 SWF usando a ao loadVariables().
on (release) { getURL(incomingAd, "_blank"); } Consulte tambm loadVariables(), XML.send(), XML.sendAndLoad(), XMLSocket.send()

432

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 plataforma do Flash Player.
Descrio

Funo; retorna uma seqncia de caracteres contendo informaes sobre a verso e 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 17 (5.0r17).
Consulte tambm System.capabilities.os, System.capabilities.version

getVersion

433

_global object
Disponibilidade

Flash Player 6.
Uso _global.identifier 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 no Timeline (Linha de tempo) ou locais, as variveis e funes globais so visveis para todas as linhas de tempo 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

434

Captulo 12: Dicionrio do ActionScript

gotoAndPlay()
Disponibilidade

Flash 2.
Uso gotoAndPlay([scene,] frame) Parmetros scene

Seqncia de caracteres opcional que especifica o nome da cena para a qual enviada a reproduo.
frame

O nmero do quadro ou identificador para onde a reproduo enviada.

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 segue para o quadro especificado na cena atual.
Exemplo

Quando o usurio clica em um boto ao qual est associado gotoAndPlay(), a reproduo deslocada ao Frame (Quadro) 16 da cena atual e iniciada.
on (release) { gotoAndPlay(16); }

gotoAndPlay()

435

gotoAndStop()
Disponibilidade

Flash 2.
Uso gotoAndStop([scene,] frame) Parmetros scene

Seqncia de caracteres opcional que especifica o nome da cena para a qual enviada a reproduo.
frame

O nmero do quadro ou identificador para onde a reproduo enviada.

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 segue para o quadro especificado na cena atual.
Exemplo

Quando o usurio clica em um boto ao qual est associado gotoAndStop(), a reproduo deslocada ao Frame 5 da cena atual e o SWF pra.
on (release) { gotoAndStop(5); } Consulte tambm stop()

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 expression1,expression2 Descrio

Nmeros, seqncias de caracteres ou variveis.

Operador (comparao); compara a representao em seqncia de caracteres da expresso1 com a representao em seqncia de caracteres da expresso2 e retorna true se a expresso1 for maior que a expresso2; caso contrrio, retorna false.
Consulte tambm > (maior que)

436

Captulo 12: Dicionrio do ActionScript

_highquality
Disponibilidade

Flash Player 4.
Uso _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 sem serrilhado.
Exemplo _highquality = 1; Consulte tambm _quality, toggleHighQuality()

_highquality

437

if
Disponibilidade

Flash Player 4.
Uso if(condio) { comandos(s); } Parmetros condio comando(s) Retorna

Uma expresso que seja avaliada como true ou false. As instrues a serem executadas se ou quando a condio for avaliada como true.

Nada.
Descrio

Comando; avalia uma condio para determinar a prxima ao em um arquivo SWF. Se a condio for true, o Flash executar os comandos que estiverem dentro das chaves ({}) aps a condio. Se a condio for false, o Flash ignorar os comandos contidos nas chaves e executar os comandos posteriores a elas. Use a ao if para criar lgica ramificada em seus scripts.
Exemplo

No exemplo a seguir, a condio entre parnteses avalia a varivel name para verificar se ela tem o valor literal Erica. Se for o caso, ser executada a ao play() entre chaves.
if(name == "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 os comandos entre chaves sero executados. Esses comandos definem variveis para armazenar informaes como a nova posio do objeto, a fora e a velocidade com que ele foi lanado. A varivel timePressed tambm redefinida. Se o objeto tiver sido liberado mais de 300 milissegundos depois de arrastado, a condio ser avaliada como false e nenhum comando ser executado.
if (getTimer() < timePressed+300) { // se a condio for true, // o objeto foi jogado. // qual 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; timePressed = 0; }

438

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([scene,] frame) { comando(s); } Parmetros scene

Seqncia de caracteres opcional que especifica o nome da cena que deve ser carregada.

quadro O nmero ou identificador do quadro que deve ser carregado antes da execuo do prximo comando. comando(s)

As instrues a serem 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 seus prprios comandos if ou else.
Consulte tambm MovieClip._framesloaded

ifFrameLoaded

439

implements
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso myClass implements interface01 [, interface02, ...] Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Essa palavrachave suportada somente quando usada em arquivos de scripts 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. Para obter mais informaes, consulte Criando e usando interfaces na pgina 171.
Consulte tambm class, interface

import
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Descrio

Para obter mais informaes, consulte Importando classes na pgina 175.

440

Captulo 12: Dicionrio do ActionScript

#include
Disponibilidade

Todas as verses do Flash Player 4.


Uso #include "[path] filename.as" Observao: No coloque ponto-e-vrgula (;) no final da linha que contm a condio #include. Parmetros [path] filename.as

o nome do arquivo e caminho opcional do script a ser adicionado ao painel Actions (Aes); .as a extenso de arquivo recomendada. Nada.

Retorna

Descrio

Diretiva de compilador; inclui o contedo do arquivo especificado, como se os comandos que esto no arquivo fossem parte do prprio script. A diretiva #include invocada no momento da compilao. Portanto, se voc fizer qualquer alterao em um arquivo externo, ser preciso salvar o arquivo e recompilar os arquivos FLA que o utilizam. Se usar o boto Check Syntax (Verificar sintaxe) para um script que contenha comandos #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. O #include no pode ser usado para incluir o contedo de um arquivo de classe ActionScript 2. Se voc, por exemplo, definir uma classe Circle em um arquivo nomeado como Circle.as, o comando #include Circle.as no funcionar. Para dar acesso explcito a arquivos de classes que no estejam em seus caminhos de classes, use o comando import. 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 o comando #include. Para especificar um caminho para o arquivo AS relativo ao script ou arquivo FLA, use dois pontos (..) e barra (/). Veja os exemplos a seguir. Para especificar um caminho absoluto para o arquivo AS, use o formato suportado por sua plataforma (Macintosh ou Windows). Veja 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.

#include

441

Exemplo

Os exemplos abaixo mostram vrias maneiras de especificar um caminho para um arquivo a ser includo no script.
// Note que os comandos #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.

442

Captulo 12: Dicionrio do ActionScript

#initclip
Disponibilidade

Flash Player 6.
Uso #initclip order Parmetros order 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 registro de classes.
Exemplo

O exemplo de cdigo a seguir associado ao primeiro quadro de um SWF, que um componente CheckBox. As aes #initclip e #endinitclip definem os limites do bloco de comandos que so aes de inicializao. Os comandos delimitados registram a classe e os mtodos de armazenamento em um objeto de prottipo.
#initclip if (typeof(CheckBox) == "indefinido") { // Definir o construtor para (e, portanto, definir) a classe CheckBox function CheckBox() { //Configurar nossas vinculaes de dados this.watch ('value', function (id, oldval, newval) { ... }; this.watch ('label', function (id, oldval, newval) { ... }; } // Definir que a cadeia de prottipos CheckBox herda de MovieClip CheckBox.prototype = new MovieClip(); // Registrar CheckBox como a classe do smbolo de "Caixa de seleo" Object.registerClass("Caixa de seleo", CheckBox); // Configurar alguns mtodos CheckBox.prototype.enable = function () { ... }; CheckBox.prototype.show = function () { ... }; CheckBox.prototype.hide = function () { ... }; // Configurar uma funo conveniente para criar // caixas de seleo CheckBox.create = function (parent_mc, instanceName, depth) { parent_mc.attachMovie("CheckBox", instanceName, depth); }; } #endinitclip

#initclip

443

Observao: Se voc copiar e colar este cdigo no painel Actions (Aes), ser gerado um erro quando o script for compilado, por causa das funes indefinidas ({...}). Consulte tambm #endinitclip

instanceof
Disponibilidade

Flash Player 6.
Uso object instanceof class Parmetros object class 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.
Descrio

Operador; determina se um objeto pertence a uma determinada classe. Testa se o objeto uma instncia de classe. Um objeto ActionScript considerado uma instncia de uma classe quando o objeto de prottipo da funo construtora est na cadeia de prottipos do objeto ActionScript. 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 Exemplo

Para ilustrar o algoritmo do operador instanceof, o exemplo a seguir mostra a aparncia possvel desse operador instanceof caso seja codificado como uma funo do ActionScript.
function instanceof (theObject, theClass){ while ((theObject = theObject.__proto__) != null) { if (theObject == theClass.prototype) { return true; } } return false; } Consulte tambm typeof

444

Captulo 12: Dicionrio do ActionScript

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()

interface
Disponibilidade

Flash Player 6.
Uso interface InterfaceName {} interface InterfaceName [extends InterfaceName [, InterfaceName ...] {} Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Essa palavrachave suportada somente quando usada em arquivos de scripts 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. Isto , toda


classe que implementa uma interface deve trazer uma implementao para cada mtodo definido na interface. Em uma definio de interface, so permitidos apenas membros pblicos. Alm disso, no so permitidas variveis de instncia.

Embora no sejam equivalentes s classes abstratas de Java, as interfaces podem ser consideradas abstratas no sentido que definem apenas possveis comportamentos de suas instncias. Para obter mais informaes, consulte Criando e usando interfaces na pgina 171.

interface

445

Exemplo (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 (Aes) mvar = new B(); trace(B.k()); // 25 trace(B.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 // 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 (Aes) 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

446

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

447

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), e isto 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

448

Captulo 12: Dicionrio do ActionScript

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 uma lista completa de valores de cdigos de teclas, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 859.
Exemplo

O script a seguir usa o objeto Key para identificar teclas em qualquer teclado, de forma que o usurio possa controlar 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; } }

Resumo de 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. Retorna true se a tecla especificada no parmetro for pressionada. Retorna true se a tecla Num Lock ou Caps Lock estiver ativada.

Key.getAscii() Key.getCode() Key.isDown() Key.isToggled()

Key.removeListener() Remove um objeto anteriormente registrado com Key.addListener().

Classe key

449

Resumo de 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 Key.PGDN Key.PGUP Key.RIGHT Key.SHIFT Key.SPACE Key.TAB Key.UP

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 cdigo da tecla 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 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 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 Seta para cima (38).

Resumo de ouvintes da classe Key


Mtodo
Key.onKeyDown Key.onKeyUp

Descrio Notificado quando uma tecla pressionada. Notificado quando uma tecla liberada

450

Captulo 12: Dicionrio do ActionScript

Key.addListener()
Disponibilidade

Flash Player 6.
Uso Key.addListener (newListener) Parmetros newListener 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 newListener j estiver registrado, nenhuma alterao ocorrer.
Exemplo

Este exemplo 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.
myListener = new Object(); myListener.onKeyDown = function () { trace ("Voc pressionou uma tecla."); } myListener.onKeyUp = function () { trace ("Voc liberou uma tecla."); } Key.addListener(myListener);

Key.BACKSPACE
Disponibilidade

Flash Player 5.
Uso Key.BACKSPACE Descrio

Propriedade; constante associada ao valor do cdigo da tecla Backspace (8).

Key.BACKSPACE

451

Key.CAPSLOCK
Disponibilidade

Flash Player 5.
Uso Key.CAPSLOCK Descrio

Propriedade; constante associada ao valor do cdigo da tecla Caps Lock (20).

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 Seta para baixo (40).

452

Captulo 12: Dicionrio do ActionScript

Key.END
Disponibilidade

Flash Player 5.
Uso Key.END Descrio

Propriedade; constante associada com o valor do cdigo de chave da tecla End (35).

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.ESCAPE

453

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, Key.getAscii() retornar @ em um teclado japons, como em um teclado ingls.

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 da tecla coincida com a tecla de um teclado padro, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 859.

Key.HOME
Disponibilidade

Flash Player 5.
Uso Key.HOME Descrio

Propriedade; constante associada ao valor do cdigo da tecla Home (36).

454

Captulo 12: Dicionrio do ActionScript

Key.INSERT
Disponibilidade

Flash Player 5.
Uso Key.INSERT Descrio

Propriedade; constante associada ao valor do cdigo da tecla Insert (45).

Key.isDown()
Disponibilidade

Flash Player 5.
Uso Key.isDown(keycode) Parmetros keycode

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 da tecla coincida com a tecla de um teclado padro, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 859.

Retorna

Um valor booleano.
Descrio

Mtodo; retornar true, se for pressionada a tecla especificada no cdigoTecla, ou false, se essa tecla no for pressionada. No Macintosh, os valores do cdigo de tecla das teclas Caps Lock e Num Lock so idnticos.

Key.isToggled()
Disponibilidade

Flash Player 5.
Uso Key.isToggled(keycode) Parmetros keycode

O cdigo da tecla Caps Lock (20) ou Num Lock (144).

Key.isToggled()

455

Retorna

Um valor booleano.
Descrio

Mtodo; retornar true, se for ativada (ou alternada) a tecla Caps Lock ou Num Lock, ou false caso contrrio. No Macintosh, os valores do cdigo de tecla das teclas Caps Lock e Num Lock so idnticos.

Key.LEFT
Disponibilidade

Flash Player 5.
Uso Key.LEFT Descrio

Propriedade; constante associada ao valor do cdigo de tecla para a tecla Seta para esquerda (37).

Key.onKeyDown
Disponibilidade

Flash Player 6.
Uso someListener.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:
someListener = new Object(); someListener.onKeyDown = function () { ... }; Key.addListener(someListener);

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()

456

Captulo 12: Dicionrio do ActionScript

Key.onKeyUp
Disponibilidade

Flash Player 6.
Uso someListener.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:
someListener = new Object(); someListener.onKeyUp = function () { ... }; Key.addListener(someListener);

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

457

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 ele no estava na lista de ouvintes do objeto Key, o mtodo retornar false.
Descrio

Mtodo; remove um objeto anteriormente registrado com Key.addListener() Key.addListener().

Key.RIGHT
Disponibilidade

Flash Player 5.
Uso Key.RIGHT Descrio

Propriedade; constante associada ao valor do cdigo da tecla 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).

458

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 Seta para cima (38).

Key.UP

459

le (menor ou igual a especfico de seqncia de caracteres)


Disponibilidade

Flash Player 4. Este operador foi substitudo no Flash 5 pelo operador <= (menor ou igual
que). Uso expression1 le expression2 Parmetros expresso1, expresso2 Retorna

Nmeros, seqncias de caracteres ou variveis.

Nada.
Descrio

Operador (comparao); compara expression1 com expression2 e retorna um valor true se expression1 for menor ou igual a expresssion2; de outra forma, retorna um valor false.
Consulte tambm <= (menor ou igual que)

460

Captulo 12: Dicionrio do ActionScript

length
Disponibilidade

Flash Player 4. Esta funo, juntamente com todas as funes de seqncias 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 4.
Consulte tambm " " (delimitador de seqncia de caracteres),

Classe String, String.length

length

461

_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 SWF carregado no nvel atribudo por N. O arquivo SWF inicial carregado em uma instncia do Flash Player carregado automaticamente no _level0. O SWF no _level0 define a taxa de quadros, a cor de fundo e o tamanho do quadro para todos os SWF carregados em seguida. Depois, os SWF so empilhados em nveis com numerao mais alta, acima do SWF do _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 SWF nesse nvel ser descarregado e substitudo pelo novo SWF.
loadMovieNum(). Exemplo

O exemplo abaixo interrompe a reproduo da Timeline (Linha de tempo) principal do SWF em _level9.
_level9.stop();

O exemplo a seguir desloca a reproduo da Timeline principal do SWF no _level4 para o Frame 5. O SWF no _level4 deve ter sido anteriormente carregado com a ao loadMovieNum().
_level4.gotoAndStop(5); Consulte tambm loadMovie(), MovieClip.swapDepths()

462

Captulo 12: Dicionrio do ActionScript

loadMovie()
Disponibilidade

Flash Player 3.
Uso loadMovie("url",target [, method]) Parmetros url

O URL absoluto ou relativo do arquivo SWF ou JPEG que deve ser carregado. O caminho relativo deve ser relacionado ao arquivo SWF no nvel 0. Para que sejam usados no Flash Player ou no modo de teste do aplicativo de criao Flash, todos os arquivos SWF devem ser armazenados na mesma pasta e os nomes de arquivo no podem incluir as especificaes da pasta ou da unidade de disco. Um caminho para um clipe de filme de destino. O clipe de filme de destino ser substitudo pela imagem ou arquivo SWF carregado.

destino method

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. A funo loadMovie() permite que voc exiba vrios SWF de uma vez e alterne entre os SWF 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 SWF carregado. Um 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 SWF carregado se alinha com o ponto de registro do clipe de filme de destino. De maneira alternativa, se o destino for a Timeline (Linha de tempo) _root, o canto superior esquerdo da imagem ou SWF se alinhar com o canto superior esquerdo do Stage (Palco). Use unloadMovie() para remover arquivos SWF carregados com loadMovie().

loadMovie()

463

Exemplo

O comando loadMovie() a seguir anexado a um boto de navegao chamado Products (Produtos). H um clipe de filme invisvel no Palco com o nome de instncia dropZone. A funo loadMovie() usa esse clipe de filme como o parmetro de destino para carregar os produtos no arquivo SWF, na posio correta no Stage (Palco).
on (release) { loadMovie("products.swf",_root.dropZone); }

O exemplo abaixo carrega uma imagem JPEG do mesmo diretrio do arquivo SWF que chama a funo loadMovie():
loadMovie("image45.jpeg", "nosso_clipe_de_filme"); Consulte tambm loadMovieNum(), unloadMovie(), _level

loadMovieNum()
Disponibilidade

Flash Player 4. Os arquivos do Flash 4, abertos no Flash 5 ou posterior, so convertidos para que usem a sintaxe correta.
Uso loadMovieNum("url",level [, variables]) 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 originalmente carregado. Normalmente, o Flash Player exibe um nico arquivo SWF e em seguida encerrado. A ao loadMovieNum() permite que voc exiba vrios SWF de uma vez e alterne entre eles sem carregar outro documento HTML. Se quiser especificar um destino em vez de um nvel, use loadMovie() em vez de loadMovieNum().

464

Captulo 12: Dicionrio do ActionScript

O Flash Player tem uma ordem de empilhamento de nveis comeando do nvel 0. Esses nveis so como folhas de transparncias, a no ser pelos objetos presentes em cada nvel. Quando voc usa loadMovieNum(), necessrio especificar um nvel do Flash Player no qual o arquivo SWF ser carregado. Depois que o SWF carregado em um nvel, possvel usar a sintaxe _levelN, onde N o nmero do nvel, para especificar o SWF. Quando carrega um arquivo SWF, voc pode especificar qualquer nmero de nvel, inclusive carregar arquivos SWF em um nvel que j contenha um arquivo SWF carregado. Caso faa isto, o novo SWF substituir o SWF existente. Se voc carregar um SWF no nvel 0, todos os nveis do Flash Player sero descarregados e o nvel 0 ser substitudo pelo novo arquivo. O SWF no nvel 0 define a taxa de quadros, a cor de fundo e o tamanho do quadro de todos os outros 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 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

loadVariables()
Disponibilidade

Flash Player 4.
Uso loadVariables ("url" , "target" [, variables]) Parmetros url Um URL absoluto ou relativo no qual as variveis esto localizadas. Se voc acessar o arquivo SWF com um navegador da Web, o host do URL dever estar no mesmo subdomnio do SWF. 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.

loadVariables()

465

Descrio

Funo; l dados de um arquivo externo, como um arquivo de texto ou um texto gerado por um script CGI, Active Server Pages (ASP), PHP ou um script Perl, e define os valores das variveis em um nvel do Flash Player ou em um clipe de filme de destino. Esta ao tambm pode ser usada para atualizar as variveis no SWF ativo com novos valores. O texto no URL especificado deve ter o formato MIME padro aplicativo/x-www-formato de url codificado (um formato padro usado por scripts CGI). O SWF e as variveis a serem carregadas devem residir no mesmo subdomnio. Qualquer nmero de variveis pode ser especificado. Por exemplo, a frase abaixo define vrias variveis:
company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103

O primeiro arquivo SWF a ser aberto em uma instncia do Flash Player carregado no nvel inferior (identificado no cdigo como _level0). Quando voc usa loadMovie() ou loadMovieNum() para carregar arquivos SWF subseqentes no Flash Player, necessrio atribuir um nmero de nvel no Flash Player ou um clipe de filme de destino no qual todo SWF ser carregado. Ao usar loadVariables(), voc precisa especificar um MovieClip de destino no qual as variveis sero carregadas. Se quiser carregar variveis em um nvel especfico, use loadVariablesNum() em vez de
loadVariables(). Exemplo

Este exemplo carrega informaes de um arquivo de texto em campos de texto no clipe de filme varTarget da 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 posterior sero convertidos para que usem a sintaxe correta.
Uso loadVariablesNum ("url" ,level [, variables])

466

Captulo 12: Dicionrio do ActionScript

Parmetros url Um URL absoluto ou relativo no qual as variveis esto localizadas. Se voc acessar o arquivo SWF com um navegador da Web, o host do URL dever estar no mesmo subdomnio do SWF. 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 ter o formato MIME padro aplicativo/x-www-formato de url codificado (um formato padro usado por scripts CGI). O arquivo SWF e as variveis a serem carregadas devem residir no mesmo subdomnio. Qualquer nmero de variveis pode ser especificado. Por exemplo, a frase abaixo define vrias variveis:
company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103

O primeiro SWF a ser aberto em uma instncia do Flash Player carregado no nvel inferior (identificado no cdigo como _level0). Quando voc usa loadMovie() ou loadMovieNum() para carregar SWF subseqentes no Flash Player, necessrio atribuir um nmero de nvel no Flash Player ou um clipe de filme de destino no qual todo SWF ser carregado. Quando usar loadVariablesNum(), voc precisar especificar um nvel do Flash Player no qual as variveis sero carregadas. 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 para campos de texto na 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()

loadVariablesNum()

467

Classe LoadVars
Disponibilidade

Flash Player 6.
Descrio

A classe LoadVars uma alternativa funo loadVariables() de 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 ao 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. necessrio usar o construtor new LoadVars() para criar um objeto LoadVars antes de chamar seus mtodos. 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.

468

Captulo 12: Dicionrio do ActionScript

Resumo de manipuladores de eventos da classe LoadVars


Identificador de eventos
LoadVars.onLoad

Descrio Chamado quando uma operao load or sendAndLoad concluda.

Construtor da classe LoadVars


Disponibilidade

Flash Player 6.
Uso new LoadVars() Parmetros

Nenhum.
Retorna

Nada.
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 my_lv:


var my_lv = new LoadVars();

LoadVars.addRequestHeader()
Disponibilidade

Flash Player 6.
Uso my_lv.addRequestHeader(headerName, headerValue) my_lv.addRequestHeader(["headerName_1", "headerValue_1" ... "headerName_n", "headerValue_n"]) Parmetros headerName headerValue Retorna

Nome de cabealho de solicitao HTTP. Valor associado ao headerName.

Nada.

LoadVars.addRequestHeader()

469

Descrio

Mtodo; adiciona ou altera os cabealhos de solicitao HTTP (como Content-Type ou SOAPAction) enviados com aes POST. No primeiro uso, passam-se duas seqncias de caracteres para o mtodo: headerName e headerValue. 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. 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.
Exemplo

Este exemplo acrescenta ao objeto my_lv um cabealho HTTP personalizado, denominado SOAPAction, com o valor qualquer.
my_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"]; my_lv.addRequestHeader(cabealhos); Consulte tambm XML.addRequestHeader()

470

Captulo 12: Dicionrio do ActionScript

LoadVars.contentType
Disponibilidade

Flash Player 6.
Uso my_lv.contentType Descrio

Propriedade; o tipo MIME enviado ao servidor quando voc chama LoadVars.send() ou LoadVars.sendAndLoad(). O padro aplicativo/x-www-codificado na forma de url.
Consulte tambm LoadVars.send(), LoadVars.sendAndLoad()

LoadVars.getBytesLoaded()
Disponibilidade

Flash Player 6.
Uso my_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 nenhum carregamento em execuo ou se a carga ainda no tiver sido iniciada.

LoadVars.getBytesLoaded()

471

LoadVars.getBytesTotal()
Disponibilidade

Flash Player 6.
Uso my_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 nenhum carregamento em execuo ou se a carga 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.

LoadVars.load()
Disponibilidade

Flash Player 6.
Uso my_lv.load(url) Parmetros url Retorna

O URL de onde ser feito o download das variveis.

Uma seqncia de caracteres.


Descrio

Mtodo; faz download de variveis do URL especificado, analisa os dados da varivel e coloca as variveis resultantes em my_lv. As propriedades de my_lv com o mesmo nome de variveis descarregadas so substitudas. As propriedades de my_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 aplicativo/xwww-codificado na forma de url. Este o mesmo formato usado por loadVariables(). Este mtodo semelhante a XML.load().

472

Captulo 12: Dicionrio do ActionScript

LoadVars.loaded
Disponibilidade

Flash Player 6.
Uso my_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 tiver apresentado erros, a propriedade loaded permanecer definida como false. Esta propriedade semelhante a XML.loaded.

LoadVars.loaded

473

LoadVars.onData
Disponibilidade

Flash Player 5.
Uso my_lv.onData = function(src) { // seus comandos vo aqui } Parmetros src Dados brutos (no analisados) de uma chamada de mtodo LoadVars.load() ou .LoadVars.sendAndLoad() Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando totalmente concludo o download dos dados do servidor 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 src 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 invoca 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.
Exemplo

O exemplo abaixo mostra a implementao padro de LoadVars.onData:


LoadVars.prototype.onData = function (src) { if (src == undefined) { this.onLoad(false); else { this.decode(src); this.loaded = true; this.onLoad(true); } }

474

Captulo 12: Dicionrio do ActionScript

LoadVars.onLoad
Disponibilidade

Flash Player 6.
Uso my_lv.onLoad = function(sucesso) { // seus comandos vo 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 concluda uma operao LoadVars.load() ou LoadVars.sendAndLoad(). Se a operao tiver sido bem sucedida, my_lv ser preenchida com variveis descarregadas pela operao, que ficaro disponveis quando este manipulador for invocado. Este mtodo permanecer indefinido por padro, mas ser possvel defini-lo pela associao de uma funo de retorno de chamada. Este mtodo semelhante a XML.onLoad().

LoadVars.onLoad

475

LoadVars.send()
Disponibilidade

Flash Player 6.
Uso my_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 my_lv para o URL especificado. Todas as variveis enumerveis de my_lv so concatenadas a uma seqncia de caracteres no formato application/xwww-urlform-encoded, 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 my_lv.contentType ou o padro application/x-www-urlform-encoded. 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().

476

Captulo 12: Dicionrio do ActionScript

LoadVars.sendAndLoad()
Disponibilidade

Flash Player 6.
Uso my_lv.sendAndLoad(url, objetoDestino[, mtodo]) Parmetros my_lv url

O objeto LoadVars a partir do qual as variveis devem ser carregadas. O URL no qual as variveis devem ser carregadas. O objeto LoadVars que recebe as variveis descarregadas. O mtodo GET ou POST do protocolo HTTP.

targetObject mtodo Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; envia variveis do objeto my_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 por POST da mesma maneira que em LoadVars.send(). As variveis so descarregadas em objetoDestino da mesma maneira que em LoadVars.load(). Este mtodo semelhante a XML.sendAndLoad().

LoadVars.sendAndLoad()

477

LoadVars.toString()
Disponibilidade

Flash Player 6.
Uso my_lv.toString() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna uma seqncia de caracteres que contm todas as variveis enumerveis em my_lv, na codificao de contedo MIME application/x-www-urlform-encoded.
Exemplo var myVars = new LoadVars(); myVars.name = Gary; myVars.age = 26; trace (myVars.toString()); //would output //nome=Beto&idade=26

478

Captulo 12: Dicionrio do ActionScript

Classe LocalConnection
Disponibilidade

Flash Player 6.
Descrio

A classe LocalConnection permite que voc desenvolva arquivos SWF que possam enviar instrues uns aos 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 dentro de um nico SWF, mas esta no uma implementao padro; todos os exemplos desta seo ilustram a comunicao entre diferentes SWFs. Os mtodos bsicos usados para enviar e receber dados so LocalConnection.send() e No modo mais bsico, o cdigo implementar os seguintes comandos. Observe que tanto o comando LocalConnection.send() quanto o LocalConnection.connect() especificam o mesmo nome de conexo, lc_name:
LocalConnection.connect(). // Cdigo no filme receptor receiving_lc = new LocalConnection(); receiving_lc.metodoAExecutar = function(param1, param2) { // Cdigo a executar } receiving_lc.connect("lc_name"); // Cdigo no filme emissor sending_lc = new LocalConnection(); sending_lc.send("lc_name", "metodoAExecutar", dado1, dado2)

A maneira mais simples de usar um objeto LocalConnection permitir a comunicao somente entre objetos LocalConnection localizados no mesmo domnio, pois voc no ter que cuidar de questes relativas segurana. Entretanto, se precisar permitir a comunicao entre domnios, voc ter vrias maneiras de implementar medidas de segurana. Para obter mais informaes, consulte a descrio do parmetro connectionName em LocalConnection.send(), alm das entradas LocalConnection.allowDomain e LocalConnection.domain(). Resumo de 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 subdomnio do local do arquivo SWF atual. Invoca um mtodo de um objeto LocalConnection especfico.

LocalConnection.domain()

LocalConnection.send()

Classe LocalConnection

479

Resumo de manipuladores de eventos da classe LocalConnection


Identificador de eventos
LocalConnection.allowDomain

Descrio Invocado sempre que o objeto LocalConnection (receptor) atual recebe uma solicitao para invocar um mtodo de um objeto LocalConnection emissor. Invocado depois que um objeto LocalConnection emissor tenta enviar um comando para um objeto LocalConnection receptor.

LocalConnection.onStatus

Construtor da classe LocalConnection


Disponibilidade

Flash Player 6.
Uso new LocalConnection() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Construtor; cria um objeto LocalConnection.


Exemplo

O exemplo abaixo mostra como um SWF receptor e emissor cria objetos LocalConnnection. Observe que os dois SWF podem usar o mesmo nome ou nomes diferentes para os respectivos objetos LocalConnection. Neste exemplo, eles usam o mesmo nome my_lc.
// Cdigo do SWF receptor my_lc = new LocalConnection(); my_lc.umMetodo = function() { // Seus comandos vo aqui } my_lc.connect("connectionName"); // Cdigo do SWF emissor my_lc = new LocalConnection(); my_lc.send("connectionName", "umMetodo"); Consulte tambm LocalConnection.connect(), LocalConnection.send()

480

Captulo 12: Dicionrio do ActionScript

LocalConnection.allowDomain
Disponibilidade

Flash Player 6.
Uso receiving_lc.allowDomain = function([sendingDomain]) { // Seus comandos, que retornam true ou false } Parmetros sendingDomain

Parmetro opcional que especifica o subdomnio do arquivo SWF que contm o objeto LocalConnection emissor. Nada.

Retorna

Descrio

Manipulador de eventos; invocado sempre que receiving_lc recebe uma solicitao para invocar um mtodo de um objeto LocalConnection emissor. O Flash espera de que o cdigo que voc implementar 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 invocado. Use este comando para permitir explicitamente que objetos LocalConnection dos domnios especificados ou de qualquer domnio executem mtodos do objeto LocalConnection receptor. Se no passar um valor para o parmetro sendingDomain, assume-se que voc deseja aceitar comandos de qualquer domnio. Neste caso, o cdigo do seu manipulador ser simplesmente return true. Caso passe um valor para sendingDomain, seu cdigo dever comparar o valor de sendingDomain com os domnios dos quais deseja a aceitar comandos. Essas duas implementaes so ilustradas nos seguintes exemplos.
Exemplo

O exemplo abaixo mostra como um objeto LocalConnection de um SWF receptor pode permitir que SWFs de qualquer domnio invoquem seus mtodos. Compare com o exemplo em LocalConnection.connect(), no qual somente SWFs do mesmo domnio podem invocar o mtodo Trace no SWF receptor. Para obter uma descrio do uso do sublinhado (_) no nome da conexo, consulte LocalConnection.send().
var aLocalConnection = new LocalConnection(); aLocalConnection.Trace = function(aString) { aTextField = aTextField + aString + newline; } aLocalConnection.allowDomain = function() { // Qualquer domnio pode invocar mtodos deste objeto LocalConnection retorna true; } aLocalConnection.connect("_trace");

LocalConnection.allowDomain

481

No exemplo abaixo, o arquivo SWF receptor aceita comandos somente dos SWF localizados em esteDominio.com ou em aqueleDominio.com.
var aLocalConnection = new LocalConnection(); aLocalConnection.Trace = function(aString) { aTextField = aTextField + aString + newline; } aLocalConnection.allowDomain = function(sendingDomain) { return(sendingDomain=="esteDominio.com" || sendingDomain=="aqueleDomnio.com"); } aLocalConnection.connect("_trace"); Consulte tambm LocalConnection.connect(), LocalConnection.domain(), LocalConnection.send()

LocalConnection.allowInsecureDomain()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

LocalConnection.close()
Disponibilidade

Flash Player 6.
Uso receiving_lc.close Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; fecha (desconecta) um objeto LocalConnection. Utilize este comando quando no LocalConnection.connect() quiser mais que o objeto aceite comandos por exemplo, quando quiser utilizar um comando usando o mesmo parmetro connectionName em outro arquivoSWF.
Consulte tambm LocalConnection.connect()

482

Captulo 12: Dicionrio do ActionScript

LocalConnection.connect()
Disponibilidade

Flash Player 6.
Uso receiving_lc.connect(connectionName) Parmetros connectionName Seqncia de caracteres correspondente ao nome da conexo especificada comando LocalConnection.send(), que deve fazer a comunicao com receiving_lc. Retorna

no

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 connectionName. Caso contrrio, o valor ser false.
Descrio

Mtodo; prepara um objeto LocalConnection para receber comandos de um comando LocalConnection.send() (chamado "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 receiving_lc antes de chamar este mtodo, conforme mostrado em todos os exemplos desta seo. Por padro, o Flash Player converte connectionName em um valor no formato "subdomain:connectionName", onde subdomain o subdomnio do arquivo SWF que contm o comando LocalConnection.connect(). Se, por exemplo, o SWF que contm o objeto LocalConnection receptor estiver no endereo www.umDominio.com, o connectionName o resolver com "umDominio.com:connectionName". (Se um SWF for localizado na mquina cliente, o valor atribudo a subdomain 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 estejam no formato "subdomain:connectionName". Deste modo, o Flash torna muito simples a comunicao entre os SWFs localizados no mesmo domnio. Se voc estiver implementando comunicao somente entre arquivos SWF do mesmo domnio, especifique uma seqncia de caracteres para connectionName que no comece com um sublinhado (_) e que no especifique um nome de domnio (por exemplo, "myDomain:connectionName"). Use a mesma seqncia de caracteres no comando LocalConnection.connect(connectionName). Se voc estiver implementando comunicao entre arquivos SWF localizados em domnios diferentes, consulte LocalConnection.send() e LocalConnection.allowDomain, alm da discusso sobre connectionName em LocalConnection.domain().

LocalConnection.connect()

483

Exemplo

O exemplo abaixo mostra como um arquivo SWF em um determinado domnio pode invocar um mtodo chamado Trace em um SWF receptor do mesmo domnio. O SWF receptor funciona como uma janela do SWF emissor onde se apresentam textos atravs de aes trace. Ele contm dois mtodos que podem ser chamados por outros SWF Trace e Clear. Pressionar botes nos SWF emissores chama esses mtodos com os parmetros especificados.
// SWF receptor var aLocalConnection = new LocalConnection(); aLocalConnection.Trace = function(aString) { aTextField = aTextField + aString + newline; } aLocalConnection.Clear = function() { aTextField = ""; } aLocalConnection.connect("trace"); stop();

O SWF1 contm o seguinte cdigo anexado a um boto com o rtulo Pressione. Ao pressionar o boto, voc ver a frase "O boto foi pressionado" no 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 myText e o seguinte cdigo anexado a um boto com o rtulo Copy (Copiar). Ao digitar algum texto e pressionar o boto, voc ver o texto que digitou no SWF receptor.
on (press) { _parent.lc.send("trace", "Trace", _parent.myText); _parent.myText = ""; }

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 SWF receptor.
on (press) { var lc = new LocalConnection(); lc.send("trace", "Clear"); delete lc; } Consulte tambm LocalConnection.send()

484

Captulo 12: Dicionrio do ActionScript

LocalConnection.domain()
Disponibilidade

Flash Player 6.
Uso my_lc.domain() Parmetros

Nenhum.
Retorna

Uma seqncia de caracteres que representa o subdomnio do local do atual arquivo SWF.
Descrio

Mtodo; retorna uma seqncia de caracteres que representa o subdomnio do local do arquivo SWF atual. Se, por exemplo, o SWF estiver localizado no endereo www.macromedia.com, este comando retorna "macromedia.com". Se o SWF atual for um arquivo local residente na mquina cliente, este comando retornar "localhost". A maneira mais comum de usar este comando incluindo o nome de domnio do objeto LocalConnection emissor como um parmetro para o mtodo que voc planeja invocar no objeto LocalConnection receptor, ou em conjunto com LocalConnection.allowDomain para aceitar comandos de um 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 abaixo, o SWF receptor somente aceita comandos de outros SWF localizados no mesmo domnio ou no macromedia.com.
my_lc = new LocalConnection(); my_lc.allowDomain = function(sendingDomain) { return (sendingDomain==this.domain() || sendingDomain=="macromedia.com"); }

Neste exemplo, um SWF localizado em seudominio.com invoca um mtodo em um SWF receptor localizado em meudominio.com. O SWF emissor inclui seu nome de domnio como um parmetro para o mtodo que invoca, assim o SWF receptor pode retornar um valor de resposta para um objeto LocalConnection no domnio correto. O SWF emissor tambm especifica que aceitar comandos somente dos SWF em meudominio.com. Os nmeros de linhas so includos para fins de referncia. A seqncia de eventos a seguinte:

O SWF receptor prepara-se para receber comandos em uma conexo chamada "sum"
(linha 11). O Flash Player resolve o nome desta conexo como "meudominio.com:sum" (consulte LocalConnection.connect()). O SWF emissor prepara-se para receber uma resposta no objeto LocalConnection chamado "result" (linha 58). E tambm especifica que aceitar comandos somente de SWF do meudominio.com (linhas 51 a 53).

LocalConnection.domain()

485

O SWF invoca o mtodo aSum de uma conexo chamada "meudominio.com:sum" (linha 59) e
passa os seguintes parmetros: seu domnio (lc.domain()), o nome da conexo para recebimento da resposta ("result") e os valores que devem ser usados por aSum (123 e 456). O mtodo aSum (linha 6) invocado com os seguintes valores: sender="meudominio.com:result", replyMethod="aResult", n1=123, and n2=456. Portanto, ele executa a seguinte linha de cdigo:
this.send("meudominio.com:result", "aResult", (123 + 456));

O mtodo aResult (linha 54) exibe o valor retornado por aSum (579).
// O SWF receptor em http://www.meudominio.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("sum");

// O SWF emissor em http://www.seudominio.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 meudominio.com return (aDomain == "meudominio.com"); } lc.aResult = function(aParam) { trace("A soma " + aParam); } lc.connect("result"); lc.send("meudominio.com:sum", "aSum", lc.domain() + ':' + "result", "aResult", 123, 456);

Consulte tambm LocalConnection.allowDomain

486

Captulo 12: Dicionrio do ActionScript

LocalConnection.onStatus
Disponibilidade

Flash Player 6.
Uso sending_lc.onStatus = function(infoObject) { // seus comandos vo aqui } Parmetros infoObject

Um parmetro definido de acordo com a mensagem de status. Para obter informaes sobre este parmetro, veja a descrio abaixo.

Retorna

Nada.
Descrio

Manipulador de eventos; invocado 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 informaes retornado por este manipulador apresentar o valor "status", o Flash ter tido sucesso no envio do comando para um objeto LocalConnection receptor. Isto no significa que o Flash invocou 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 invocado se o objeto LocalConnection receptor no permitir conexes do domnio emissor ou se no for um mtodo existente. A nica maneira de saber com certeza se o mtodo foi invocado fazendo com que o objeto receptor envie uma resposta ao objeto emissor. Se a propriedade level do objeto de informaes retornado por este identificador 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 sending_lc.send() que invocou este manipulador. Na maioria dos casos, voc implementar este manipulador somente para responder s condies de erro, conforme mostrado no exemplo abaixo.
Exemplo

Este exemplo exibe informaes em uma janela de controle sobre uma conexo interrompida.
sending_lc = new LocalConnection(); sending_lc.onStatus = function(infoObject) { if (infoObject.level == "error") { trace("No foi possvel conectar."); } } sending_lc.send("receiving_lc", "methodName");

LocalConnection.onStatus

487

Consulte tambm LocalConnection.send()

LocalConnection.send()
Disponibilidade

Flash Player 6.
Uso sending_lc.send (connectionName, method [, p1,...,pN]) Parmetros connectionName Seqncia de caracteres que corresponde ao nome de conexo especificado no comando LocalConnection.connect() que precisa se comunicar com sending_lc. method Seqncia de caracteres que especifica o nome do mtodo a ser invocado no objeto LocalConnection receptor. Os nomes dos seguintes mtodos levam 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 retorno do valor 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; invoca o mtodo chamado method em uma conexo aberta com o comando LocalConnection.connect(connectionName) (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 a quantidade de dados que pode ser passada como parmetro para este comando. Se o comando retornar false, mas a sintaxe estiver correta, tente dividir as solicitaes LocalConnection.send() em vrios comandos. Conforme discutido na entrada LocalConnection.connect(), como padro, o Flash adiciona o atual subdomnio a connectionName. Se estiver implementando comunicao entre domnios diferentes, voc precisar definir o connectionName nos dois objetos LocalConnection emissor e receptor, de tal maneira que o Flash no adicione o atual subdomnio ao connectionName. H duas maneiras de fazer isso:

Use um sublinhado (_) no incio do connectionName dos objetos LocalConnection emissor e


LocalConnection.allowDomain

receptor. No arquivo SWF que contm o objeto receptor, use para especificar que as conexes de qualquer domnio sero aceitas. Esta implementao permite que voc armazene os SWF emissor e receptor em qualquer domnio.

488

Captulo 12: Dicionrio do ActionScript

Inclua o subdomnio do connectionName no objeto LocalConnection emissor. Por exemplo,


meudominio:myConnectionName.

No objeto receptor, use LocalConnection.allowDomain para indicar que as conexes do domnio especificado sero aceitas (neste caso, meudominio.com) ou que as conexes de qualquer domnio sero aceitas.

Observao: Voc no pode especificar um subdomnio do connectionName no objeto LocalConnection receptor, 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 seqncia de caracteres especfica)


Disponibilidade

Flash Player 4. Este operador foi substitudo no Flash 5 pelo novo operador < (menor que).
Uso expression1 lt expression2 Parmetros expression1, expression2 Descrio

Nmeros, seqncias de caracteres ou variveis

Operador (comparao); compara a expression1 com a expression2 e retorna true se expression1 for menor do que expression2; caso contrrio, retorna false.
Consulte tambm < (menor que)

lt (menor que seqncia de caracteres especfica)

489

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.method(parameter) ou Math.constant. 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 de 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.

490

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 de 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()

491

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.

492

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.

Retorna

Um nmero.
Descrio

Mtodo; calcula e retorna o arco tangente do nmero especificado no parmetro x. O valor retornado est entre o pi negativo dividido por 2 e o pi positivo dividido por 2.

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 x y

Um nmero que especifica a coordenada x do ponto. Um nmero que especifica a coordenada y do ponto.

Retorna

Um nmero.
Descrio

Mtodo; calcula e retorna o arco tangente de y/x em radianos. O valor retornado representa o ngulo referente ao cateto oposto de um tringulo retngulo, onde x o cateto adjacente e y o cateto oposto.

Math.atan2()

493

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 as propriedades da classe Math so emulados atravs de 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.

494

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()

495

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.

496

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 log e2, 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 log e10, com um valor aproximado de 2,3025850929940459011.

Math.LN10

497

Math.LOG2E
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e as propriedades da classe Math so emulados atravs de 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; 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 para o logaritmo de base 10 da constante e (Math.E), expressa como log 10e, com um valor aproximado de 0,43429448190325181667.

498

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()

499

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.

500

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()

501

Math.sin()
Disponibilidade

Flash Player 5. No Flash Player 4, os mtodos e as propriedades da classe Math so emulados atravs de 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 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.

502

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.
Descrio

Constante; uma constante matemtica para a raiz quadrada de 2, com um valor aproximado de 1,414213562373.

Math.SQRT2

503

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 de Classe Math.

maxscroll
Disponibilidade

Flash Player 4. Esta funo foi substituda pela propriedade TextField.maxscroll.


Uso variable_name.maxscroll Descrio

Propriedade (somente leitura); uma propriedade reprovada 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

504

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 por 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

505

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()

506

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 de 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 de propriedades da classe Microphone


Propriedade (somente 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 atual dispositivo 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

507

Propriedade (somente leitura)


Microphone.silenceLevel() Microphone.silenceTimeout()

Descrio A intensidade de som necessria para ativar o microfone. A quantidade 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 de manipuladores de eventos da classe Microphone


Identificador de eventos
Microphone.onActivity

Descrio Invocado quando o microfone inicia ou pra de detectar som. Invocado 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 activeMicrophone.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, myMic.activityLevel.
var level = myMic.activityLevel; Consulte tambm Microphone.setGain()

508

Captulo 12: Dicionrio do ActionScript

Microphone.gain
Disponibilidade

Flash Player 6.
Uso activeMicrophone.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 carregado, o Flash verifica o valor myMic.gain e fornece 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.myMic.gain == undefined) { _root.myMic.setGain = 75; } this._x = _root.myMic.gain; _root.txt_micgain = this._x; left = this._x; right = left+50; top = this._y; bottom = top; } on(press){ startDrag(this, false, left, top, right, bottom); this._xscale = 100; this._yscale = 100; } on (release, releaseOutside) { stopDrag(); g = (this._x-50)*2; _root.myMic.setGain(g); _root.txt_micgain = g; this._xscale = 100; this._yscale = 100; } Consulte tambm Microphone.setGain()

Microphone.gain

509

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 sintaxe como active_mic=Microphone.get(). Parmetros ndice

Um inteiro maior ou igual a zero, opcional, que especifica qual microfone usar, de acordo com o array contido em Microphone.names. Para utilizar o microfone padro (que recomendado na maioria dos aplicativos), omita este 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 qualquer 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 de 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 casos raros. Por exemplo, se seu 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 escolher 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.)

510

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 um domnio em particular clicando com o boto direito do mouse (no Windows) ou pressionando Control e clicando com o mouse (no Macintosh) enquanto um SWF estiver sendo executado, escolhendo Settings (Configuraes), abrindo o painel Privacy (Privacidade) e selecionando Remember (Lembre-se).

Se Microphone.get() retornar null, o microfone estar em uso por outro aplicativo ou no h microfones instalados no sistema. Para descobrir se h microfones esto instalados, use Microphones.names.length. Para exibir o painel Flash Player Microphone Settings (Configuraes de microfone do Flash Player), que permite ao usurio escolher qual microfone Microphone.get() faz referncia, use System.showSettings(2).

Exemplo

O exemplo abaixo permite ao usurio especificar o microfone padro, depois 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); myMic = Microphone.get(); _root.attachAudio(myMic); Consulte tambm Microphone.index, Microphone.muted, Microphone.names, Microphone.onStatus, MovieClip.attachAudio()

Microphone.get()

511

Microphone.index
Disponibilidade

Flash Player 6.
Uso activeMicrophone.ndice Descrio

Propriedade somente de leitura; um inteiro maior ou igual a zero que especifica o ndice do microfone, de acordo com o array retornado de Microphone.names.
Consulte tambm Microphone.get(), Microphone.names

Microphone.muted
Disponibilidade

Flash Player 6.
Uso activeMicrophone.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 este valor, Microphone.onStatus invocado. Para obter mais informaes, consulte Microphone.get().
Exemplo

No exemplo abaixo, quando o usurio clica no boto, o Flash publica e reproduz um fluxo ao vivo, se o microfone no estiver mudo.
on (press) { // Se o usurio colocar o microfone em mudo, exiba a informao de desconectado. // Seno, publique e reproduza um fluxo ao vivo a partir do microfone. if(myMic.muted) { _root.debugWindow+="Microfone desconectado." + newline; } else { // Publique 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

512

Captulo 12: Dicionrio do ActionScript

Microphone.name
Disponibilidade

Flash Player 6.
Uso activeMicrophone.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).


myMic = Microphone.get(); trace("O nome do microfone : " + myMic.name); Consulte tambm Microphone.get(), Microphone.names

Microphone.name

513

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 activeMicrophone.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 Flash Player Privacy Settings (Configuraes particulares do Flash Player). Este array comporta-se da mesma forma que qualquer outro array do ActionScript, fornecendo, implicitamente, o ndice comeando em 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.


allMicNames_array = Microphone.names; _root.debugWindow += "Microphone.names localizou estes dispositivos:" + newline; for(i=0; i < allMicNames_array.length; i++){ debugWindow += "[" + i + "]: " + allMicNames[i] + newline; }

Por exemplo, pode ser exibida a seguinte informao:


Microphone.names localizou estes dispositivos: [0]: Crystal SoundFusion(tm) [1]: USB Audio Device Consulte tambm

Classe Array, Microphone.name

514

Captulo 12: Dicionrio do ActionScript

Microphone.onActivity
Disponibilidade

Flash Player 6.
Uso activeMicrophone.onActivity = function(atividade) { // seus comandos vo 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; invocado 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 do som necessrio para invocar Microphone.onActivity(true) e o tempo que deve decorrer sem som antes que Microphone.onActivity(false) seja invocado, 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

515

Microphone.onStatus
Disponibilidade

Flash Player 6.
Uso activeMicrophone.onStatus = function(infoObject) { // seus comandos vo aqui } Parmetros infoObject Retorna

Um parmetro definido de acordo com a mensagem de status.

Nada.
Descrio

Manipulador de eventos; invocado 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 acesso, a propriedade Microphone.muted ser definida como false e


esse manipulador de eventos ser invocado com um objeto de informao cuja propriedade Microphone.Unmuted. Se o usurio proibir o acesso, a propriedade Microphone.muted ser definida como true e esse manipulador de eventos ser invocado com um objeto de informao cuja propriedade code Microphone.Muted.
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 decidir permitir ou proibir permanentemente o acesso a todos os SWFs a partir de um domnio especfico, este mtodo no ser invocado para os SWFs daquele domnio, a no ser que o usurio posteriormente altere a configurao de privacidade. Para obter mais informaes, consulte Microphone.get(). Exemplo

Consulte o exemplo de Camera.onStatus.


Consulte tambm Microphone.get(), Microphone.muted

516

Captulo 12: Dicionrio do ActionScript

Microphone.rate
Disponibilidade

Flash Player 6.
Uso activeMicrophone.rate Descrio

Propriedade somente de leitura; a taxa na qual o microfone est capturando som, em kHz. O valor padro de 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. Para definir este valor, use Microphone.setRate().
Exemplo

O exemplo abaixo salva a taxa atual na varivel original.


original = myMic.rate; Consulte tambm Microphone.setRate()

Microphone.rate

517

Microphone.setGain()
Disponibilidade

Flash Player 6.
Uso activeMicrophone.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 Flash Player 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 myMic = Microphone.get(); if (myMic.gain > 55){ myMic.setGain(55); } Consulte tambm Microphone.gain, Microphone.setUseEchoSuppression()

518

Captulo 12: Dicionrio do ActionScript

Microphone.setRate()
Disponibilidade

Flash Player 6.
Uso activeMicrophone.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 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 userRate), 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.
myMic.setRate(userRate); Consulte tambm Microphone.rate

Microphone.setRate()

519

Microphone.setSilenceLevel()
Disponibilidade

Flash Player 6.
Uso activeMicrophone.setSilenceLevel(nvel [, timeout]) Parmetros nvel Um inteiro que especifica o nvel do som necessrio para ativar o microfone e invocar 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 invocar Microphone.onActivity(false). O valor padro 2000 (2 segundos).
timeout 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 um valor de 100 para nvel; assim
Microphone.onActivity

nunca ser invocado.

Para descobrir o nvel de som que o microfone est detectando num 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. Este mtodo semelhante, na sua finalidade, a Camera.setMotionLevel(). Ambos so usados para especificar quando o manipulador de eventos onActivity deve ser invocado. Entretanto, esses mtodos possuem um 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()

520

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()

521

Microphone.setUseEchoSuppression()
Disponibilidade

Flash Player 6.
Uso activeMicrophone.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 no painel Flash Player Microphone Settings. 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. Isto 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 aos usurios especificar o dispositivo de sada de som, talvez seja conveniente chamar Microphone.setUseEchoSuppression(true), caso indiquem que esto usando altofalantes e tambm usaro o microfone. Os usurios tambm podem ajustar essas configuraes no painel Flash Player Microphone Settings (Configuraes de microfone do Flash Player).
Exemplo

O exemplo abaixo ativa a supresso de eco.


_root.myMic.setUseEchoSuppression(true); Consulte tambm Microphone.setGain(), Microphone.useEchoSuppression()

522

Captulo 12: Dicionrio do ActionScript

Microphone.silenceLevel()
Disponibilidade

Flash Player 6.
Uso activeMicrophone.silenceLevel Descrio

Propriedade somente de leitura; um inteiro que especifica o nvel do som necessrio para ativar o microfone e invocar 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 activeMicrophone.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) invocado. O valor padro 2000 (2 segundos). Para definir este valor, use Microphone.setSilenceLevel().
Exemplo

O exemplo abaixo define o intervalo para duas vezes o valor atual.


myMic.setSilenceLevel(myMic.silenceLevel, myMic.silenceTimeOut * 2); Consulte tambm Microphone.setSilenceLevel()

Microphone.silenceTimeout()

523

Microphone.useEchoSuppression()
Disponibilidade

Flash Player 6.
Uso activeMicrophone.useEchoSuppression Descrio

Propriedade somente de leitura; um valor booleano true se a supresso de eco for ativada e false caso no seja. O valor padro false, a menos que o usurio tenha selecionado Reduce Echo no painel Flash Player Microphone Settings.
Exemplo

O exemplo abaixo verifica a supresso de eco e a ativa se estiver desativada.


_root.myMic.onActivity = function(active) { if (active == true) { if (_root.myMic.useEchoSuppression == false) { _root.myMic.setUseEchoSuppression(true); } } } Consulte tambm Microphone.setUseEchoSuppression()

MMExecute()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

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 a seo correspondente Criando um ponteiro de mouse personalizado na pgina 90).

524

Captulo 12: Dicionrio do ActionScript

Resumo de 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 de 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.

Mouse.addListener()
Disponibilidade

Flash Player 6.
Uso Mouse.addListener (newListener) Parmetros newListener Retorna

Um objeto.

Nada.
Descrio

Mtodo; registra um objeto para receber notificaes dos manipuladores de retorno de chamada onMouseDown, onMouseMove e onMouseUp. O parmetro newListener 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 invocado. Vrios objetos podem ouvir notificaes de mouse. Se o ouvinte newListener j estiver registrado, nenhuma alterao ocorrer.
Consulte tambm Mouse.onMouseDown, Mouse.onMouseMove, Mouse.onMouseUp

Mouse.addListener()

525

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 (Linha de tempo) principal.
onClipEvent(enterFrame){ Mouse.hide(); customPointer_mc._x = _root._xmouse; customPointer_mc._y = _root._ymouse; } Consulte tambm Mouse.show(), MovieClip._xmouse, MovieClip._ymouse

526

Captulo 12: Dicionrio do ActionScript

Mouse.onMouseDown
Disponibilidade

Flash Player 6.
Uso someListener.onMouseDown 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:
someListener = new Object(); someListener.onMouseDown = function () { ... }; Mouse.addListener(someListener);

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

527

Mouse.onMouseMove
Disponibilidade

Flash Player 6.
Uso someListener.onMouseMove 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:
someListener = new Object(); someListener.onMouseMove = function () { ... }; Mouse.addListener(someListener);

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
Disponibilidade

Flash Player 6.
Uso someListener.onMouseUp 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:
someListener = new Object(); someListener.onMouseUp = function () { ... }; Mouse.addListener(someListener);

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()

528

Captulo 12: Dicionrio do ActionScript

Mouse.onMouseWheel
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7 (somente Windows).


Uso someListener.onMouseWheel = function (delta) {} Parmetros delta Um nmero que indica quantas linhas devem ser roladas para cada ponto rolado na roda o mouse pelo usurio . Essa uma configurao no nvel do sistema, que pode ser modificada pelo usurio.

Um valor delta positivo indica uma rolagem para cima ou para a direita; um valor negativo indica uma rolagem para baixo ou para a esquerda. Os valores geralmente vo de 1 a 3, enquanto uma rolagem mais rpida pode resultar em valores maiores (absolutos).
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.
mouseListener = new Object(); mouseListener.onMouseWheel = function(delta) { box._x += delta; } Mouse.addListener(mouseListener); Consulte tambm Mouse.addListener(), TextField.mouseWheelEnabled

Mouse.onMouseWheel

529

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

530

Captulo 12: Dicionrio do ActionScript

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 Aes do painel Aes. 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:
my_mc.play(); my_mc.gotoAndPlay(3);

Resumo de 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 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 Recupera um documento de um URL. Converte o objeto Ponto das coordenadas do Palco nas coordenadas locais do clipe de filme especificado. Envia a reproduo para um quadro especfico no clipe de filme e reproduz o arquivo SWF.

MovieClip.getBytesLoaded()

MovieClip.getBytesTotal() MovieClip.getDepth() MovieClip.getInstanceAtDepth()

MovieClip.getNextHighestDepth()

MovieClip.getSWFVersion()

MovieClip.getURL() MovieClip.globalToLocal()

MovieClip.gotoAndPlay()

Classe MovieClip

531

Mtodo
MovieClip.gotoAndStop()

Descrio Envia a reproduo para um quadro especfico no clipe de filme e interrompe o arquivo SWF. Retorna true se h 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 o arraste de 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.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()

Resumo de mtodos de desenho da classe MovieClip


Mtodo
MovieClip.beginFill() MovieClip.beginGradientFill()

Descrio Comea a desenhar um preenchimento no Palco. Comea a desenhar um preenchimento de gradiente no Palco. 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().

MovieClip.clear()

MovieClip.curveTo() MovieClip.endFill()

MovieClip.lineStyle()

532

Captulo 12: Dicionrio do ActionScript

Mtodo
MovieClip.lineTo() MovieClip.moveTo()

Descrio Desenha uma linha utilizando o estilo de linha atual. Move a posio do desenho especificado para determinadas coordenadas.

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 de 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 a rea de clicagem de um clipe de filme de boto. Define a qualidade de renderizao de arquivos SWF. Associa o objeto ContextMenu especificado com 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. 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 automtica de guias. Indica se um clipe de filme includo na ordenao de guias. Indica a ordem de guias 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.

MovieClip._droptarget

MovieClip.enabled MovieClip.focusEnabled MovieClip._focusrect

MovieClip._framesloaded

MovieClip._height MovieClip.hitArea

MovieClip._highquality MovieClip.menu

MovieClip._name MovieClip._parent MovieClip._rotation MovieClip._soundbuftime

MovieClip.tabChildren

MovieClip.tabEnabled MovieClip.tabIndex MovieClip._target MovieClip._totalframes MovieClip.trackAsMenu

Classe MovieClip

533

Propriedade
MovieClip._url

Descrio O URL do arquivo SWF a partir do qual um clipe de filme foi descarregado. Determina se a mo exibida quando um usurio rola o cursor do mouse sobre um clipe de filme de 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.useHandCursor

MovieClip._visible

MovieClip._width MovieClip._x MovieClip._xmouse

MovieClip._xscale

MovieClip._y MovieClip._ymouse

MovieClip._yscale

Resumo de manipuladores de evento da classe MovieClip


Identificador de eventos
MovieClip.onData

Descrio Chamada quando todos os dados so carregados em um clipe de filme. Chamada enquanto o ponteiro est fora do boto, o boto do mouse pressionado no interior e rola para fora da rea do boto. Chamada 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. Chamada 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. Chamada quando uma tecla pressionada. Use os mtodos Key.getCode() e Key.getAscii() para recuperar informaes sobre a ltima tecla pressionada. Chamada quando uma tecla liberada. Chamada quando o foco removido de um boto. Chamada quando o clipe de filme criado e aparece na Timeline (Linha de tempo). Chamada quando o boto esquerdo do mouse pressionado.

MovieClip.onDragOut

MovieClip.onDragOver

MovieClip.onEnterFrame

MovieClip.onKeyDown

MovieClip.onKeyUp MovieClip.onKillFocus MovieClip.onLoad

MovieClip.onMouseDown

534

Captulo 12: Dicionrio do ActionScript

Identificador de eventos
MovieClip.onMouseMove MovieClip.onMouseUp MovieClip.onPress

Descrio Chamada sempre que o mouse movido. Chamada quando o boto esquerdo do mouse liberado. Chamada quando o mouse pressionado enquanto o ponteiro est sobre um boto. Chamada quando o mouse liberado enquanto o ponteiro est sobre um boto. Chamada quando o mouse liberado enquanto o ponteiro est fora de um boto, depois que o boto pressionado enquanto o ponteiro est dentro do boto. Chamada quando o ponteiro rola para fora da rea de um boto. Chamada quando o ponteiro do mouse rola sobre um boto. Chamada quando um boto tem o foco de entrada e uma tecla liberada. Chamada no primeiro quadro depois que o clipe de filme removido da Linha de tempo. As aes associadas ao evento do clipe de filme Unload so processadas antes que as aes sejam anexadas ao quadro atingido.

MovieClip.onRelease

MovieClip.onReleaseOutside

MovieClip.onRollOut

MovieClip.onRollOver MovieClip.onSetFocus

MovieClip.onUnload

MovieClip._alpha
Disponibilidade

Flash Player 4.
Uso my_mc._alpha Descrio

Propriedade; o valor de transparncia alfa do clipe de filme especificado por my_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

535

MovieClip.attachAudio()
Disponibilidade

Flash Player 6.
Uso my_mc.attachAudio(fonte) Parmetros fonte

O objeto que contm o udio a ser reproduzido. Os valores vlidos so um objeto Microphone e false (faz parar a execuo do udio). Nada.

Retorna

Descrio

Mtodo; especifica a origem do udio a ser reproduzido localmente (objeto Microphone). Para interromper a reproduo da origem de udio, passe fonte para false. Para reproduzir o udio local, passe o objeto Microphone como fonte. Isso captura e reproduz o udio local do microfone.
Exemplo

O cdigo a seguir associa um microfone a um clipe de filme.


my_mic = Microphone.get(); this.attachAudio(my_mic); Consulte tambm

Classe Microphone, Classe Sound

536

Captulo 12: Dicionrio do ActionScript

MovieClip.attachMovie()
Disponibilidade

Flash Player 5.
Uso my_mc.attachMovie(idName, newName, depth [, initObject]) Parmetros idName

O nome de vinculao do smbolo do clipe de filme na biblioteca a ser anexada a um clipe de filme no Stage. o nome inserido no campo Identifier (Identificador) na caixa de dilogo Linkage Properties (Propriedades de vinculao).
newname

Um nome de instncia nico para o clipe de filme que est sendo anexado ao clipe Um inteiro que especifica o nvel de profundidade em que o arquivo SWF colocado.

de filme.
depth initObject

(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 initObject no for um objeto, ele ser ignorado. Todas as propriedades de initObject so copiadas na nova instncia. As propriedades especificadas com initObject 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 my_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 circulo instncia de clipe de filme localizada no Stage (Palco) do arquivo SWF.
on (release) { thing.attachMovie( "crculo", "crculo1", 2 ); } Consulte tambm MovieClip.removeMovieClip(), MovieClip.unloadMovie(), Object.registerClass(), removeMovieClip()

MovieClip.attachMovie()

537

MovieClip.beginFill()
Disponibilidade

Flash Player 6.
Uso my_mc.beginFill([rgb[, alpha]]) 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 opo100 (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 atual do desenho 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 o mtodo endFill() chamado. Se atualmente no h nenhum preenchimento associado ao caminho, endFill() deve ser chamado para aplicar o preenchimento.
Consulte tambm MovieClip.beginGradientFill(), MovieClip.endFill()

538

Captulo 12: Dicionrio do ActionScript

MovieClip.beginGradientFill()
Disponibilidade

Flash Player 6.
Uso my_mc.beginGradientFill(fillType, colors, alphas, ratios, matrix) Parmetro fillType

A seqncia de caracteres "linear" ou "radial".

cores Uma matriz de valores de cores hexadecimais RGB a ser utilizada no gradiente (por exemplo, vermelho corresponde a 0xFF0000, azul a 0x0000FF e assim por diante). alphas Array de valores alfa com as cores correspondentes do array colors; 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. ratios Array com as taxas de distribuio de cor; os valores vlidos vo de 0 a 255. Esse valor define a porcentagem da largura em que a cor amostrada a 100 por cento. matrix Uma matriz de transformao que um objeto com um destes dois conjuntos de propriedades:

a, b, c, d, e, f, g, h, i, que pode ser usado 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 parmetro matrix que um objeto com essas propriedades.
_root.createEmptyMovieClip( "grad", 1 ); with ( _root.grad ) { colors = [ 0xFF0000, 0x0000FF ]; alphas = [ 100, 100 ]; ratios = [ 0, 0xFF ]; matrix = { 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()

539

Se no houver uma 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 parmetro matrix que um objeto com essas propriedades.
_root.createEmptyMovieClip( "grad", 1 ); with ( _root.grad ) { colors = [ 0xFF0000, 0x0000FF ]; alphas = [ 100, 100 ]; ratios = [ 0, 0xFF ]; matrix = { 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(); }

540

Captulo 12: Dicionrio do ActionScript

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.

Retorna

Nada.
Descrio

Mtodo; indica o incio de um novo caminho de desenho. Se o primeiro parmetro estiver indefinido, ou se nenhum parmetro tiver sido passado, o caminho no ter preenchimento. Se houver um caminho aberto, isto , se a posio atual do desenho 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 igual. O parmetro fillType no linear ou radial. Um dos campos no objeto para o parmetro matrix est ausente ou invlido.

MovieClip.beginGradientFill()

541

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 ) { colors = [ 0xFF0000, 0x0000FF ]; alphas = [ 100, 100 ]; ratios = [ 0, 0xFF ]; lineStyle( 5, 0x00ff00 ); matrix = { a:500,b:0,c:0,d:0,e:200,f:0,g:350,h:200,i:1}; beginGradientFill( "linear", colors, alphas, ratios, matrix ); moveto(100.100); lineto(100.300); lineto(600.300); lineto(600.100); lineto(100.100); endFill(); matrix = { matrixType:"box", x:100, y:310, w:500, h:200, r:(0/180)*Math.PI }; beginGradientFill( "linear", colors, alphas, ratios, matrix ); moveto(100.310); lineto(100.510); lineto(600.510); lineto(600.310); lineto(100.310); endFill(); }

Consulte tambm MovieClip.beginFill(), MovieClip.endFill(), MovieClip.lineStyle(), MovieClip.lineTo(), MovieClip.moveTo()

542

Captulo 12: Dicionrio do ActionScript

MovieClip.clear()
Disponibilidade

Flash Player 6.
Uso my_mc.clear() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; remove todos os grficos criados durante o tempo de 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()

MovieClip.createEmptyMovieClip()
Disponibilidade

Flash Player 6.
Uso my_mc.createEmptyMovieClip(instanceName, depth) Parmetros instanceName

Uma seqncia de caracteres que identifica o nome da instncia do novo clipe Um inteiro que especifica a profundidade do novo clipe de filme.

de filme.
profundidade Retorna

Nada.
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 um dos parmetros estiver faltando.
Consulte tambm MovieClip.attachMovie()

MovieClip.createEmptyMovieClip()

543

MovieClip.createTextField()
Disponibilidade

Flash Player 6.
Uso my_mc.createTextField(instanceName, depth, x, y, width, height) Parmetros instanceName

Uma seqncia de caracteres que identifica o nome da instncia do novo campo Um inteiro positivo que especifica a profundidade do novo campo de texto.

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 my_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

544

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); mytext.multiline = true; mytext.wordWrap = true; mytext.border = false; myformat = new TextFormat(); myformat.color = 0xff0000; myformat.bullet = false; myformat.underline = true; mytext.text = "este o meu primeiro texto de objeto do campo de teste"; mytext.setTextFormat(myformat); Consulte tambm

Classe TextFormat

MovieClip._currentframe
Disponibilidade

Flash Player 4.
Uso my_mc._currentframe Descrio

Propriedade (somente de leitura); retorna o nmero do quadro no qual a reproduo est localizada na Timeline especificada por my_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);

MovieClip._currentframe

545

MovieClip.curveTo()
Disponibilidade

Flash Player 6.
Uso my_mc.curveTo(controlX, controlY, anchorX, anchorY) Parmetros controlX

Um inteiro que especifica uma posio horizontal relativa ao ponto de registro do clipe de filme pai do ponto de controle. Um inteiro que especifica uma posio vertical relativa ao ponto de registro do clipe de filme pai do ponto de controle.

controlY anchorX anchorY

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 de desenho at (anchorX, anchorY) com o ponto de controle especificado por (controlX, controlY). Em seguida, a posio atual do desenho definida para (anchorX, anchorY). Se o clipe de filme em criao apresentar contedo elaborado com as ferramentas de desenho do Flash, as chamadas para curveTo() sero desenhadas sob esse contedo. Se voc chamar curveTo() antes de fazer qualquer chamada a 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()

546

Captulo 12: Dicionrio do ActionScript

MovieClip._droptarget
Disponibilidade

Flash Player 4.
Uso my_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 my_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 eval() funo para converter o valor retornado da sintaxe de barra em uma referncia de sintaxe de ponto.
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()

MovieClip._droptarget

547

MovieClip.duplicateMovieClip()
Disponibilidade

Flash Player 5.
Uso my_mc.duplicateMovieClip(newname, depth [,initObject]) Parmetros newname

Um identificador exclusivo do clipe de filme duplicado.

depth 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 initObject no for um objeto, ele ser ignorado. Todas as propriedades de initObject so copiadas na nova instncia. As propriedades especificadas com initObject esto disponveis para a funo construtora. Este parmetro opcional.
initObject Retorna

Nada.
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() em seus pais. Se o clipe de filme pai for excludo, o clipe de filme duplicado tambm o ser. Os clipes de filme adicionados com duplicateMovieClip() podem ser excludos com a ao ou o mtodo removeMovieClip().
Consulte tambm duplicateMovieClip(), MovieClip.removeMovieClip(), removeMovieClip()

548

Captulo 12: Dicionrio do ActionScript

MovieClip.enabled
Disponibilidade

Flash Player 6.
Uso my_mc.enabled Descrio

Propriedade; um valor booleano que indica se um clipe de filme de 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 de 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 Linha de tempo do clipe de filme de 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 de boto. possvel alterar a propriedade enabled a qualquer momento; o clipe de filme de boto modificado ativado ou desativado imediatamente. A propriedade enabled pode ser lida a partir de um objeto de prottipo. Se enabled estiver definida como false, o objeto no ser includo na ordenao automtica de guias.

MovieClip.endFill()
Disponibilidade

Flash Player 6.
Uso my_mc.endFill() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; aplica um preenchimento s linhas e curvas adicionadas 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 de desenho atual no for igual posio anterior especificada em um mtodo moveTo() e um preenchimento for definido, o caminho ser fechado com uma linha e preenchido em seguida.

MovieClip.endFill()

549

MovieClip.focusEnabled
Disponibilidade

Flash Player 6.
Uso my_mc.focusEnabled Descrio

Propriedade; se o valor for undefined ou false, um clipe de filme no poder receber o foco de entrada, a menos que o clipe seja um clipe de filme de boto. Se o valor da propriedade focusEnabled for true, um clipe de filme poder receber o foco de entrada mesmo que no seja do tipo de boto.

MovieClip._focusrect
Disponibilidade

Flash Player 6.
Uso my_mc._focusrect Descrio

Propriedade; um valor booleano que especifica se um clipe de filme apresenta um retngulo amarelo ao seu redor quando tem o foco do teclado. Esta propriedade pode prevalecer sobre a propriedade global _focusrect.

550

Captulo 12: Dicionrio do ActionScript

MovieClip._framesloaded
Disponibilidade

Flash Player 4.
Uso my_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 todos os quadros antes dele foram carregados e esto disponveis localmente no navegador. Isso til para monitorar o processo de download de arquivos SWF grandes. Por exemplo, voc pode exibir uma mensagem para os usurios indicando que o SWF est carregando at que um determinado quadro do SWF tenha sido carregado.
Exemplo

O exemplo a seguir utiliza a propriedade _framesloaded para iniciar um SWF quando todos os quadros esto carregados. Se nem todos os quadros estiverem carregados, a propriedade _xscale da instncia do clipe de filme loader ser aumentada proporcionalmente para criar uma barra de progresso.
if (_framesloaded >= _totalframes) { gotoAndPlay ("Scene 1", "start"); else { _root.loader._xscale = (_framesloaded/_totalframes)*100; }

MovieClip._framesloaded

551

MovieClip.getBounds()
Disponibilidade

Flash Player 5.
Uso my_mc.getBounds(targetCoordinateSpace) Parmetros targetCoordinateSpace O caminho de destino da 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 my_mc para o parmetro targetCoordinateSpace.
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 (Palco) em coordenadas locais, respectivamente. Exemplo

No exemplo a seguir, o objeto retornado por getBounds() atribudo ao identificador clipBounds. Em seguida, possvel acessar os valores de cada propriedade e utiliz-los em um script. Outra instncia de clipe de filme, chamada clip2, colocada junto de clip neste script.
clipBounds = clip.getBounds(_root); clip2._x = clipBounds.xMax; Consulte tambm MovieClip.globalToLocal(), MovieClip.localToGlobal()

552

Captulo 12: Dicionrio do ActionScript

MovieClip.getBytesLoaded()
Disponibilidade

Flash Player 5.
Uso my_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 my_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 my_mc.getBytesTotal() Parmetros

Nenhum.
Retorna

Um inteiro que indica o tamanho total, em bytes, de my_mc.


Descrio

Mtodo; retorna o tamanho em bytes do clipe de filme especificado por my_mc. No caso de clipes de filme externos (o 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()

MovieClip.getBytesTotal()

553

MovieClip.getDepth()
Disponibilidade

Flash Player 6.
Uso my_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 128.
Consulte tambm MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth(), MovieClip.swapDepths()

MovieClip.getInstanceAtDepth()
Disponibilidade

Flash Player 7.
Uso my_mc.getInstanceAtDepth(depth) Parmetros depth Retorna

Um inteiro que especifica o nvel de profundidade da consulta.

Uma seqncia de caracteres contendo o nome do clipe de filme localizado na profundidade especificada ou undefined se no houver nenhum clipe de filme naquela profundidade.
Descrio

Mtodo; permite determinar se uma certa profundidade j est ocupada por um clipe de filme. Pode-se usar esse mtodo antes de usar MovieClip.attachMovie(), MovieClip.duplicateMovieClip() ou MovieClip.createEmptyMovieClip() para descobrir se o parmetro depth que voc deseja passar para qualquer desses mtodos j contm um clipe de filme. Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 128.
Consulte tambm MovieClip.getDepth(), MovieClip.getNextHighestDepth(), MovieClip.swapDepths()

554

Captulo 12: Dicionrio do ActionScript

MovieClip.getNextHighestDepth()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Uso my_mc.getNextHighestDepth() Parmetros

Nenhum.
Retorna

Um inteiro que informa o prximo ndice de profundidade disponvel e que levaria renderizao sobre todos os outros objetos em my_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 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 128.
Consulte tambm MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.swapDepths()

MovieClip.getSWFVersion()
Disponibilidade

Flash Player 7.
Uso my_mc.getSWFVersion() Parmetros

Nenhum.
Retorna

Um inteiro que especifica a verso do arquivo SWF carregado no my_mc.


Descrio

Mtodo; retorna um inteiro que indica a verso do Flash Player em que my_mc foi publicado. Se my_mc for um arquivo JPEG ou se ocorrer um erro e o Flash no puder descobrir a verso SWF de my_mc, -1 ser retornado.

MovieClip.getSWFVersion()

555

MovieClip.getTextSnapshot()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

MovieClip.getURL()
Disponibilidade

Flash Player 5.
Uso my_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 variveis, 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()

556

Captulo 12: Dicionrio do ActionScript

MovieClip.globalToLocal()
Disponibilidade

Flash Player 5.
Uso my_mc.globalToLocal(point) Parmetros point

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 do Palco (global) em coordenadas do clipe de filme (local).
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(); point.x = _root._xmouse; point.y = _root._ymouse; globalToLocal(point); trace(_root._xmouse + " " + _root._ymouse); trace(point.x + " " + point.y); updateAfterEvent(); } Consulte tambm MovieClip.getBounds(), MovieClip.localToGlobal()

MovieClip.globalToLocal()

557

MovieClip.gotoAndPlay()
Disponibilidade

Flash Player 5.
Uso my_mc.gotoAndPlay(quadro) Parmetros quadro Retorna

O nmero do quadro para o qual a reproduo enviada.

Nada.
Descrio

Mtodo; comea a reproduzir o arquivo SWF no quadro especificado.


Consulte tambm gotoAndPlay()

MovieClip.gotoAndStop()
Disponibilidade

Flash Player 5.
Uso my_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()

558

Captulo 12: Dicionrio do ActionScript

MovieClip._height
Disponibilidade

Flash Player 4.
Uso my_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 my_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 SWF no contiver animao. Especifique 0 (baixa qualidade) para evitar o recurso sem serrilhado. Esta propriedade pode substituir a propriedade global _highquality.
Exemplo my_mc._highquality = 1; Consulte tambm _quality, toggleHighQuality()

MovieClip._highquality

559

MovieClip.hitArea
Disponibilidade

Flash Player 6.
Uso my_mc.hitArea Retorna

Uma referncia a um clipe de filme.


Descrio

Propriedade; designa outro clipe de filme para atuar como a rea de clicagem de um clipe de filme de boto. Se no houver uma propriedade hitArea ou se ela for null ou undefined, o prprio clipe de filme de boto ser usado como a rea de clicagem. 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 de boto modificado assume imediatamente o comportamento da nova rea de clicagem. O clipe de filme designado como rea de clicagem no precisa ficar visvel; sua forma grfica testada mesmo que esteja invisvel. A propriedade hitArea pode ser lida de um objeto de prottipo.

560

Captulo 12: Dicionrio do ActionScript

MovieClip.hitTest()
Disponibilidade

Flash Player 5.
Uso my_mc.hitTest(x, y, shapeFlag) my_mc.hitTest(target) Parmetros x y

A coordenada x da rea de clicagem no Palco. A coordenada y da rea de clicagem no Palco.

As coordenadas x e y so definidas no espao de coordenadas globais.


target O caminho de destino da rea de clicagem que pode entrar em interseo ou sobreposio com a instncia especificada por my_mc. Normalmente, target representa um boto ou um campo de entrada de texto. shapeFlag 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 de clicagem for identificada com os parmetros de coordenadas x e y. Retorna

Um valor booleano true, se my_mc for sobreposto rea de clicagem especificada, caso contrrio, false.
Descrio

Mtodo; avalia a instncia especificada por my_mc para ver se ela se sobrepe ou entra em interseo com a rea de clicagem identificada por target 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 shapeFlag. Se shapeFlag for definido como true, somente a rea realmente ocupada pela instncia no Palco avaliada e se x e y se sobrepuserem em algum ponto, um valor true retornado. Isso til para determinar se o clipe de filme est dentro de uma rea de clicagem ou de ponto ativo especificada. Uso 2: Avalia as caixas delimitadoras de target e da instncia especificada e retorna true caso elas se sobreponham ou entrem em interseo em algum ponto.

MovieClip.hitTest()

561

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 ball se sobrepe ou entra em interseo com o clipe de filme square:
if(_root.ball.hitTest(_root.square)){ trace("ball intersects square"); } Consulte tambm MovieClip.getBounds(), MovieClip.globalToLocal(), MovieClip.localToGlobal()

MovieClip.lineStyle()
Disponibilidade

Flash Player 6.
Uso my_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).

alfa 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 usar100. 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.

562

Captulo 12: Dicionrio do ActionScript

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.triangle ) { 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()

MovieClip.lineStyle()

563

MovieClip.lineTo()
Disponibilidade

Flash Player 6.
Uso my_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 do desenho no momento 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 o contedo. Se voc chamar lineTo() antes de realizar qualquer chamada ao mtodo moveTo(), o padro da posio atual do desenho 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 ("triangle", 1); with (_root.triangle){ 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()

564

Captulo 12: Dicionrio do ActionScript

MovieClip.loadMovie()
Disponibilidade

Flash Player 5.
Uso my_mc.loadMovie("url" [,variveis]) Parmetros url

Um URL absoluto ou relativo do arquivo SWF ou JPEG a ser carregado. Um caminho relativo deve ser relativo ao arquivo SWF no nvel 0. Para utilizao em um Flash Player independente ou para verificao no modo de teste do aplicativo de criao do Flash, todos os arquivos SWF devem estar armazenados na mesma pasta e os nomes de arquivo no podem incluir especificaes de pasta ou unidade de disco.

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. Sem o mtodo loadMovie(), o Flash Player exibe um nico arquivo SWF e, em seguida, encerrado. O mtodo loadMovie() permite que voc exiba vrios SWFs de uma s vez e alterne entre os SWFs sem carregar outro documento HTML. Um SWF ou uma imagem carregada em um clipe de filme herda as propriedades de posio, rotao e dimensionamento do clipe de filme. Utilize o caminho de destino do clipe de filme para especificar o SWF carregado.
loadMovie().

Use o mtodo unloadMovie() para remover SWFs ou imagens carregadas com o mtodo Use o mtodo loadVariables() para manter o SWF ativo e atualizar as variveis com os novos valores.

Se desejar monitorar o progresso de um arquivo medida que ele carregado, use em vez deste mtodo. Para obter mais informaes, consulte a entrada da Classe MovieClipLoader.
MovieClipLoader.loadClip() Consulte tambm loadMovie(), loadMovieNum(), MovieClip.loadVariables(), MovieClip.unloadMovie(), unloadMovie(), unloadMovieNum()

MovieClip.loadMovie()

565

MovieClip.loadVariables()
Disponibilidade

Flash Player 5.
Uso my_mc.loadVariables("url", variveis) Parmetros url O URL absoluto ou relativo para o arquivo externo que contm as variveis a serem carregadas. O host do URL deve estar no mesmo subdomnio que o clipe de filme. 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 my_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).
Consulte tambm loadMovie(), loadVariables(), loadVariablesNum(), MovieClip.unloadMovie()

566

Captulo 12: Dicionrio do ActionScript

MovieClip.localToGlobal()
Disponibilidade

Flash Player 5.
Uso my_mc.localToGlobal(point) Parmetros point

O nome ou identificador de um objeto criado com a classe Object Classe Object, especificando as coordenadas x e y como propriedades.

Retorna

Nada.
Descrio

Mtodo; converte o objeto Point das coordenadas (locais) do clipe de filme em coordenadas (globais) do Stage (Palco).
Exemplo

O exemplo a seguir converte as coordenadas x e y do objeto point de coordenadas do clipe de filme (locais) em coordenadas globais do Stage (Palco). 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) { point = new object(); point.x = _xmouse; point.y = _ymouse; _root.out3 = point.x + " === " + point.y; _root.out = _root._xmouse + " === " + _root._ymouse; localToGlobal(point); _root.out2 = point.x + " === " + point.y; updateAfterEvent(); } Consulte tambm MovieClip.globalToLocal()

MovieClip.localToGlobal()

567

MovieClip._lockroot
Disponibilidade

Flash Player 7.
Uso my_mc._lockroot Descrio

Propriedade; especifica o que est sendo apontado por _root no momento em que um arquivo SWF foi carregado no clipe de filme. O valor padro da propriedade _lockroot undefined. possvel definir essa propriedade no SWF ou no manipulador que est carregando o clipe de filme. Por exemplo, vamos supor que voc tenha um documento chamado Games.fla, que permite ao usurio escolher um jogo e carrega o jogo (por exemplo, Chess.swf ) no clipe de filme game_mc. Voc gostaria de ter certeza de que, se _root for usado em Chess.swf, ele ainda far referncia a _root de Chess.swf depois de ter sido carregado em Games.swf. Se tiver acesso a Chess.fla e public-lo no Flash Player 7 ou posterior, voc poder adicionar esse comando a ele:
this._lockroot = true;

Se no tiver acesso a Chess.fla (por exemplo, se estiver carregando Chess.swf a partir do site de outra pessoa), voc poder definir a propriedade _lockroot quando carreg-lo, 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");

Caso no tenha usado o comando this._lockroot = true em nenhum dos SWFs, _root de Chess.swf ir se referir a _root do Games.swf depois que Chess.swf tiver sido carregado em Games.swf.
Consulte tambm _root, MovieClip.attachMovie(), MovieClip.loadMovie()

568

Captulo 12: Dicionrio do ActionScript

MovieClip.menu
Disponibilidade Flash Player 7.
Uso my_mc.menu = contextMenu Parmetros contextMenu Descrio

Um objeto ContextMenu.

Propriedade; associa o objeto ContextMenu especificado ao clipe de filme my_mc. A classe ContextMenu permite modificar o menu contextual 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 associado de retorno de chamada 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

MovieClip.menu

569

MovieClip.moveTo()
Disponibilidade

Flash Player 6.
Uso my_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. Um tipo de linha definido no comando with; em seguida, a posio inicial do desenho indicada pelo mtodo moveTo().
_root.createEmptyMovieClip( "tringulo", 1 ); with ( _root.triangle ) { 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 my_mc._name Descrio

Propriedade; retorna o nome da instncia do clipe de filme especificado por my_mc.

570

Captulo 12: Dicionrio do ActionScript

MovieClip.nextFrame()
Disponibilidade

Flash Player 5.
Uso my_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 my_mc.onData = function() { // seus comandos vo 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 invocado 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.

MovieClip.onData

571

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()

572

Captulo 12: Dicionrio do ActionScript

MovieClip.onDragOut
Disponibilidade

Flash Player 6.
Uso my_mc.onDragOut = function() { // seus comandos vo 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).
my_mc.onDragOut = function () { trace ("onDragOut chamado"); }; Consulte tambm MovieClip.onDragOver

MovieClip.onDragOut

573

MovieClip.onDragOver
Disponibilidade

Flash Player 6.
Uso my_mc.onDragOver = function() { // seus comandos vo aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; invocado 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).
my_mc.onDragOver = function () { trace ("onDragOver chamado"); }; Consulte tambm MovieClip.onDragOut

574

Captulo 12: Dicionrio do ActionScript

MovieClip.onEnterFrame
Disponibilidade

Flash Player 6.
Uso my_mc.onEnterFrame = function() { // seus comandos vo 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).
my_mc.onEnterFrame = function () { trace ("onEnterFrame chamado"); };

MovieClip.onEnterFrame

575

MovieClip.onKeyDown
Disponibilidade

Flash Player 6.
Uso my_mc.onKeyDown = function() { // seus comandos vo 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. possvel usar 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 clique de filme tiver 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):
my_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

576

Captulo 12: Dicionrio do ActionScript

MovieClip.onKeyUp
Disponibilidade

Flash Player 6.
Uso my_mc.onKeyUp = function() { // seus comandos vo aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando uma tecla liberada. O manipulador de eventos onKeyUp chamado sem nenhum parmetro. possvel usar 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 tiver 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).
my_mc.onKeyUp = function () { trace ("onKeyUp chamada"); };

O exemplo a seguir define o foco de entrada:


MovieClip.focusEnabled = true; Selection.setFocus(MovieClip);

MovieClip.onKeyUp

577

MovieClip.onKillFocus
Disponibilidade

Flash Player 6.
Uso my_mc.onKillFocus = function (newFocus) { // seus comandos vo aqui } Parmetros newFocus 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, newFocus, que um objeto representando o novo objeto a receber o foco. Se nenhum objeto receber o foco, newFocus conter o valor null.

MovieClip.onLoad
Disponibilidade

Flash Player 6.
Uso my_mc.onLoad = function() { // seus comandos vo aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando o clipe de filme criado e aparece na 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 ao carregar um clipe de filme especfico, 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.

578

Captulo 12: Dicionrio do ActionScript

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 so 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 (Linha de tempo), 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()

MovieClip.onLoad

579

MovieClip.onMouseDown
Disponibilidade

Flash Player 6.
Uso my_mc.onMouseDown = function() { // seus comandos vo 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.
my_mc.onMouseDown = function () { trace ("onMouseDown chamado"); }

580

Captulo 12: Dicionrio do ActionScript

MovieClip.onMouseMove
Disponibilidade

Flash Player 6.
Uso my_mc.onMouseMove = function() { // seus comandos vo 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.
my_mc.onMouseMove = function () { trace ("onMouseMove chamado"); };

MovieClip.onMouseMove

581

MovieClip.onMouseUp
Disponibilidade

Flash Player 6.
Uso my_mc.onMouseUp = function() { // seus comandos vo 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.
my_mc.onMouseUp = function () { trace ("onMouseUp chamado"); };

582

Captulo 12: Dicionrio do ActionScript

MovieClip.onPress
Disponibilidade

Flash Player 6.
Uso my_mc.onPress = function() { // seus comandos vo 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.
my_mc.onPress = function () { trace ("onPress chamado"); };

MovieClip.onPress

583

MovieClip.onRelease
Disponibilidade

Flash Player 6.
Uso my_mc.onRelease = function() { // seus comandos vo aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando um clipe de filme de 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.
my_mc.onRelease = function () { trace ("onRelease chamado"); };

584

Captulo 12: Dicionrio do ActionScript

MovieClip.onReleaseOutside
Disponibilidade

Flash Player 6.
Uso my_mc.onReleaseOutside = function() { // seus comandos vo 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 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.
my_mc.onReleaseOutside = function () { trace ("onReleaseOutside chamado"); };

MovieClip.onReleaseOutside

585

MovieClip.onRollOut
Disponibilidade

Flash Player 6.
Uso my_mc.onRollOut = function() { // seus comandos vo 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.
my_mc.onRollOut = function () { trace ("onRollOut chamado"); };

586

Captulo 12: Dicionrio do ActionScript

MovieClip.onRollOver
Disponibilidade

Flash Player 6.
Uso my_mc.onRollOver = function() { // seus comandos vo 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.
Exemplo

O exemplo a seguir define uma funo para o mtodo onRollOver que envia uma ao trace() ao painel Output.
my_mc.onRollOver = function () { trace ("onRollOver chamado"); };

MovieClip.onRollOver

587

MovieClip.onSetFocus
Disponibilidade

Flash Player 6.
Uso my_mc.onSetFocus = function(oldFocus){ // seus comandos vo aqui } Parmetros oldFocus Retorna

O objeto que perde o foco.

Nada.
Descrio

Manipulador de eventos; chamado quando um clipe de filme recebe o foco do teclado. O parmetro oldFocus 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, oldFocus conter a instncia do clipe de filme. Se nenhum objeto possua o foco anteriormente, oldFocus conter um valor null.

MovieClip.onUnload
Disponibilidade

Flash Player 6.
Uso my_mc.onUnload = function() { // seus comandos vo aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado no primeiro quadro depois que o clipe de filme removido da 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.

588

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir define uma funo para o mtodo MovieClip.onUnload que envia uma ao trace() ao painel Output (Sada).
my_mc.onUnload = function () { trace ("onUnload chamado"); };

MovieClip._parent
Disponibilidade

Flash Player 5.
Uso my_mc._parent.property _parent.property 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.play()
Disponibilidade

Flash Player 5.
Uso my_mc.play() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; move a reproduo na Linha de tempo do clipe de filme.


Consulte tambm play()

MovieClip.play()

589

MovieClip.prevFrame()
Disponibilidade

Flash Player 5.
Uso my_mc.prevFrame() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; envia a reproduo do quadro anterior e o pra.


Consulte tambm prevFrame()

MovieClip.removeMovieClip()
Disponibilidade

Flash Player 5.
Uso my_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 my_mc._rotation Descrio

Propriedade; especifica a rotao do clipe de filme em graus.

590

Captulo 12: Dicionrio do ActionScript

MovieClip.setMask()
Disponibilidade

Flash Player 6.
Uso my_mc.setMask(mask_mc) Parmetros my_mc mask_mc Retorna

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.

Nada.
Descrio

Mtodo; transforma o clipe de filme no parmetro mask_mc em uma mscara que revela o clipe de filme especificado pelo parmetro my_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 atravs do uso de camadas de mscara). Se houver fontes de dispositivo em um clipe de filme mascarado, elas sero desenhadas, mas no mascaradas. No possvel definir um clipe de filme de modo que ele seja sua prpria mscara, por exemplo, my_mc.setMask(my_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 isso. Por exemplo, se houver um clipe de filme em uma camada de mscara chamada UIMask, esta mascara outra camada que contm outro clipe de filme chamado UIMaskee. Se, medida que o SWF for reproduzido, voc chamar UIMask.setMask(UIMaskee), UIMask ser mascarado por UIMaskee desse ponto em diante. Para cancelar uma mscara criada com ActionScript, passe o valor null para o mtodo setMask(). O cdigo a seguir cancela a mscara sem afetar a camada da mscara na 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);

MovieClip.setMask()

591

MovieClip._soundbuftime
Disponibilidade

Flash Player 6.
Uso my_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 my_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 pela primeira vez no clipe de filme (false). Este parmetro opcional. esquerdo, superior, direito, inferior Retorna

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.

Nada.
Descrio

Mtodo; permite que o usurio arraste o clipe de filme especificado. O clipe de filme permanecer arrastvel at que explicitamente esta caracterstica seja cancelada 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()

592

Captulo 12: Dicionrio do ActionScript

MovieClip.stop()
Disponibilidade

Flash Player 5.
Uso my_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 my_mc.stopDrag() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; finaliza um mtodo MovieClip.startDrag(). Um filme que adquire a caracterstica de arrastvel com esse mtodo permanece assim at que o mtodo stopDrag() seja adicionado ou at que outro filme se torne arrastvel. Somente um clipe de filme arrastvel de cada vez.
Consulte tambm MovieClip._droptarget, MovieClip.startDrag(), stopDrag()

MovieClip.stopDrag()

593

MovieClip.swapDepths()
Disponibilidade

Flash Player 5.
Uso my_mc.swapDepths(depth) my_mc.swapDepths(target) Parmetros depth

Um nmero que especifica o nvel de profundidade no qual my_mc deve ser colocado.

target Uma seqncia de caracteres que especifica a instncia de clipe de filme cuja profundidade trocada pela instncia especificada por my_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 (my_mc) com o clipe de filme determinado pelo parmetro target ou com o clipe de filme que ocupa atualmente o nvel de profundidade indicado no parmetro depth. 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 um clipe de filme estiver realizando uma interpolao quando esse mtodo for chamado, a interpolao ser encerrada. Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 128.
Consulte tambm _level, MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth()

594

Captulo 12: Dicionrio do ActionScript

MovieClip.tabChildren
Disponibilidade

Flash Player 6.
Uso my_mc.tabChildren Descrio

Propriedade; indefinida por padro. Se tabChildren for undefined ou true, os filhos de um clipe de filme sero includos na ordenao automtica de guias. Se o valor de tabChildren for false, os filhos de um clipe de filme no sero includos na ordenao automtica de guias.
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 guias. 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 automtica de guias.
Consulte tambm Button.tabIndex, MovieClip.tabEnabled, MovieClip.tabIndex, TextField.tabIndex

MovieClip.tabEnabled
Disponibilidade

Flash Player 6.
Uso my_mc.tabEnabled Descrio

Propriedade; especifica se my_mc est includo na ordenao automtica de guias. A opo undefined utilizada por padro. Se tabEnabled for undefined ou true, o objeto ser includo na ordenao automtica de guias. Se a propriedade tabIndex tambm estiver definida com um determinado valor, o objeto ser includo na ordenao personalizada de guias tambm. Se tabEnabled for false, o objeto no ser includo nem na ordenao de guias automtica nem na personalizada, ainda que a propriedade tabIndex seja definida. Entretanto, se MovieClip.tabChildren for true, o filho do clipe de filme ainda poder ser includo na ordenao automtica de guias, mesmo se tabEnabled for false.
Consulte tambm Button.tabEnabled, MovieClip.tabChildren, MovieClip.tabIndex, TextField.tabEnabled

MovieClip.tabEnabled

595

MovieClip.tabIndex
Disponibilidade

Flash Player 6.
Uso my_mc.tabIndex Descrio

Propriedade; permite personalizar a ordenao de guias dos objetos em um filme. A propriedade tabIndex permanece indefinida 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 automtica de guias ser desativada. Nesse caso, a ordenao calculada com base nas propriedades tabIndex dos objetos no SWF. A ordenao personalizada de guias 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 personalizada de guias ignora os relacionamentos hierrquicos dos objetos em um arquivo SWF. Todos os objetos contidos no SWF que tiverem propriedades tabIndex sero colocados na ordenao de guias. 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 my_mc._target Descrio

Propriedade (somente de leitura); retorna o caminho de destino da instncia de clipe de filme especificada por my_mc.

MovieClip._totalframes
Disponibilidade

Flash Player 4.
Uso my_mc._totalframes Descrio

Propriedade (somente leitura); retorna o nmero total de quadros na instncia de clipe de filme especificada no parmetro MovieClip.
596 Captulo 12: Dicionrio do ActionScript

MovieClip.trackAsMenu
Disponibilidade

Flash Player 6.
Uso my_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 de boto modificado adquire imediatamente o novo comportamento.
Consulte tambm Button.trackAsMenu

MovieClip.unloadMovie()
Disponibilidade

Flash Player 5.
Uso my_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.unloadMovie()

597

MovieClip._url
Disponibilidade

Flash Player 4.
Uso my_mc._url Descrio

Propriedade (somente de leitura); recupera o URL do arquivo SWF do qual o clipe de filme foi descarregado.

MovieClip.useHandCursor
Disponibilidade

Flash Player 6.
Uso my_mc.useHandCursor Descrio

Propriedade; um valor booleano que indica se o cursor em forma de mo (mo apontando) exibido quando o mouse rola sobre um clipe de filme de boto. O valor padro de useHandCursor true. Se useHandCursor for definido como true, o cursor em forma de mo usado para botes ser exibido quando o mouse rolar sobre um clipe de filme de boto. Se useHandCursor for false, o cursor em forma de seta ser usado. Voc pode alterar a propriedade useHandCursor a qualquer momento; o clipe de filme de boto modificado adquire imediatamente o comportamento do novo cursor. A propriedade useHandCursor pode ser lida de um objeto de prottipo.

MovieClip._visible
Disponibilidade

Flash Player 4.
Uso my_mc._visible Descrio

Propriedade; um valor booleano que indica se o clipe de filme especificado por my_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

598

Captulo 12: Dicionrio do ActionScript

MovieClip._width
Disponibilidade

Flash Player 4 como uma propriedade somente leitura.


Uso my_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 my_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 Linha de tempo principal, seu sistema de coordenadas refere-se ao canto superior esquerdo do Palco como (0, 0). Se o clipe de filme estiver dentro de outro clipe de filme que tem transformaes, o clipe de filme est no sistema de coordenadas local do clipe de filme anexado. Assim, para um clipe de filme girado 90 no sentido anti-horrio, os filhos do clipe de filme herdam um sistema de coordenadas que girado 90 no mesmo sentido. As coordenadas do clipe de filme referem-se posio do ponto de registro.
Consulte tambm MovieClip._xscale, MovieClip._y, MovieClip._yscale

MovieClip._x

599

MovieClip._xmouse
Disponibilidade

Flash Player 5.
Uso my_mc._xmouse Descrio

Propriedade (somente leitura); retorna a coordenada x da posio do mouse.


Consulte tambm

Classe Mouse, MovieClip._ymouse

MovieClip._xscale
Disponibilidade

Flash Player 4.
Uso my_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 dimensionado em 50%, a definio da propriedade _x move 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

600

Captulo 12: Dicionrio do ActionScript

MovieClip._y
Disponibilidade

Flash Player 3.
Uso my_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 Linha de tempo principal, seu sistema de coordenadas refere-se ao canto superior esquerdo do Palco como (0, 0). Se o clipe de filme estiver dentro de outro clipe de filme que tem transformaes, o clipe de filme est no sistema de coordenadas local do clipe de filme anexado. Assim, para um clipe de filme girado 90 no sentido anti-horrio, os filhos do clipe de filme herdam um sistema de coordenadas que girado 90 no mesmo sentido. 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 my_mc._ymouse Descrio

Propriedade (somente leitura); indica a coordenada y da posio do mouse.


Consulte tambm

Classe Mouse, MovieClip._xmouse

MovieClip._ymouse

601

MovieClip._yscale
Disponibilidade

Flash Player 4.
Uso my_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 dimensionado em 50%, definir a propriedade _x move 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
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7. Resumo dos mtodos da classe MovieClipLoader Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). Resumo de ouvintes da classe MovieClipLoader Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). Construtor da classe MovieClipLoader Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

602

Captulo 12: Dicionrio do ActionScript

MovieClipLoader.addListener()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

MovieClipLoader.getProgress()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

MovieClipLoader.loadClip()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

MovieClipLoader.onLoadComplete()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

MovieClipLoader.onLoadError()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

MovieClipLoader.onLoadInit()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

MovieClipLoader.onLoadInit()

603

MovieClipLoader.onLoadProgress()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

MovieClipLoader.onLoadStart()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

MovieClipLoader.removeListener()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

MovieClipLoader.unloadClip()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

NaN
Disponibilidade

Flash Player 5.
Uso NaN Descrio

Varivel; uma varivel predefinida com o valor IEEE 754 para NaN (No Nmero). Para determinar se um nmero NaN, use isNaN().
Consulte tambm isNaN(), Number.NaN

604

Captulo 12: Dicionrio do ActionScript

ne (diferente especfico de seqncia de caracteres)


Disponibilidade

Flash Player 4. Esse operador foi substitudo pelo operador != (diferena).


Uso expression1 ne expression2 Parmetros expression1,expression2 Retorna

Nmeros, seqncias de caracteres ou variveis.

Um valor booleano.
Descrio

Operador (comparao); compara a expression1 com a expression2 e retorna true se a expression1 no for igual expression2; caso contrrio, retorna false.
Consulte tambm != (diferena)

ne (diferente especfico de seqncia de caracteres)

605

Classe NetConnection
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usada 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. Resumo dos mtodos da classe NetConnection Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). Resumo de eventos da classe NetConnection Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). Construtor da classe NetConnection Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usada com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server.

NetConnection.connect()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usada com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server.

606

Captulo 12: Dicionrio do ActionScript

NetConnection.onStatus
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usada com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server.

Classe NetStream
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usada 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. Resumo dos mtodos da classe NetStream Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). Resumo das propriedades da classe NetStream Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). Resumo de manipuladores de eventos da classe NetStream Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). Construtor da classe NetStream Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usada com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server.

Classe NetStream

607

NetStream.bufferLength
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usada com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server.

NetStream.bufferTime
Disponibilidade

Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usada com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server.

NetStream.bytesLoaded
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

NetStream.bytesTotal
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

NetStream.close()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
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.

608

Captulo 12: Dicionrio do ActionScript

NetStream.currentFps
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usada com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server.

NetStream.onStatus
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
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.

NetStream.pause()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
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.

NetStream.play()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
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.

NetStream.play()

609

NetStream.seek()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
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.

NetStream.setBufferTime()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
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.

NetStream.time
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usada com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server.

610

Captulo 12: Dicionrio do ActionScript

new
Disponibilidade

Flash Player 5.
Uso novo 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 novo operador passa funo quaisquer parmetros opcionais em parnteses, bem como o objeto recm-criado, que referenciado com a palavra-chave this. Em seguida, 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.name = nome; this.price = preco; } 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)

new

611

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 myName:String = "Lisa", myAge:Number = 30; trace(myName + myAge); trace(myName + newline + myAge);

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(); }

612

Captulo 12: Dicionrio do ActionScript

nextScene()
Disponibilidade

Flash 2.
Uso nextScene() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Ao; envia a reproduo para o Quadro 1 da prxima cena e a interrompe.


Exemplo

Neste exemplo, quando o usurio libera o boto, a reproduo enviada para o Quadro1 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)

not

613

null
Disponibilidade

Flash Player 5.
Uso null Parmetros

Nenhum.
Retorna

Nada.
Descrio

Constante; um valor especial que pode ser atribudo a variveis ou retornado por uma funo caso nenhum dado seja fornecido. Voc pode usar null para representar os valores ausentes ou que no tm um tipo de dados definido.
Exemplo

Em contexto numrico, null avaliado como 0. Testes de igualdade podem ser realizados com null. Neste comando, 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 nmero. 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.
myNumber = new Number (1234); myNumber.toString();

Este exemplo chama a propriedade MIN_VALUE (tambm denominada constante) do objeto Number:
smallest = Number.MIN_VALUE

614

Captulo 12: Dicionrio do ActionScript

Resumo dos mtodos da classe Number


Mtodo
Number.toString()

Descrio Retorna a representao da seqncia de caracteres do objeto Number. 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. Um objeto Number no o mesmo que na funo Number(), a qual converte um parmetro em um valor primitivo.
Exemplo

O cdigo a seguir cria objetos new Number.


n1 = new Number(3.4); n2 = new Number(-10); Consulte tambm Number()

Classe Number

615

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

616

Captulo 12: Dicionrio do ActionScript

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.

Number.POSITIVE_INFINITY

617

Number.toString()
Disponibilidade

Flash Player 5.
Uso myNumber.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 a representao da seqncia de caracteres do objeto Number especificado (myNumber).


Exemplo

O exemplo a seguir usa 2 para o parmetro raiz e retorna uma seqncia de caracteres que contm a representao binria do nmero 1000.
myNumber = new Number (1000); myNumber.toString(2); // 1111101000

Number.valueOf()
Disponibilidade

Flash Player 5.
Uso myNumber.valueOf() Parmetros

Nenhum.
Retorna

Um nmero.
Descrio

Mtodo; retorna o tipo de valor primitivo do objeto Number especificado.

618

Captulo 12: Dicionrio do ActionScript

Number()
Disponibilidade

Flash Player 4.
Uso Number(expresso) Parmetros expresso Retorna

Uma expresso a ser convertida em um nmero.

Nada.
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 tenta analisar expresso como um nmero decimal com um exponente inicial opcional, isto , 1,57505e-3. Se expresso for indefinida, o valor de retorno ser 0. Essa funo usada para converter os arquivos do Flash 4 com operadores obsoletos que so importados no ambiente de criao do Flash 5 ou posterior. Para obter mais informaes, consulte & (operador AND bit a bit).
Consulte tambm

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.

Classe Object

619

Resumo dos mtodos da classe Object


Mtodo
Object.addProperty() Object.registerClass()

Descrio Cria uma propriedade de 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 do objeto Object Registra uma funo de chamada a ser ativada quando uma determinada propriedade de um objeto do 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.

620

Captulo 12: Dicionrio do ActionScript

Object.addProperty()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso myObject.addProperty(prop, getFunc, setFunc) Parmetros prop

O nome da propriedade de objeto a ser criada. A funo chamada para recuperar o valor da propriedade; este parmetro um objeto

getFunc

de funo.
setFunc 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 leitura. Retorna

Retorna um valor de true se a propriedade for criada com xito; caso contrrio, retorna false.
Descrio

Mtodo; cria uma propriedade getter/setter (que se pode ler e escrever). Quando o Flash l uma propriedade de apanhador/definidor, chama a funo get e o valor de retorno da funo torna-se um valor de prop. Quando o Flash grava uma propriedade de apanhador/definidor, 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. A funo "get" 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. A funo "set" utiliza um nico parmetro, que o novo valor da propriedade. Por exemplo, se a propriedade x for atribuda pelo comando x = 1, a funo set ser passada para o parmetro 1 do tipo number. O valor de retorno da funo set ser ignorado. possvel adicionar propriedades de apanhador/definidor aos objetos de prottipo. Se voc adicionar uma propriedade de apanhador/definidor a um objeto de prottipo, todas as instncias de objeto que herdam o objeto de prottipo tambm herdam esta propriedade. Isso torna possvel adicionar uma propriedade de apanhador/definidor em um local, o objeto de prottipo, e fazer com que ela seja propagada para todas as instncias de uma classe (muito semelhante adio de mtodos a objetos de prottipo). Se uma funo get/set for chamada para uma propriedade de apanhador/definidor em um objeto de prottipo herdado, a referncia passada funo get/set ser o objeto referenciado originalmente, e no o objeto de prottipo.

Object.addProperty()

621

Se chamado incorretamente, Object.addProperty() poder apresentar erro. A tabela a seguir descreve os erros que podem ocorrer:
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.


getFunc no um objeto de funo vlido.

setFunc 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 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 iro consumir uma grande quantidade de memria. Uma alternativa adicionar as propriedades a Book.prototype:

622

Captulo 12: Dicionrio do ActionScript

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"; } 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 for acessada 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 de apanhador/definidor 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 myTextField.scroll, o interpretador do ActionScript automaticamente chama myTextField.getScroll(). Quando um script modifica o valor de myTextField.scroll, o interpretador chama myTextField.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 uma grande quantidade de 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 de apanhador/definidor de TextField.prototype ser encontrada.

Object.addProperty()

623

Object.__proto__
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 5.
Uso myObject.__proto__ Parmetros

Nenhum.
Descrio

Propriedade; refere-se propriedade prototype da funo construtora que criou myObject. 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.

624

Captulo 12: Dicionrio do ActionScript

Object.registerClass()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso Object.registerClass(symbolID, theClass) Parmetros symbolID theClass

O identificador de vinculao do smbolo de clipe de filme ou o identificador de seqncia de caracteres da classe do ActionScript.

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 um smbolo, o Flash criar uma associao entre um identificador de seqncia de caracteres e uma classe de objeto. Quando uma instncia do smbolo de clipe de filme especificado for colocada pela Linha de tempo, ela ser registrada na classe indicada pelo parmetro theClass e no na classe MovieClip.
MovieClip.attachMovie() ou MovieClip.duplicateMovieClip(), classe especificada por theClass e no pela classe MovieClip.

Quando uma instncia do smbolo de clipe de filme especificado criada por meio de isso registrado para a

Se theClass for null, esse mtodo remover qualquer definio de classe de 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(), ActionScript chama o construtor da classe apropriada com a palavrachave this apontando para o objeto. A funo construtora chamada sem nenhum parmetro. 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 theClass que herda as propriedades da classe MovieClip:
theClass.prototype = new MovieClip(); Consulte tambm MovieClip.attachMovie(), MovieClip.duplicateMovieClip()

Object.registerClass()

625

Object.toString()
Disponibilidade

Flash Player 5.
Uso myObject.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 myObject.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.

626

Captulo 12: Dicionrio do ActionScript

Object.valueOf()
Disponibilidade

Flash Player 5.
Uso myObject.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 objeto retornado.

Object.watch()
Disponibilidade

Flash Player 6.
Uso myObject.watch( prop, callback [, userData] ) 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 callback callback(prop, oldval, newval, userData).
callback

Uma parte arbitrria dos dados de ActionScript passada ao mtodo callback. Se o parmetro userData for omitido, undefined ser passado ao mtodo callback. Este parmetro opcional.
userData Retorna

Um valor de true se o ponto de controle tiver sido criado com xito, caso contrrio, retorna um valor false.
Descrio

Mtodo; registra uma funo de retorno de chamada a ser ativada quando uma determinada propriedade de um objeto do ActionScript alterada. Quando a propriedade alterada, a funo de retorno de chamada ativada com myObject 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.

Object.watch()

627

Um ponto de controle pode filtrar (ou anular) a atribuio de valor retornando um newval modificado (ou oldval). 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 userData, que uma adio do Flash ao Object.watch() no suportado pelo Netscape Navigator. Voc pode passar o parmetro userData funo de retorno de chamada e us-lo nesta funo. O mtodo Object.watch() no pode observar propriedades getter/setter. As propriedades de apanhador/definidor 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().
Exemplo

Este exemplo mostra um componente CheckBox com mtodos que definem o identificador ou valor de cada instncia de caixa de seleo:
myCheckBox1.setValue(true); myCheckBox1.setLabel("novo identificador"); ...

adequado considerar o valor e o identificador de uma caixa de seleo como propriedades. possvel utilizar Object.watch() para fazer com que o acesso ao valor e ao rtulo se parea com o acesso propriedade e no com uma chamada de mtodo, conforme mostrado a seguir:
// Definir o construtor para (e, portanto, definir) a classe CheckBox function CheckBox() { ... this.watch('value', function (id, oldval, newval){ ... }); this.watch('label', function(id, oldval, newval){ ... }); }

628

Captulo 12: Dicionrio do ActionScript

Quando a propriedade do valor ou rtulo modificada, a funo especificada pelo componente chamada para realizar as tarefas necessrias atualizao da aparncia e do estado do componente. O exemplo a seguir chama um mtodo Object.watch() para notificar o componente de que a varivel foi modificada, fazendo com que o componente atualize sua representao grfica.
myCheckBox1.value = false;

Esta sintaxe mais concisa do que a anterior:


myCheckBox1.setValue(false); Consulte tambm Object.addProperty(), Object.unwatch()

Object()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 5.
Uso Object(expresso) Parmetros expresso Retorna

Uma expresso para converter em um objeto.

Um objeto.
Descrio

Funo; converte o parmetro expresso em um objeto.


Consulte tambm

Classe Object

Object()

629

on()
Disponibilidade

Flash 2. Nem todos os eventos so suportados pelo Flash 2.


Uso on(mouseEvent) { // seus comandos vo aqui } Parmetros comando(s)

Os comandos a serem executados quando o evento mouseEvent ocorre.

Um mouseEvent um disparador chamado "evento". Quando o evento ocorre, so executados os comandos posteriores a ele entre chaves. Qualquer um dos valores a seguir pode ser especificado pelo parmetro movieEvent:

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 uma 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 859; para obter uma lista de constantes de teclas, consulte Resumo de propriedades da classe Key na pgina 450.
press

Descrio

Manipulador de eventos; especifica o evento do mouse ou o pressionamento de tecla que dispara uma ao.
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()

630

Captulo 12: Dicionrio do ActionScript

onClipEvent()
Disponibilidade

Flash Player 5.
Uso onClipEvent(movieEvent){ // seus comandos vo aqui } Parmetros movieEvent

um dispositivo de ativao chamado evento. Quando o evento ocorre, so executados os comandos posteriores a ele entre chaves. Qualquer um dos valores a seguir pode ser especificado pelo parmetro movieEvent:

A ao iniciada assim que o clipe de filme criado e aparece na Linha de tempo. unload A ao iniciada no primeiro quadro depois do clipe de filme ser removido da Linha de tempo. As aes associadas ao evento do clipe de filme Unload 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. 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 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.
load

Descrio

Manipulador de eventos; dispara aes definidas por uma instncia especfica de um clipe de filme.
Exemplo

O comando 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" }

onClipEvent()

631

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()

632

Captulo 12: Dicionrio do ActionScript

onUpdate
Disponibilidade

Flash Player 6.
Uso function onUpdate() { ...comandos...; } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo de retorno de chamada; onUpdate definido para um filme Live Preview (Visualizao ao vivo) usado com um componente. Quando uma instncia de componente no Stage (Palco) tem um filme Live Preview, a ferramenta de criao chamar a funo onUpdate do filme 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 Live Preview. Definir uma funo onUpdate em um filme Live Preview opcional. Para obter mais informaes sobre filmes Live Preview, consulte Usando Componentes.
Exemplo

A funo onUpdate proporciona ao filme 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 Property (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 color, 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 Live Preview. Vamos supor que voc tenha um componente de boto rotulado com uma varivel labelColor, a qual especifica a cor do rtulo de texto. O cdigo a seguir est no primeiro quadro da Timeline (Linha de tempo) principal do filme do componente:
//Define o parmetro textColor para especificar a cor do texto do rtulo do boto. buttonLabel.textColor = labelColor;

onUpdate

633

No filme Live Preview, coloque um clipe de filme vazio chamado xch no filme Live Preview. Em seguida, coloque o seguinte cdigo no primeiro quadro do filme Live Preview. Adicione xch ao caminho da varivel labelColor para passar a varivel ao clipe de filme my_mc:
//Escreve uma funo onUpdate, adicionando "my_mc." aos nomes de variveis: function onUpdate (){ buttonLabel.textColor = my_mc.labelColor; }

or
Disponibilidade

Flash 4. Esse operador foi substitudo pelo operador || (OR lgico).


Uso condition1 ou condition2 Parmetros condition1,2 Retorna

Uma expresso que pode receber o valor true ou false.

Nada.
Descrio

Operador; avalia condition1 e condition2 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

634

Captulo 12: Dicionrio do ActionScript

_parent
Disponibilidade

Flash Player 5.
Uso _parent.property _parent._parent.property 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 desk um filho do clipe de filme classroom. Quando o script abaixo executado dentro do clipe de filme desk, a reproduo salta para o Quadro 10 na Linha de tempo do clipe de filme classroom.
_parent.gotoAndStop(10); Consulte tambm _root, targetPath

_parent

635

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

Nada.
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, or 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")

636

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

637

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 um comando if para verificar o valor de um nome que o usurio insere. Se o usurio inserir Steve, a ao play() ser chamada e a reproduo se mover para frente na Timeline (Linha de tempo). 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!"; }

638

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 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()

prevFrame()

639

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()

640

Captulo 12: Dicionrio do ActionScript

print()
Disponibilidade

Flash Player 4.20.


Observao: Se estiver criando com o Flash Player 7 ou posterior, voc poder criar um objeto PrintJob, o que permitir que voc (e 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 identificador de quadro #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 identificador de quadro #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 identificador de quadro #p a esses quadros. Embora print() resulte em impresses de melhor qualidade, se comparado a printAsBitmap(), ela no pode ser usada para imprimir clipes de filme que usem transparncia alfa ou efeitos de cor especiais. Se voc no especificar um parmetro de rea de impresso, ela ser determinada pelo tamanho do Palco do filme carregado, por padro. O filme no herda o tamanho do Palco do filme principal. Voc pode controlar a rea de impresso especificando o valor do parmetro bmovie, bmax ou bframe. Todos os elementos imprimveis em um filme devem ser totalmente carregados antes 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.

print()

641

Exemplo

O exemplo a seguir imprime todos os quadros imprimveis no clipe de filme my_mc com a rea de impresso definida pela caixa delimitadora do quadro que tem anexado o identificador do quadro #b:
print(my_mc,"bmovie");

O exemplo a seguir imprime todos os quadros imprimveis em my_mc com uma rea de impresso definida pela caixa delimitadora de cada quadro:
print(my_mc,"bframe"); Consulte tambm printAsBitmap(), printAsBitmapNum(),

Classe PrintJob, printNum()

printAsBitmap()
Disponibilidade

Flash Player 4.20.


Observao: Se estiver criando com o Flash Player 7 ou posterior, voc poder criar um objeto PrintJob, o que permitir que voc (e 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 identificador de quadro #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 identificador de quadro #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.

642

Captulo 12: Dicionrio do ActionScript

Descrio

Funo; imprime o clipe de filme de destino como um bitmap. 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.
print()

Se o filme no contm transparncias alfa ou efeitos de cor, a Macromedia recomenda o uso de para obter melhores resultados em termos de qualidade.

Por padro, a rea de impresso determinada pelo tamanho do Palco do filme carregado. O filme no herda o tamanho do Palco do filme principal. Voc pode controlar a rea de impresso especificando o valor do parmetro bmovie, bmax ou bframe. Todos os elementos imprimveis em um filme devem ser totalmente carregados antes 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: Se estiver criando com o Flash Player 7 ou posterior, voc poder criar um objeto PrintJob, o que permitir que voc (e 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. Se voc quiser imprimir quadros especficos do nvel, atribua um identificador de quadro #p aos quadros desejados. 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 identificador de quadro #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.

printAsBitmapNum()

643

Retorna

Nenhum.
Descrio

Funo; imprime um nvel no Flash Player como um bitmap. 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. Por padro, a rea de impresso determinada pelo tamanho do Palco do filme carregado. O filme no herda o tamanho do Palco do filme principal. Voc pode controlar a rea de impresso especificando os parmetros bmovie, bmax ou bframe. Todos os elementos imprimveis em um filme devem ser totalmente carregados antes 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()

644

Captulo 12: Dicionrio do ActionScript

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. Resumo dos mtodos da classe PrintJob
Mtodo
PrintJob.addPage() PrintJob.send() PrintJob.start()

Descrio Adiciona uma pgina ao dispositivo de spool de impresso. Envia as pginas colocadas em spool para a impressora. Exibe as caixas de dilogo de impresso do sistema operacional e d incio ao processo de spool.

Construtor da classe PrintJob


Disponibilidade

Flash Player 7.
Uso my_pj = new PrintJob() Parmetros

Nenhum.
Retorna

Nada.

Classe PrintJob

645

Descrio

Construtor; cria o objeto PrintJob que ser usado para imprimir vrias pginas. Para implementar um trabalho de impresso, use estes mtodos na seqncia mostrada:
// cria o objeto PrintJob my_pj = new PrintJob(); // exibe a caixa de dilogo de impresso my_pj.start(); // adiciona a rea especificada ao trabalho de impresso // repete uma vez para cada pgina a ser impressa my_pj.addPage([params]); my_pj.addPage([params]); my_pj.addPage([params]); my_pj.addPage([params]); // envia as pginas do spooler para a impressora my_pj.send(); // limpa delete my_pj;

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().
Exemplo

Consulte PrintJob.addPage().
Consulte tambm PrintJob.addPage(), PrintJob.send(), PrintJob.start()

646

Captulo 12: Dicionrio do ActionScript

PrintJob.addPage()
Disponibilidade

Flash Player 7.
Uso my_pj.addPage(target [, printArea] [, options ] [, frameNumber]) Parmetros target

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.
printArea

Um objeto opcional que especifica a rea a ser impressa, no seguinte formato:

{xMin:topLeft, xMax:topRight, yMin:bottomLeft, yMax:bottomRight}

As coordenadas especificadas para printArea (rea de impresso) representam os pixels de tela relativos ao ponto de registro do filme _root (se target=0) ou do nvel ou clipe de filme especificado por target. Voc deve fornecer todas as quatro coordenadas. A largura (xMax-xMin) e a altura (yMax-yMin) devem ser maiores ou iguais a 0. Ou seja, se esses dois valores forem 0, a pgina ser impressa, mas se apenas um deles for 0, a pgina no ser impressa. Pontos so unidades de medida de impresso e pixels so unidades de medida de tela; um ponto igual, em tamanho, a um pixel. Podem-se usar as seguintes equivalncias para converter polegadas ou centmetros em pixels ou pontos.

1 pixel = 1 ponto = 1/72 polegada = 20 twips 1 polegada = 1440 twips 1 cm = 567 twips
Observao: Se tiver usado print(), printAsBitmap(), printAsBitmapNum() ou printNum() anteriormente para imprimir no Flash, o identificador de quadro #b ter sido usado para especificar a rea a ser impressa. Ao usar o mtodo addPage(), voc dever usar o parmetro printArea para especificar a rea de impresso; os identificadores de quadro #b sero ignorados.

Se omitir o parmetro printArea ou se ele for passado de maneira incorreta, toda a rea de destino ser impressa. Se no desejar especificar um valor para printArea, mas quiser especificar um valor para options ou frameNumber, passe null para a printArea.
options

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 target 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.

PrintJob.addPage()

647

Se o recurso options for omitido ou passado de maneira incorreta, ser executada a impresso vetorial. Se no desejar especificar um valor para options, mas quiser especificar um valor para frameNumber, passe null para options.
frameNumber

Um nmero opcional que permite especificar o quadro a ser impresso. Se omitir esse parmetro, o quadro atual em target ser impresso.

Observao: Se tiver usado print(), printAsBitmap(), printAsBitmapNum() ou printNum() anteriormente para imprimir no Flash, talvez o identificador de quadro #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 identificadores 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 printArea, 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 printArea for maior que a rea imprimvel na pgina. Se no tiver passado um valor para a printArea e o Stage (Palco) for maior que a rea imprimvel, o mesmo tipo de corte ocorrer.
MovieClip._xscale

Se desejar dimensionar um clipe de filme antes de imprimi-lo, defina as propriedades e MovieClip._yscale antes de chamar esse mtodo; posteriormente, defina-as outra vez com os valores originais. Se dimensionar um clipe de filme e tambm passar um valor para a printArea, os valores de pixel passados para a printArea refletiro o tamanho original do clipe de filme. Por exemplo, se voc definir o dimensionamento do clipe de filme como sendo 50% e especificar uma rea de impresso de 500 x 500 pixels, o contedo impresso ser idntico ao contedo que seria impresso se voc no tivesse dimensionado o clipe de filme para metade do tamanho. O recurso de impresso do Flash Player suporta as impressoras PostScript e no PostScript. As impressoras no PostScript convertem vetores em bitmaps.

648

Captulo 12: Dicionrio do ActionScript

Exemplo

O exemplo a seguir ilustra vrias maneiras diferentes de emitir o comando addPage().


my_btn.onRelease = function() { var my_pj = new PrintJob(); var myResult; myResult = my_pj.start(); while(myResult){ // Imprime todo o quadro atual do filme _root em formato vetorial myPage = my_pj.addPage(0); if(!myPage){ break; // se addPage() no for bem-sucedido, sai do loop e chama send() } // 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 myPage = my_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500}); if(!myPage){ break; } // 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 myPage = my_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500}, {printAsBitmap:true}, 1); if(!myPage){ break; } // 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 myPage = my_pj.addPage(5, {xMin:50,xMax:550,yMin:70,yMax:670}, null, 4); // Iniciando em 0,0, imprime uma rea de 400 pixels de largura e 400 pixels de altura // do quadro 3 do clipe de filme "dance_mc" no formato de bitmap myPage = my_pj.addPage("dance_mc", {xMin:0,xMax:400,yMin:0,yMax:400}, {printAsBitmap:true}, 3); if(!myPage){ break; } // Iniciando em 0,0, imprime uma rea de 400 de largura e 600 pixels de altura // do quadro 3 do clipe de filme "dance_mc" no formato vetorial // a 50% de seu tamanho real var x = dance_mc._xscale; var y = dance_mc._yscale; dance_mc._xscale = 50; dance_mc._yscale = 50; myPage = my_pj.addPage("dance_mc", {xMin:0,xMax:400,yMin:0,yMax:600}, null, 3); dance_mc._xscale = x; dance_mc._yscale = y; if(!myPage){

PrintJob.addPage()

649

break; } break; //sai do loop while se todas as chamadas addPage() forem bemsucedidas } my_pj.send(); delete my_pj; }

O exemplo a seguir mostra como usar um loop for para imprimir vrios quadros.
myButton.onRelease = function() { my_pj = new PrintJob(); var myResult; var currentFrame; var totalFrames = 10; myResult = my_pj.start(); for (currentFrame=1; currentFrame<=totalFrames;currentFrame++) { myResult = my_pj.addPage(0, null, null, currentFrame); } my_pj.send(); delete my_pj; } Consulte tambm PrintJob.send(), PrintJob.start()

650

Captulo 12: Dicionrio do ActionScript

PrintJob.send()
Disponibilidade

Flash Player 7.
Uso my_pj.send() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; usado aps PrintJob.start() e PrintJob.addPage() para enviar pginas no spool para a impressora.
Exemplo

Consulte PrintJob.addPage().
Consulte tambm PrintJob.addPage(), PrintJob.start()

PrintJob.send()

651

PrintJob.start()
Disponibilidade

Flash Player 7.
Uso my_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 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 verdadeira rea imprimvel da pgina; as margens definidas pelo usurio sero ignoradas Largura da verdadeira rea imprimvel 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 pode usar agora os comandos PrintJob.addPage() para comear a enviar pginas para o spooler. Se desejar, use as propriedades de altura, largura e orientao que este mtodo retorna para determinar a formatao da 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 decorrerem 10 segundos entre o momento da chamada de PrintJob.start() e o momento em que voc chamar PrintJob.send(), o Flash Player chamar efetivamente PrintJob.send(), iniciando o processo de impresso das pginas adicionadas com PrintJob.addPage() e interrompendo o processo de envio de pginas para o spool.

652

Captulo 12: Dicionrio do ActionScript

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.
var my_pj = new PrintJob(); var myResult = my_pj.start(); if(myResult) { // comandos addPage() e send() aqui } delete my_pj; Exemplo

Consulte PrintJob.addPage().
Consulte tambm PrintJob.addPage(), PrintJob.send()

PrintJob.start()

653

printNum()
Disponibilidade

Flash Player 5.
Observao: Se estiver criando com o Flash Player 7 ou posterior, voc poder criar um objeto PrintJob, o que permitir que voc (e 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. Se voc quiser imprimir quadros especficos do nvel, atribua um identificador de quadro #p aos quadros desejados.
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 identificador de quadro #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.
Descrio

Funo; imprime o nvel no Flash Player conforme os limites especificados no parmetro Caixa delimitadora ("bmovie", "bmax", "bframe"). Para imprimir quadros especficos do filme de destino, necessrio anexar um identificador de quadro #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 no especificar um parmetro de rea de impresso, ela ser determinada pelo tamanho do Palco do filme carregado, por padro. O filme no herda o tamanho do Palco do filme principal. Voc pode controlar a rea de impresso especificando o valor do parmetro bmovie, bmax ou bframe. Todos os elementos imprimveis em um filme devem ser totalmente carregados antes 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

654

Captulo 12: Dicionrio do ActionScript

private
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Essa palavrachave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). Descrio

Para obter mais informaes, consulte Controlando o acesso de membros na pgina 168.
Consulte tambm private, static

public
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Essa palavrachave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). Descrio

Para obter mais informaes, consulte Controlando o acesso de membros na pgina 168.
Consulte tambm private, static

public

655

_quality
Disponibilidade

Flash Player 5.
Uso _quality Descrio

Propriedade (global); define ou recupera a qualidade 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 nos seguintes valores:

"LOW" Qualidade baixa. Os grficos no so apresentados sem serrilhado, os bitmaps no so suavizados. "MEDIUM" Qualidade 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 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 padro usada pelo Flash. "BEST" Qualidade 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 como LOW:


_quality = "LOW"; Consulte tambm _highquality, toggleHighQuality()

656

Captulo 12: Dicionrio do ActionScript

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 clipe de filme criada com MovieClip.attachMovie() ou MovieClip.duplicateMovieClip(). Retorna

Nenhum.
Descrio

Funo; exclui o clipe de filme especificado.


Consulte tambm duplicateMovieClip(), MovieClip.duplicateMovieClip(), MovieClip.attachMovie(), MovieClip.removeMovieClip()

removeMovieClip()

657

return
Disponibilidade

Flash Player 5.
Uso return[expresso] return Parmetros expresso

Uma seqncia de caracteres, um nmero, uma matriz ou um objeto a ser avaliado e retornado como um valor da funo. Este parmetro opcional. O parmetro avaliado expresso, se fornecido.

Retorna

Descrio

Comando; 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 o comando return for usado isoladamente, retornar null.
Exemplo

O exemplo a seguir usa a ao return dentro do corpo da funo sum() para retornar o valor adicionado dos trs parmetros. A prxima linha de cdigo chama a funo sum() e atribui o valor retornado varivel newValue:
function sum(a, b, c){ return a + b + c; } newValue = sum(4, 32, 78); trace(newValue); // Envia 114 ao Painel Output (sada) Consulte tambm function

658

Captulo 12: Dicionrio do ActionScript

_root
Disponibilidade

Flash Player 5.
Uso _root.movieClip _root.action _root.property Parmetros movieClip action property Descrio

O nome da instncia de um clipe de filme. Uma propriedade do objeto MovieClip.

Uma ao ou mtodo.

Propriedade; especifica ou retorna uma referncia Linha de tempo do filme raiz. Se um filme tem vrios nveis, a Timeline do filme raiz est no nvel contido no script sendo executado 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 (Linha de tempo) do filme que est sendo carregado, no que contm o _root. Para assegurar-se que _root se refira Timeline (Linha de tempo) do filme carregado, mesmo que este seja carregado dentro de outro filme, use MovieClip._lockroot. Exemplo

O exemplo a seguir interrompe a Linha de tempo do nvel que contm o script sendo executado no momento:
_root.stop();

O exemplo a seguir envia a Timeline (Linha de tempo) no nvel atual para o quadro 3:
_root.gotoAndStop(3); Consulte tambm MovieClip._lockroot, _parent, targetPath

_root

659

scroll
Disponibilidade

Flash Player 4.
Uso textFieldVariableName.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 onde o campo de texto comea exibindo o contedo; depois de defini-lo, 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 Para cima que rola o campo de texto myText:
on (release) { myText.scroll = myText.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 so baseados em zero (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.

660

Captulo 12: Dicionrio do ActionScript

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. Retorna -1 se no houver ndice ou campo selecionado no momento. Retorna a posio atual do cursor (ponto de insero) no intervalo de seleo focalizado atualmente. Retorna -1 se no houver posio de cursor ou intervalo de seleo focalizado no momento. Retorna o ndice no final do intervalo de seleo. Retorna -1 se no houver ndice ou campo selecionado no momento. Retorna o nome da varivel do campo de texto em foco no momento. Retorna null caso no haja campo de texto em foco no momento. Remove um objeto que foi registrado com addListener(). Focaliza o campo de texto associado varivel especificada. Define os ndices de incio e de fim do intervalo de seleo.

Selection.getBeginIndex()

Selection.getCaretIndex()

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(novo_Ouvinte) Parmetros novo_Ouvinte 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), todos os objetos ouvintes registrados com addListener() tm o mtodo onSetFocus chamado. Vrios objetos podem ouvir notificaes de alterao de foco. Se o ouvinte newListener j estiver registrado, nenhuma alterao ocorrer.

Selection.addListener()

661

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).

662

Captulo 12: Dicionrio do ActionScript

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 instncia para botes e campos de texto funcionam no Flash Player 6 e suas 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 com botes for o boto atualmente em foco, Selection.getFocus() retornar o caminho de destino do clipe de filme com botes. 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.

Selection.getFocus()

663

Selection.onSetFocus
Disponibilidade

Flash Player 6.
Uso someListener.onSetFocus = function(oldFocus, newFocus){ comandos; } 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:
someListener = new Object(); someListener.onSetFocus = function () { ... }; Selection.addListener(someListener);

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, caso o ouvinte no estivesse na lista de ouvintes do objeto Selection, o mtodo retornar um valor false.
Descrio

Mtodo; remove um objeto anteriormente registrado com addListener().

664

Captulo 12: Dicionrio do ActionScript

Selection.setFocus()
Disponibilidade

Flash Player 5. Nomes de instncia para botes e clipes de filmes funcionam somente no Flash Player 6 e suas verses posteriores.
Uso Selection.setFocus("instanceName") Parmetros instanceName

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 instanceName. O parmetro instanceName 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 null for passado, o foco atual ser removido.
Exemplo

O exemplo a seguir focaliza um campo de texto associado a myVar, na Timeline (Linha de tempo) principal. O parmetro instanceName um caminho absoluto, portanto, possvel chamar a ao de qualquer Timeline (Linha de tempo).
Selection.setFocus("_root.myVar");

No exemplo a seguir, o campo de texto associado a myVar est em um clipe de filme chamado myClip na Linha de tempo principal. possvel usar um dos caminhos a seguir para definir o foco. O primeiro relativo e o segundo absoluto.
Selection.setFocus("myClip.myVar"); Selection.setFocus("_root.myClip.myVar");

Selection.setFocus()

665

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 so baseados em zero (por exemplo, a primeira posio 0, a segunda 1 e assim por diante). Esse mtodo no tem efeito se no houver campo de texto focalizado no momento.

set
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Consulte tambm get

666

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

Comando; 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 dado (por exemplo, String, Number, Boolean, Object ou MovieClip). A Timeline (Linha de tempo) de cada arquivo SWF e clipe de filme possui seu prprio conjunto de variveis, e cada varivel possui seu prprio valor, independentemente das variveis de outras linhas de tempo.
Exemplo

Este exemplo define uma varivel chamada orig_x_pos, que armazena a posio do eixo x original do clipe de filme ship para redefinir o envio em sua localizao inicial posteriormente no SWF.
on (release) { set("orig_x_pos", getProperty ("ship", _x )); }

O cdigo anterior fornece o mesmo resultado que o cdigo a seguir:


on (release) { orig_x_pos = ship._x; } Consulte tambm var, call()

set variable

667

setInterval()
Disponibilidade

Flash Player 6.
Uso setInterval(functionName, interval [, param1, param2, ..., paramN]) Parmetros functionName interval

Um nome de funo ou uma referncia a uma funo annima. Parmetros opcionais passados ao parmetro function ou

Tempo, em milissegundos, entre as chamadas ao parmetro functionName.

param1, param2, ..., paramN methodName. 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 o interval 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 interval. Use a funo updateAfterEvent() para certificar-se de que a tela seja atualizada com a freqncia necessria. Se interval for maior que a taxa de quadros do arquivo SWF, a funo de intervalo s ser chamada quando a reproduo entrar em um quadro para minimizar o impacto sempre que a tela for atualizada.
Exemplo

Uso 1: o exemplo a seguir chama uma funo annima a cada 1.000 milissegundos (a cada 1 segundo).
setInterval( function(){ trace("interval called"); }, 1000 );

Uso 2: O exemplo a seguir define duas funes de retorno de chamada e chama cada uma delas. Ambas as chamadas para setInterval() enviam a seqncia de caracteres "intervalo invocado" para o painel Output (Sada) a cada 1.000 milissegundos. A primeira chamada de setInterval() chama a funo callback1(), que contm uma ao trace(). A segunda chamada de setInterval() passa a seqncia de caracteres "intervalo invocado" para a funo callback2() como um parmetro.
function callback1() { trace("intervalo invocado"); } function callback2(arg) { trace(arg); } setInterval( callback1, 1000 ); setInterval( callback2, 1000, "interval called" );

668

Captulo 12: Dicionrio do ActionScript

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("intervalo de funo invocado"); } setInterval( obj, "interval", 1000 ); obj2 = new Object(); obj2.interval = function(s) { trace(s); } setInterval( obj2, "interval", 1000, "interval function called" );

Use a segunda forma da sintaxe setInterval() para chamar um mtodo de um objeto, como a seguir:
setInterval( obj2, "interval", 1000, "interval function called" ); Consulte tambm clearInterval(), updateAfterEvent()

setInterval()

669

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

Este comando define a propriedade _alpha de um clipe de filme chamado star como 30% quando o boto clicado:
on (release) { setProperty("star", _alpha, "30"); } Consulte tambm getProperty

670

Captulo 12: Dicionrio do ActionScript

Classe SharedObject
Disponibilidade

Flash Player 6.
Descrio

Os objetos Shared oferecem recursos poderosos: 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 o SharedObject.getLocal() para criar um objeto compartilhado, como uma calculadora com memria, no exibidor. Como o objeto compartilhado localmente persistente, o Flash salva seus atributos de dados no computador ao trmino de reproduo do SWF. Na prxima vez em o arquivo SWF for executado, a calculadora conter os valores que possua ao trmino do SWF. Como alternativa, se voc definir as propriedades do objeto compartilhado para null antes do trmino do SWF, a calculadora ser aberta sem os valores anteriores, na prxima vez que o SWF for reproduzido. 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 compartilhados remotos persistentes localmente, at o limite de 100K. Quando voc tenta salvar um objeto maior, o Flash Player exibe a caixa de dilogo Local Storage (Armazenamento local), na qual o usurio pode autorizar ou negar 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 (Autorizar), 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 (Negar), o objeto no ser salvo e SharedObject.onStatus() ser chamado com a propriedade code com o valor SharedObject.Flush.Failed.

Classe SharedObject

671

O usurio tambm pode especificar configuraes de armazenamento local permanentes para um domnio especfico clicando com o boto direito do mouse (Windows) ou clicando com a tecla Ctrl pressionada (Macintosh) enquanto o 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 como 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 extrema 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 acima. 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 na quantidade especificada de espao. Se for necessrio mais espao, SharedObject.flush() retornar "pending" (pendente) e o player (exibidor) perguntar ao usurio se possvel alocar mais espao no disco para receber o objeto, conforme explicado acima.

Alm disso, se o usurio selecionar um valor menor do que a quantidade de espao em disco que est sendo usada no momento para os dados persistentes localmente, o exibidor avisar que os objetos compartilhados salvos sero excludos.

Observao: No h limite de tamanho no Flash Player executado no ambiente de criao, o limite aplica-se somente ao exibidor independente.

672

Captulo 12: Dicionrio do ActionScript

Resumo dos mtodos da classe SharedObject


Mtodo
SharedObject.clear()

Descrio Elimina todos os dados do objeto compartilhado e exclui o objeto compartilhado do disco. Grava imediatamente um objeto compartilhado persistente em um arquivo local. Retorna uma referncia a um objeto compartilhado persistente que est disponvel somente para o cliente atual. Obtm o tamanho atual do objeto compartilhado, em bytes.

SharedObject.flush()

SharedObject.getLocal()

SharedObject.getSize()

Resumo das propriedades do objeto SharedObject


Propriedade (somente 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


Identificador de eventos
SharedObject.onStatus()

Descrio Chamado sempre que um erro, aviso ou nota informativa postado para o objeto compartilhado.

Construtor para a classe SharedObject Para obter mais informaes sobre como criar objetos locais compartilhados, consulte
SharedObject.getLocal().

Objetos de informaes SharedObject A classe SharedObject fornece um manipulador de eventos onStatus que utiliza um objeto de informaes 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 do mtodo onStatus especfico, o Flash tambm fornece uma funo super chamada system.onStatus. Se onStatus for chamado para um determinado objeto e no houver funo atribuda para resposta, o Flash processar uma funo atribuda a system.onStatus, se esta existir. O exemplo a seguir ilustra como voc pode criar funes para processar objetos de informaes enviados pelo mtodo onStatus.
// Crie uma funo genrica system.onStatus = function(genericError) { // Seu script faria algo mais significativo aqui trace("Ocorreu um erro. Tente novamente."); };

Classe SharedObject

673

Por padro, todo objeto de informaes possui uma propriedade code que contm uma seqncia de caracteres descrevendo o resultado do mtodo onStatus e uma propriedade class contendo uma seqncia de caracteres "status", "warning" ou "error". Alguns objetos de informaes apresentam outras propriedades padro, que fornecem mais informaes sobre o motivo pelo qual onStatus foi chamado, como exibido na tabela a seguir:
Propriedade Code Proprie- Significado dade Class Error Um comando SharedObject.flush() que retornou "pending" (pendente) apresentou falha (o usurio no alocou mais espao em disco para o objeto compartilhado). Um comando SharedObject.flush() que retornou "pending" (pendente) foi concludo com sucesso (o usurio alocou mais espao em disco para o objeto compartilhado).

SharedObject.Flush.Failed

SharedObject.Flush.Success

Status

SharedObject.clear()
Disponibilidade

Flash Player 7.
Uso my_so.clear() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; elimina todos os dados do objeto compartilhado e o exclui do disco. A referncia a my_so ainda est ativa e my_so est vazio agora.

674

Captulo 12: Dicionrio do ActionScript

SharedObject.data
Disponibilidade

Flash Player 6.
Uso myLocalSharedObject.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:
itemsArray = new Array(101,346,483); currentUserIsAdmin = true; currentUserName = "Maria"; so.data.itemNumbers = itemsArray; so.data.adminPrivileges = currentUserIsAdmin; so.data.userName = currentUserName;

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 = someValue; 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 compartilhadovalores disponveis somente para a instncia do cliente enquanto o objeto estiver em uso e que no so armazenados com o objeto quando este fechadocrie propriedades que no sejam data para armazen-las, conforme mostrado no exemplo a seguir.
so.favoriteColor = "azul"; so.favoriteNightClub = "The Bluenote Tavern"; so.favoriteSong = "Azul";

Exemplo

O exemplo a seguir define o fluxo atual para a seleo do usurio.


curStream = _root.so.data.msgList[selected].streamName; Consulte tambm

Classe Sound

SharedObject.data

675

SharedObject.flush()
Disponibilidade

Flash Player 6.
Uso myLocalSharedObject.flush([minimumDiskSpace]) Parmetros minimumDiskSpace 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 a


quantidade de espao alocado for suficiente para armazenar o objeto, o mtodo retornar true. Se voc passou um valor para minimumDiskSpace, a quantidade de espao alocada deve ser pelo menos igual a esse valor para que retorne true. Se o usurio permitir o armazenamento de informaes locais para objetos desse domnio, mas a quantidade de espao alocado no for suficiente para armazenar o objeto, o mtodo retornar "pending" (pendente). Se o usurio negar permanentemente o armazenamento local de informaes para 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 persistente em um arquivo local. Se voc no usar este mtodo, o Flash gravar o objeto compartilhado em um arquivo ao fim de sua sesso, isto , quando o arquivo SWF for fechado, o objeto compartilhado for jogado no lixo por no conter mais referncias ou voc chamar o SharedObject.data. Se o mtodo retornar "pending", o Flash Player exibir uma caixa de dilogo solicitando que o usurio aumente a quantidade de 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 minimumDiskSpace. Quando o Flash tentar gravar o arquivo, procurar o nmero de bytes passados para minimumDiskSpace, 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 minimumDiskSpace. Se o Flash solicitar que o usurio aloque espao no disco para o objeto compartilhado, solicitar 500 bytes. Aps o usurio alocar a quantidade solicitada de espao, o Flash no precisar solicitar mais espao em tentativas futuras para aprovar o objeto (contanto que seu tamanho no ultrapasse 500 bytes). Aps o usurio responder a uma caixa de dilogo, o 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. Para obter mais informaes, consulte Consideraes sobre o espao do disco local na pgina 671.

676

Captulo 12: Dicionrio do ActionScript

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.mydomain.com/app/sys"); // ndice da lista de configuraes var i; // Para cada valor especificado nas configuraes: // Se valor de override true, a persistncia definida pelo valor fornecido. // Se o valor de override false, busca a definio da persistncia, a menos que // no exista. Neste 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); }

SharedObject.flush()

677

SharedObject.getLocal()
Disponibilidade

Flash Player 6.
Uso SharedObject.getLocal(objectName [, localPath]) Observao: A sintaxe correta SharedObject.getLocal. Para atribuir o objeto a uma varivel, use uma sintaxe como myLocalSO = SharedObject.getLocal. Parmetros objectName enderecos

Nome do objeto. O nome pode incluir barras (/); por exemplo, trabalho/ um nome adequado. No permitido incluir espaos no nome do objeto compartilhado, bem como os seguintes caracteres:
" ' , < > ? #

~ % & \ ; : localPath

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 localPath foi especificado mas tal diretrio no existir), o mtodo retornar null.
Descrio

Mtodo; retorna uma referncia a um objeto compartilhado persistente 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 SWF em www.myCompany.com/apps/ stockwatcher.swf criar um objeto compartilhado chamado portfolio, no haver conflito com outro objeto chamado portfolio criado por um SWF em www.yourCompany.com/ photoshoot.swf, porque os SWFs pertencem a dois diretrios diferentes.

678

Captulo 12: Dicionrio do ActionScript

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); }

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.getLocal()

679

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();

SharedObject.onStatus()
Disponibilidade

Flash Player 6.
Uso myLocalSharedObject.onStatus = function(infoObject) { // seus comandos vo aqui } Parmetros infoObject 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.
Consulte tambm SharedObject.getLocal()

680

Captulo 12: Dicionrio do ActionScript

Classe Sound
Disponibilidade

Flash Player 5.
Descrio

A classe Sound permite controlar o som em um filme. possvel adicionar sons a um clipe de filme da biblioteca enquanto o filme estiver sendo reproduzido e controlar esses sons. 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 a quantidade de cada canal, esquerdo e direito, a ser reproduzido 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 do objeto 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.

Classe Sound

681

Resumo dos manipuladores de eventos da classe Sound


Identificador de eventos
Sound.onID3 Sound.onLoad Sound.onSoundComplete

Descrio Chamado sempre que novos dados ID3 so disponibilizados. Chamado quando um som carregado. Chamado quando a reproduo de um som interrompida.

Construtor para a 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 uma nova instncia do objeto Sound chamada global_sound. A segunda linha chama setVolume() e ajusta o volume de todos os sons do filme em 50%.
global_sound = new Sound(); global_sound.setVolume(50);

O exemplo a seguir cria uma nova instncia do objeto Sound, passa para ela o clipe de filme de destino my_mc e chama o mtodo start que inicia qualquer som em my_mc.
movie_sound = new Sound(my_mc); movie_sound.start();

682

Captulo 12: Dicionrio do ActionScript

Sound.attachSound()
Disponibilidade

Flash Player 5.
Uso my_sound.attachSound("idName") Parmetros idName

Identificador na biblioteca de um som exportado. O identificador est localizado na caixa de dilogo Linkage Properties (Propriedades de vinculao). Nada.

Retorna

Descrio

Mtodo; anexa o som especificado no parmetro Nome_id 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 certificar-se de que o som possa ser controlado a partir de qualquer cena do arquivo SWF, coloque-o na Timeline (Linha de tempo) do SWF.

Sound.duration
Disponibilidade

Flash Player 6.
Uso my_sound.duration Descrio

Propriedade (somente de leitura); a durao de um som em milissegundos.

Sound.duration

683

Sound.getBytesLoaded()
Disponibilidade

Flash Player 6.
Uso my_sound.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 my_sound.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()

684

Captulo 12: Dicionrio do ActionScript

Sound.getPan()
Disponibilidade

Flash Player 5.
Uso my_sound.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 my_sound.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 do som do objeto Sound especificado na ltima chamada Sound.setTransform().

Sound.getTransform()

685

Sound.getVolume()
Disponibilidade

Flash Player 5.
Uso my_sound.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.ID3
Disponibilidade

Flash Player 6; comportamento atualizado no Flash Player 7.


Observao: O Flash Player 6 verso 40 e posteriores usam a propriedade Sound.id3 para suportar tags ID3v1 e ID3v1.1. O Flash Player 7 inclui o suporte para tags ID3v2, especificamente v2.3 e v2.4. Para compatibilidade com verses anteriores, h suporte para Sound.id3 e Sound.ID3. Uso my_sound.ID3 Descrio

Propriedade (somente de leitura); fornece acesso aos metadados que compem um arquivo MP3. Os arquivos de som MP3 podem conter tags ID3, que fornecem metadados sobre o arquivo. Se um som MP3 que voc carregar usar Sound.attachSound() ou Sound.loadSound() contiver tags ID3, voc pode consultar essas propriedades. Somente tags ID3 que utilizam o conjunto de caracteres UTF-8 so suportadas. A tabela a seguir lista as tags ID3v2 padro e o tipo de contedo que as tags representam; consulte-as no formato my_sound.ID3.COMM, my_sound.ID3.TIME e assim por diante. Arquivos MP3 podem conter tags diferentes daquelas contidas na tabela; Sound.ID3 tambm fornece acesso quelas tags.

686

Captulo 12: Dicionrio do ActionScript

Propriedade
COMM TALB TBPM TCOM TCON TCOP TDAT TDLY TENC TEXT TFLT TIME TIT1 TIT2 TIT3 TKEY TLAN TLEN TMED TOAL TOFN TOLY TOPE TORY TOWN TPE1 TPE2 TPE3 TPE4 TPOS TPUB TRCK TRDA

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 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

Sound.ID3

687

Propriedade
TRSN TRSO TSIZ TSRC TSSE TYER WXXX

Descrio 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 para vrias tags ID3v1. Se o arquivo MP3 no possuir essas tags mas tiver tags ID3v2 correspondentes, estas sero copiadas para as propriedades IDv1 conforme apresentado na tabela a seguir. Esse processo fornece compatibilidade reversa com scripts j gravados que lem propriedades ID3v1.
Tag ID3v2
COMM TALB TCON TIT2 TPE1 TRCK TYER

Propriedade ID3v1 correspondente


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()

688

Captulo 12: Dicionrio do ActionScript

Sound.loadSound()
Disponibilidade

Flash Player 6.
Uso my_sound.loadSound("url", isStreaming) 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

isStreaming Valor evento (false). Retorna

Nada.
Descrio

Mtodo; carrega um arquivo MP3 em um objeto Sound. possvel usar o parmetro isSteaming 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.
Exemplo

O exemplo a seguir carrega um evento de som:


my_sound.loadSound( "http://serverpath:port/mp3filename", false);

O exemplo a seguir carrega um fluxo de som:


my_sound.loadSound( "http://serverpath:port/mp3filename", true); Consulte tambm Sound.onLoad

Sound.loadSound()

689

Sound.onID3
Disponibilidade

Flash Player 7.
Uso my_sound.onID3 = function(){ // seus comandos vo aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado sempre que novos dados ID3 esto disponveis para um MP3 que voc carrega usando Sound.attachSound() ou Sound.loadSound(). Esse manipulador fornece acesso aos dados ID3 sem realizar polling (consultas). Se ambas as tags ID3v1 e ID3v2 estiverem presentes em um arquivo, esse manipulador ser chamado duas vezes.
Exemplo

O exemplo a seguir apresenta as propriedades ID3 de song.mp3 no painel Output (Sada).


my_sound = new Sound(); my_sound.onID3 = function(){ for( var prop in my_sound.ID3 ){ trace( prop + " : "+ my_sound.ID3[prop] ); } } my_sound.loadSound("song.mp3", false); Consulte tambm Sound.attachSound(), Sound.ID3, Sound.loadSound()

690

Captulo 12: Dicionrio do ActionScript

Sound.onLoad
Disponibilidade

Flash Player 6.
Uso my_sound.onLoad = function(success){ // seus comandos vo aqui } Parmetros success

Um valor booleano true se my_sound tiver sido carregado com sucesso, caso contrrio,

false.
Retorna

Nada.
Descrio

Identificador 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, consulte Sound.onSoundComplete). Defina esse manipulador antes de chamar my_sound.loadSound().
Consulte tambm Sound.loadSound()

Sound.onLoad

691

Sound.onSoundComplete
Disponibilidade

Flash Player 6.
Uso my_sound.onSoundComplete = function(){ // seus comandos vo 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:


my_sound = new Sound(); my_sound.attachSound("mySoundID"); my_sound.onSoundComplete = function() { trace("mySoundID concludo"); } my_sound.start();

Uso 2: O exemplo a seguir usa uma funo com nome:


function callback1() { trace("mySoundID concludo"); } my_sound = new Sound(); my_sound.attachSound("mySoundID"); my_sound.onSoundComplete = callback1; my_sound.start(); Consulte tambm Sound.onLoad

692

Captulo 12: Dicionrio do ActionScript

Sound.position
Disponibilidade

Flash Player 6.
Uso my_sound.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 my_sound.setPan(balano); Parmetros pan

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, pan determina o alto-falante (esquerdo ou direito) pelo qual o som passa.
Exemplo

O exemplo a seguir cria um objeto Sound chamado my_sound 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 my_sound = new Sound(this); // anexa um som da biblioteca my_sound.attachSound("L7"); //define o volume como 50% my_sound.setVolume(50); //desliga o som no canal direito my_sound.setPan(-100); //inicia 30 segundos no som e o reproduz 5 vezes my_sound.start(30, 5); Consulte tambm Sound.attachSound(), Sound.setPan(), Sound.setTransform(), Sound.setVolume(), Sound.start()

Sound.setPan()

693

Sound.setTransform()
Disponibilidade

Flash Player 5.
Uso my_sound.setTransform(soundTransformObject) Parmetros soundTransformObject Retorna

Um Objeto criado com o construtor para a classe Object genrica.

Nada.
Descrio

Mtodo; define as informaes de transformao ou de distribuio do som de um objeto Sound. O parmetro soundTransformObject 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 quantidade considervel de espao em disco e memria. 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 adicionar efeitos de som interessantes. Os parmetros do soundTransformObject so os seguintes:
11 Uma porcentagem que especifica a quantidade de som do canal esquerdo a ser reproduzida no alto-falante esquerdo (de 0 a 100). lr Uma porcentagem que especifica a quantidade de som do canal direito a ser reproduzida no alto-falante esquerdo (0100). rr Uma porcentagem que especifica a quantidade de som do canal direito a ser reproduzida no alto-falante direito (0100). rl Uma porcentagem que especifica a quantidade de som do canal esquerdo a ser reproduzida no alto-falante direito (0100).

O resultado lquido dos parmetros representado pela seguinte frmula:


leftOutput = left_input * ll + right_input * lr rightOutput = right_input * rr + left_input * rl

Os valores para left_input ou right_input so determinados pelo tipo (estreo ou mono) do som do arquivo SWF.

694

Captulo 12: Dicionrio do ActionScript

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

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 soundTransformObject e define suas propriedades para que o som de ambos os canais seja reproduzido somente no canal esquerdo.
mySoundTransformObject = new Object; mySoundTransformObject.ll = 100; mySoundTransformObject.lr = 100; mySoundTransformObject.rr = 0; mySoundTransformObject.rl = 0;

Para aplicar o objeto soundTransformObject a um objeto Sound, necessrio passar o objeto para Sound usando o mtodo setTransform() da seguinte maneira:
my_sound.setTransform(mySoundTransformObject);

O exemplo a seguir reproduz um som estreo como mono; soundTransformObjectMono tem os seguintes parmetros:
mySoundTransformObjectMono = new Object; mySoundTransformObjectMono.ll = 50; mySoundTransformObjectMono.lr = 50; mySoundTransformObjectMono.rr = 50; mySoundTransformObjectMono.rl = 50; my_sound.setTransform(soundTransformObjectMono);

Este exemplo reproduz o canal esquerdo na metade de sua capacidade e adiciona o restante do canal esquerdo ao canal direito; soundTransformObjectHalf tem os seguintes parmetros:
mySoundTransformObjectHalf = new Object; mySoundTransformObjectHalf.ll = 50; mySoundTransformObjectHalf.lr = 0; mySoundTransformObjectHalf.rr = 100; mySoundTransformObjectHalf.rl = 50; my_sound.setTransform(soundTransformObjectHalf); Consulte tambm

Classe Object

Sound.setTransform()

695

Sound.setVolume()
Disponibilidade

Flash Player 5.
Uso my_sound.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; my_sound = new Sound(); my_sound.setVolume(50); } onClipEvent (enterFrame) { if (i <= 100) { my_sound.setPan(i++); } } Consulte tambm Sound.setPan(), Sound.setTransform()

696

Captulo 12: Dicionrio do ActionScript

Sound.start()
Disponibilidade

Flash Player 5.
Uso my_sound.start([secondOffset, loop]) Parmetros secondOffset

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 secondOffset. O som no atrasado 15 segundos; em vez disso, ele inicia a sua reproduo na marca de 15 segundos. Um parmetro opcional que permite especificar quantas vezes o som deve ser reproduzido consecutivamente.

loop

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 secondOffset.
Consulte tambm Sound.stop()

Sound.stop()
Disponibilidade

Flash Player 5.
Uso my_sound.stop(["nomeId"]) Parmetros Nome_id

Uma parmetro opcional que especifica a interrupo da reproduo de determinado som. O parmetro Nome_id deve ser colocado entre aspas (" ").

Retorna

Nada.
Descrio

Mtodo; interrompe todos os sons em reproduo no momento se nenhum parmetro estiver especificado, ou somente o som especificado no parmetro Nome_id.
Consulte tambm Sound.start()

Sound.stop()

697

_soundbuftime
Disponibilidade

Flash Player 4.
Uso _soundbuftime = integer Parmetros integer 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 o SWF redimensionado.

Stage.removeListener() Remove um objeto ouvinte do objeto Stage.

Resumo das propriedades do objeto Stage


Propriedade
Stage.align Stage.height Stage.scaleMode Stage.showMenu

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 Context (Contexto) do Flash Player. Largura do objeto Stage, em pixels.

Stage.width

698

Captulo 12: Dicionrio do ActionScript

Resumo do manipulador de eventos do objeto Stage


Identificador de eventos
Stage.onResize

Descrio Chamado quando Stage.scaleMode definido como "noScale" e o SWF redimensionado.

Stage.addListener()
Disponibilidade

Flash Player 6.
Uso Stage.addListener(meu_Ouvinte) Parmetros myListener Objeto Stage.onResize. Retorna

que ouve uma notificao de retorno de chamada do evento

Nada.
Descrio = "noScale"

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).

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 meu_Ouvinte. Em seguida, usa meu_Ouvinte para chamar onResize e define uma funo que ser chamada quando onResize for ativado. Finalmente, o cdigo adiciona o objeto meu_Ouvinte lista de retorno de chamada do objeto Stage. Os objetos ouvintes permitem que vrios objetos ouam notificaes de redimensionamento.
myListener = new Object(); myListener.onResize = function () { ... } Stage.scaleMode = "noScale" Stage.addListener(meu_Ouvinte); Consulte tambm Stage.onResize, Stage.removeListener()

Stage.addListener()

699

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 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 a propriedade Stage.noScale tem o valor true, height representa a altura do Flash Player. Quando o valor Stage.noScale false (o SWF dimensionado quando a janela do exibidor redimensionada), height representa a altura do arquivo SWF.

700

Captulo 12: Dicionrio do ActionScript

Stage.onResize
Disponibilidade

Flash Player 6.
Uso myListener.onResize = function(){ // seus comandos vo aqui } Parmetros

Nenhum.
Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; chamado quando Stage.scaleMode configurado como "noScale" e o SWF redimensionado. possvel usar este manipulador de eventos para escrever uma funo que disponha os objetos no Stage (Palco) quando um SWF for redimensionado.
Exemplo Stage.scaleMode = "noScale" myListener = new Object(); myListener.onResize = function () { trace("O tamanho do palco agora " + Stage.width + " por " + Stage.height); } Stage.addListener(meu_Ouvinte); // depois, chama Stage.removeListener(myListener) Consulte tambm Stage.addListener(), Stage.removeListener()

Stage.onResize

701

Stage.removeListener()
Disponibilidade

Flash Player 6.
Uso Stage.removeListener(meu_Ouvinte) Parmetros myListener Um addListener(). Retorna

objeto adicionado 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 = "value" Descrio

Propriedade; indica o dimensionamento atual do filme do arquivo SWF dentro do Stage. A propriedade scaleMode impe um modo de dimensionamento especfico para o SWF. Como padro, o SWF usa os parmetros HTML definidos na caixa de dilogo Publish Settings (Configuraes de publicao).
"noScale".

A propriedade scaleMode pode usar os valores "exactFit", "showAll", "noBorder" e Qualquer outro valor define a propriedade scaleMode como o padro "showAll".

702

Captulo 12: Dicionrio do ActionScript

Stage.showMenu
Disponibilidade

Flash Player 6.
Uso Stage.showMenu Descrio

Propriedade (leitura-gravao); especifica se os itens padro sero exibidos ou ocultados no menu Context do Flash Player. Se showMenu for definido como true (o padro), todos os itens do menu contextual 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.noScale true, a propriedade width representa a largura do exibidor. Quando o valor de Stage.noScale false (o SWF ser dimensionado quando a janela do exibidor for redimensionada), width representa a largura do arquivo SWF.

Stage.width

703

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 pela primeira vez no clipe de filme (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 permanecer arrastvel at que explicitamente esta caracterstica seja cancelada por uma chamada stopDrag() ou at que uma ao startDrag() para outro clipe de filme seja chamada.
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()

704

Captulo 12: Dicionrio do ActionScript

static
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 6.
Uso Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2 e Flash Player 6 ou Flash Player 7 na guia Flash da caixa de dilogo Publish Settings do arquivo FLA. Essa palavrachave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). Descrio

Para obter mais informaes, consulte Membros de instncias e classes na pgina 169.

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.

stop()

705

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 "em streaming" 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

706

Captulo 12: Dicionrio do ActionScript

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 my_mc quando o usurio libera o boto do mouse:
on(press){ startDrag("my_mc"); } on (release) { stopdrag(); } Consulte tambm MovieClip._droptarget, MovieClip.stopDrag(), startDrag()

stopDrag()

707

" " (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 consideradas como uma seqncia de caracteres, e no como varivel, valor numrico ou outro elemento do ActionScript.
Exemplo

Este exemplo usa aspas para indicar que o valor da varivel yourGuess a seqncia de caracteres literal Prince Edward Island e no o nome de uma varivel. O valor province uma varivel, e no uma literal; para determinar o valor de province, necessrio localizar o valor de yourGuess.
yourGuess = "Prince Edward Island"; on (release) { estado = seuPalpite; trace(estado); } // Mostra Santa Catarina no Painel Output (sada) Consulte tambm

Classe String, String()

708

Captulo 12: Dicionrio do ActionScript

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 primitivo de seqncia de caracteres e fornece mtodos e propriedades que permitem manipular valores do tipo primitivo de seqncias de caracteres. 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 so baseados em zero, o ndice do ltimo caractere para qualquer seqncia x o seguinte:
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 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.

Classe String

709

Mtodo
String.lastIndexOf()

Descrio Retorna a posio da ltima ocorrncia de uma subseqncia de caracteres especificada. Extrai uma seo de uma seqncia de caracteres e retorna uma nova seqncia de caracteres. Divide um objeto String em uma matriz 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.slice()

String.split()

String.substr()

String.substring() String.toLowerCase()

String.toUpperCase()

Resumo das propriedades do objeto String


Propriedade
String.length

Descrio Um inteiro diferente de zero especificando o nmero de caracteres do objeto String determinado.

Construtor para a 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)

710

Captulo 12: Dicionrio do ActionScript

String.charAt()
Disponibilidade

Flash Player 5.
Uso my_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 my_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, e no um cdigo de caractere inteiro de 16 bits.
Exemplo

No exemplo a seguir, o mtodo chamado na primeira letra da seqncia de caracteres "Cris".


my_str = new String("Cris"); i = my_str.charCodeAt(0); // i = "C"

String.charAt()

711

String.charCodeAt()
Disponibilidade

Flash Player 5.
Uso my_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 my_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, e no um caractere.
Exemplo

No exemplo a seguir, o mtodo chamado na primeira letra da seqncia de caracteres "Cris".


my_str = new String("Cris"); i = my_str.charCodeAt(0); // i = 67

String.concat()
Disponibilidade

Flash Player 5.
Uso my_str.concat(value1,...valueN) 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, my_str, inalterado.

712

Captulo 12: Dicionrio do ActionScript

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.


address_str = "cachorro" + String.fromCharCode(64) + "casa.net"; trace(address_str); // cachorro@casa.net

String.indexOf()
Disponibilidade

Flash Player 5.
Uso my_str.indexOf(substring, [startIndex]) Parmetros substring

Um inteiro ou uma seqncia de caracteres que especifica a subseqncia de caracteres a ser procurada em my_str. Um inteiro opcional que especifica o ponto inicial em my_str para pesquisar a subseqncia de caracteres.

startIndex

Retorna

Posio da primeira ocorrncia de uma substring determinada ou -1.


Descrio

Mtodo; pesquisa a seqncia de caracteres e retorna a posio da primeira ocorrncia da substring encontrada em ou aps startIndex dentro da seqncia de caracteres da chamada. Se a subseqncia de caracteres no for encontrada, o mtodo retorna -1.
Consulte tambm String.lastIndexOf()

String.indexOf()

713

String.lastIndexOf()
Disponibilidade

Flash Player 5.
Uso my_str.lastIndexOf(substring, [startIndex]) Parmetros subseqncia de caracteres

Um inteiro ou seqncia de caracteres que especifica a que especifica o ponto inicial para procurar uma

seqncia a ser procurada.


startIndex Um inteiro opcional subseqncia de caracteres. Retorna

Posio da ltima ocorrncia de uma substring determinada ou -1.


Descrio

Mtodo; procura a seqncia de caracteres da direita para a esquerda e retorna o ndice da ltima ocorrncia de subseqncia de caracteres localizada antes de incio_ndice na seqncia de caracteres de chamada. Se a subseqncia de caracteres no for encontrada, o mtodo retorna -1.
Consulte tambm String.indexOf()

String.length
Disponibilidade

Flash Player 5.
Uso my_str.length Descrio

Propriedade; um inteiro baseado em um nmero diferente de zero especificando o nmero de caracteres do objeto String especificado.

714

Captulo 12: Dicionrio do ActionScript

String.slice()
Disponibilidade

Flash Player 5.
Uso my_str.slice(incio, [fim]) Parmetros incio

Um nmero que especifica o ndice do ponto inicial da fatia. Se incio for um nmero negativo, o ponto inicial determinado a partir do final da seqncia de caracteres, onde -1 o ltimo caractere.

Um nmero que especifica o ndice do ponto final da fatia. Se fim no for especificado, a fatia incluir todos os caracteres do incio ao fim da seqncia de caracteres. Se fim for um nmero negativo, o ponto final determinado a partir do final da seqncia de caracteres, onde -1 o ltimo caractere.
fim Retorna

Uma subseqncia de caracteres da seqncia especificada.


Descrio

Mtodo; extrai uma fatia, ou subseqncia de caracteres, do objeto String especificado; em seguida, retorna-a como uma nova seqncia, sem modificar o objeto String original. A seqncia de caracteres retornada inclui o caractere de incio e todos os caracteres at (mas no incluindo) o caractere de fim.
Exemplo

O exemplo a seguir define uma varivel, text, cria um objeto String, my_str e passa-o para a varivel text. O mtodo slice() extrai uma seo da seqncia de caracteres contida na varivel e trace() a envia para o painel Output (sada).
text = "Lexington"; my_str = new String( text ); trace(my_str.slice( 1, 3 )); // "ex" trace(my_str); // "Lexington"

O cdigo a seguir produz o mesmo resultado, mas o parmetro passado para o construtor new String uma seqncia de caracteres em vez de uma varivel.
my_str = new String( "Lexington" ); trace(my_str.slice( 1, 3 )); // "ex" trace(my_str); // "Lexington"

String.slice()

715

String.split()
Disponibilidade

Flash Player 5.
Uso my_str.split("delimitador", [limite]) Parmetros delimitador limite Retorna

Caractere ou a seqncia de caracteres em que my_str dividido.

O nmero de itens que devem ser colocados na matriz. Este parmetro opcional.

Um array que contm as subseqncias de caracteres de my_str.


Descrio

Mtodo; divide um objeto String em subseqncias de caracteres quebrando-o sempre que o parmetro delimitador especificado ocorre e retorna as subseqncias de caracteres em uma matriz. Se for usada uma seqncia de caracteres vazia ("") como delimitador, cada caractere na seqncia ser colocado como um elemento na matriz, como no cdigo a seguir.
my_str = "Jos"; i = my_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 da matriz retornada.
Exemplo

O exemplo a seguir retorna uma matriz com cinco elementos.


my_str = "P, A, T, S, Y"; my_str.split(",");

Este exemplo retorna um array com dois elementos: "P" e "A".


my_str.split(",", 2);

716

Captulo 12: Dicionrio do ActionScript

String.substr()
Disponibilidade

Flash Player 5.
Uso my_str.substr(incio, [compr]) Parmetros incio

Um inteiro que indica a posio do primeiro caractere em my_str a ser usado para criar a subseqncia de caracteres. Se incio for um nmero negativo, a posio inicial determinada a partir do final da seqncia de caracteres, onde -1 o ltimo caractere.
tamanho O nmero de caracteres na subseqncia de caracteres que est sendo criada. Se tamanho no for especificado, a subseqncia de caracteres inclui 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 my_str. Ele retorna uma nova seqncia de caracteres.

String.substr()

717

String.substring()
Disponibilidade

Flash Player 5.
Uso my_str.substring(de, [at]) Parmetros de

Um inteiro que indica a posio do primeiro caractere de my_str, usado para criar a subseqncia de caracteres. Os valores vlidos para de vo de 0 a String.length - 1. Se de for um valor negativo, 0 ser usado. Um inteiro que 1+ o ndice do ltimo caractere em my_str a ser extrado. Os valores vlidos referentes a at vo de 1 a String.length. O caractere indexado pelo parmetro para 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.
at

Retorna

Uma seqncia de caracteres.


Descrio

Mtodo; retorna uma seqncia de caracteres que consiste nos caracteres entre os pontos especificados pelos parmetros de e para. Se o parmetro to no for especificado, o fim da subseqncia de caracteres ser o fim da seqncia de caracteres. Se o valor referente a de for igual ao valor referente a para, o mtodo retornar uma seqncia de caracteres vazia. Se o valor referente a de for maior que o valor referente a para, os parmetros sero trocados automaticamente antes de a funo ser executada e o valor original ser inalterado.

String.toLowerCase()
Disponibilidade

Flash Player 5.
Uso my_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.

718

Captulo 12: Dicionrio do ActionScript

String.toUpperCase()
Disponibilidade

Flash Player 5.
Uso my_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.

String()
Disponibilidade

Flash Player 4.
Uso String(expresso) Parmetros expresso Retorna

Expresso para converter em uma seqncia de caracteres.

Uma seqncia de caracteres.


Descrio

Funo; retorna uma representao de seqncia de caracteres do parmetro especificado da seguinte maneira: Se expresso for um valor Booleano, a seqncia de caracteres retornada ser true ou false. 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 da seqncia referente ao objeto ou pela chamada de Object.toString(), se tal propriedade Object.toString() no existir. Se expresso for um clipe de filme, o valor de retorno ser o caminho de destino do clipe de filme em notao de barra (/). Se expresso for undefined, o valor de retorno ser uma seqncia de caracteres vazia ("").

String()

719

Consulte tambm Number.toString(), Object.toString(), de caracteres)

Classe String, " " (delimitador de seqncia

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 baseia-se em 1, enquanto os mtodos do objeto String baseiam-se em 0.
Consulte tambm String.substr()

720

Captulo 12: Dicionrio do ActionScript

super
Disponibilidade

Flash Player 6.
Uso super.method([arg1, ..., argN]) super([arg1, ..., argN]) Parmetros method 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.
Exemplo

O exemplo a seguir cria duas classes, ClassePai e ClasseFilha, e define um mtodo chamado metodo() para cada classe. Cada definio de mtodo tem uma trace() que envia uma mensagem para o painel Output (Sada). A penltima linha do cdigo cria um objeto ClasseFilha e a ltima linha chama seu mtodo metodo().
function ParentClass() { } ParentClass.prototype.method = function () { trace("ParentClass implementation of method"); }; function ChildClass() { } ChildClass.prototype = new ParentClass(); ChildClass.prototype.method = function () { trace("ChildClass implementation of method"); super.method(); }; x = new ChildClass(); x.method();

super

721

O seguinte exibido no painel Output (sada):


ChildClass implementation of method ParentClass implementation of method

O exemplo a seguir passa parmetros para o super construtor:


function SuperClass(arg){ trace("Construtor de SuperClass foi passado para " + arg); } function SubClass(arg){ super(arg); trace("Construtor de SubClass"); } SubClass.prototype = new SuperClass(); x = new SubClass("teste");

switch
Disponibilidade

Flash Player 4.
Uso switch (expresso){ caseClause: [defaultClause:] } Parmetros expresso

Qualquer expresso.

caseClause Uma palavra-chave case seguida de uma expresso, dois-pontos e um grupo de comandos para serem executados se a expresso corresponder ao parmetro expresso de troca usando igualdade estrita (===). defaultClause

Uma palavra-chave default seguida de comandos para serem executados se nenhuma das expresses com diferenciao de maisculas e minsculas corresponder ao parmetro expresso de troca usando igualdade estrita (===).

Retorna

Nada.
Descrio

Comando; cria uma estrutura ramificada para comandos do ActionScript. Como a ao if, a ao switch testa uma condio e executa comandos se a condio retornar um valor true.

722

Captulo 12: Dicionrio do ActionScript

Exemplo

No exemplo a seguir, se o parmetro number for avaliado como 1, a ao trace() seguinte a case 1 ser executada; se o parmetro number for avaliado como 2, a ao trace() seguinte a case 2 ser executada e assim por diante. Se nenhuma expresso case corresponder ao parmetro number, a ao trace() seguinte palavra-chave default ser executada.
switch (number) { case 1: trace ("case 1 break; case 2: trace ("case 2 break; case 3: trace ("case 3 break; default: trace ("Nenhum } testado verdadeiro"); testado verdadeiro"); testado verdadeiro"); case testado verdadeiro")

No exemplo a seguir, no h uma quebra no primeiro grupo case, portanto, se o nmero for 1, A e B sero enviados para o painel Output (Sada):
switch (number) { 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 uma classe de alto nvel que contm o objeto capabilities (consulte System.capabilities object), o mtodo System.security.allowDomain(), o mtodo System.showSettings() e a propriedade System.useCodepage). Use a classe System para obter acesso a esses objetos e suas propriedades. Por exemplo, o cdigo a seguir verifica se um sistema tem recursos de udio:
if(System.capabilities.hasAudio) { // reproduz um som } else { // exibe uma mensagem }

Classe System

723

System.capabilities object
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 SWFs com base nos recursos disponveis 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 ACC

System.capabilities.hasAccessibility

Indica se o exibidor est sendo executado em um sistema que suporta comunicao entre o Flash Player e auxlios de acessibilidade.

System.capabilities.hasAudio

A Indica se o exibidor est sendo executado em um sistema com recursos de udio. Indica se o exibidor est sendo executado em um sistema que pode codificar fluxo de udio, como o que vem de um microfone. 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. Indica se o exibidor est sendo executado em um sistema que suporta impresso. AE

System.capabilities.hasAudioEncoder

System.capabilities.hasEmbeddedVideo

EV

System.capabilities.hasMP3

MP3

System.capabilities.hasPrinting

PR

724

Captulo 12: Dicionrio do ActionScript

Propriedade

Descrio

Seqncia de caracteres do servidor SB

System.capabilities.hasScreenBroadcast Indica se o exibidor suporta o

desenvolvimento de aplicativos de transmisso por tela a serem executados atravs do Flash Communication Server.
System.capabilities.hasScreenPlayback

Indica se o exibidor suporta a reproduo de aplicativos de transmisso por tela que esto sendo executados atravs do Flash Communication Server. Indica se o exibidor pode reproduzir udio de fluxo. Indica se o exibidor pode reproduzir vdeo de fluxo.

SP

System.capabilities.hasStreamingAudio

SA SV

System.capabilities.hasStreamingVideo

System.capabilities.hasVideoEncoder

VE 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 DEB ou uma verso de depurao especial. Indica o idioma do sistema no qual o exibidor est sendo executado. 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. Indica se a tela colorida, preto-ebranco ou em tons de cinza. Indica os pontos por polegada da resoluo de tela, em pixels. Indica o tamanho horizontal da tela. Indica o tamanho vertical da tela. L M OS AR PT COL DP R R

System.capabilities.isDebugger

System.capabilities.language

System.capabilities.manufacturer System.capabilities.os

System.capabilities.pixelAspectRatio System.capabilities.playerType

System.capabilities.screenColor

System.capabilities.screenDPI

System.capabilities.screenResolutionX System.capabilities.screenResolutionY

System.capabilities.securityLimits.avH Somente leitura; especifica se a cmera AVD ardwareDisable e o microfone do usurio esto ativados

ou desativados.
System.capabilities.securityLimits.loc Somente leitura; especifica se o exibidor LFD alFileReadDisable tentar ler algo (incluindo o primeiro

arquivo SWF com o qual iniciado) no disco rgido do usurio.

System.capabilities object

725

Propriedade

Descrio

Seqncia de caracteres do servidor N/A

System.capabilities.serverString

Uma seqncia de caracteres com codificao tipo URL que especifica valores para cada propriedade de System.capabilities.

System.capabilities.version

Uma seqncia de caracteres contendo V informaes sobre a verso e plataforma do Flash Player.

System.capabilities.hasAccessibility
Disponibilidade

Flash Player 6.
Uso System.capabilities.hasAccessibility Descrio

Propriedade; valor booleano que indica se o exibidor est sendo executado em um sistema que suporta comunicao entre o Flash Player e auxlios de acessibilidade. A seqncia de caracteres do servidor ACC.
Consulte tambm Accessibility.isActive(), Accessibility.updateProperties(), _accProps

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.

726

Captulo 12: Dicionrio do ActionScript

System.capabilities.hasAudioEncoder
Disponibilidade

Flash Player 7.
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 7.
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.

System.capabilities.hasPrinting
Disponibilidade

Flash Player 7.
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.hasPrinting

727

System.capabilities.hasScreenBroadcast
Disponibilidade

Flash Player 7.
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 7.
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 7.
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.hasStreamingVideo
Disponibilidade

Flash Player 7.
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.

728

Captulo 12: Dicionrio do ActionScript

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.

System.capabilities.isDebugger

729

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 xu pl pt ru zh

Pases e tags suportados

Repblica Popular da China (Chins Simplificado): zh-CN

es sv zh tr

Taiwan (Chins Tradicional) : zh-TW

730

Captulo 12: Dicionrio do ActionScript

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 "Other OS Name" - outro sistema). 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.

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.pixelAspectRatio

731

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.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).

732

Captulo 12: Dicionrio do ActionScript

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.securityLimits.avHardwareDisable
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Uso System.capabilities.securityLimits.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.securityLimits.localFileReadDisable
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Uso System.capabilities.securityLimits.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.securityLimits.localFileReadDisable

733

System.capabilities.serverString
Disponibilidade

Flash Player 7.
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 %2C0%2C226&M=Macromedia%20Windows&R=1152x864&DP=72&COL=color&AR=1.0&OS=Wind ows%20XP&L=en&PT=External&AVD=f&LFD=f

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.

System.exactSettings
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.

734

Captulo 12: Dicionrio do ActionScript

System.security.allowDomain()
Disponibilidade

Flash Player 6.
Uso System.security.allowDomain("domain1", "domain2, ... domainN") Parmetros domain1, domain2, ... domainN 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 chamador.
Exemplo

O arquivo SWF localizado em http://www.macromedia.com/MovieA.swf contm as seguintes linhas.


System.security.allowDomain("shockwave.com"); loadMovie("www.shockwave.com/MovieB.swf", _root.my_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.

System.security.allowInsecureDomain()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Uso System.Security.allowInsecureDomain("domnio") Parmetros domnio Retorna

Nome de domnio, como meuNomeDeDomnio.com.

Nada.
Descrio

Mtodo; especifica um domnio no HTTPS que pode acessar arquivos SWF do HTTPS no domnio do chamador. A Macromedia no recomenda o uso desse mtodo porque ele prejudica a segurana do HTTPS.

System.security.allowInsecureDomain()

735

System.onStatus
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).
Disponibilidade

Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usada com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server.

System.setClipboard()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

736

Captulo 12: Dicionrio do ActionScript

System.showSettings()
Disponibilidade

Flash Player 6.
Uso System.showSettings([painel]) Parmetros painel Nmero opcional que especifica qual painel Settings do Flash Player ser exibido, conforme mostrado na tabela a seguir. Valor passado para painel Painel de configuraes exibido

Nenhum (parmetro omitido) ou Painel que estava aberto na ltima vez em que o usurio fechou o valor invlido painel Player Settings (Configuraes do Player) 0 1 2 3 Retorna Privacy (Privacidade) Local Storage (Armazenamento Local) Microphone Camera

Nada.
Descrio

Mtodo; exibe o painel Settings (Configuraes) especificado do Flash Player, que permite aos usurios:

Autorizar ou negar acesso cmera e ao microfone Especificar o espao no disco local disponvel para objetos compartilhados Selecionar uma cmera e um microfone padro Especificar configuraes de ganho de microfone e supresso de eco

Por exemplo, se seu aplicativo requer o uso de uma cmera, voc pode solicitar que o usurio selecione Allow (Permitir) no painel Privacy Settings (Configuraes de Privacidade) e, em seguida, emitir um comando System.showSettings(0). Certifique-se de que o tamanho do Stage 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()

737

System.useCodepage
Disponibilidade

Flash Player 6.
Uso System.useCodepage Descrio

Propriedade; valor booleano que informa o 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, 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 essa instruo estiver presente, o Flash Player interpreta o texto externo usando a pgina de cdigo tradicional do sistema operacional que o executa. 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 suas verses posteriores trataro o texto da mesma forma que o Flash Player. 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 deve incluir os caracteres usados no arquivo de texto externo para 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 SFW, codifique todos os arquivos de texto externos como Unicode e deixe System.useCodepage definido para false por padro. Assim, o Flash Player 6 e suas verses posteriores interpretaro o texto como Unicode.

738

Captulo 12: Dicionrio do ActionScript

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 com pontos. 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()

tellTarget
Disponibilidade

Flash Player 3. (Obsoleta no Flash 5; recomenda-se o uso de notao por pontos e da ao with.)
Uso tellTarget("destino") { comando(s); } Parmetros destino

Uma seqncia de caracteres que especifica o caminho de destino da Linha de tempo a ser controlada. Os comandos que sero executados se a condio for avaliada como true.

comando(s) Retorna

Nada.

tellTarget

739

Descrio

Ao obsoleta; aplica as instrues especificadas no(s) comando(s) na Timeline (Linha de tempo) 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 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 (Palco) ou solicitem que os clipes de filme saltem para um quadro especfico. No Flash 5 ou verso posterior, possvel usar a notao por pontos em vez da ao tellTarget. Use a ao with a fim de emitir vrias aes para a mesma Linha de tempo. possvel usar a ao with para especificar qualquer objeto, enquanto a ao tellTarget s pode especificar clipes de filme.
Exemplo

O comando tellTarget controla na instncia do clipe de filme ball na Linha de tempo principal. O quadro 1 da instncia ball est em branco e tem uma ao stop(), de forma que no estar visvel no Stage (palco). Quando o boto com a ao a seguir clicado, tellTarget solicita que a reproduo em ball v para o Frame 2, onde a animao comea.
on (release) { tellTarget("ball") { gotoAndPlay(2); } }

O exemplo a seguir usa uma notao com pontos para alcanar os mesmos resultados.
on (release) { ball.gotoAndPlay(2); }

Se for necessrio emitir vrios comandos para a instncia ball, use a ao with, como no comando a seguir.
on (release) { with(ball) { gotoAndPlay(2); _alpha = 15; _xscale = 50; _yscale = 50; } } Consulte tambm with

740

Captulo 12: Dicionrio do ActionScript

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 Property (Propriedades) e usar os mtodos e as propriedades da classe TextField para manipul-lo com o ActionScript. Os nomes de instncia do TextField so exibidos no Movie Explorer e na caixa de dilogo Inserir caminho de destino no painel Aes. A classe TextField herda 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. inserido.

TextField.getFontList()

TextField.getDepth()

TextField.getNewTextFormat() Obtm o formato de texto padro atribudo ao texto recm-

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. usurio ou mtodo.

TextField.removeListener() TextField.removeTextField()

TextField.replaceSel()

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.

Classe TextField

741

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. 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 um arquivo SWF. O conjunto de caracteres que um usurio pode digitar em um 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 TextField._parent

TextField.password TextField._quality TextField.restrict

742

Captulo 12: Dicionrio do ActionScript

Propriedade
TextField._rotation TextField.scroll TextField.selectable TextField._soundbuftime

Descrio 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. A quantidade 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 guias 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 cursor relativa 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. A coordenada y do cursor relativa 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.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 TextField._ymouse

TextField._yscale

Classe TextField

743

Resumo dos manipuladores de eventos da classe TextField


Identificador 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.

744

Captulo 12: Dicionrio do ActionScript

TextField.addListener()
Disponibilidade

Flash Player 6.
Uso my_txt.addListener(listener) Parmetros listener 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(). Uma referncia instncia do campo de texto passada como parmetro para os manipuladores e onChanged pela origem do evento. possvel capturar esses dados colocando um parmetro no mtodo do 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 um comando trace para enviar o nome da instncia do campo de texto para o painel Output (Sada).
onScroller myTextField.onScroller = function (txt) { trace (txt._name + " alterado"); }; Exemplo

O exemplo a seguir define um manipulador onChange para o campo de texto de entrada myText. Em seguida, define um novo objeto ouvinte, myListener e um manipulador onChanged para o objeto. Esse manipulador ser chamado quando o campo de texto myText for alterado. A ltima linha do cdigo chama TextField.addListener para registrar o objeto ouvinte myListener com o campo de texto myText, para que seja notificado quando myText for alterado.
myText.onChanged = function (txt) { trace (txt._name + " alterado"); }; myListener = new Object(); myListener.onChanged = function (txt) { trace(txt._name + " alterado e notificado myListener"); }; myText.addListener(myListener); Consulte tambm TextField.onChanged, TextField.onScroller, TextField.removeListener()

TextField.addListener()

745

TextField._alpha
Disponibilidade

Flash Player 6.
Uso my_txt._alpha Descrio

Propriedade; define ou recupera um valor de transparncia alfa do campo de texto especificado por my_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

746

Captulo 12: Dicionrio do ActionScript

TextField.autoSize
Disponibilidade

Flash Player 6.
Uso my_txt.autoSize Descrio

Propriedade; controla o alinhamento e o dimensionamento automticos de campos de texto. Ao definir a propriedade autoSize, true ser sinnimo de "left" (esquerda) e false de "none" (nenhum). O redimensionamento ocorre da seguinte forma:

Se o valor de dimensionamento automtico for "none", o campo de texto se comportar


normalmente e no ser redimensionado ou alinhado automaticamente para corresponder ao texto. Se o valor de dimensionamento automtico for "left" (esquerda) e o tipo de linha do campo de texto for definido como Multiline (Vrias linhas) no inspetor Property (Propriedades) de texto, o campo de texto expandir ou retrair os lados direito e inferior para encaixar todo o texto contido. Se o valor de dimensionamento automtico for "left" (esquerda) e o tipo de linha do campo de texto for definido como Multiline No Wrap (Vrias linhas sem quebra de linha) no inspetor Property (Propriedades) de texto, o campo de texto expandir ou retrair somente o lado direito para encaixar todo o texto contido. Se o valor de dimensionamento automtico for "center", o campo de texto ser dimensionado automaticamente, mas seu centro horizontal permanecer ancorado na posio central horizontal original do campo de texto. O lado inferior ainda ser expandido para se ajustar a todo o texto contido. Se o valor de dimensionamento automtico for "right", o campo de texto ser dimensionado automaticamente, mas os lados esquerdo e inferior sero expandidos ou contrados. Os lados superior e direito permanecem nas mesmas posies.

Exemplo

O exemplo a seguir define a propriedade de dimensionamento automtico do campo de texto my_txt como "center".
my_txt.autosize = "center";

TextField.background
Disponibilidade

Flash Player 6.
Uso my_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.

TextField.background

747

TextField.backgroundColor
Disponibilidade

Flash Player 6.
Uso my_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 my_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 my_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

748

Captulo 12: Dicionrio do ActionScript

TextField.bottomScroll
Disponibilidade

Flash Player 6.
Uso my_txt.bottomScroll Descrio

Propriedade (somente de leitura); um inteiro (ndice comeando em 1) que indica a linha mais baixa atualmente visvel em my_txt. Imagine o campo de texto como uma janela para um bloco de texto. A propriedade TextField.scroll o ndice que comea em 1 da linha visvel mais alta 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 my_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 colocar quebras de linha no campo de texto. Se my_txt.html for false, essa propriedade ser ignorada.
Consulte tambm TextField.html

TextField.embedFonts
Disponibilidade

Flash Player 6.
Uso my_txt.embedFonts Descrio

Propriedade; um valor booleano que, quando true, exibe o campo de texto usando contornos de fontes incorporadas. Se false, exibir o campo de texto usando fontes de dispositivo.

TextField.embedFonts

749

TextField.getDepth()
Disponibilidade

Flash Player 6.
Uso my_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

Uma matriz.
Descrio

Mtodo; mtodo esttico do Classe TextField global. No especifique um campo de texto especfico (como my_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 seqncia de caracteres.
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]); }

750

Captulo 12: Dicionrio do ActionScript

TextField.getNewTextFormat()
Disponibilidade

Flash Player 6.
Uso my_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.

TextField.getNewTextFormat()

751

TextField.getTextFormat()
Disponibilidade

Flash Player 6.
Uso my_txt.getTextFormat() my_txt.getTextFormat(ndice) my_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 my_txt. Retorna

Um objeto.
Descrio

Mtodo; (Uso 1) retorna um objeto TextFormat que contm informaes de formatao para todo o texto 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 incio_ndice a fim_ndice.
Consulte tambm TextField.getNewTextFormat(), TextField.setNewTextFormat(), TextField.setTextFormat()

752

Captulo 12: Dicionrio do ActionScript

TextField._height
Disponibilidade

Flash Player 6.
Uso my_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.


my_txt._width = 200; my_txt._height = 200;

TextField._highquality
Disponibilidade

Flash Player 6.
Uso my_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 evitar o recurso sem serrilhado.
Exemplo _highquality = 1; Consulte tambm _quality, toggleHighQuality()

TextField._highquality

753

TextField.hscroll
Disponibilidade

Flash Player 6.
Uso my_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.
Exemplo

O exemplo a seguir rola o texto horizontalmente.


on (release) { my_txt.hscroll += 1; } Consulte tambm TextField.maxhscroll, TextField.scroll

TextField.html
Disponibilidade

Flash Player 6.
Uso my_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

754

Captulo 12: Dicionrio do ActionScript

TextField.htmlText
Disponibilidade

Flash Player 6.
Uso my_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 especificar que um campo de texto seja HTML no Inspetor de 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 my_txt.length Retorna

Um nmero.
Descrio

Propriedade (somente 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.

TextField.length

755

TextField.maxChars
Disponibilidade

Flash Player 6.
Uso my_txt.maxChars Descrio

Propriedade; indica o nmero mximo de caracteres que o campo de texto pode conter. Um script pode inserir mais texto que o permitido por maxChars; a propriedade maxChars s indica quanto texto um usurio pode digitar. Se o valor desta propriedade for null, no haver limite para a quantidade de texto que um usurio pode digitar.

TextField.maxhscroll
Disponibilidade

Flash Player 6.
Uso my_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.

756

Captulo 12: Dicionrio do ActionScript

TextField.menu
Disponibilidade Flash Player 7.
Uso my_txt.menu = contextMenu Parmetros contextMenu Descrio

Um objeto ContextMenu.

Propriedade; associa o objeto do ContextMenu contextMenu com o campo de texto my_txt. A classe ContextMenu permite modificar o menu contextual 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 vai o cdigo de "Imprimir" } news_txt.menu = menu_cm; Consulte tambm Button.menu, Classe ContextMenu, Classe ContextMenuItem, MovieClip.menu

TextField.menu

757

TextField.mouseWheelEnabled
Disponibilidade

Flash Player 7.
Uso my_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 my_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 my_txt._name Descrio

Propriedade; o nome da instncia do campo de texto especificado por my_txt.

758

Captulo 12: Dicionrio do ActionScript

TextField.onChanged
Disponibilidade

Flash Player 6.
Uso my_txt.onChanged = function(){ // seus comandos vo aqui } Parmetros

Nenhum.
Retorna

O nome da instncia do campo de texto.


Descrio

Identificador 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 do 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 um comando trace() para enviar o nome da instncia do campo de texto para o painel Output (Sada).
myTextField.onChanged = function (txt) { trace (txt._name + " alterado"); };

TextField.onKillFocus
Disponibilidade

Flash Player 6.
Uso my_txt.onKillFocus = function(newFocus){ // seus comandos vo aqui } Parmetros newFocus Retorna

O objeto em foco.

Nada.
Descrio

Manipulador de eventos; chamado quando um campo de texto perde o foco do teclado. O mtodo onKillFocus recebe um parmetro, newFocus, que um objeto representando o novo objeto a receber o foco. Se nenhum objeto receber o foco, newFocus conter o valor null.

TextField.onKillFocus

759

TextField.onScroller
Disponibilidade

Flash Player 6.
Uso my_txt.onScroller = function(textFieldInstance){ // seus comandos vo aqui } Parmetros textFieldInstance Retorna

Uma referncia ao objeto TextField cuja posio de rolagem foi alterada.

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 do 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 um comando 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

760

Captulo 12: Dicionrio do ActionScript

TextField.onSetFocus
Disponibilidade

Flash Player 6.
Uso my_txt.onSetFocus = function(oldFocus){ // seus comandos vo aqui } Parmetros oldFocus Retorna

O objeto que perde o foco.

Nada.
Descrio

Identificador de eventos; chamado quando um campo de texto recebe o foco do teclado. O parmetro oldFocus 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, oldFocus conter a instncia do campo de texto. Se nenhum objeto possua o foco anteriormente, oldFocus conter um valor null.

TextField._parent
Disponibilidade

Flash Player 6.
Uso my_txt._parent.property _parent.property 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 do 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

TextField._parent

761

TextField.password
Disponibilidade

Flash Player 6.
Uso my_txt.password Descrio

Propriedade; se o valor de password for true, o campo de texto ser de senha e ocultar os caracteres de entrada. Se for false, o campo de texto no ser de senha.

TextField._quality
Disponibilidade

Flash Player 6.
Uso my_txt._quality Descrio

Propriedade (global); define ou recupera a qualidade de renderizao usada para um arquivo 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 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 my_txt.removeListener(ouvinte) Parmetros ouvinte O objeto que no TextField.onScroller. Retorna

vai mais receber notificaes de TextField.onChanged ou

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, se o ouvinte no estava na lista de ouvintes do objeto TextField), o mtodo retornar o valor false.
Descrio

Mtodo; remove um objeto ouvinte anteriormente registrado para uma instncia de campo de texto com TextField.addListener().

762

Captulo 12: Dicionrio do ActionScript

TextField.removeTextField()
Disponibilidade

Flash Player 6.
Uso my_txt.removeTextField() Descrio

Mtodo; remove o campo de texto especificado por my_txt. Essa operao s pode ser executada em um campo de texto que tenha sido criado com MovieClip.createTextField(). Ela no funcionar em campos de texto inseridos pela Linha de tempo. Quando este mtodo chamado, o campo de texto instrudo a se remover. semelhante a MovieClip.removeMovieClip().

TextField.replaceSel()
Disponibilidade

Flash Player 6.
Uso my_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.

TextField.replaceText
Disponibilidade

Flash Player 7.
Uso my_txt.replaceText(incio_ndice, fim_ndice, texto) Descrio

Mtodo; substitui um intervalo de caracteres, especificado pelos parmetros incio_ndice e fim_ndice, no campo de texto especificado com o contedo do parmetro texto.

TextField.replaceText

763

TextField.restrict
Disponibilidade

Flash Player 6.
Uso my_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 Incorporar contornos de fonte no Inspetor de 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:
my_txt.restrict = "A-Z 0-9";

O exemplo a seguir inclui todos os caracteres, mas exclui letras minsculas:


my_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 (^).
my_txt.restrict = "\\-\\^";

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.
my_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).
my_txt.restrict = "\u0020-\u007E";

764

Captulo 12: Dicionrio do ActionScript

TextField._rotation
Disponibilidade

Flash Player 6.
Uso my_txt._rotation Descrio

Propriedade; especifica a rotao do campo de texto em graus.

TextField.scroll
Disponibilidade

Flash Player 6.
Uso my_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.
Exemplo

O cdigo a seguir anexado a um boto Para cima que rola pelo campo de texto my_txt.
on (release) { my_txt.scroll = myText.scroll + 1; } Consulte tambm TextField.maxscroll, TextField.scroll

TextField.selectable
Disponibilidade

Flash Player 6.
Uso my_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

765

TextField.setNewTextFormat()
Disponibilidade

Flash Player 6.
Uso my_txt.setNewTextFormat(textFormat) Parmetros textFormat 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 uma nova instncia do 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 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.
Consulte tambm TextField.getNewTextFormat(), TextField.getTextFormat(), TextField.setTextFormat()

766

Captulo 12: Dicionrio do ActionScript

TextField.setTextFormat()
Disponibilidade

Flash Player 6.
Uso my_txt.setTextFormat (formato) my_txt.setTextFormat (ndice, formato) my_txt.setTextFormat (inciondice, fimndice, formato) Parmetros incio_ndice fim_ndice ndice formato

Um inteiro.

Um inteiro que especifica o primeiro caractere aps o intervalo de texto desejado.

Um inteiro que especifica um caractere em my_txt. Um objeto TextFormat que contm informaes de formatao de caractere e

pargrafo.
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 uma nova instncia do 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 formato a todo o texto no campo de texto. Uso 2: Aplica as propriedades de formato ao caractere na posio ndice. Uso 3: Aplica as propriedades do parmetro formato ao intervalo de texto do parmetro inciondice ao parmetro fimndice.
TextField.replaceSel() no pressupe 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 de

TextField.setTextFormat()

767

Exemplo

Este exemplo cria um novo objeto TextFormat chamado myTextFormat e define sua propriedade bold como true. Em seguida, chama setTextFormat() e aplica o novo formato de texto ao campo de texto my_txt.
myTextFormat = new TextFormat(); myTextFormat.bold = true; my_txt.setTextFormat(myTextFormat); Consulte tambm TextField.setNewTextFormat(), Classe TextFormat

TextField._soundbuftime
Disponibilidade

Flash Player 6.
Uso my_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 Sheet na pgina 139.

768

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. Adiciona um novo estilo ao objeto de folha de estilos.

TextField.StyleSheet.parseCSS()

TextField.StyleSheet.setStyle()

Resumo do manipulador de eventos da classe TextField.StyleSheet


Mtodo
TextField.StyleSheet.onLoad

Descrio Manipulador de retorno de chamada, invocado 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

769

TextField.StyleSheet.getStyle()
Disponibilidade Flash Player 7.
Uso styleSheet.getStyle(styleName) Parmetros styleName 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 styleName. Se no houver objeto de estilo associado com styleName, 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 (Sada):


fontfamily : Arial; fontsize : 24px fontweight : bold Consulte tambm TextField.StyleSheet.setStyle()

770

Captulo 12: Dicionrio do ActionScript

TextField.StyleSheet.getStyleNames()
Disponibilidade Flash Player 7.
Uso styleSheet.getStyleNames() Parmetros

Nenhum.
Retorna

Uma matriz.
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 styleSheet que contm dois estilos, heading e bodyText. Em seguida, chama o mtodo getStyleNames() do objeto de folha de estilos, atribui os resultados o array names_array e exibe o contedo do array no painel Output (Sada).
var styleSheet= new TextField.StyleSheet(); styleSheet.setStyle("heading", { fontsize: '24px }); styleSheet.setStyle("bodyText", { fontsize: '12px' }); var names_array = styleSheet.getStyleNames(); trace(names.join("\n"));

O seguinte exibido no painel Output (sada):


bodyText heading Consulte tambm TextField.StyleSheet.getStyle()

TextField.StyleSheet.getStyleNames()

771

TextField.StyleSheet.load()
Disponibilidade Flash Player 7.
Uso styleSheet.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 styleSheet. A operao de carregamento assncrona; use o manipulador de retorno TextField.StyleSheet.onLoad para determinar quando o carregamento do arquivo foi concludo. O arquivo CSS deve residir exatamente no mesmo domnio do 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 195.
Exemplo

O exemplo a seguir carrega o arquivo CSS de nome styles.css (no exibido) no objeto de folha de estilos styleObj. Quando o arquivo tiver sido carregado com xito, o objeto de folha de estilo ser aplicado a um objeto TextField chamado 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

772

Captulo 12: Dicionrio do ActionScript

TextField.StyleSheet.onLoad
Disponibilidade Flash Player 7.
Uso styleSheet.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, invocado 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 de nome styles.css (no exibido) no objeto de folha de estilos styleObj. Quando o arquivo tiver sido carregado com xito, o objeto de folha de estilo ser aplicado a um objeto TextField chamado 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

773

TextField.StyleSheet.parseCSS()
Disponibilidade Flash Player 7.
Uso styleSheet.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 um estilo de cssText j existir em styleSheet, as propriedades de styleSheet sero mantidas e somente as de cssText sero adicionadas ou alteradas em styleSheet. 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 167.

774

Captulo 12: Dicionrio do ActionScript

TextField.StyleSheet.setStyle()
Disponibilidade Flash Player 7.
Uso styleSheet.setStyle(nome, estilo) Parmetros nome

Uma seqncia de caracteres que especifica o nome do estilo a ser adicionado folha de Um objeto que descreve o estilo, ou null.

estilos.
estilo Retorna

Nada.
Descrio

Mtodo; adiciona 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 adicionado. 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 adiciona um estilo denominado enfatizado folha de estilos myStyleSheet. O estilo inclui duas propriedades de estilo: color e fontWeight. O objeto de estilo definido com o operador {}.
myStyleSheet.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'; myStyleSheet.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, uma vez que o Flash Player cria uma cpia do objeto de estilo passado para setStyle() Consulte tambm {} (inicializador de objeto)

TextField.StyleSheet.setStyle()

775

TextField.styleSheet
Disponibilidade

Flash Player 7.
Uso my_txt.styleSheet = TextField StyleSheet Descrio

Propriedade; anexa uma folha de estilos ao campo de texto especificado por my_txt. Para obter informaes sobre a criao de folhas de estilo, consulte a entrada Classe TextField.StyleSheet e Formatando o texto com Cascading Style Sheet na pgina 139.

TextField.tabEnabled
Disponibilidade

Flash Player 6.
Uso my_txt.tabEnabled Descrio

Propriedade; especifica se my_txt est includo na ordenao automtica de guias. A opo undefined utilizada por padro. Se a propriedade tabEnabled for undefined ou true, o objeto ser includo na ordenao automtica de guias. Se a propriedade tabIndex tambm estiver definida com um determinado valor, o objeto ser includo na ordenao personalizada de guias tambm. Se tabEnabled for false, o objeto no ser includo nem na ordenao de guias automtica nem na personalizada, ainda que a propriedade tabIndex seja definida.
Consulte tambm Button.tabEnabled, MovieClip.tabEnabled

776

Captulo 12: Dicionrio do ActionScript

TextField.tabIndex
Disponibilidade

Flash Player 6.
Uso my_txt.tabIndex Parmetros

Nenhum.
Retorna

Nada.
Descrio

Propriedade; permite personalizar a ordenao de guias dos objetos em um arquivo 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 exibido atualmente no SWF tiver uma propriedade tabIndex, a ordenao automtica de guias ser desativada e a ordenao de guias ser calculada nas propriedades tabIndex de objetos do SWF. A ordenao personalizada de guias 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 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 guias ser undefined. A ordenao de guia personalizada definida pela propriedade tabIndex flat. Isso significa que as relaes hierrquicas de objetos so ignoradas no arquivo SWF. Todos os objetos no SWF com propriedades tabIndex so colocados na ordem de guia. Por sua vez, essa 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 my_txt._target Descrio

Propriedade (somente de leitura); o caminho de destino da instncia do campo de texto especificada por my_txt.

TextField._target

777

TextField.text
Disponibilidade

Flash Player 6.
Uso my_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 my_txt.textColor Descrio

Propriedade; indica a cor do texto em um campo de texto.

TextField.textHeight
Disponibilidade

Flash Player 6.
Uso my_txt.textHeight Descrio

Propriedade; indica a altura do texto.

TextField.textWidth
Disponibilidade

Flash Player 6.
Uso my_txt.textWidth Descrio

Propriedade; indica a largura do texto.

778

Captulo 12: Dicionrio do ActionScript

TextField.type
Disponibilidade

Flash Player 6.
Uso my_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 my_txt.type = "dynamic";

TextField._url
Disponibilidade

Flash Player 6.
Uso my_txt._url Descrio

Propriedade (somente leitura); recupera o URL do arquivo SWF que criou o campo de texto.

TextField.variable
Disponibilidade

Flash Player 6.
Uso my_txt.variable Descrio

Propriedade; o nome da varivel qual o campo de texto est associado. O tipo dessa propriedade String.

TextField.variable

779

TextField._visible
Disponibilidade

Flash Player 6.
Uso my_txt._visible Descrio

Propriedade; um valor booleano que indica se o campo de texto my_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 my_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:


my_txt._width=200; my_txt._height=200; Consulte tambm MovieClip._height

TextField.wordWrap
Disponibilidade

Flash Player 6.
Uso my_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.

780

Captulo 12: Dicionrio do ActionScript

TextField._x
Disponibilidade

Flash Player 6.
Uso my_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 Linha de tempo principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do 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 my_txt._xmouse Descrio

Propriedade (somente leitura); retorna a coordenada x da posio do mouse relativa ao campo de texto.
Consulte tambm TextField._ymouse

TextField._xscale
Disponibilidade

Flash Player 6.
Uso my_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._xscale

781

TextField._y
Disponibilidade

Flash Player 6.
Uso my_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 Linha de tempo principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do 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 antihorrio, 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

TextField._ymouse
Disponibilidade

Flash Player 6.
Uso my_txt._ymouse Descrio

Propriedade (somente 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 my_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

782

Captulo 12: Dicionrio do ActionScript

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 usando TextField.setTextFormat(), apenas as propriedades definidas so aplicadas, como no exemplo a seguir:
my_fmt = new TextFormat(); my_fmt.bold = true; my_txt.setTextFormat(my_fmt);

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 my_txt.setTextFormat(my_fmt) s altera a propriedade bold do formato de texto padro do campo de texto, pois a propriedade bold a nica definida em my_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 null. Resumo de mtodos da classe TextFormat
Mtodo
TextFormat.getTextExtent()

Descrio Retorna as informaes de medida de texto relativas a uma seqncia de caracteres de texto.

Classe TextFormat

783

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 a quantidade de espao vertical entre as linhas (chamado 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

784

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, [entrelinhamento]]]]]]]]]]]]]) 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.

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 para uma seqncia de caracteres vazia ou para o valor null, possvel obter ou definir essa propriedade, mas ela no ter nenhum efeito.
destino 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 a quantidade de espao vertical entre as linhas.

Um inteiro que indica o recuo da margem esquerda ao primeiro caractere no pargrafo.

entrelinhamento Retorna

Nada.
Descrio

Construtor; cria um objeto TextFormat com as propriedades especificadas. Permite alterar as propriedades do objeto TextFormat para alterar a formatao de 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

785

TextFormat.align
Disponibilidade

Flash Player 6.
Uso my_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 my_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) s afeta 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 my_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.

786

Captulo 12: Dicionrio do ActionScript

TextFormat.bullet
Disponibilidade

Flash Player 6.
Uso my_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, o que indica que a propriedade indefinida.

TextFormat.color
Disponibilidade

Flash Player 6.
Uso my_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 my_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

787

TextFormat.getTextExtent()
Disponibilidade

Flash Player 6. O parmetro opcional width suportado no Flash Player 7.


Uso my_fmt.getTextExtent(text, [width]) Parmetros texto

Uma seqncia de caracteres.

width 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 text no formato especificado por my_fmt. A seqncia de caracteres do texto tratada como texto regular (no HTML). O mtodo retorna um objeto com seis propriedades: ascent, descent, width, height, textFieldHeight e textFieldWidth. Todas as medidas so fornecidas em pixels. Se for especificado um parmetro width, o texto especificado 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.

788

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 = "Small string"; // 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()

789

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 my_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

790

Captulo 12: Dicionrio do ActionScript

TextFormat.italic
Disponibilidade

Flash Player 6.
Uso my_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 my_fmt.leading Descrio

Propriedade; a quantidade de espao vertical entre as linhas (chamado espaamento entre linhas). O valor padro null, o que indica que a propriedade indefinida.

TextFormat.leftMargin
Disponibilidade

Flash Player 6.
Uso my_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 my_fmt.rightMargin Descrio

Propriedade; a margem direita do pargrafo, em pontos. O valor padro null, o que indica que a propriedade indefinida.

TextFormat.rightMargin

791

TextFormat.size
Disponibilidade

Flash Player 6.
Uso my_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 my_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 my_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 a propriedade TextFormat.url for uma seqncia de caracteres vazia ou null, ser possvel obter ou definir essa propriedade, mas ela no ter nenhum efeito.

792

Captulo 12: Dicionrio do ActionScript

TextFormat.underline
Disponibilidade

Flash Player 6.
Uso my_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 my_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
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda). Resumo dos mtodos do objeto TextSnapshot Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

TextSnapshot.findText()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

TextSnapshot.getCount()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

TextSnapshot.getCount()

793

TextSnapshot.getSelected()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

TextSnapshot.getSelectedText()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

TextSnapshot.getText()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

TextSnapshot.hitTestTextNearPos()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

TextSnapshot.setSelected()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

TextSnapshot.setSelectColor()
Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

794

Captulo 12: Dicionrio do ActionScript

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 identificadora de eventos on anexada a um boto, this refere-se 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.
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; }

No comando a seguir atribudo 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;

No comando 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

795

throw
Disponibilidade

Flash Player 7.
Uso throw expresso Descrio

Comando; 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, a representao de seqncia de caracteres do 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(); }

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 167.
// 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


796 Captulo 12: Dicionrio do ActionScript

toggleHighQuality()
Disponibilidade

Flash 2.
Uso toggleHighQuality() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Funo; ativa e desativa o modo sem 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 _quality, _highquality

toggleHighQuality()

797

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. Retorna

Nada.
Descrio

Ao obsoleta; avalia a expresso e exibe os resultados no painel Output (Sada) em modo de teste. Use esta ao para registrar notas de programao ou para exibir mensagens no painel Output (Sada) enquanto testa um filme. Use o parmetro expresso para verificar se uma condio existe ou para exibir valores no painel Output (Sada). A ao trace() semelhante funo alert no JavaScript. possvel usar o comando Omit Trace Actions (Omitir aes de traagem) em Publish Settings para remover aes trace() do arquivo SWF exportado.
Exemplo

Este exemplo de um jogo no qual uma instncia de clipe de filme arrastvel chamada my_mc deve ser liberada em um destino especfico. Um comando adicional avalia a propriedade _droptarget e executa diferentes aes dependendo do local onde my_mc liberado. A ao trace() usada no fim do script para avaliar o local do clipe de filme my_mc e exibir o resultado no painel Output (Sada). Se my_mc no se comportar como esperado (por exemplo, se ele se encaixar no destino errado), os valores enviados para o painel Output pela ao trace() ajudaro a determinar o problema no script.
on(press){ my_mc.startDrag(); } on (release) { if(eval(_droptarget) != target) { my_mc._x = my_mc_xValue; my_mc._y = my_mc_yValue; else { var my_mc_xValue = my_mc._x; var my_mc_yValue = my_mc._y; target = "_root.pasture"; } trace("my_mc_xValue = " + my_mc_xValue); trace("my_mc_xValue = " + my_mc_xValue); stopDrag(); }

798

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(error[:ErrorType1]) { // ... bloco catch ... } [catch(error[:ErrorTypeN]) { // ... bloco catch ... }] [finally { // ... bloco finally ... }] Parmetros error

A expresso gerada por um comando throw, normalmente uma instncia da classe Error ou de uma subclasse dela.
ErrorType

Um determinador opcional do tipo do identificador error. A clusula catch s captura erros do tipo especificado.

try..catch..finally

799

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 passa para o bloco catch, se houver, e em seguida para o bloco finally, se houver. 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 executado. O bloco finally executado mesmo que o bloco try seja encerrado com um comando return. 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 error 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 com tipo permitem capturar vrios tipos de erros gerados de um nico bloco try. Se a exceo gerada for um objeto, o tipo corresponder se o objeto gerado for uma subclasse do tipo especificado. Se for gerado um erro de um 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 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 um comando 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 account = new Account() try { var returnVal = account.getAccountInfo(); if(returnVal != 0) { throw new Error("Erro ao obter informao do objeto account."); } } finally { // Excluir o objeto 'account' de qualquer modo. if(account != null) { delete account; } }

O exemplo a seguir demonstra um comando try..catch. O cdigo do bloco try executado. Se for gerada uma exceo por algum cdigo do bloco try, o controle passa para o bloco catch, que exibe a mensagem de erro em um campo de texto usando o mtodo Error.toString().

800

Captulo 12: Dicionrio do ActionScript

var account = new Account() try { var returnVal = account.getAccountInfo(); if(returnVal != 0) { throw new Error("Erro ao obter informao do objeto account."); } } catch (e) { status_txt.text = e.toString(); }

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: ExcecaoRegistros e RegistroMalFormado. Neste exemplo, os objetos ExcecaoRegistros 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, na pgina 159.
// Em class var } // Em class var } ExcecaoRegistros.as: ExcecaoRegistros extends Error { message = "Exceo no conjunto de registros." RegistroMalFormado.as: RegistroMalFormado extends Error { message = "Exceo de mal-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 a seguir exemplifica esse cdigo.
// No arquivo de classe ConjRegistros.as... function ordLinhas() { ... if(condicaoErroConjRegistros) { throw new ExcecaoRegistros(); } if(condicaoRegistroMalFormado) { 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:ExcecaoRegistros) { trace("Capturada uma exceo do conjunto de dados"); } catch (e:RegistroMalFormado) { trace("Capturada a exceo de um registro mal formado"); } Consulte tambm

Classe Error, throw, class, extends

try..catch..finally

801

typeof
Disponibilidade

Flash Player 5.
Uso typeof (expresso) Parmetros expresso Descrio

Seqncia de caracteres, clipe de filme, boto, objeto ou funo.

Operador; um operador unitrio 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 Clipe de filme Button Campo de texto Number Booleano Objeto Funo Sada
seqncia de caracteres movieclip objeto objeto number booleano objeto function

802

Captulo 12:

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 do ActionScript typeof(undefined) retorna a seqncia de caracteres "undefined". O nico valor do tipo undefined undefined. Quando undefined convertido em uma seqncia de caracteres, ele convertido em uma seqncia vazia.
Observao: Na especificao ECMA-262, undefined convertido na seqncia de caracteres undefined, e no na seqncia de caracteres vazia. Esta uma diferena entre o ActionScript e a especificao ECMA-262.

O valor undefined semelhante ao valor especial null. De fato, 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 ("The value of x is " + x); if (x == undefined) { trace ("x is undefined"); else { trace ("x is not undefined"); } trace ("typeof (x) is " + typeof (x)); if (null == undefined) { trace ("null and undefined are equal"); else { trace ("null and undefined are not equal"); }

O seguinte resultado ser exibido no painel Output (Sada):


The value of x is x is undefined typeof (x) is undefined null and undefined are equal

undefined

803

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("Hello{[World]}");

O resultado de escape o seguinte:


("Hello%7B%5BWorld%5D%7D);

Use unescape para retornar ao formato original:


unescape("Hello%7B%5BWorld%5D%7D");

O resultado o seguinte:
Hello{[World]}

804

Captulo 12:

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(), loadMovieNum(), unloadMovieNum()

unloadMovie()

805

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 para updateAfterEvent que no estejam dentro de um manipulador onClipEvent() ou que no sejam parte de uma funo ou mtodo passado para setInterval().
Consulte tambm onClipEvent(), setInterval()

806

Captulo 12:

var
Disponibilidade

Flash Player 5.
Uso var variableName [= valor1] [...,variableNameN [=valorN]] Parmetros variableName valor Retorna

Um identificador.

O valor atribudo varivel.

Nada.
Descrio

Comando; usado para declarar variveis locais ou no-locais. Se as variveis so declaradas dentro de uma funo, so locais. Elas so definidas para a funo e expiram no final da chamada de funo. Se as variveis no so declaradas em um bloco ({}), mas a lista de aes foi executada com uma ao call(), as variveis so locais e expiram no final da lista atual. Se as variveis no so declaradas em um bloco e a lista de aes atuais no foi executada com a ao call(), as variveis no so locais. 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, na pgina 159 e private, public e static.
Exemplo

Os exemplos a seguir usam a ao var para declarar e atribuir variveis:


var var var var x; y = 1; z = 3, w = 4; s, t, u = z;

var

807

Classe Video
Disponibilidade

Flash Player 6.
Descrio

A classe Video permite exibir fluxos de vdeo ao vivo no Stage (Palco) sem incorpor-los no arquivo SWF. Para capturar o vdeo, use Camera.get().
Para exibir um fluxo de vdeo:

1 Se o painel Library (Biblioteca) no estiver visvel, selecione Window (Janela) > Library

(Biblioteca) para exibi-lo. 2 Para adicionar um objeto Video incorporado biblioteca, clique no menu Options (Opes) no lado direito do painel Library (Biblioteca) e selecione New Video (Novo vdeo). 3 Arraste o objeto Video para o Stage (Palco) e use o inspetor Property (Propriedades) para atribuir a ele um nome exclusivo de instncia como my_video. No d o nome Video. 4 Use Video.attachVideo() para exibir o vdeo que est sendo capturado:
my_video.attachVideo(my_cam); Observao: Tambm possvel incorporar fluxos gravados (arquivos FLV) usando o comando File (Arquivo) > Import (Importar) ou File > Import to Library (Importar para biblioteca). Para obter mais informaes sobre incorporao de arquivos de vdeo, consulte Using Flash Help (Usando a ajuda do Flash).

Resumo de mtodos da classe Video


Mtodo Descrio no Stage (Palco).
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

808

Captulo 12:

Video.attachVideo()
Disponibilidade

Flash Player 6.
Uso my_video.attachVideo(origem) Parmetros origem

Um objeto Camera que est capturando dados de vdeo. 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 de vdeo pode ser um objeto Camera ou null. Se origem for igual a null, o vdeo no ser mais reproduzido dentro do objeto Video.
Exemplo

O exemplo a seguir reproduz vdeos ao vivo localmente.


my_cam = Camera.get(); my_video.attachVideo(my_cam); // my_video um objeto Video no Stage (palco) Consulte tambm

Classe Camera

Video.clear()
Disponibilidade

Flash Player 6.
Uso my_video.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.clear()

809

Video.deblocking
Disponibilidade

Flash Player 6.
Uso my_video.deblocking my_video.deblocking = setting 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 setting:

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 sistema no for suficientemente poderoso, voc pode ter dificuldades para reproduzir vdeos com esse filtro ativado.

Video.height
Disponibilidade

Flash Player 6.
Uso my_video.height Descrio

Propriedade somente de leitura; um inteiro que especifica a altura do fluxo de vdeo, em pixels. Esse valor o mesmo da propriedade Camera.height do objeto Camera que est capturando o fluxo de vdeo. 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

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.
// Em primeiro lugar, anexar o fluxo ao objeto Video my_video.attachVideo(videoSource); // Em seguida, anexar o cdigo a seguir a um boto on (release) { _root.my_video._width = _root.my_video.width _root.my_video._height = _root.my_video.height } Consulte tambm Video.width

810

Captulo 12:

Video.smoothing
Disponibilidade

Flash Player 6.
Uso my_video.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 my_video.width Descrio

Propriedade somente de leitura; um inteiro que especifica a largura do fluxo de vdeo, em pixels. Esse valor o mesmo da propriedade Camera.width do objeto Camera que est capturando o fluxo de vdeo. 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 o exemplo 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.

void

811

while
Disponibilidade

Flash Player 4.
Uso while(condio) { comando(s); } Parmetros condio

A expresso que reavaliada sempre que a ao while executada. Se o comando for avaliado como true, os comando(s) sero executados. O cdigo que ser executado se a condio for avaliada como true.

comando(s) Retorna

Nada.
Descrio

Comando; testa uma expresso e executa um comando ou srie de comandos repetidamente em um loop, contanto que a expresso seja true. Antes de o bloco de comando ser executado, a condio testada; se o teste retornar true, o bloco de comando ser executado. Se a condio for false, o bloco de comando ser ignorado e o primeiro comando aps o bloco de comando 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. O comando 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, o comando while ser concludo e a execuo continuar no prximo comando aps o loop while. 3 Execute o bloco de comando comando(s). 4 V para a etapa 1.

812

Captulo 12:

Exemplo

Este exemplo duplica cinco clipes de filme no Palco, todos com uma posio x e y geradas aleatoriamente, propriedade xscale e yscale e _alpha para conseguirem um efeito difuso. A varivel foo inicializada com o valor 0. O parmetro condio definido para que o loop while seja executado cinco vezes ou enquanto o valor da varivel foo for menor que 5. Dentro do loop while, um clipe de filme duplicado e setProperty usado para ajustar as vrias propriedades do clipe de filme duplicado. O ltimo comando do loop incrementa foo para que, quando o valor alcanar 5, o parmetro condio seja avaliado como false e o loop no seja executado.
on (release) { foo = 0; while(foo < 5) { duplicateMovieClip("_root.flower", "mc" + foo, foo); setProperty("mc" + foo, _x, random(275)); setProperty("mc" + foo, _y, random(275)); setProperty("mc" + foo, _alpha, random(275)); setProperty("mc" + foo, _xscale, random(200)); setProperty("mc" + foo, _yscale, random(200)); foo++; } } Consulte tambm do while, continue, for, for..in

while

813

with
Disponibilidade

Flash Player 5.
Uso with (objeto) { comando(s); } Parmetros objeto

Uma instncia de um objeto ou clipe de filme do ActionScript. Uma ao ou grupo de aes entre chaves.

comando(s) Retorna

Nada.
Descrio

Comando; autoriza especificar um objeto (como um clipe de filme) com o parmetro objeto e avaliar expresses e aes dentro desse objeto com o parmetro comando(s). Isso evita que seja necessrio escrever repetidamente o nome do objeto ou o caminho do objeto. O parmetro objeto torna-se o contexto em que as propriedades, variveis e funes no parmetro comando(s) so lidas. Por exemplo, se objeto for my_array e duas das propriedades especificadas forem length e concat, essas propriedades sero lidas automaticamente como my_array.length e my_array.concat. Em outro exemplo, se objeto for state.california, qualquer comando ou ao dentro da ao with ser chamado de dentro do comando california. Para localizar o valor de um identificador no parmetro comando(s), o ActionScript inicia no comeo da cadeia do escopo especificado pelo objeto e procura pelo identificador em cada nvel da cadeia do escopo, em uma ordem especfica. A cadeia do 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 que criado automaticamente quando uma
funo chamada e mantm as variveis locais chamadas na funo.)

O clipe de filme que contm o script sendo executado no momento. O objeto Global (objetos internos como Math e String).

814

Captulo 12:

Para definir uma varivel dentro de uma ao with, a varivel deve ter sido declarada fora da ao with ou necessrio inserir o caminho completo para a Linha de tempo na qual a varivel deve morar. Se for definida uma varivel em uma ao with sem ser declarada, a ao with procurar pelo valor de acordo com a cadeia do escopo. Se a varivel no existir ainda, o novo valor ser definido na Timeline da qual a ao with foi chamada. 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 someOther_mc e instrui someOther_mc a ir para o Frame 3 e parar.
with (someOther_mc) { _x = 50; _y = 100; gotoAndStop(3); }

O prximo trecho de cdigo mostra como escrever o cdigo anterior sem usar uma ao with.
someOther_mc._x = 50; someOther_mc._y = 100; someOther_mc.gotoAndStop(3);

Tambm possvel escrever esse cdigo usando a ao tellTarget. Entretanto, se someOther_mc no fosse um clipe de filme, mas um objeto, no seria possvel usar a ao with.
tellTarget ("someOther_mc") { _x = 50; _y = 100; gotoAndStop(3); }

A ao with til para fornecer acesso a vrios itens simultaneamente em uma cadeia de escopo. No exemplo a seguir, o objeto Math interno posicionado no incio da cadeia 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

815

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 california. O cdigo define os valores _alpha de fresno e salinas sem alterar o valor _alpha de california.
with (california){ 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.

816

Captulo 12:

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 recursivamente todos os filhos. 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. Retorna true se o n especificado tiver ns filhos; caso contrrio, retorna
false.

XML.createElement() XML.createTextNode() XML.getBytesLoaded()

XML.getBytesTotal() XML.hasChildNodes()

XML.insertBefore()

Insere um n na frente de um n existente na lista de filhos do n especificado. 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.load()

XML.parseXML() XML.removeNode() XML.send() XML.sendAndLoad()

XML.toString()

Classe XML

817

Resumo de 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. 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. Verifica se o objeto XML especificado foi carregado. Faz referncia ao prximo irmo na lista de filhos do n pai. O nome da marca de um elemento 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. Faz referncia ao n pai do n especificado. 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

Resumo das colees da classe XML


Mtodo
XML.attributes

Descrio Retorna um vetor associativo que contm todos os atributos do n especificado. Retorna um array que contm referncias aos ns filhos do n especificado.

XML.childNodes

Resumo dos manipuladores de eventos da classe XML


Identificador de eventos
XML.onData

Descrio Uma funo de retorno de chamada que chamada quando o download de um texto XML foi totalmente feito do servidor, ou quando ocorre um erro ao fazer o download de um texto XML de um servidor. Uma funo de retorno que retorna um valor booleano que indica se o objeto XML foi carregado com xito por meio de XML.load() ou XML.sendAndLoad().

XML.onLoad()

818

Captulo 12:

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. Exemplo

Uso 1: O exemplo a seguir cria um novo objeto XML vazio.


my_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.
anyOtherXML = new XML("<state>California<city>san francisco</city></state>"); Consulte tambm XML.createElement(), XML.createTextNode()

Classe XML

819

XML.addRequestHeader()
Disponibilidade

Flash Player 6.
Uso xml.addRequestHeader(headerName, headerValue) xml.addRequestHeader(["headerName_1", "headerValue_1" ... "headerName_n", "headerValue_n"]) Parmetros headerName headerValue Retorna

Nome de cabealho de solicitao HTTP. Valor associado ao headerName.

Nada.
Descrio

Mtodo; adiciona ou altera os cabealhos de solicitao HTTP (como Content-Type ou SOAPAction) enviados com aes POST. No primeiro uso, passam-se duas seqncias de caracteres para o mtodo: headerName e headerValue. 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 adicionar 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.
Exemplo

Este exemplo adiciona um cabealho HTTP personalizado chamado SOAPAction com um valor de Foo a uma instncia da classe XML denominada my_xml.
my_xml.addRequestHeader("SOAPAction", "'Foo'");

O seguinte exemplo cria um array denominado headers que contm dois cabealhos HTTP alternados com seus respectivos valores. O array passado como um parmetro para o mtodo addRequestHeader().
var headers = ["Content-Type", "text/plain", "X-ClientAppVersion", "2.0"]; my_xml.addRequestHeader(headers); Consulte tambm

LoadVars.addRequestHeader()

820

Captulo 12:

XML.appendChild()
Disponibilidade

Flash Player 5.
Uso my_xml.appendChild(n_filho) Parmetros n_Filho Retorna

O n filho a ser adicionado 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 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);

XML.appendChild()

821

XML.attributes
Disponibilidade

Flash Player 5.
Uso my_xml.attributes Parmetros

Nenhum.
Retorna

Uma matriz.
Descrio

Coleo (leitura-atribuio); retorna 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.


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 (Sada) apresentar o seguinte:


Val first

822

Captulo 12:

XML.childNodes
Disponibilidade

Flash Player 5.
Uso my_xml.childNodes Parmetros

Nenhum.
Retorna

Uma matriz.
Descrio

Coleo (somente leitura); retorna um vetor dos filhos do objeto XML especificado. Cada elemento no vetor uma referncia a um objeto XML que representa um n filho. Essa uma propriedade somente leitura e no pode ser usada para manipular ns filhos. Use XML.appendChild(), XML.insertBefore() e XML.removeNode() para manipular os ns filhos. Essa coleo no definida para os ns de texto (nodeType == 3).
Consulte tambm XML.nodeType

XML.childNodes

823

XML.cloneNode()
Disponibilidade

Flash Player 5.
Uso my_xml.cloneNode(profundidade) Parmetros profundidade

Valor booleano que especifica se os filhos do objeto XML especificado so clonados recursivamente.

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 profundidade for definido como true, todos os ns filhos so clonados de forma recursiva, resultando em uma cpia exata da rvore de documentos do objeto original. O clone do n que retornado no mais associado rvore do item clonado. Conseqentemente, nextSibling, parentNode e previousSibling tm um valor null. Se uma cpia de clipe no for realizada, firstChild e lastChild tambm sero null.

XML.contentType
Disponibilidade

Flash Player 6.
Uso my_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()

824

Captulo 12:

XML.createElement()
Disponibilidade

Flash Player 5.
Uso my_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.createTextNode()
Disponibilidade

Flash Player 5.
Uso my_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.createTextNode()

825

XML.docTypeDecl
Disponibilidade

Flash Player 5.
Uso my_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 "hello.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 foi encontrada durante a operao de anlise, XML.docTypeDecl definido como indefinido. XML.toString() mostra o contedo deXML.docTypeDecl imediatamente depois da declarao XML armazenada em XML.xmlDecl, e antes de qualquer outro texto no objeto XML. Se XML.docTypeDecl for indefinido, nenhuma declarao DOCTYPE ser mostrada.
Exemplo

O exemplo a seguir usa XML.docTypeDecl para definir a declarao DOCTYPE de um objeto XML.
my_xml.docTypeDecl = "<!DOCTYPE greeting SYSTEM \"hello.dtd\">"; Consulte tambm XML.toString(), XML.xmlDecl

XML.firstChild
Disponibilidade

Flash Player 5.
Uso my_xml.firstChild Descrio

Propriedade (somente leitura); avalia o objeto XML especificado e faz referncia ao primeiro filho na lista de filhos do n pai. Essa propriedade null se o n no tiver filhos. Essa propriedade 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()

826

Captulo 12:

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()

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.getBytesTotal()

827

XML.hasChildNodes()
Disponibilidade

Flash Player 5.
Uso my_xml.hasChildNodes() Parmetros

Nenhum.
Retorna

Um valor booleano.
Descrio

Mtodo; retorna true se o objeto XML especificado tem ns filhos; caso contrrio, retorna false.
Exemplo

O exemplo a seguir usa as informaes do objeto XML em uma funo definida pelo usurio.
if (rootNode.hasChildNodes()) { myfunc (rootNode.firstChild); }

XML.ignoreWhite
Disponibilidade

Flash Player 5.
Uso my_xml.ignoreWhite = boolean XML.prototype.ignoreWhite = boolean Parmetros boolean 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:
my_xml.ignoreWhite = true

Uso 2: possvel definir a propriedade padro ignoreWhite para objetos XML, como no cdigo a seguir:
XML.prototype.ignoreWhite = true

828

Captulo 12:

XML.insertBefore()
Disponibilidade

Flash Player 5.
Uso my_xml.insertBefore(n_Filho, n_anterior) Parmetros n_Filho

O n a ser inserido. O n antes do ponto de insero de n_Filho.

n_anterior Retorna

Nada.
Descrio

Mtodo; insere um novo n filho na lista de filhos do objeto XML, antes do n n_anterior. Se o parmetro n_anterior for indefinido ou null, o n ser adicionado usando appendChild(). Se n_anterior no for um filho de my_xml, ocorrer erro na insero.

XML.lastChild
Disponibilidade

Flash Player 5.
Uso my_xml.lastChild Descrio

Propriedade (somente leitura); avalia o objeto XML e faz referncia ao ltimo n filho na lista de filhos do n pai. Esse mtodo retorna 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.lastChild

829

XML.load()
Disponibilidade

Flash Player 5.
Uso my_xml.load(url) Parmetros url O URL em que o documento XML a ser carregado est localizado. O URL deve estar no mesmo subdomnio que o URL onde o arquivo SWF reside no momento. 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. Quando load() executado, a propriedade do objeto XML loaded definida como false. Quando termina o download dos dados XML, a propriedade loaded definida como true e o mtodo onLoad() chamado. Os dados XML no so analisados at que sejam totalmente descarregados. Se o objeto XML continha anteriormente rvores XML, elas so descartadas. Voc pode especificar sua prpria funo de retorno de chamada no lugar do mtodo onLoad().
Exemplo

A seguir, um exemplo simples usando XML.load():


doc = new XML(); doc.load ("theFile.xml"); Consulte tambm XML.loaded, XML.onLoad()

830

Captulo 12:

XML.loaded
Disponibilidade

Flash Player 5.
Uso my_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 retorna true; caso contrrio, ele retorna false.
Exemplo

O exemplo a seguir usa o XML.loaded em um script simples.


if (doc.loaded) { gotoAndPlay(4); }

XML.nextSibling
Disponibilidade

Flash Player 5.
Uso my_xml.nextSibling Descrio

Propriedade (somente leitura); avalia o objeto XML e faz referncia ao prximo irmo na lista de filhos do n pai. Esse mtodo retorna null se o n no tiver um n irmo prximo. Essa uma propriedade somente 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.nextSibling

831

XML.nodeName
Disponibilidade

Flash Player 5.
Uso my_xml.nodeName Descrio

Propriedade; considera ou retorna o nome do objeto XML. Se o objeto XML for um elemento XML (nodeType == 1), nodeName 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 my_xml.nodeType Descrio

Propriedade (somente leitura); aceita ou apresenta um valor nodeType, onde 1 um elemento XML e 3 um n de texto.
Consulte tambm XML.nodeValue

XML.nodeValue
Disponibilidade

Flash Player 5.
Uso my_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

832

Captulo 12:

XML.onData
Disponibilidade

Flash Player 5
Uso my_xml.onData = function(src) { // seus comandos vo aqui } Parmetros src Retorna

Os dados brutos, geralmente em formato XML, que so enviados pelo servidor.

Nada.
Descrio

Identificador 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 identificador chamado antes de o 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 for undefined, ocorreu um erro durante o download do XML do servidor. Por padro, o mtodo XML.onData chama XML.onLoad(). possvel substituir o mtodo XML.onData por seu prprio comportamento, mas XML.onLoad() no ser mais chamado, a menos que tambm seja chamado na sua implementao do XML.onData.
Exemplo

O exemplo a seguir mostra como o mtodo onData por padro:


XML.prototype.onData = function (src) { if (src == undefined) { this.onLoad(false); else { this.parseXML(src); this.loaded = true; this.onLoad(true); } }

possvel substituir o mtodo XML.onData para interceptar o texto XML sem analis-lo.

XML.onData

833

XML.onLoad()
Disponibilidade

Flash Player 5.
Uso my_xml.onLoad(sucesso) 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

Funo de retorno; chamada 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.
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(success) { if (sucesso) { if (e.firstChild.nodeName == "LOGINREPLY_xml" && e.firstChild.attributes.status == "OK") { gotoAndPlay("loggedIn") } else { gotoAndStop("loginFailed") } } else { gotoAndStop("connectionFailed") } } var myLoginReply_xml = new XML(); myLoginReply_xml.onLoad = myOnLoad; my_xml.sendAndLoad("http://www.samplestore.com/login.cgi", myLoginReply_xml); Consulte tambm function, XML.load(), XML.sendAndLoad()

834

Captulo 12:

XML.parentNode
Disponibilidade

Flash Player 5.
Uso my_xml.parentNode Descrio

Propriedade (somente leitura); faz referncia ao n pai do objeto XML especificado, ou retorna 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.

XML.parseXML()
Disponibilidade

Flash Player 5.
Uso my_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 my_xml.previousSibling Descrio

Propriedade (somente leitura); retorna uma referncia do irmo anterior na lista de filhos do n pai. A propriedade ter um valor de 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

835

XML.removeNode()
Disponibilidade

Flash Player 5.
Uso my_xml.childNodes[1].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 my_xml.send(url, [window]) Parmetros url

O URL de destino do objeto XML especificado.

window 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.

836

Captulo 12:

XML.sendAndLoad()
Disponibilidade

Flash Player 5.
Uso my_xml.sendAndLoad(url,objeto_XML_destino) Parmetros url O URL de destino do objeto XML especificado. O URL deve estar no mesmo subdomnio que o URL de onde o arquivo SWF foi descarregado. 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().
Consulte tambm XML.load()

XML.sendAndLoad()

837

XML.status
Disponibilidade

Flash Player 5.
Uso my_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 Sem erro; a anlise foi concluda com xito. -2 Uma seo CDATA no foi terminada adequadamente. -3 A declarao XML no foi terminada adequadamente. -4 A declarao DOCTYPE no foi terminada adequadamente. -5 Um comentrio no foi terminado adequadamente. -6 Um elemento XML foi mal formado. -7 Memria insuficiente. -8 Um valor de atributo no foi terminado adequadamente. -9 Uma marca de incio no correspondeu a uma marca de fim. -10 Foi encontrada uma marca de fim sem uma marca de incio correspondente.

838

Captulo 12:

XML.toString()
Disponibilidade

Flash Player 5.
Uso my_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 mostrada se XML.xmlDecl for indefinido. A declarao DOCTYPE no 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()

839

XML.xmlDecl
Disponibilidade

Flash Player 5.
Uso my_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 indefinido, nenhuma declarao XML mostrada.
Exemplo

O exemplo a seguir usa XML.xmlDecl para definir a declarao do documento XML de um objeto XML.
my_xml.xmlDecl = "<?xml version=\"1.0\" ?>";

A seguir, um exemplo de declarao XML:


<?xml version="1.0" ?> Consulte tambm XML.docTypeDecl, XML.toString()

840

Captulo 12:

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

841

Classe XMLSocket
Disponibilidade

Flash Player 5.
Descrio

A classe XMLSocket implementa soquetes do cliente que autorizam o computador que est executando o Flash Player a se comunicar com um computador servidor identificado pelo 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 batepapo 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 fullduplex.

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 desses recursos serem acessados e abusados de forma no adequada. 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 acesso a dados entre domnios na pgina 197.

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.

842

Captulo 12:

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


Identificador de eventos
XMLSocket.onClose()

Descrio Uma funo de retorno de chamada que invocada quando uma conexo XMLSocket fechada.

XMLSocket.onConnect() Uma funo de retorno de chamada que invocada pelo Flash Player quando uma solicitao de conexo iniciada por XMLSocket.connect()

obtm xito ou falha.


XMLSocket.onData()

Uma funo de retorno de chamada que chamada aps o download de uma mensagem XML do servidor. Uma funo de retorno que chamada quando um objeto XML chega 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.
Exemplo myXMLSocket = new XMLSocket();

Classe XMLSocket

843

XMLSocket.close()
Disponibilidade

Flash Player 5.
Uso myXMLSocket.close() Parmetros

Nenhum.
Retorna

Nada.
Descrio

Mtodo; fecha a conexo especificada pelo objeto XMLSocket.


Consulte tambm XMLSocket.connect()

XMLSocket.connect()
Disponibilidade

Flash Player 5.
Uso myXMLSocket.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.

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 sabe o nmero da porta de sua mquina host de Internet, entre em contato com o administrador da rede. Se o plug-in Flash Netscape ou o controle ActiveX estiver sendo usado, o host especificado no parmetro dever ter o mesmo subdomnio do host do qual foi feito o download do arquivo SWF.

844

Captulo 12:

Se for especificado null para o parmetro host, o host contactado ser aquele em que reside o SWF que chama XMLSocket.connect(). Por exemplo, se o download do SWF foi feito a partir de http://www.seu_site.com, especificar null para o parmetro do host o mesmo que digitar o endereo IP de www.seu_site.com. Se XMLSocket.connect() retorna um valor true, o palco inicial do processo da conexo obteve xito; mais tarde, o mtodo XMLSocket.onConnect chamado para determinar se a conexo final obteve xito ou falhou. Se XMLSocket.connect() retorna false, a conexo no pode ser estabelecida.
Exemplo

O exemplo a seguir usa XMLSocket.connect() para se conectar com o host onde o SWF reside, e usa trace para exibir o valor de retorno que indica o xito ou a falha da conexo.
function myOnConnect(success) { 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.onClose()
Disponibilidade

Flash Player 5.
Uso myXMLSocket.onClose() = function() { // seus comandos vo aqui } Parmetros

Nenhum.
Retorna

Nada.
Descrio

Manipulador de eventos; uma funo de retorno que chamada 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.onClose()

845

XMLSocket.onConnect()
Disponibilidade

Flash Player 5.
Uso myXMLSocket.onConnect(xito) // seus comandos vo aqui } Parmetros xito Um valor (true ou false). Retorna

booleano que indica se uma conexo de soquete foi estabelecida com xito

Nada.
Descrio

Manipulador de funo; uma funo de retorno que chamada pelo Flash Player quando uma solicitao de conexo iniciada por XMLSocket.connect() obtm xito ou falha. Se a conexo obtm xito, o parmetro sucesso true; caso contrrio, o valor false. A implementao padro desse mtodo no executa aes. Para substituir a implementao padro, atribua uma funo que contm suas prprias aes.
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 for estabelecida com xito, os usurios sero conduzidos para a tela de bate-papo principal no quadro chamado startChat. Se a conexo no tiver xito, os usurios vo para uma tela com as informaes de soluo de problemas no quadro rotulado connectionFailed.
function myOnConnect(success) { if (success) { gotoAndPlay("startChat") else { gotoAndStop("connectionFailed") } }

846

Captulo 12:

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 SWF ser enviado para o quadro chamado connectionFailed, e onConnect nunca ser chamado. Se connect() retornar true, o SWF saltar para um quadro chamado waitForConnection, que a tela Please wait (Aguarde). O 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()

847

XMLSocket.onData()
Disponibilidade

Flash Player 5.
Uso XMLSocket.onData = function(src) { // seus comandos vo aqui } Parmetros src 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 (src) { this.onXML(new XML(src)); }

No exemplo acima, o parmetro src 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.

848

Captulo 12:

XMLSocket.onXML()
Disponibilidade

Flash Player 5.
Uso myXMLSocket.onXML(objeto) = function() { // seus comandos vo aqui } Parmetro objeto Retorna

Um objeto XML que contm um documento XML analisado recebido de um servidor.

Nada.
Descrio

Manipulador de eventos; uma funo de retorno de chamada invocada pelo Flash Player quando o objeto XML especificado que contm um documento XML chega atravs de 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 zero, ele analisa todo o XML recebido desde o byte zero anterior ou desde que a conexo foi estabelecida, se essa for 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 batepapo 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()

849

XMLSocket.send()
Disponibilidade

Flash Player 5.
Uso myXMLSocket.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 myXMLSocket no for conectado com o servidor (usando XMLSocket.connect()), a operao XMLSocket.send() ir falhar.
Exemplo

O exemplo a seguir ilustra como possvel especificar um nome e uma senha de usurio para enviar o objeto XML my_xml para o servidor:
var my_xml = new XML(); var myLogin = my_xml.createElement("login"); myLogin.attributes.username = usernameTextField; myLogin.attributes.password = passwordTextField; my_xml.appendChild(myLogin); myXMLSocket.send(my_xml); Consulte tambm XMLSocket.connect()

850

Captulo 12:

APNDICE A Mensagens de erro

Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na guia Help (Ajuda). O Macromedia Flash MX 2004 e o Macromedia Flash MX Professional 2004 fornecem relatrios avanados de erros durante a compilao quando voc especifica o ActionScript 2 (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 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. Esse comando no permitido na definio de classe. J foi definida uma classe ou interface com esse nome. Tipos incompatveis. No existe classe com o nome %1. No existe propriedade com o nome %1. Tentativa de uma chamada de funo em uma no-funo. Tipos incompatveis em comando 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 de apanhador/definidor em interfaces. No so permitidos membros privados em interfaces.

851

Nmero do erro 1111 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

Texto da mensagem No so permitidos corpos de funes em interfaces. 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 %1 a partir da interface %2. 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 um comando 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 mtodo com o nome %1. Este comando no permitido na definio de 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.

852

Apndice A: Mensagens de erro

Nmero do erro 1141 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

Texto da mensagem O nome dessa classe, %1, entra em conflito com o nome de outra classe que foi carregada, %2. A classe %1 no pde ser carregada. As interfaces s podem ser definidas em scripts externos de classes do ActionScript 2.0. No possvel acessar variveis de instncias 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 %1 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 que est sendo compilada, %1, no corresponde classe que foi importada, %2. 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.

853

Nmero do erro 1171 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 1197

Texto da mensagem O nome da interface base informado contm um erro de sintaxe. 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. %1 no pode ser acessado deste escopo. Foram encontradas vrias ocorrncias do atributo %1. Um atributo de classe foi usado de modo incorreto. No possvel usar funes e variveis de instncias 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 permitidos comandos de importao nas definies de classe ou interface. No possvel importar a classe %1 porque o nome da folha j est sendo resolvido para a classe que est sendo definida, %2. No possvel importar a classe %1 porque o nome da folha j est sendo resolvido para a classe importada %2. 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, %1, entra em conflito com o nome de outra classe que foi carregada. O superconstrutor deve ser chamado primeiro no corpo do construtor. O identificador %1 no ser resolvido para o objeto interno %2 durante a execuo. necessrio definir a classe %1 em um arquivo cujo caminho relativo seja %2. O caractere curinga * foi usado de modo incorreto no nome da classe %1.

854

Apndice A: Mensagens de erro

Nmero do erro 1198

Texto da mensagem O uso de maisculas/minsculas diferente na funo de membro %1 e no nome da classe definida, %2; 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

855

856

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 mais baixa.
Operador Descrio Precedncia mais alta + ~ ! not ++ -() [] . ++ -new delete typeof void * / % + Mais unrio Menos unrio Complemento de um 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 Adicionar 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

857

Operador add << >> >>> < <= > >= instanceof lt le gt ge == != eq ne & ^ | && and || or ?: =

Descrio

Associatividade

Concatenao de seqncia de caracteres (antes &) Esquerda para direita 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 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

*=, /=, %=, +=, -=, &=, Atribuio composta |=, ^=, <<=, >>=, >>>= , Avaliao mltipla Precedncia mais baixa

858

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 em Captulo 12, Dicionrio do ActionScript, na pgina 215.

Letras de A a Z e nmeros padro de 0 a 9


As tabelas a seguir listam 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

859

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

860

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

861

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

862

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

863

864

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 poder 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. Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na parte superior da guia Help (Ajuda).

Sobre a especificao de verses anteriores do Flash Player


Durante a criao dos scripts, use as informaes de Availability (Disponibilidade) de cada elemento no dicionrio ActionScript (consulte Captulo 12, Dicionrio do ActionScript, na pgina 215) 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, use o ActionScript 2, que contm diversos recursos importantes no disponveis no ActionScript 1, como o aprimoramento de erros do compilador e recursos mais eficientes de programao orientada a objeto. Para especificar a verso do Flash Player 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.

865

Usando o Flash MX 2004 para criar contedo para o Flash Player 4


Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na guia Help (Ajuda). 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, em File > Publish Settings. O ActionScript do Flash Player 4 possui apenas um tipo de dados bsico e primitivo que usado para a manipulao numrica e de seqncias de caracteres. Ao criar um aplicativo para o Flash Player 4, utilize os operadores de seqncia de caracteres obsoletos localizados na categoria Deprecated (Obsoletos) > Operators (Operadores) na caixa de ferramentas Actions. possvel usar os seguintes recursos do Flash MX 2004 nas publicaes do Flash Player 4:

O operador de acesso a objeto e arrays ([]) O operador ponto (.) Os operadores lgicos, os operadores de atribuio e os operadores de pr-incremento e psincremento/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 da linguagem ocupam mais espao nos arquivos SWF do Flash Player 4 do que nos arquivos SWF do Flash Player 5 ou posterior.

As aes for, while, do while, break e continue As aes print() e printAsBitmap() A ao switch
No possvel usar os recursos do ActionScript a seguir em aplicativos exportados para o formato de arquivo do Flash Player 4:


866

Classes internas (exceto Math) Mtodos de clipes de filme Funes personalizadas Elementos XML Tipos de dados Variveis locais
delete escape eval()

com sintaxe de ponto; por exemplo, eval("_root.movieclip.variable")

for..in globalToLocal() hitTest() isFinite isNaN localToGlobal() new parseFloat

Apndice D: Criando Scripts para verses anteriores do Flash Player

_quality return targetPath typeof unescape _xmouse parseInt _ymouse

Para obter informaes adicionais, consulte Sobre a especificao de verses anteriores do Flash Player na pgina 865. 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: +, ==, !=, <>, <, >, >=, <= 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 em volta de 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.

Usando o Flash MX 2004 para criar contedo para o Flash Player 4

867

Muitas funes no Flash 4 no exigiam parnteses, por exemplo, Get


Stop

Timer , Set Variable, 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. O comando undefined == 0 false no ActionScript aps o Flash 4 (no Flash 4, undefined == 1). O Flash 5 e verses posteriores soluciona esse problema na converso de arquivos do Flash 4 introduzindo 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 Palavraschave na pgina 30 e Nomeando uma varivel na pgina 37.

Sobre 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. Essa sintaxe ainda suportada pelo Flash Player 7, mas seu uso no recomendado. Porm, se voc estiver criando contedo direcionado especificamente para o Flash Player 4, precisar usar a sintaxe de barra. Nesse tipo de sintaxe, as barras so usadas no lugar dos pontos; alm disso, as variveis devem ser precedidas por dois-pontos:
myMovieClip/childMovieClip:myVariable

Para escrever o mesmo caminho de destino em sintaxe de ponto, que suportada pelo Flash Player 5 e posterior, 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 em Captulo 12, Dicionrio do ActionScript, na pgina 215.

868

Apndice D: Criando Scripts para verses anteriores do Flash Player

APNDICE E Programao orientada a objeto com o ActionScript 1

Para obter as informaes mais recentes sobre este tpico, clique no boto Update (Atualizar) na guia Help (Ajuda). As informaes deste apndice foram extradas do Dicionrio ActionScript do Macromedia Flash MX e explicam como usar o modelo de objeto 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
mudar para o ActionScript 2, use este apndice para localizar ou verificar as informaes necessrias durante a criao dos scripts do ActionScript 1. Se voc nunca usou o ActionScript para criar scripts orientados a objeto e no precisa especificar o Flash Player 5, no use as informaes deste apndice, pois a criao de scripts com o ActionScript 1 est obsoleta. Em vez disso, consulte Captulo 9, Criando classes com o ActionScript 2, na pgina 159 para obter informaes sobre como usar o ActionScript 2.
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 for utilizar o Flash Player 5.

Sobre o ActionScript 1
ActionScript uma linguagem de programao orientada a objeto. A programao orientada a objeto usa objeto, ou estruturas de dados, para agrupar as propriedades e os mtodos que controlam o comportamento ou a aparncia do objeto. Os objeto 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 objeto. A classe define uma srie de objeto 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 objeto 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 objeto e, em seguida, chamados para os diferentes objeto da classe.

869

O ActionScript possui diversas classes internas, incluindo a classe MovieClip e outras. Tambm possvel criar classes para definir categorias de objeto para os aplicativos. Os objeto 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, crie 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);

No script orientado a objeto, as classes podem receber propriedades e mtodos umas das outras de acordo com uma ordem especfica; esse processo chamado 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 dado 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 de qualquer tipo: String, Number, Boolean, Object, MovieClip ou indefinido. As propriedades seguintes 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.

870

Apndice E: Programao orientada a objeto com o ActionScript 1

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:
function Circle(radius) { this.radius = radius; }

Depois de definir a funo construtora, crie uma nova 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 novo 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 objeto 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 objeto 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 874.

Sobre o ActionScript 1

871

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 de 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);

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 de prottipo Circle.prototype para encontrar area(). O ActionScript o localiza e o chama. Definindo mtodos de manipuladores de eventos no ActionScript 1 Voc pode criar uma nova classe do ActionScript para clipes de filme e definir mtodos de manipuladores de eventos no objeto de prottipo dessa classe. Definir os mtodos no prottipo do 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 de manipulador de eventos. Os dois eventos fazem com que seus scripts sejam executados. No entanto, se voc definir os mtodos de manipuladores de eventos no objeto de prottipo e tambm definir um mtodo de manipulador de eventos para uma instncia especfica, a definio da instncia substituir a definio do prottipo.
Para definir um mtodo de manipulador de eventos em um objeto de 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 do 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.

872

Apndice E: Programao orientada a objeto com o ActionScript 1

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 de manipuladores de eventos para a nova classe:
// define mtodos de manipuladores de eventos para classe myClipClass myClipClass.prototype.onLoad = function() {trace ("movie clip loaded");} myClipClass.prototype.onEnterFrame = function() {trace ("movie clip entered frame");}

5 Escolha 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).


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("aID", myClipClass); _root.attachMovie("aID","meuNome",1);

Eles registram o smbolo cujo identificador de vinculao theID com a classe myClipClass. Todas as instncias de myClipClass tm mtodos de 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);

Sobre o ActionScript 1

873

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 (Bicicleta) seria uma superclasse e MountainBike e Tricycle (Triciclo) 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. possvel 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 objeto 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 871.) Todas as instncias de uma classe tm uma propriedade __proto__ que informa de que objeto recebem herana. Quando uma funo construtora usada para criar um novo 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. Caso ele no exista, o ActionScript procura 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() em Captulo 12, Dicionrio do ActionScript, na pgina 215. Consulte Para obter mais informaes sobre herana, consulte as entradas Object.__proto__, #initclip, #endinitclip e super em Captulo 12, Dicionrio do ActionScript, na pgina 215.

874

Apndice E: Programao orientada a objeto com o ActionScript 1

Adicionando propriedades de apanhador/definidor a objeto no ActionScript 1 possvel criar propriedades de apanhador/definidor para um objeto usando o mtodo Object.addProperty(). Uma funo apanhadora 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 pelo comando 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 de apanhador/definidor, chama a funo definidora e o valor de retorno da funo torna-se um valor de prop. Quando o Flash grava uma propriedade de apanhador/definidor, ele chama a funo definidora e passa a ela o novo valor como um parmetro. Se j houver uma propriedade com o mesmo nome, a nova propriedade a substituir. possvel adicionar propriedades de apanhador/definidor aos objeto de prottipo. Se voc adicionar uma propriedade de apanhador/definidor a um objeto de prottipo, todas as instncias de objeto que herdam o objeto de prottipo tambm herdam esta propriedade. Isso torna possvel adicionar uma propriedade de apanhador/definidor em um local, o objeto de prottipo, e fazer com que ela seja propagada para todas as instncias de uma classe (muito semelhante adio de mtodos a objeto de prottipo). Se uma funo apanhadora/definidora for chamada para uma propriedade de apanhador/definidor em um objeto de prottipo herdado, a referncia passada a essa funo ser o objeto referenciado originalmente e no o objeto de prottipo. Para obter mais informaes, consulte Object.addProperty() em Captulo 12, Dicionrio do ActionScript, na pgina 215. O comando Debug (Depurar) > List Variables (Listar variveis) em modo de teste suporta as propriedades de apanhador/definidor adicionadas aos objeto 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 de apanhador/definidor 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 73. 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.

Sobre o ActionScript 1

875

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 chamadas de funo a seguir so equivalentes:
Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4)

Para obter mais informaes, consulte Function.call() em Captulo 12, Dicionrio do ActionScript, na pgina 215.
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.

876

Apndice E: Programao orientada a objeto com o ActionScript 1

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() em Captulo 12, Dicionrio do ActionScript, na pgina 215.
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.

Sobre o ActionScript 1

877

878

Apndice E: Programao orientada a objeto com o ActionScript 1

NDICE REMISSIVO

A acessando propriedades de objeto 46 aes definidas 22 repetindo 52 aes assncronas 184 ActionScript atribuio de tipos de dados estrita sem suporte no ActionScript 1 35 atribuindo a classe ActionScript 2 a clipes de filme 131 mensagens de erro do compilador do ActionScript 2 851 viso geral do ActionScript 2 18, 159 adicionando observaes a scripts 29 agrupando comandos 28 anexando, sons 100 animao, smbolos e 33 aplicativos da Web, conexo contnua 191 argumentos. Consulte parmetros arquitetura baseada em componentes, definida 119 arquivo SWD, definido 65 arquivos de classe externa usando os caminhos de classe para localizar 173 arquivos de classes externos, criando 162 arquivos de classes, criando 162 arquivos de diretivas 197 devem ser denominados como crossdomain.xml 198 Consulte tambm segurana arquivos FLV (vdeo externo) 206 pr-carregando 211 arquivos JPEG carregando em clipes de filme 123, 202 incorporando aos campos de texto 154 pr-carregando 209

arquivos MP3 carregando em clipes de filme 204 e marcas de ID3 205 pr-carregando 211 arquivos remotos, comunicando com 183 arquivos SWF carregando em clipes de filme 202 incorporando aos campos de texto 154 pr-carregando 209 arrastando clipes de filme 124 arrays multidimensionais 46 arrays, multidimensionais 46 aspas, incluindo em seqncias de caracteres 32 associatividade, de operadores 41, 857 atribuio de tipos de dados estrita sem suporte no ActionScript 1 35 atribuio estrita de tipos de dados 35 atribuindo um tipo a variveis 34 atributo privado para membros da classe 168 atributo pblico para membros da classe 168 B balano (som), controlando 101 booleano, definido 22 C caixa de dilogo Linkage Properties 125, 131 caixa de ferramentas Actions 55 itens em amarelo em 57 usando 61 caixa de mensagem, exibindo 194 caminhos da classe em nvel de documento 173 caminhos de classe definidos 173 global e nvel de documento 173 modificando 174 pesquisar ordem de 173

879

caminhos de classe globais 173 caminhos de destino definidos 24 especificando 47 inserindo 47 campos de texto 135 aplicando Cascading Style Sheets 142 criando e removendo durante a execuo 137 determinando o tamanho necessrio 139 e texto HTML 143 evitando conflitos de nome de varivel 137 exibindo as propriedades para depurao 157 fazendo o texto fluir em torno de imagens incorporadas 148, 150 formatao 138 formatando com Cascading Style Sheets 139 nomes de instncia e varivel comparados 136 propriedades padro 139 Consulte tambm classe TextField, classe TextFormat, classe TextField.StyleSheet capturando pressionamentos de teclas 93 caracteres especiais 32 Cascading Style Sheets aplicando aos campos de texto 142 aplicando classes de estilo 143 atribuindo estilos s marcas HTML internas 144 carregando 141 combinando estilos 143 definindo os estilos no ActionScript 142 e a classe TextField.StyleSheet 141 exemplo do uso com marcas HTML 145 exemplo do uso com marcas XML 147 formatando texto 139 propriedades suportadas 140 usando para definir novas marcas 146 chamando mtodos 33 chaves 28 verificando pares correspondentes 63 classe TextField 136 criando texto de rolagem 155 classe TextField.StyleSheet 139 criando estilos de texto 142 e Cascading Style Sheets 141 e propriedade TextField.styleSheet 139, 142 classe TextFormat 138 classe XML, mtodos 188 classes atribuindo a clipes de filme 131 atributos de membro pblico e privado 168 caminhos de classe 173

criando arquivos de classes externos 162 criando e usando 165 criando propriedades e mtodos 165 criando subclasses 167 definidas 22, 111 definidas apenas em arquivos externos 162, 165 dinmicas 178 e programao orientada a objeto 160 especificando quadro de exportao 179 estendendo 167 estendendo durante a execuo 178 exemplo de criao 161 importando 175, 176 inicializando as propriedades durante a execuo 133 inicializando as propriedades inline 166 interfaces 171, 172 membros da instncia e membros da classe 169 mtodos get/set 177 organizando em pacotes 175 resolvendo referncias de classe 173 sobre compilao e exportao 179 sobrecarga no suportada 167 Consulte tambm classes internas classes dinmicas 178 classes internas 111, 118 estendendo 167 clipes de filme adicionando parmetros 127 ajustando cor 97 alterando as propriedades durante a reproduo 123 alterando propriedades no Debugger 70 anexando a smbolo no Stage 125 anexando manipuladores on() e onClipEvent() 83 aninhados, definidos 119 arrastando 124 ativando com teclado 95 atribuindo estados de boto a 84 atribuindo um nome de instncia 47 carregando arquivos MP3 em 204 carregando SWFs e JPEGs em 202 chamando mtodos 120 chamando vrios mtodos 121 compartilhando 125 controlando 120 criando durante a execuo 124 criando instncia vazia 125 criando subclasses 131 detectando colises 102

880

ndice remissivo

determinando a prxima profundidade disponvel 128 determinando profundidade de 129 duplicando 125 e comando with 121 e propriedade _root 122 excluindo 125 filho, definidos 119 funes 120 gerenciando profundidade 128 incorporando aos campos de texto 154 inicializando as propriedades durante a execuo 133 iniciando e parando 88 listando objeto 74 listando variveis 74 mtodos 120 mtodos e funes comparadas 120 mtodos, usando para desenhar formas 129 nome de instncia, definido 119 pai, definidos 119 propriedades 123 propriedades, inicializando durante a execuo 133 removendo 125 repetio em filhos 53 tipo de dado 33 usando como mscaras 130 Consulte tambm filmes clipes de filme aninhados, definidos 119 clipes de filme filho, definidos 119 clipes de filme pai, definidos 119 codificando texto 21 cdigo depurando direto as linhas 72 exibindo nmeros de linha 64 formatando 63, 64 quebra automtica de linha 64 selecionando uma linha 71 cdigos de teclas, ASCII obtendo 93 outras teclas 862 teclado numrico 861 teclas alfabticas e numricas 859 teclas de funo 862 colchetes. Consulte operadores de acesso de array colises, detectando 102 entre clipes de filme 103 entre um clipe de filme e um ponto no Stage 103 comando List Objects 74

comando List Variables 74 comandos agrupando 28 comandos trace 75 terminando 28 combinando operaes 45 comentrios 29 comunicando com o Flash Player 192 concatenando seqncias de caracteres 31 condies, verificando 52 conexo TCP/IP com objeto XMLSocket 191 enviando informaes 184 conexes de soquete script de exemplo 192 sobre 191 conflitos de nomes 38 conformidade com ECMA-262 15 constantes 22, 30 construtoras viso geral 167 construtores definidos 22 contadores repetindo ao com 52, 53 controles ActiveX 195 controles de teclado, para ativar clipes de filme 95 convenes tipogrficas 10 convertendo tipos de dados 31 cores na caixa de ferramentas Actions 57 no painel Script 57 criando objeto 112 CSS. Consulte Cascading Style Sheets cursores, criando personalizados 90 D dados carregados, verificando 184 dados, externos 183 acesso entre SWFs de domnios diferentes 197 e mensagens 192 e objeto LoadVars 186 e objeto XMLSocket 191 e scripts do servidor 185 e XML 187 enviando e carregando 183 recursos de segurana 195 verificando o carregamento 184

ndice remissivo

881

Debugger botes no 72 definindo pontos de interrupo 71 escolhendo no menu de contexto 67 Flash Debug Player 64 guia Properties 70 Lista de observao 69 usando 64 variveis 68 Default Encoding 21 depurao remota 65 depurando de um local remoto 65 mensagens de erro do compilador 851 propriedades do campo de texto 157 depurando direto as linhas de cdigo 72 desenhando formas 129 desenhando linhas e preenchimentos 104 detectando colises 102 dicas de ferramenta. Consulte referncias de cdigo DOM (Document Object Model), XML 187 duplicando, clipes de filme 125 E editor do ActionScript 55, 57 endereos IP e arquivos de diretivas 198 e segurana 195 enviando informaes em formato XML 184 formato de cdigo URL 184 para arquivos remotos 183 via TCP/IP 184 equilbrio da pontuao, verificando 63 erros conflito de nome 38 lista de mensagens de erro 851 sintaxe 57 evento do sistema, definido 79 evento do usurio, definido 79 eventos, definidos 23, 79 exportando scripts e codificao de idioma 21 expresses atribuindo diversas variveis 45 comparando valores 42 definidas 23 manipulando valores em 41 Extensible Markup Language. Consulte XML

F filmes carregando e descarregando 121 controlando no Flash Player 195 criando controles de som 99 escalando para o Flash Player 193 indo para quadro ou cena 88 inserindo em pgina da Web 89 mantendo o tamanho original 193 transferindo informaes entre 184 Consulte tambm clipes de filme filmes carregados identificando 47 removendo 121 Flash Player comunicando com 192 escalando filmes para o 193 exibio normal de menu 193 exibindo a tela cheia 193 exibindo menu de contexto 193 mtodos 195 tornando o menu de contexto esmaecido 193 verso de depurao 64 Flash Player 7 e conformidade com ECMA-262 15 elementos de linguagem novos e alterados 13 novo modelo de segurana 15 portabilidade de scripts existentes 199 transferindo scripts existentes 15 folhas de estilos. Consulte Cascading Style Sheets fontes de dispositivo, mscara 131 formatando cdigo 63, 64 formato de cdigo URL enviando informaes 184 formato MIME, padro 186 funo fscommand() commands e arguments 193 comunicando com o Director 194 usando 193 funo loadMovie() 184 funo loadVariables() 184 funo moviename_DoFSCommand 193 funes 23 assncronas 184 chamando 50 construtor 870 converso 31 definindo 48

882

ndice remissivo

e mtodos 24 exemplo 24 internas 47 para controlar clipes de filme 120 passando parmetros para 49 personalizadas 48 retornando valores 49 variveis locais em 49 funes construtoras, exemplo 870 funes de converso 31 funes internas 47 funes personalizadas 48 G guia Properties, Debugger 70 guia Variables, Debugger 68 guia Watch, Debugger 69 H herana 160 e subclasses 167 permitida apenas de uma classe 167 herana mltipla, no permitida 167 HTML atribuindo estilos s marcas internas 144 exemplo do uso com estilos 145 marcas entre aspas 148 marcas suportadas 149 usando a marca <img> para fazer o texto fluir 148, 150, 154 usando Cascading Style Sheets para definir marcas 146 usando nos campos de texto 148 I cones acima do painel Script 56 no Debugger 72 identificador de vinculao 125, 131 identificadores, definidos 23 idiomas, usando vrios em scripts 21 imagens carregando em clipes de filme 123 Consulte tambm mdia externa incorporando aos campos de texto 154 importando classes 176 importando scripts, e codificao de idioma 21 indo para um URL 89

informaes, transferindo entre filmes 184 inicializando as propriedades do clipe de filme 133 instanciando objeto 112 instncias definidas 23, 111 exemplo de criao 164 interatividade, em filmes criando 87 tcnicas para 90 interfaces 161 criando e usando 171172 interrompendo clipes de filme 88 J janela Script (somente Flash Professional) 54 JavaScript comando alert 75 e ActionScript 21 e Netscape 195 enviando mensagens para 193 M Macromedia Director comunicando com 194 manipuladores de eventos anexando a botes ou clipes de filme 82 atribuindo funes a 80 definidos 23, 79 definidos por classes do ActionScript 80 e on() e onClipEvent() 82 escopo 84 verificando dados XML 185 manipuladores on() e onClipEvent() 82 anexando a clipes de filme 83 escopo 84 manipuladores onClipEvent() 106 manipuladores. Consulte manipuladores de eventos manipulando nmeros 32 marcas de ID3 205 mscaras 130 e fontes de dispositivo 131 traos ignorados 129, 130 membros de classe 112 criados uma vez por classe 169 criando 169 e subclasses 171 exemplo de uso 170 membros estticos. Consulte membros de classe

ndice remissivo

883

menu pop-up Options no Debugger 66 no painel Actions 55, 57 no painel Output 73 menu pop-up View Options 62, 64 mtodo getAscii() 93 mtodo getURL() 89 mtodo hitTest() 102 mtodo setRGB 97 mtodos assncronos 184 de objeto, chamando 112 declarando 165 definidos 24 para controlar clipes de filme 120 mtodos de manipuladores de eventos 79 mtodos get/set de classes 177 mdia externa 201, 211 carregando arquivos MP3 204 carregando SWFs e JPEGs 202 motivos para usar 201 pr-carregando 208, 209, 211 reproduzindo arquivos FLV 206 viso geral de carregamento 202 modelo de evento para manipuladores on() e onClipEvent() 82 para mtodos de manipuladores de eventos 79 para ouvintes de eventos 81 N navegao controlando 87 indo para quadro ou cena 88 navegador Script (somente Flash Professional) 56 Netscape, mtodos JavaScript suportados 195 nveis 47 carregando 121 n filho 187 nomeando variveis 37, 58 nomes de domnios e segurana 195 nomes de instncia atribuindo 47 comparados aos nomes de varivel 136 definidas 23, 119 definindo dinamicamente 46 ns 187

nmeros convertendo em inteiros de 32 bits 44 manipulando 32 nmeros de linha em cdigo, exibindo 64 O objeto acessando propriedades 112 chamando mtodos 112 criando 112 definidos 24 e programao orientada a objeto 160 repetio em filhos de 53 tipo de dado 33 objeto LoadVars 186 objeto ouvintes 81 cancelando o registro 82 objeto transmissor 81 objeto XMLSocket mtodos 191 usando 191 verificando dados 185 obtendo informaes de arquivos remotos 183 obtendo posio do mouse 91 operador de acesso de array 46 operadores 24 acesso de array 46 associatividade 41, 857 atribuio 45 bit a bit 44 combinando com valores 41 comparao 42 igualdade 44 lgico 43 numrico 42 ponto 46 precedncia 857 seqncia de caracteres 43 operadores bit a bit 44 operadores de acesso de array verificando pares correspondentes 63 operadores de atribuio compostos 45 diferentes de operadores de igualdade 44 sobre 45 operadores de comparao 42 operadores de igualdade 44 diferentes de operadores de atribuio 44 estrita 44

884

ndice remissivo

operadores de igualdade estrita 44 operadores de seqncia de caracteres 43 operadores lgicos 43 operadores numricos 42 operadores ponto 46 ordem de execuo associatividade de operadores 41 precedncia de operadores 41 scripts 52 origens externas, conectando o Flash com 183 ouvintes de eventos 81 definidos por classes do ActionScript 82 escopo 84 P pacotes 175 painel Actions 54 painel Output 73 comando List Objects 74 comando List Variables 74 e comando trace 75 opes 73 painel Script botes acima 56 sobre 55 trabalhando com scripts no 56 palavra-chave this 106 palavras reservadas, this 106 palavras reservadas. Consulte palavras-chave palavras-chave 24 listadas 30 parmetros definidas 24 entre parnteses 29 passando para funes 49 parnteses 29 parnteses, verificando pares correspondentes 63 passando valores por contedo 39 por referncia 40 pausando (depurando direto) cdigo 72 ponteiro de mouse. Consulte cursores ponto de registro e imagens carregadas 123 ponto-e-vrgula 28 pontos de interrupo definindo no Debugger 71 e arquivos externos 71 sobre 71

posio do mouse, obtendo 91 precedncia de operadores 857 prendendo scripts no lugar 54 pressionamentos de teclas, capturando 93 profundidade definidas 128 determinando a prxima disponvel 128 determinando instncia em 129 determinando para clipes de filme 129 gerenciando 128 programao orientada a objeto 159 Consulte tambm classes projetores executando aplicativos de 193 propriedades acessando 46 constante 30 de clipes de filme 123 de objeto, acessando 112 declarando 165 definidas 24 inicializando durante a execuo 133 propriedades de objeto acessando 46 atribuindo valores a 112 protocolo HTTP 184 comunicando com scripts do servidor 185 protocolo HTTPS 184 Q quebra automtica de linha em cdigo, ativando 64 R _root.property e clipes de filme carregados 122 realando sintaxe 57 recuo no cdigo, ativando 64 recursos, adicionais 10 referenciando variveis 37 referncias de cdigo 57 ativando 58, 59 especificando configuraes para 60 exibindo manualmente 61 no exibidas 61 usando 60 removendo clipes de filme 125 filmes carregados 121

ndice remissivo

885

repetio 52, 53 aes 53 repetindo aes 52 reproduzindo clipes de filme 88 requisitos do sistema 9 S script de exemplo 105 scripts comentando 29 controlando a execuo 52 controlando o fluxo 52 corrigindo problemas de exibio de texto 21 declarando variveis 39 depurando 64 exemplo 105 importando e exportando 21 portabilidade para o Flash Player 7 199 prendendo no lugar 54 sobre escrita e depurao 51 testando 64 transferindo para o Flash Player 7 15 scripts do servidor formato XML 188 linguagens 183 segurana 195199 acesso a dados entre domnios 197 e arquivos de diretivas 197 e transferindo scripts para o Flash Player 7 15 senhas, e depurao remota 65 seqncias de caracteres 31 seqncias de escape 32 servidores abrindo uma conexo contnua 191 sintaxe chaves 28 de barra 868 distino entre maisculas e minsculas 25, 27 parnteses 29 ponto 27 ponto-e-vrgula 28 realando 57 regras 25 verificando 63 sintaxe de barra 868 sintaxe de ponto, sobre 27 sites remotos, conexo contnua 191 solicitaes HTTP e segurana 196

solucionando problemas com comando trace 75 listando objeto 74 listando variveis 74 mensagens de erro do compilador 851 usando o painel Output 73 Consulte tambm sintaxe sons anexando Timeline 100 Consulte tambm mdia externa controlando 99 controle de balano 101 Stage, anexando smbolos a clipes de filme 125 subclasses criando 167 criando para clipes de filme 131 e membros da classe 171 sufixos 58 suporte a Unicode 21 T teclado numrico, valores de cdigos de teclas ASCII 861 teclado, valores de cdigos de teclas ASCII 859 teclas de atalho de Escape 62 teclas de funo, valores de cdigos de teclas ASCII 862 tempo de compilao, definido 10 tempo de execuo, definido 10 terminando comandos 28 terminologia 22 testando valores de variveis 36 texto atribuindo ao campo de texto durante a execuo 136 codificao 22 de rolagem 155 determinando o tamanho necessrio do objeto TextField 139 obtendo informaes mtricas 139 usando a marca <img> para fazer o texto fluir em torno das imagens 150 Consulte tambm campos de texto texto de rolagem 155 tipo de dados null 33 tipo de dados undefined 33

886

ndice remissivo

tipos de dados 31 atribuio de tipo estrita 35 atribuindo a elementos 34 atribuindo automaticamente 34 Boolean 32 convertendo 31 declarando 35 definidos 23 determinando 34 MovieClip 33 Null 33 Number 32 Object 33 String 31 undefined 33 tipos de dados de referncia 31 tipos de dados primitivos 31 transferindo variveis entre filme e servidor 186 U UTF-8 (Unicode) 21 V valores ASCII 93 outras teclas 862 teclas de funo 862 teclas do teclado 859 teclas do teclado numrico 861 valores booleanos 32 comparando 43 valores de cores, definindo 97 valores, manipulando em expresses 41 variveis atribuindo um escopo 37 atribuindo vrias 45 convertendo em XML 188 definidas 24 definindo dinamicamente 46 determinando o tipo de dados 34 e guia Debugger Variables 68 e lista de observao do Debugger 69 enviando para URL 89 evitando conflitos de nome 137 modificando no Debugger 68 nomeando 58 nomeando regras 37 passando contedo 39 referenciando um valor 40

sobre 36 sufixos 58 testando 36 transferindo entre filme e servidor 186 usando em scripts 39 variveis de Timeline 38 variveis globais 39 variveis locais 38 em funes 49 exemplo 38 vrios idiomas, usando em scripts 21 verificando os dados carregados 184 sintaxe e pontuao 63 vdeo, alternativa para importao 206 vinculando, clipes de filme 125 volume, criando controle deslizante 100 X XML 187 converso de variveis de exemplo 188 em scripts do servidor 188 enviando informaes com mtodos XML 184 enviando informaes via soquete TCP/IP 184 exemplo do uso com estilos 147 hierarquia 187

ndice remissivo

887

888

ndice remissivo

Вам также может понравиться