Beruflich Dokumente
Kultur Dokumente
Marcas comerciais Add Life to the Web, Afterburner, Aftershock, Andromedia, Allaire, Animation PowerPack, Aria, Attain, Authorware, Authorware Star, Backstage, Bright Tiger, Clustercats, ColdFusion, Contribute, Design In Motion, Director, Dream Templates, Dreamweaver, Drumbeat 2000, EDJE, EJIPT, Extreme 3D, Fireworks, Flash, Fontographer, FreeHand, Generator, HomeSite, JFusion, JRun, Kawa, Know Your Site, Knowledge Objects, Knowledge Stream, Knowledge Track, LikeMinds, Lingo, Live Effects, MacRecorder Logo and Design, Macromedia, Macromedia Action!, Macromedia Flash, Macromedia M Logo and Design, Macromedia Spectra, Macromedia xRes Logo and Design, MacroModel, Made with Macromedia, Made with Macromedia Logo and Design, MAGIC Logo and Design, Mediamaker, Movie Critic, Open Sesame!, Roundtrip, Roundtrip HTML, Shockwave, Sitespring, SoundEdit, Titlemaker, UltraDev, Web Design 101, what the web can be e Xtra so marcas comerciais registradas ou marcas comerciais da Macromedia, Inc. e podem estar registradas nos Estados Unidos ou em outras jurisdies, inclusive internacionais. Outros nomes de produtos, logotipos, designs, ttulos, palavras ou frases mencionados nesta publicao podem ser marcas comerciais, marcas de servio ou nomes comerciais da Macromedia, Inc. ou de outras entidades e podem estar registrados em certas jurisdies, inclusive internacionais. Informaes de terceiros Este guia contm links para sites da Web de terceiros que no esto sob o controle da Macromedia. Neste caso, a Macromedia no responsvel pelo contedo de nenhum site vinculado. Se voc acessar um dos sites da Web de terceiros mencionados neste guia, estar assumindo os riscos inerentes. A Macromedia oferece esses links apenas por questo de convenincia, e a incluso de um link no significa que a Macromedia apie ou aceite qualquer responsabilidade pelo contedo apresentado em sites de terceiros. Tecnologia de compactao e descompactao de voz licenciada da Nellymoser, Inc. (www.nellymoser.com). Tecnologia Sorenson Spark de compactao e descompactao de vdeo licenciada da Sorenson Media, Inc. Navegador Opera Copyright 1995-2002 Opera Software ASA e seus fornecedores. Todos os direitos reservados. Iseno de responsabilidade da Apple A APPLE COMPUTER, INC. NO CONCEDE GARANTIAS, EXPLCITAS OU IMPLCITAS, RELATIVAS AO PACOTE DE SOFTWARES PARA COMPUTADORES EM ANEXO, BEM COMO SUA COMERCIALIZAO OU ADEQUAO A QUALQUER FINALIDADE ESPECFICA. A EXCLUSO DE GARANTIAS IMPLCITAS NO PERMITIDA EM CERTOS ESTADOS. PORTANTO, A EXCLUSO ACIMA TALVEZ NO SE APLIQUE AO SEU CASO. ESTA GARANTIA CONCEDE DIREITOS LEGAIS ESPECFICOS. VOC PODE TER OUTROS DIREITOS QUE VARIAM CONFORME O ESTADO. Copyright 2003 Macromedia, Inc. Todos os direitos reservados. Este manual no pode ser copiado, fotocopiado, reproduzido, traduzido ou convertido em nenhum formato eletrnico ou que possa ser lido por mquina, por inteiro ou em parte, sem o consentimento prvio por escrito da Macromedia, Inc. Nmero da pea: ZFL70M400PO Agradecimentos Diretor: Erick Vera Gerenciamento de projeto: Stephanie Gowin, Barbara Nelson Redao: Jody Bleyle, Mary Burger, Kim Diezel, Stephanie Gowin, Dan Harris, Barbara Herbert, Barbara Nelson, Shirley Ong, Tim Statler Editor responsvel: Rosana Francescato Edio: Linda Adler, Mary Ferguson, Mary Kraemer, Noreen Maher, Antonio Padial, Lisa Stanziano, Anne Szabla Gerenciamento de produo: Patrice ONeill Design de mdia e produo: Adam Barnett, Christopher Basmajian, Aaron Begley, John Francis, Jeff Harmon Localizao: Tim Hussey, Seungmin Lee, Masayo Noda, Simone Pux, Yuko Yagi, Heloisa Kinder Primeira edio: Outubro de 2003 Macromedia, Inc. 600 Townsend St. So Francisco, CA 94103
CONTEDO
....................... 9
Pblico-alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Requisitos de sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Usando a documentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Convenes tipogrficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Termos usados neste documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Recursos adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
. . . . . . . . . . . . . . . 15 15 17 17 23 24 25
Elementos de linguagem novos e alterados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Novo modelo de segurana e arquivos SWF herdados . . . . . . . . . . . . . . . . . . . . . . Portando scripts existentes para o Flash Player 7 . . . . . . . . . . . . . . . . . . . . . . . . . . Alteraes do editor do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alteraes de depurao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Novo modelo de programao orientada a objeto . . . . . . . . . . . . . . . . . . . . . . . . .
CAPTULO 2: Conceitos bsicos do ActionScript
. . . . . . . . . . . . . . . . . . . . . . . . 27
Diferenas entre o ActionScript e o JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Suporte a Unicode para ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Terminologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Sobre tipos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Atribuindo tipos de dados a elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Sobre variveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Usando operadores para manipular valores em expresses . . . . . . . . . . . . . . . . . . . 48 Especificando o caminho de um objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Usando funes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Criando funes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
. . . . . . . . . . . . . . . . . . . . . . . . . . 59
Controlando o momento em que o ActionScript executado . . . . . . . . . . . . . . . 59 Usando o painel Actions e a janela Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Usando o editor do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Depurando scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Usando o painel Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Atualizando o Flash Player para teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Usando mtodos manipuladores de eventos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Usando ouvintes de eventos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Usando manipuladores de eventos de boto e clipe de filme . . . . . . . . . . . . . . . . . 92 Criando clipes de filme com estados de boto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Escopo do manipulador de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Escopo da palavra-chave this. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
CAPTULO 5: Criando interao com o ActionScript .
. . . . . . . . . . . . . . . . . . . . . 97
Sobre eventos e interao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Controlando a reproduo de arquivos SWF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Criando interatividade e efeitos visuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Desconstruindo um script de exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Sobre classes e instncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Viso geral das classes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
CAPTULO 7: Trabalhando com clipes de filme
. . . . . . . . . . . . . . . . . . . . . . . . . 129
Sobre o controle de clipes de filme com o ActionScript . . . . . . . . . . . . . . . . . . . . 129 Chamando vrios mtodos em um nico clipe de filme. . . . . . . . . . . . . . . . . . . . 130 Carregando e descarregando arquivos SWF adicionais . . . . . . . . . . . . . . . . . . . . . 131 Especificando uma Timeline raiz para arquivos SWF carregados . . . . . . . . . . . . . 131 Carregando arquivos JPEG em clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Alterando a posio e a aparncia de um clipe de filme . . . . . . . . . . . . . . . . . . . . 133 Arrastando clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Criando clipes de filme durante a execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Adicionando parmetros aos clipes de filme criados dinamicamente . . . . . . . . . . 136 Gerenciando profundidades do clipe de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Desenhando formas com o ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Usando clipes de filme como mscaras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Contedo
Manipulando eventos de clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Atribuindo uma classe a um smbolo de clipe de filme. . . . . . . . . . . . . . . . . . . . . 141 Inicializando as propriedades de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
CAPTULO 8: Trabalhando com texto .
Usando a classe TextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando campos de texto durante a execuo. . . . . . . . . . . . . . . . . . . . . . . . . . . . Usando a classe TextFormat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatando o texto com Cascading Style Sheets . . . . . . . . . . . . . . . . . . . . . . . . . Usando o texto em formato HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando texto de rolagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CAPTULO 9: Criando classes com o ActionScript 2.0
. . . . . . . . . . . . . . . . . . . 165 166 167 171 175 177 179 181 182 183 184 185
Princpios da programao orientada a objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . Usando classes: um exemplo simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando e usando classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Membros de instncias e classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando e usando interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noes bsicas de caminho de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usando pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importando classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mtodos get/set implcitos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Criando classes dinmicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Como as classes so compiladas e exportadas . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 189
Enviando e carregando variveis para/de uma origem remota . . . . . . . . . . . . . . . 189 Enviando mensagens para/do Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Recursos de segurana do Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
CAPTULO 11: Trabalhando com mdia externa. . . . . .
Viso geral de carregamento de mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . Carregando arquivos SWF e JPEG externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carregando arquivos MP3 externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lendo marcas de ID3 em arquivos MP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reproduzindo arquivos FLV externos dinamicamente . . . . . . . . . . . . . . . . . . . . . Pr-carregando mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contedo
PARTE V: Referncia
CAPTULO 12: Dicionrio do ActionScript
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Exemplo de entrada da maioria dos elementos do ActionScript . . . . . . . . . . . . . . 219 Exemplo de entrada de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Contedo do dicionrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Classe Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Classe Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Classe Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Classe Boolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Classe Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Classe Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Classe Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Classe ContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Classe ContextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Classe CustomActions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Classe Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 Classe Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Classe Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Classe Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 Classe LoadVars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 Classe LocalConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 Classe Math. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 Classe Microphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 Classe Mouse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 Classe MovieClip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 Classe MovieClipLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627 Classe NetConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641 Classe NetStream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 Classe Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657 Classe Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662 Classe PrintJob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685 Classe Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699 Classe SharedObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711 Classe Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 Classe Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737 Classe String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748 Classe System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763 Objeto System.capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769 Objeto System.security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 Classe TextField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 Classe TextField.StyleSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812 Classe TextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 Objeto TextSnapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 Classe Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860 Classe XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868 Classe XMLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893 Classe XMLSocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
Contedo
Letras de A a Z e nmeros padro de 0 a 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Teclas do teclado numrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Teclas de funo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outras teclas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APNDICE D: Criando scripts para verses anteriores do Flash Player . . . . . . .
Sobre a especificao de verses anteriores do Flash Player. . . . . . . . . . . . . . . . . . 917 Usando o Flash MX 2004 para criar contedo para o Flash Player 4 . . . . . . . . . . 918
APNDICE E: Programao orientada a objeto com o ActionScript 1
. . . . . . . . 921
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929
Contedo
Contedo
O Macromedia Flash MX 2004 e o Flash MX Professional 2004 so as ferramentas de criao padro profissionais para a produo de experincias de grande impacto na Web. ActionScript a linguagem usada para desenvolver um aplicativo em Flash. Para usar o Flash, no necessrio ActionScript mas, se voc desejar fornecer interatividade com o usurio, trabalhar com objetos diferentes daqueles contidos no Flash (como botes e clipes de filme) ou transformar de qualquer outro modo um arquivo SWF em uma experincia de usurio mais eficiente, dever usar o ActionScript.
Pblico-alvo
Este manual pressupe que o Flash MX 2004 ou Flash MX Professional 2004 esteja instalado e que voc saiba como us-lo. necessrio saber como colocar objetos no Stage (Palco) e manipul-los no ambiente de criao do Flash. Se voc j tiver escrito programas anteriormente, o ActionScript parecer familiar. Caso contrrio, no ser difcil aprender a us-lo. fcil comear com comandos bem simples e aumentar a complexidade medida que voc avana.
Requisitos de sistema
O ActionScript no tem qualquer requisito de sistema alm do Flash MX 2004 ou Flash MX Professional 2004. Entretanto, a documentao pressupe que voc esteja utilizando as configuraes de publicao padro para os arquivos do Flash: Flash Player 7 e ActionScript 2.0. Se voc alterar qualquer uma dessas configuraes, as explicaes e exemplos de cdigo apresentados na documentao podero no funcionar corretamente.
Usando a documentao
Este documento oferece uma viso geral da sintaxe do ActionScript, informaes sobre como usar ActionScript ao trabalhar com tipos de diferentes de objetos e detalhes sobre a sintaxe e o uso de cada elemento da linguagem. Comece aprendendo a terminologia e os conceitos bsicos usados no restante do documento (consulte o Captulo 2, Conceitos bsicos do ActionScript, na pgina 27). Em seguida, aprenda o mecanismo para escrever e depurar scripts Flash (consulte o Captulo 3, Escrevendo e depurando scripts, na pgina 59).
Antes de escrever seus prprios scripts, leia as lies Write Scripts with ActionScript (Criar scripts com ActionScript) e Create a Form with Conditional Logic and Send Data (Criar um formulrio com lgica condicional e enviar dados), que oferecem uma introduo prtica ao trabalho com ActionScript. Para localizar essas lies, selecione Help (Ajuda) > How Do I (Como) > Quick Tasks (Tarefas rpidas). Depois de entender os conceitos bsicos, voc estar pronto para usar as informaes no restante deste documento que se aplicarem ao efeito especfico a ser obtido. Por exemplo, para saber como escrever um script que execute uma certa ao quando o usurio clica com o mouse, consulte o Captulo 4, Manipulando eventos, na pgina 89. Para localizar informaes sobre um certo comando que voc deseja usar, procure a respectiva entrada no Captulo 12, Dicionrio do ActionScript, na pgina 219; cada elemento de linguagem est listado ali em ordem alfabtica.
Convenes tipogrficas
As seguintes convenes tipogrficas so usadas neste manual:
cdigo do ActionScript. Fonte Code em itlico indica um elemento, como um parmetro ou nome de objeto do ActionScript, substitudo por um texto especfico quando voc escreve um script.
Voc refere-se ao desenvolvedor que escreve um script ou aplicativo. O usurio refere-se pessoa que executar os scripts e aplicativos. Tempo de compilao o momento em que voc publica, exporta, testa ou depura o documento. Tempo de execuo o momento em que o script executado no Flash Player.
Termos do ActionScript como mtodo e objeto so definidos no Captulo 2, Conceitos bsicos do ActionScript, na pgina 27.
Recursos adicionais
H uma documentao especfica sobre o Flash e produtos relacionados disponvel separadamente.
Para obter informaes sobre como trabalhar no ambiente de criao do Flash, consulte o
Using Flash Help (Ajuda de Usando o Flash). Para obter informaes sobre como trabalhar com componentes, consulte o Using Components Help (Ajuda de Usando componentes). Para obter informaes sobre como criar aplicativos de comunicao com o Flash Communication Server, consulte Developing Communications Applications (Desenvolvendo aplicativos de comunicao) e Managing Flash Communication Server (Gerenciando o Flash Communication Server). Para obter informaes sobre como acessar servios da Web com aplicativos do Flash, consulte Using Flash Remoting (Usando o Flash Remoting).
10
O site do Macromedia DevNet na Web (www.macromedia.com/devnet) atualizado periodicamente com as informaes mais recentes sobre o Flash, alm de recomendaes de usurios experientes, tpicos avanados, exemplos, dicas e outras atualizaes. Visite com freqncia o site da Web para saber das ltimas novidades sobre o Flash e como obter o mximo do programa. O Macromedia Flash Support Center (Centro de suporte do Macromedia Flash), em www.macromedia.com/go/flash_support_br, fornece TechNotes (Notas Tcnicas), atualizaes de documentao e links para recursos adicionais na comunidade Flash.
Recursos adicionais
11
12
PARTE I
Esta parte inclui informaes bsicas sobre a linguagem ActionScript. O Captulo 1 contm informaes sobre as novidades ou as alteraes no ActionScript e no Flash Player 7. Se voc j tiver usado o ActionScript antes, verifique essas informaes com ateno. Se voc est usando o ActionScript pela primeira vez, leia os Captulos 2 e 3 a fim de obter uma boa base para entender a terminologia e a sintaxe do ActionScript e para aprender a criar e depurar seus scripts. Captulo 1: Novidades do ActionScript no Flash MX 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Captulo 2: Conceitos bsicos do ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Captulo 3: Escrevendo e depurando scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
O Macromedia Flash MX 2004 e o Macromedia Flash MX Professional 2004 oferecem vrios aperfeioamentos que facilitam a criao de scripts mais eficientes com uso da linguagem ActionScript. Esses novos recursos, analisados neste captulo, incluem novos elementos de linguagem, ferramentas de edio e depurao melhoradas (consulte Alteraes do editor do ActionScript na pgina 23 e Alteraes de depurao na pgina 24) e a introduo a um modelo de programao mais orientada a objeto (consulte Novo modelo de programao orientada a objeto na pgina 25). Este captulo tambm contm uma longa seo que voc dever ler cuidadosamente se desejar publicar para Flash Player 7 quaisquer de seus arquivos Flash MX existentes ou anteriores (consulte Portando scripts existentes para o Flash Player 7 na pgina 17).
15
16
17
Conformidade com ECMA-262 edio 4 Foram implementadas diversas alteraes no Flash Player 7 para atender mais exatamente proposta do padro ECMA-262, edio 4 (consulte www.mozilla.org/js/language/es4/ index.html). Alm das tcnicas de programao baseadas em classes disponveis no ActionScript 2.0 (consulte Novo modelo de programao orientada a objeto na pgina 25), outros recursos foram adicionados e certos comportamentos foram alterados. Alm disso, ao publicar para Flash Player 7 e usar ActionScript 2.0, possvel converter um tipo de objeto em outro. Para obter mais informaes, consulte Convertendo objetos na pgina 42. Esses recursos no exigem a atualizao de scripts existentes; entretanto, voc pode us-los ao publicar seus scripts para Flash Player 7 e, posteriormente, continuar a revis-los e aperfeio-los. Ao contrrio das alteraes mencionadas acima, as alteraes relacionadas na prxima tabela (algumas delas tambm aumentam a conformidade com o padro ECMA) podem fazer com que os scripts existentes tenham um funcionamento diferente do anterior. Se tiver usado esses recursos em scripts existentes que deseja publicar para Flash Player 7, dever revisar as alteraes feitas para garantir que o cdigo ainda funcione como desejado ou para verificar se preciso reescrev-lo. Em especial, voc deve inicializar todas as variveis nos scripts que portar para o Flash Player 7 porque o valor undefined avaliado de forma diferente em certos casos.
Arquivo SWF publicado para Flash Player 7 Suporte para distino entre maisculas e minsculas (nomes de variveis que diferem somente no uso de maisculas so interpretados como variveis diferentes). Essa alterao tambm afeta arquivos carregados com #include e variveis externas carregadas com LoadVars.load(). Para obter mais informaes, consulte Distino entre maisculas e minsculas na pgina 32. Avaliar undefined em um contexto numrico retorna NaN. myCount +=1; trace(myCount); // NaN Quando undefined convertido em uma seqncia de caracteres, o resultado undefined.
firstname = "Joan "; lastname = "Flender"; trace(firstname + middlename + lastname); // Joan undefinedFlender
Arquivo SWF publicado para verses anteriores de Flash Player No h suporte para distino entre maisculas e minsculas (nomes de variveis que diferem somente no uso de maisculas so interpretados como sendo a mesma varivel).
Quando undefined convertido em uma seqncia de caracteres, o resultado "" (uma seqncia de caracteres vazia).
firstname = "Joan "; lastname = "Flender"; trace(firstname + middlename + lastname); // Joan Flender
18
Arquivo SWF publicado para Flash Player 7 Se voc converter uma seqncia de caracteres em um valor booleano, o resultado ser true se a seqncia tiver comprimento superior a zero; o resultado ser false para uma seqncia vazia. Ao definir o tamanho de um array, somente uma seqncia de caracteres numricos vlida define esse tamanho. Por exemplo, "6" funciona, mas " 6" e "6xyz" no.
my_array=new Array(); my_array[" 6"] ="x"; trace(my_array.length); // 0 my_array["6xyz"] ="x"; trace(my_array.length); // 0 my_array["6"] ="x"; trace(my_array.length); // 7
Arquivo SWF publicado para verses anteriores de Flash Player Se voc converter uma seqncia de caracteres em um valor booleano, a seqncia ser convertida primeiro em um nmero; o resultado ser true se o nmero for diferente de zero; caso contrrio, ser false. Ao definir o tamanho de um array, at mesmo uma seqncia de caracteres numricos mal-formada pode ser utilizada:
my_array=new Array(); my_array[" 6"] ="x"; trace(my_array.length); // 7 my_array["6xyz"] ="x"; trace(my_array.length); // 7 my_array["6"] ="x"; trace(my_array.length); // 7
Regras relativas a nomes de domnio para configuraes e dados locais No Flash Player 6, as regras de correspondncia de domnio superior so usadas, por padro, ao acessar configuraes locais (tais como permisses de acesso a uma cmera ou microfone) ou dados com persistncia local (objetos compartilhados). Ou seja, as configuraes e dados para arquivos SWF hospedados em here.xyz.com, there.xyz.com e xyz.com so compartilhados e armazenados em xyz.com. No Flash Player 7, as regras de correspondncia de domnio exato so usadas por padro. Ou seja, as configuraes e dados de um arquivo hospedado em aqui.xyz.com so armazenados em here.xyz.com, as configuraes e dados de um arquivo hospedado em there.xyz.com so armazenados em there.xyz.com e assim sucessivamente. Uma nova propriedade, System.exactSettings, permite que voc especifique quais regras usar. Esta propriedade suportada por arquivos publicados para Flash Player 6 ou verses posteriores. Para arquivos publicados para Flash Player 6, o valor padro false, significando que as regras de correspondncia de domnio superior esto sendo usadas. Para arquivos publicados para Flash Player 7, o valor padro true, significando que as regras de correspondncia de domnio exato esto sendo usadas. Se voc estiver usando configuraes ou dados locais persistentes e quiser publicar um arquivo SWF do Flash Player 6 para Flash Player 7, poder ser necessrio definir este valor como false no arquivo portado. Para obter mais informaes, consulte System.exactSettings na pgina 764.
19
Acesso entre domnios e a subdomnios entre arquivos SWF Ao desenvolver uma srie de arquivos SWF que se comunicam entre si por exemplo, ao usar ou objetos Local Connection voc poder hospedar os filmes em diferentes domnios ou em diferentes subdomnios de um mesmo domnio superior.
loadMovie(), MovieClip.loadMovie(), MovieClipLoader.LoadClip()
Nos arquivos publicados para Flash Player 5 e verses anteriores, no havia restries em relao ao acesso entre domnios e a subdomnios. Nos arquivos publicados para Flash Player 6, voc podia utilizar o manipulador LocalConnection.allowDomain ou o mtodo System.security.allowDomain() para especificar o acesso entre domnios (por exemplo, para permitir que um arquivo em someSite.com pudesse ser acessado por um arquivo em someOtherSite.com), e no era necessrio nenhum comando para autorizar acesso ao subdomnio (por exemplo, um arquivo em www.someSite.com podia ser acessado por um arquivo em store.someSite.com). Arquivos publicados para Flash Player 7 implementam acesso entre arquivos SWF de forma diferente das verses anteriores, de duas maneiras. Primeiro, o Flash Player 7 implementa as regras de correspondncia de domnio exato, em vez das regras de correspondncia de domnio superior. Portanto, o arquivo que est sendo acessado (mesmo se publicado para uma verso anterior ao Flash Player 7) deve autorizar explicitamente o acesso entre domnios ou a um subdomnio. Este assunto discutido mais adiante. Segundo, um arquivo hospedado em um site que usa um protocolo seguro (HTTPS) deve autorizar explicitamente o acesso de um arquivo hospedado em um site que usa um protocolo inseguro (HTTP ou FTP). Este assunto discutido na prxima seo (consulte Acesso de protocolo HTTP para HTTPS entre arquivos SWF na pgina 21). Como o Flash Player 7 implementa regras de correspondncia de domnio exato, em vez das regras de correspondncia de domnio superior, poder ser necessrio modificar os scripts que j existam se voc desejar acess-los a partir de arquivos publicados para Flash Player 7. Voc tambm pode publicar para Flash Player 6 os arquivos modificados. Se tiver utilizado alguma instruo LocalConnection.allowDomain() ou System.security.allowDomain() em seus arquivos e definido permisso para sites de domnios superiores, voc precisar alterar seus parmetros para especificar domnios exatos. O cdigo a seguir mostra um exemplo dos tipos de alteraes que voc provavelmente ter de fazer:
// Comandos Flash Player 6 em uma arquivo SWF em www.anyOldSite.com // permitem acesso a arquivos SWF hospedados em www.someSite.com // ou em store.someSite.com System.security.allowDomain("someSite.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="someSite.com"); } // Os comandos correspondentes que permitem acesso a arquivos SWF // publicados para Flash Player 7 System.security.allowDomain("www.someSite.com", "store.someSite.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="www.someSite.com" || sendingDomain=="store.someSite.com"); }
Talvez voc precise adicionar instrues como estas em seus arquivos, se ainda no as estiver utilizando. Por exemplo, se o seu arquivo SWF estiver hospedado em www.someSite.com e voc desejar autorizar o acesso por um arquivo SWF publicado para Flash Player 7 que est em store.someSite.com, dever incluir instrues como as a seguir no arquivo em www.someSite.com (voc ainda poder publicar para Flash Player 6 o arquivo em www.someSite.com):
20
Em resumo, poder ser necessrio modificar os seus arquivos para incluir ou alterar instrues allowDomain se voc publicar arquivos para Flash Player 7 que atendam s seguintes condies:
O arquivo SWF chamado (de qualquer verso) no est hospedado em site com protocolo
seguro (HTTPS), ou os arquivos SWF chamado e de chamada esto ambos hospedados em sites HTTPS. Se somente o arquivo SWF chamado estiver em HTTPS, consulte Acesso de protocolo HTTP para HTTPS entre arquivos SWF na pgina 21. Os arquivos SWF no esto no mesmo domnio (por exemplo, um arquivo est em www.domain.com e o outro em store.domain.com).
Acesso de protocolo HTTP para HTTPS entre arquivos SWF Como discutido na seo anterior, as regras para acesso entre domnios ou a subdomnios foram alteradas no Flash Player 7. Alm da implementao das regras de correspondncia de domnio exato, voc deve autorizar explicitamente o acesso de arquivos hospedados em sites que utilizem um protocolo inseguro a arquivos hospedados em sites que utilizem um protocolo seguro (HTTPS). Se o arquivo chamado estiver publicado para Flash Player 7 ou Flash Player 6, voc dever implementar uma das instrues allowDomain (consulte Acesso entre domnios e a subdomnios entre arquivos SWF na pgina 20) ou utilizar as novas instrues LocalConnection.allowInsecure Domain ou System.security.allowInsecureDomain().
Aviso: A implementao de uma instruo allowInsecureDomain() compromete a segurana oferecida pelo protocolo HTTPS. Voc dever efetuar estas alteraes somente se no puder reorganizar o seu site de forma que todos os arquivos SWF sejam disponibilizados atravs de protocolos HTTPS.
21
O cdigo a seguir mostra um exemplo dos tipos de alteraes que voc provavelmente ter de fazer:
// Comandos em um arquivos SWF para Flash Player 6 em https://www.someSite.com // permitindo acesso a arquivos SWF para Flash Player 7 SWF hospedados // em http://www.someSite.com ou em http://www.someOtherSite.com System.security.allowDomain("someOtherSite.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="someOtherSite.com"); } // Comandos correspondentes em um arquivo SWF para Flash Player 7 // permitindo acesso a arquivos SWF para Flash Player 7 SWF hospedados // em http://www.someSite.com ou em http://www.someOtherSite.com System.security.allowInsecureDomain("www.someSite.com", "www.someOtherSite.com"); my_lc.allowInsecureDomain = function(sendingDomain) { return(sendingDomain=="www.someSite.com" || sendingDomain=="www.someOtherSite.com"); }
Poder ser necessrio adicionar instrues como estas em seus arquivos, se ainda no as estiver utilizando. Poder ser necessria uma modificao mesmo se ambos os arquivos estiverem no mesmo domnio (por exemplo, um arquivo em http://www.domain.com est chamando um arquivo em https://www.domain.com). Em resumo, poder ser necessrio modificar os seus arquivos para incluir ou alterar instrues se voc publicar arquivos para Flash Player 7 que atendam s seguintes condies:
arquivo chamado, usando correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Essa instruo ser necessria mesmo se os arquivos SWF chamado e de chamada estiverem no mesmo domnio. Se o arquivo chamado estiver publicado para Flash Player 6 ou verses anteriores e os arquivos chamado e de chamada estiverem no mesmo domnio (por exemplo, um arquivo em http://www.domain.com chama um arquivo em https://www.domain.com), nenhuma modificao ser necessria. Se o arquivo chamado estiver publicado para Flash Player 6, os arquivos no estiverem no mesmo domnio e voc no desejar portar o arquivo chamado para Flash Player 7, modifique o arquivo chamado adicionando ou alterando uma instruo System.security.allowDomain ou LocalConnection.allowDomain, usando correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Se o arquivo chamado estiver publicado para Flash Player 6 e voc desejar port-lo para Flash Player 7, dever incluir System.security.allowInsecureDomain ou LocalConnection.allowInsecureDomain nesse arquivo, usando correspondncia de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Essa instruo ser necessria mesmo se ambos os arquivos estiverem no mesmo domnio.
22
Se o arquivo chamado estiver publicado para Flash Player 5 ou verses anteriores e os arquivos
no estiverem no mesmo domnio, voc poder optar por uma destas duas aes. Poder portar o arquivo chamado para Flash Player 6 e adicionar ou alterar uma instruo System.security.allowDomain, usando correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo, ou portar o arquivo chamado para Flash Player 7 e incluir uma instruo System.security.allowInsecureDomain nesse arquivo, usando correspondncia de nome de domnio exato, conforme mostrado nos exemplos de cdigo desta seo. Arquivos de diretivas no servidor para autorizar o acesso a dados Um documento do Flash pode carregar dados de uma origem externa usando uma das seguintes chamadas de carregamento de dados: XML.load(), XML.sendAndLoad(), LoadVars.load(), LoadVars.sendAndLoad(), loadVariables(), loadVariablesNum(), MovieClip.loadVariables(), XMLSocket.connect() e Macromedia Flash Remoting (NetServices.createGatewayConnection). Alm disso, um arquivo SWF pode importar RSLs (Runtime Shared Libraries, Bibliotecas compartilhadas em tempo de execuo) ou recursos definidos em outro arquivo SWF durante a execuo. Por padro, os dados ou a RSL devem residir no mesmo domnio que o arquivo SWF que estiver carregando dados ou mdia externos. Para disponibilizar dados e recursos de bibliotecas compartilhadas em tempo de execuo para arquivos SWF em diferentes domnios, voc deve usar um arquivo de diretivas entre domnios. Um arquivo de diretivas entre domnios um arquivo XML que fornece ao servidor um modo para indicar que seus dados e documentos esto disponveis para arquivos SWF atendidos por determinados domnios ou por todos os domnios. Todos os arquivos SWF disponveis a partir de um domnio especificado no arquivo de diretivas do servidor tero permisso para acessar os dados ou RSLs desse servidor. Se voc estiver carregando dados externos, dever criar arquivos de diretivas mesmo se no planejar portar nenhum dos arquivos para Flash Player 7. Se estiver utilizando RSLs, dever criar arquivos de diretivas se o arquivo de chamada ou o arquivo chamado estiver publicado para Flash Player 7. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.
23
Importando scripts
Quando voc seleciona Import Script (Importar script) no menu pop-up no painel Actions, o script importado copiado para o script no ponto de insero do arquivo de cdigo. Em verses anteriores do Flash, a importao de um script substitua o contedo do script existente.
Pontos de interrupo de clique nico Para adicionar um ponto de interrupo de depurao antes de uma linha de cdigo no painel Debugger ou no painel Script do painel Actions, clique na margem esquerda. Nas verses anteriores do Flash, clicar na margem esquerda selecionava uma linha de cdigo. A nova forma de selecionar uma linha de cdigo clicar e pressionar Control (Windows) ou clicar e pressionar Command (Macintosh). Os modos normal e especialista no esto mais no painel Actions
Em verses anteriores do Flash, voc podia trabalhar no painel Actions no modo normal, em que preenchia as opes e os parmetros para criar o cdigo, ou no modo especialista, em que adicionava comandos diretamente ao painel Script. No Flash MX 2004 e no Flash MX Professional 2004, voc s pode trabalhar no painel Actions adicionando comandos diretamente ao painel Script. Voc ainda pode arrastar comandos da caixa de ferramentas Actions para o painel Script ou usar o boto Add (+) (Adicionar) acima do painel Script para adicionar comandos a um script.
Prendendo vrios scripts Voc pode prender vrios scripts em um arquivo FLA ao longo da parte inferior do painel Script no painel Actions (Aes). Em verses anteriores do Flash, s era possvel prender um script por vez. Navegador Script
O lado esquerdo do painel Actions agora contm dois painis: A caixa de ferramentas Actions e um novo navegador Script. O navegador Script uma representao visual da estrutura do arquivo FLA; voc pode navegar pelo arquivo FLA aqui para localizar cdigo ActionScript.
Janela Script integrada para editar arquivos externos (somente Flash Professional)
Voc pode usar o editor do ActionScript em uma janela Script (separada do painel Actions) para escrever e editar arquivos de script externos. Na janela Script, h suporte para a sinalizao da sintaxe por cores, referncias de cdigo e outras preferncias; a caixa de ferramentas Actions tambm est disponvel. Para exibir a janela Script, use File (Arquivo) >New (Novo) e selecione o tipo de arquivo externo a ser editado. possvel abrir vrios arquivos externos ao mesmo tempo; os nomes dos arquivo so exibidos em guias na parte superior da janela Script. (As guias aparecem somente no Windows.)
Alteraes de depurao
Esta seo descreve as alteraes que melhoram a depurao de scripts.
Janela Output alterada para painel Output Agora voc pode mover e acoplar o painel Output da mesma forma que qualquer outro painel do Flash. Relatrio de erros aperfeioado durante a compilao
Alm de fornecer uma manipulao de excees mais eficiente, o ActionScript 2.0 exibe diversos novos erros durante a compilao. Para obter mais informaes, consulte Apndice A, Mensagens de erro, na pgina 903. eficiente.
Manipulao de excees melhorada A classe Error e os comandos throw e try..catch..finally permitem implementar uma manipulao de excees mais
24
class extends implements interface dynamic static public private get set import
Scripts que usem ActionScript 2.0 para definir classes ou interfaces devem ser armazenados
como arquivos de scripts externos, com uma nica classe definida em cada script. Ou seja, classes e interfaces no podem ser definidas no painel Actions (Aes).
25
Ateno: A configurao padro de publicao para os novos arquivos criados no Flash MX 2004 ActionScript 2.0. Se voc planeja modificar um arquivo FLA existente para usar a sintaxe do ActionScript 2.0, verifique se o arquivo FLA especifica ActionScript 2.0 em suas configuraes de publicao. Caso contrrio, seu arquivo ser compilado incorretamente, apesar de o Flash no gerar erros de compilao.
Para obter mais informaes sobre como usar o ActionScript 2.0 para escrever programas orientados a objeto no Flash, consulte o Captulo 9, Criando classes com o ActionScript 2.0, na pgina 165.
26
O ActionScript possui regras de gramtica e pontuao que determinam quais caracteres e palavras so usados para criar significado e em que ordem eles podem ser escritos. Por exemplo, no ingls, um ponto encerra uma frase. No ActionScript, um ponto-e-vrgula encerra uma instruo. As regras gerais a seguir aplicam-se a todo o ActionScript. A maioria dos termos do ActionScript tambm tem requisitos individuais; para ver as regras de um termo especfico, consulte sua entrada no Captulo 12, Dicionrio do ActionScript, na pgina 219.
27
1 Na caixa de dilogo Preferences (Preferncias), em Edit (Editar) > Preferences, clique na guia
ActionScript. 2 Em Editing Options (Opes de edio), siga uma ou ambas as instrues: Em Open/Import (Abrir/importar), selecione UTF-8 para abrir ou importar usando a codificao Unicode, ou selecione Default Encoding para abrir ou importar usando a forma de codificao do idioma usado do seu sistema. Em Save/Export (Salvar/Exportar), selecione UTF-8 para salvar ou exportar usando a codificao Unicode, ou selecione Default Encoding para salvar ou exportar usando a forma de codificao de idioma usada pelo seu sistema.
Para ativar ou desativar o aviso de codificao de exportao:
1 Na caixa de dilogo Preferences, em Edit > Preferences, clique na guia Warnings (Avisos). 2 Selecione ou desmarque Warn on Encoding Conflicts When Exporting .as Files (Avisar em
28
Terminologia
Como em toda linguagem de script, o ActionScript usa sua prpria terminologia. A lista a seguir fornece uma introduo aos termos importantes do ActionScript.
Aes so instrues que instruem um arquivo SWF a fazer algo enquanto reproduzido. Por exemplo, gotoAndStop() envia a reproduo para um quadro ou rtulo especfico. Neste manual, os termos ao e instruo so equivalentes. Booleano
Classes so tipos de dados que podem ser criados para definir um novo tipo de objeto. Para definir uma classe, use a palavra-chave class em um arquivo de script externo, e no em um script escrito no painel Actions (Aes). Constantes so elementos que no se alteram. Por exemplo, a constante Key.TAB sempre tem o mesmo significado: ela indica a tecla Tab em um teclado. Constantes so teis para comparar valores. Construtores
so funes usadas para definir as propriedades e os mtodos de uma classe. Por definio, construtores so funes em uma definio de classe que tm o mesmo nome da classe. Por exemplo, o cdigo abaixo define uma classe Circle (Crculo) e implementa uma funo construtora:
// arquivo Circle.as class Circle { private var radius:Number private var circumference:Number // construtor function Circle(radius:Number) { circumference = 2 * Math.PI * radius; } }
O termo construtor tambm usado quando voc cria (instancia) um objeto com base em uma classe especfica. As instrues abaixo so construtores para a classe Array interna e a classe Circle personalizada:
my_array:Array = new Array(); my_circle:Circle = new Circle(); Tipos de dados descrevem que tipos de informaes um elemento do ActionScript ou varivel pode conter. Os tipos de dados do ActionScript so String (Seqncia de caracteres), Number (Nmero), Boolean (Booleano), Object (Objeto), MovieClip (Clipe de filme), Function (Funo), null (nulo) e undefined (indefinido). Para obter mais informaes, consulte Sobre tipos de dados na pgina 37. Eventos so
aes que ocorrem enquanto um arquivo SWF reproduzido. Por exemplo, so gerados eventos diferentes quando um clipe de filme carregado, quando a reproduo entra em um quadro, quando o usurio clica em um boto ou clipe de filme, ou quando digita no teclado.
Terminologia
29
Manipuladores de eventos so aes especiais que gerenciam eventos como mouseDown ou load.
Existem dois tipos de manipuladores de eventos do ActionScript: mtodos manipuladores de eventos e ouvintes de eventos. (Existem tambm dois manipuladores de eventos, on() e onClipEvent(), que voc pode atribuir diretamente a botes e clipes de filme.) Na caixa de ferramentas Actions, cada objeto do ActionScript com mtodos manipuladores de eventos ou ouvintes de eventos tem uma subcategoria chamada Events (Eventos) ou Listeners (Ouvintes). Alguns comandos podem ser usados como manipuladores de eventos e como ouvintes de eventos e so includos nas duas subcategorias.
Expresses so combinaes legais de smbolos do ActionScript que representam um valor. Uma expresso consiste em operadores e operandos. Por exemplo, na expresso x + 2, x e 2 so operandos e + um operador. Funes so blocos de cdigo reutilizveis que podem receber parmetros e retornar um valor. Para obter mais informaes, consulte Criando funes na pgina 55. Identificadores
so nomes usados para indicar uma varivel, uma propriedade, um objeto, uma funo ou um mtodo. O primeiro caractere deve ser uma letra, um sublinhado (_) ou um cifro ($). Cada caractere seguinte deve ser uma letra, um nmero, um sublinhado ou um cifro. Por exemplo, firstName o nome de uma varivel.
Instncias so objetos que pertencem a certas classes. Cada instncia de uma classe contm todas as propriedades e mtodos dessa classe. Por exemplo, todos os clipes de filme so instncias da classe MovieClip, portanto voc pode usar qualquer mtodo ou propriedade da classe MovieClip com qualquer instncia de clipe de filme. Nomes de instncias so nomes exclusivos que permitem fazer referncia a instncias de botes e
clipes de filme em scripts. Use o inspetor Properties (Propriedades) para atribuir nome a instncias no Stage (Palco). Por exemplo, um smbolo principal na biblioteca pode ser chamado de counter e as duas instncias desse smbolo no arquivo SWF podem ter os nomes scorePlayer1_mc e scorePlayer2_mc. O cdigo a seguir define uma varivel chamada score dentro de cada instncia de clipe de filme por meio de nomes de instncias:
_root.scorePlayer1_mc.score += 1; _root.scorePlayer2_mc.score -= 1;
Voc pode usar sufixos especiais ao atribuir nome a instncias para que referncias de cdigo (consulte Usando referncias de cdigo na pgina 68) apaream medida que voc digita o cdigo. Para obter mais informaes, consulte Usando sufixos para ativar referncias de cdigo na pgina 66.
Palavras-chave so palavras reservadas que tm significado especial. Por exemplo, var uma palavra-chave usada para declarar variveis locais. No possvel usar uma palavra-chave como um identificador. Por exemplo, var no um nome de varivel legal. Para obter uma lista de palavras-chave, consulte Palavras-chave na pgina 36.
funes associadas a uma classe. Por exemplo, getBytesLoaded() um mtodo interno associado classe MovieClip. Voc tambm pode criar funes que funcionem como mtodos, para objetos com base em classes internas ou objetos com base nas classes criadas por voc. Por exemplo, no cdigo abaixo, clear() torna-se um mtodo de um objeto controller que voc j definiu:
Mtodos so
30
so colees de propriedades e mtodos; cada objeto tem seu prprio nome e uma instncia de uma classe especfica. Objetos internos so predefinidos na linguagem ActionScript. Por exemplo, o objeto interno Date fornece informaes sobre o relgio do sistema.
Operadores so termos que calculam um novo valor de um ou mais valores. Por exemplo, o operador de adio (+) soma dois ou mais valores para produzir um novo valor. Os valores manipulados pelos operadores so denominados operandos. Parmetros (tambm denominados argumentos) so espaos reservados que permitem passar valores para funes. Por exemplo, a funo welcome() a seguir usa os dois valores que recebe nos parmetros firstName e hobby: function welcome(firstName, hobby) { welcomeText = "Hello, " + firstName + "I see you enjoy " + hobby; } Pacotes
so diretrios que contm um ou mais arquivos de classes e residem em um diretrio especfico do caminho da classe (consulte Noes bsicas de caminho de classe na pgina 179).
Propriedades so atributos que definem um objeto. Por exemplo, _visible uma propriedade de todos os clipes de filme que define se eles esto visveis ou ocultos. Caminhos de destino
so endereos hierrquicos de nomes de instncias de clipes de filme, variveis e objetos em um arquivo SWF. Voc pode dar um nome a uma instncia de clipe de filme no inspetor Properties do clipe de filme. A Timeline (Linha de tempo) principal sempre tem o nome _root. Voc pode usar um caminho de destino para direcionar uma ao em um clipe de filme, ou para obter ou definir o valor de uma varivel. Por exemplo, a seguinte instruo o caminho de destino da varivel volume dentro do clipe de filme stereoControl:
_root.stereoControl.volume
Para obter mais informaes sobre caminhos de destino, consulte Using absolute and relative target paths (Usando caminhos de destino absolutos e relativos) no Using Flash Help (Ajuda de Usando o Flash).
Variveis
so identificadores que contm valores de qualquer tipo de dados. possvel criar, alterar e atualizar variveis. Os valores que elas armazenam podem ser recuperados para uso em scripts. No exemplo a seguir, os identificadores no lado esquerdo do sinal de igual so variveis:
Para obter mais informaes sobre variveis, consulte Sobre variveis na pgina 44.
Terminologia
31
Sintaxe
Como em qualquer linguagem, o ActionScript tem regras de sintaxe a serem seguidas para criar scripts que possam ser compilados e executados corretamente. Esta seo descreve os elementos que compem a sintaxe do ActionScript. Distino entre maisculas e minsculas Em uma linguagem de programao que distingue maisculas e minsculas, nomes de variveis que diferem somente em sua primeira letra (book e Book) so considerados diferentes. Portanto, bom ser coerente na escolha das convenes de maisculas e minsculas. Por exemplo, as convenes usadas neste manual facilitam a identificao de nomes de funes e variveis no cdigo do ActionScript. Ao publicar arquivos para Flash Player 7 ou verses posteriores, o Flash implementar a diferenciao entre maisculas e minsculas tanto no ActionScript 1 quanto no ActionScript 2.0. Isto significa que haver distino entre maisculas e minsculas para palavras-chave, nomes de classe, variveis, nomes de mtodos e assim por diante. Por exemplo:
// Em arquivo que especifique o Flash Player 7 // e ActionScript 1 ou ActionScript 2.0 // // Define propriedades de dois objetos diferentes cat.hilite = true; CAT.hilite = true; // Cria trs variveis diferentes var myVar=10; var myvar=10; var mYvAr=10; // No gera um erro var array = new Array(); var date = new Date();
Esta alterao tambm afeta variveis externas carregadas com LoadVars.load(). Alm disso, a distino entre maisculas e minsculas implementada para scripts externos, como os arquivos de classe ActionScript 2.0 ou scripts que voc importar usando o comando #include. Se voc estiver publicando arquivos para Flash Player 7 e tiver previamente criado arquivos externos para adicionar a seus scripts usando a instruo #include, dever rever cada arquivo e verificar se usou maisculas e minsculas de forma coerente em todos eles. Uma forma de fazer isso abrir o arquivo na janela Script (somente Flash Professional) ou, em um novo arquivo FLA, definir as configuraes de publicao para o Flash Player 7 e copiar o contedo do arquivo para o painel Actions. Em seguida, use o boto Check Syntax (Verificar sintaxe) (consulte Verificando sintaxe e pontuao na pgina 71) ou publique o arquivo; os erros causados por conflitos de atribuio de nome aparecero no painel Output (Sada). Quando Syntax coloring (Sinalizao da sintaxe por cores) estiver ativada, os elementos de linguagem escritos corretamente em maisculas ou minsculas ficaro azuis por padro. Para obter mais informaes, consulte Palavras-chave na pgina 36 e Realce de sintaxe na pgina 65.
32
Sintaxe de ponto No ActionScript, usa-se um ponto (.) para indicar as propriedades ou os mtodos relacionados a um objeto ou clipe de filme. O ponto tambm usado para identificar o caminho de destino at um clipe de filme, uma varivel, uma funo ou um objeto. Uma expresso com sintaxe de ponto comea com o nome do objeto ou clipe de filme seguido de um ponto e termina com o elemento a ser especificado. Por exemplo, a propriedade _x do clipe de filme indica a posio no eixo x desse clipe no Stage. A expresso ballMC._x se refere propriedade _x da instncia ballMC do clipe de filme. Outro exemplo: submit uma varivel definida no clipe de filme form que aninhado no clipe de filme shoppingCart. A expresso shoppingCart.form.submit = true define a varivel submit da instncia form como true. A expresso do mtodo de um objeto ou clipe de filme segue o mesmo padro. Por exemplo, o mtodo play() da instncia de clipe de filme ball_mc move a reproduo na Timeline de ball_mc, como mostrado na instruo a seguir:
ball_mc.play();
A sintaxe de ponto tambm usa dois aliases especiais, _root e _parent. O alias _root refere-se Timeline principal. Voc pode usar o alias _root para criar um caminho de destino absoluto. Por exemplo, a seguinte instruo chama a funo buildGameBoard() no clipe de filme functions na Timeline principal:
_root.functions.buildGameBoard();
Voc pode usar o alias _parent para se referir a um clipe de filme no qual o objeto atual esteja aninhado. Pode tambm usar _parent para criar um caminho de destino relativo. Por exemplo, se o clipe de filme dog_mc estiver aninhado no clipe de filme animal_mc, a seguinte instruo na instncia dog_mc informar a animal_mc para interromper a reproduo:
_parent.stop();
Sintaxe de barra A sintaxe de barra foi usada no Flash 3 e 4 para indicar o caminho de destino de um clipe de filme ou de uma varivel. Esta sintaxe ainda suportada pelo Flash Player 7, mas seu uso no recomendado. A sintaxe de barra no suportada pelo ActionScript 2.0. Porm, se voc estiver criando contedo direcionado especificamente para o Flash Player 4, ser preciso usar a sintaxe de barra. Para obter mais informaes, consulte Usando a sintaxe de barra na pgina 919.
Sintaxe
33
Chaves No ActionScript, manipuladores de eventos, definies de classes e funes so agrupados em blocos com chaves ({}). A chave inicial pode ser colocada na mesma linha que a declarao ou na prxima linha, como mostrado nos exemplos a seguir. Para tornar o cdigo mais legvel, recomendvel escolher um formato e us-lo de forma consistente.
// Manipulador de eventos on (release) { myDate = new Date(); currentMonth = myDate.getMonth(); } on(release) { myDate = new Date(); currentMonth = myDate.getMonth(); } // Classe class Circle(radius) { } class Square(side) { } // Funo circleArea = function(radius) { return radius * radius * MATH.PI; } squareArea = function(side) { return side * side; }
Voc pode verificar a existncia de chaves correspondentes nos scripts; consulte Verificando sintaxe e pontuao na pgina 71. Ponto-e-vrgulas Uma instruo do ActionScript terminada por um ponto-e-vrgula (;), como mostrado nestes exemplos:
var column = passedDate.getDay(); var row = 0;
Se o ponto-e-vrgula de terminao for omitido, o Flash ainda assim compilar o script com xito. Porm, o uso do ponto-e-vrgula uma prtica recomendvel na criao de scripts.
34
Ao chamar uma funo, inclua os parmetros passados para a funo dentro dos parnteses, da seguinte forma:
myFunction (Steve, 10, true);
Tambm possvel usar parnteses para substituir a ordem de precedncia do ActionScript ou para facilitar a leitura das instrues do ActionScript. (Consulte Associatividade e precedncia de operadores na pgina 48.) Use parnteses tambm para avaliar uma expresso esquerda de um ponto em uma sintaxe de ponto. Por exemplo, na seguinte instruo, os parnteses fazem com que new Color(this) avalie e crie um objeto Color:
onClipEvent (enterFrame){ (new Color(this)).setRGB(0xffffff); }
Se voc no usar parnteses, dever adicionar uma instruo para avaliar a expresso:
onClipEvent (enterFrame){ myColor = new Color(this); myColor.setRGB(0xffffff); }
Voc pode verificar a existncia de parnteses correspondentes nos scripts; consulte Verificando sintaxe e pontuao na pgina 71. Comentrios bastante recomendvel usar comentrios para adicionar observaes a scripts. Os comentrios so teis para registrar as suas intenes e passar informaes para outros desenvolvedores, se voc trabalha em um ambiente colaborativo ou est fornecendo exemplos. Ser muito mais fcil entender um script, por mais simples que ele seja, se voc fizer observaes ao cri-lo: Para indicar que uma linha ou parte de uma linha um comentrio, anteceda o comentrio com duas barras (//):
on (release) { // cria um novo objeto Date myDate = new Date(); currentMonth = myDate.getMonth(); // converte o nmero do ms no nome do ms monthName = calcMonth(currentMonth); year = myDate.getFullYear(); currentDate = myDate.getDate(); }
Quando Syntax coloring estiver ativada (consulte Realce de sintaxe na pgina 65), os comentrios ficaro em cinza por padro. O tamanho dos comentrios no afeta o tamanho do arquivo exportado e eles no precisam seguir as regras de palavras-chave ou sintaxe do ActionScript.
Sintaxe
35
Para comentar uma parte inteira do script, coloque o comentrio em bloco, em vez de adicionar // ao incio de cada linha. Essa tcnica mais fcil e til quando voc deseja testar somente partes de um script comentando grandes sees dele. Para criar um bloco de comentrio, coloque /* no incio das linhas de comentrio e */ no fim. Por exemplo, quando o seguinte script executado, a parte do cdigo contida no bloco no executada:
// O cdigo abaixo executado var x:Number = 15; var y:Number = 20; // O cdigo abaixo no executado /* on (release) { // cria um novo objeto Date myDate = new Date(); currentMonth = myDate.getMonth(); // converte o nmero do ms no nome do ms monthName = calcMonth(currentMonth); year = myDate.getFullYear(); currentDate = myDate.getDate(); } */ // O cdigo abaixo executado var name:String = "My name is"; var age:Number = 20;
Palavras-chave O ActionScript reserva palavras para uso especfico na linguagem, portanto voc no pode us-las como identificadores, como nomes de variveis, de funes ou de rtulos. A tabela seguinte lista todas as palavras-chave do ActionScript:
break default extends if instanceof private static var case delete for implements interface public switch void class dynamic function import intrinsic return this while continue else get in new set typeof with
Constantes Uma constante uma propriedade cujo valor nunca alterado. Por exemplo, as constantes BACKSPACE, ENTER, QUOTE, RETURN, SPACE e TAB so propriedades do objeto Key e se referem s teclas do teclado. Para testar se o usurio est pressionando a tecla Enter, voc pode usar a seguinte instruo:
if(Key.getCode() == Key.ENTER) { alert = "Are you ready to play?"; controlMC.gotoAndStop(5); }
36
String na pgina 37 Number na pgina 38 Boolean na pgina 38 Object na pgina 39 MovieClip na pgina 39 Null na pgina 39 Undefined na pgina 39
Ao depurar scripts, talvez voc precise determinar os tipos de dados de uma expresso ou varivel para entender seu comportamento. Isso pode ser feito com o operador typeof (consulte Determinando o tipo de dados de um item na pgina 40). Voc pode converter um tipo de dados em outro usando uma das seguintes funes de converso: Array(), Boolean(), Number(), Object(), String(). String Uma seqncia de caracteres uma seqncia de letras, nmeros e sinais de pontuao. Insira seqncias de caracteres em instrues do ActionScript colocando-as entre aspas simples ou duplas. As seqncias de caracteres so tratadas como caracteres e no como variveis. Por exemplo, na seguinte instruo, "L7" uma seqncia de caracteres:
favoriteBand = "L7";
Voc pode usar o operador de adio (+) para concatenar, ou unir, duas seqncias de caracteres. O ActionScript trata os espaos no comeo ou final de uma seqncia de caracteres como uma parte literal dessa seqncia. A seguinte expresso inclui um espao depois da vrgula:
greeting = "Welcome," + firstName;
37
Para incluir aspas em uma seqncia de caracteres, coloque uma barra invertida (\) antes dessas aspas. Isso chamado escape de caractere. H outros caracteres que s podem ser representados no ActionScript por seqncias de escape especiais. A tabela seguinte fornece todos os caracteres de escape do ActionScript:
Seqncia de escape Caractere
\b \f \n \r \t \" \' \\ \000 - \377 \x00 - \xFF \u0000 - \uFFFF
Caractere Backspace (ASCII 8) Caractere de alimentao de formulrio (ASCII 12) Caractere de alimentao de linha (ASCII 10) Caractere de retorno de carro (ASCII 13) Caractere Tab (ASCII 9) Aspas duplas Aspas simples Barra invertida Um byte especificado em octal Um byte especificado em hexadecimal Um caractere Unicode de 16 bits especificado em hexadecimal
Number O tipo de dados number um nmero de dupla preciso e ponto flutuante. possvel manipular nmeros usando os operadores aritmticos de adio (+), subtrao (-), multiplicao (*), diviso (/), mdulo (%), incremento (++) e decremento (--). Tambm possvel usar mtodos das classes internas Math e Number para manipular nmeros. O seguinte exemplo usa o mtodo sqrt() (square root - raiz quadrada) para retornar a raiz quadrada do nmero 100:
Math.sqrt(100);
Para obter mais informaes, consulte Operadores numricos na pgina 49. Boolean Um valor booleano true ou false . O ActionScript tambm converte os valores true e false em 1 e 0 quando apropriado. Os valores booleanos so freqentemente usados com operadores lgicos em instrues do ActionScript que fazem comparaes para controlar o fluxo de um script. Por exemplo, no prximo script, o arquivo SWF ser reproduzido se a varivel password for true:
onClipEvent (enterFrame){ if (userName == true && password == true){ play(); } }
38
Object Um objeto uma coleo de propriedades. Cada propriedade possui um nome e um valor. O valor de uma propriedade pode ser qualquer tipo de dados do Flash, at mesmo um tipo de dados object. Isso permite aninhar objetos, ou seja, organiz-los uns dentro dos outros. Para especificar os objetos e suas propriedades, use o operador ponto (.). Por exemplo, no seguinte cdigo, hoursWorked uma propriedade de weeklyStats, que por sua vez uma propriedade de employee:
employee.weeklyStats.hoursWorked
possvel usar os objetos internos do ActionScript para acessar e manipular tipos especficos de informaes. Por exemplo, o objeto Math possui mtodos que executam operaes matemticas com nmeros passados para eles. Este exemplo usa o mtodo sqrt():
squareRoot = Math.sqrt(100);
O objeto MovieClip do ActionScript possui mtodos que permitem a voc controlar instncias de smbolos de clipes de filme no Stage (Palco). Este exemplo usa os mtodos play() e nextFrame():
mcInstanceName.play(); mc2InstanceName.nextFrame();
Voc tambm pode criar objetos personalizados para organizar informaes em seu aplicativo Flash. Para adicionar interatividade a um aplicativo com ActionScript, voc precisar de muitas informaes diferentes: por exemplo, o nome de um usurio, a velocidade de uma bola, os nomes dos itens de um carrinho de compras, o nmero de quadros carregados, o CEP do usurio ou a ltima tecla pressionada. A criao de objetos personalizados permite que voc organize essas informaes em grupos, simplifique e reutilize os scripts. MovieClip Clipes de filme so smbolos que podem reproduzir animaes em um aplicativo Flash. Eles so os nicos tipos de dados que fazem referncia a elementos grficos. O tipo de dados MovieClip permite controlar smbolos de clipes de filme com os mtodos da classe MovieClip. Chame os mtodos usando o operador ponto (.), conforme o exemplo a seguir:
my_mc.startDrag(true); parent_mc.getURL("http://www.macromedia.com/support/" + product);
Null O tipo de dados null s possui um valor: null. Esse valor significa no h valor ou seja, uma falta de dados. possvel usar o valor null em diversas situaes. Veja a seguir alguns exemplos:
Para indicar que uma varivel ainda no recebeu um valor Para indicar que uma varivel no contm mais um valor Como resultado de uma funo, para indicar que no havia valor disponvel a ser apresentado
pela funo Como parmetro de uma funo, para indicar a omisso de um parmetro
Undefined O tipo de dados undefined tem um valor, undefined, e usado para uma varivel que no recebeu atribuio de valor.
39
Determinando o tipo de dados de um item Ao testar e depurar seus programas, voc pode descobrir problemas que parecem estar relacionados aos tipos de dados de itens diferentes. Nesses casos, voc pode determinar o tipo de dados de um item. Para isso, use o operador typeof, como mostrado neste exemplo:
trace(typeof(variableName));
Para obter mais informaes sobre testes e depurao, consulte Captulo 3, Escrevendo e depurando scripts, na pgina 59.
Variveis Parmetros passados a uma funo, mtodo ou classe Valores retornados de uma funo ou mtodo Objetos criados como subclasses de classes existentes
Entretanto, voc tambm pode atribuir explicitamente tipos de dados a itens, o que pode ajudar a evitar ou diagnosticar certos erros nos scripts. Para obter mais informaes, consulte Atribuio estrita de tipos de dados na pgina 41. Atribuindo tipos de dados automaticamente No Flash, no preciso definir explicitamente um item que tenha um tipo de dados number, string ou outro. O Flash determina o tipo de dados de um item quando ele atribudo:
var x = 3;
Na expresso var x = 3, o Flash avalia o elemento direita do operador e determina que ele do tipo de dados number. Uma atribuio posterior pode alterar o tipo de x; por exemplo, a instruo x = "hello" altera o tipo de x para string. Uma varivel qual no tenha sido atribudo um valor tem o tipo undefined. O ActionScript converte tipos de dados automaticamente sempre que uma expresso exige. Por exemplo, quando voc passa um valor para a ao trace(), trace() converte automaticamente o valor em uma seqncia de caracteres e o envia para o painel Output. Em expresses com operadores, o ActionScript converte tipos de dados conforme a necessidade; por exemplo, quando usado com uma seqncia de caracteres, o operador + prev que o outro operando seja uma seqncia de caracteres.
"Next in line, number " + 7
O ActionScript converte o nmero 7 na seqncia de caracteres "7" e o adiciona ao final da primeira seqncia de caracteres, o que resulta na seguinte seqncia de caracteres:
"Next in line, number 7"
40
Atribuio estrita de tipos de dados O ActionScript 2.0 permite declarar explicitamente o tipo de objeto de uma varivel quando voc a cria; isso se chama atribuio estrita de tipos de dados. Como erros de tipos de dados causam erros do compilador, a atribuio estrita de tipos de dados ajuda a evitar atribuir o tipo de dados errado a uma varivel existente. Para atribuir a um item um tipo de dados especfico, defina seu tipo usando a palavra-chave var e a sintaxe ps-dois-pontos:
// atribuio de tipo estrita a varivel ou objeto var x:Number = 7; var birthday:Date = new Date(); // atribuio de tipo de dados estrita de parmetro function welcome(firstName:String, age:Number){ } // atribuio de tipo de dados de parmetro estrita e valor de retorno function square(x:Number):Number { var squared = x*x; return squared; }
Como voc deve usar a palavra-chave var para fazer uma atribuio de tipo estrita a uma varivel, no possvel atribuir estritamente o tipo a uma varivel global (consulte Atribuindo um escopo e declarando variveis na pgina 45). Voc pode declarar o tipo de dados de objetos com base em classes internas (Button, Date, MovieClip etc) e em classes e interfaces criadas por voc. Por exemplo, se houver um arquivo Student.as no qual voc define a classe Student (Aluno), voc poder especificar que os objetos que criar sejam do tipo Student:
var student:Student = new Student();
Voc tambm poder especificar que os objetos sejam do tipo Function ou Void. Usar a atribuio de tipo estrita ajuda a garantir que voc no atribua inadvertidamente um tipo incorreto de valor a um objeto. O Flash verifica erros de tipo de dados incorreto durante a compilao. Por exemplo, suponha que voc defina o seguinte cdigo:
// no arquivo de classe Student.as class Student { var status:Boolean; // propriedade de objetos Student } // em um script var studentMaryLago:Student = new Student(); studentMaryLago.status = "enrolled";
Quando o Flash compila esse script, gerado um erro Type mismatch (Erro de tipo). Outra vantagem da atribuio estrita de tipos de dados que o Flash MX 2004 exibe automaticamente referncias de cdigo para objetos internos quando o tipo de dados atribudo a eles estritamente. Para obter mais informaes, consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66.
41
Arquivos publicados usando o ActionScript 1 no respeitam a atribuio estrita de tipos de dados durante a compilao. Portanto, atribuir um valor de tipo errado a uma varivel a qual voc tenha associado estritamente um tipo no gerar um erro de compilao.
var x:String = "abc" x = 12 ; // nenhum erro no ActionScript 1, erro de tipo incompatvel no ActionScript 2
A razo para isto que, quando voc publica um arquivo para ActionScript 1, o Flash interpreta uma instruo do tipo var x:String = "abc" como sintaxe de barra e no como atribuio de tipo estrita. O ActionScript 2.0 no admite sintaxe de barra. Este comportamento pode resultar na atribuio de um objeto do tipo incorreto a uma varivel, fazendo com que o compilador permita chamadas de mtodo ilegais e que referncias a propriedades no definidas sejam passadas sem serem relatadas. Portanto, se voc estiver implementando a atribuio estrita de tipos de dados, dever verificar se est publicando arquivos para ActionScript 2.0. Convertendo objetos O ActionScript 2.0 permite que voc converta um tipo de dados em outro. O operador de converso usado pelo Flash tem a forma de uma chamada de funo e simultneo coero explcita, conforme especificado na proposta do ECMA-262 edio 4. A converso permite definir um objeto como de um certo tipo, para que, quando ocorrer a verificao de tipo, o compilador trate o objeto como possuidor de um conjunto de propriedades que no esto presentes no tipo inicial. Isto pode ser til, por exemplo, ao efetuar a iterao sobre um array de objetos que podem ser de tipos diferentes. Em arquivos publicados para Flash Player 7 ou verses posteriores, as instrues de converso que falham durante a execuo retornaro null. Em arquivos publicados para Flash Player 6, no h suporte de tempo de execuo para converses que falhem. A sintaxe para converso tipo(elemento), onde voc deseja que o compilador se comporte como se o tipo de dados de elemento fosse tipo. A converso basicamente uma chamada de funo, que retorna null se a converso falhar. Se a converso for bem-sucedida, o retorno da chamada ser o objeto original. Entretanto, o compilador no gerar erros de tipos incompatveis quando voc converter elementos para tipos de dados criados em arquivos de classe externos, mesmo se a converso falhar durante a execuo.
// em Animal.as class Animal {} // em Dog.as class Dog extends Animal { function bark (){} } // em Cat.as class Cat extends Animal { function meow (){} } // no arquivo FLA var spot:Dog = new Dog(); var temp:Cat = Cat (spot); // declara que um objeto Dog do tipo Cat temp.meow(); // no faz nada, mas o compilador tambm no gera erro
42
Nesta situao, voc declarou ao compilador que temp um objeto Cat e, portanto, o compilador admite que temp.meow() uma instruo legal. Entretanto, o compilador no sabe que a converso ir falhar (ou seja, que voc tentou converter um objeto Dog em um tipo Cat); portanto, nenhum erro ocorrer durante a compilao. Se voc incluir uma verificao em seu script para verificar se a converso funciona corretamente, poder encontrar erros de tipos incompatveis durante a execuo.
var spot:Dog = new Dog(); var temp:Cat = Cat (spot); trace(temp); // exibe null durante a execuo
Voc pode converter uma expresso em uma interface. Se a expresso for um objeto que implemente a interface ou tenha uma classe base que implemente a interface, o objeto ser retornado. Caso contrrio, ser retornado null. O exemplo a seguir apresenta os resultados da converso de tipos de objetos internos. Como a primeira linha do bloco with(results) mostra, uma converso ilegal neste caso, a converso de uma seqncia de caracteres em um clipe de filme retorna null. Nas duas ltimas linhas, a converso de null ou undefined retorna undefined.
var mc:MovieClip; var arr:Array; var bool:Boolean; var num3:Number; var obj:Object; var str:String; _root.createTextField("results",2,100,100,300,300); with(results){ text = "tipo MovieClip : "+(typeof MovieClip(str)); text += "\ntipo object : "+(typeof Object(str)); text += "\ntipo Array : "+(typeof Array(num3)); text += "\ntipo Boolean : "+(typeof Boolean(mc)); text += "\ntipo String : "+(typeof String(mc)); text += "\ntipo text += "\ntipo text += "\ntipo text += "\ntipo } //Resultados no painel Output (Sada) tipo MovieClip : Null tipo object : objeto tipo Array : objeto tipo Boolean : booleano tipo String : seqncia de caracteres tipo Number : nmero tipo Function : objeto tipo null : undefined tipo undefined : undefined
// retorna // retorna // retorna // retorna // retorna // seqncia de Number : "+(typeof Number(obj)); // retorna Function : "+(typeof Function(mc)); // retorna null : "+(typeof null(arr)); // retorna undefined : "+(typeof undefined(obj)); // retorna
null um objeto um objeto um booleano uma caracteres um nmero um objeto undefined undefined
No possvel substituir tipos de dados primitivos como Boolean, Date e Number com um operador de converso com o mesmo nome.
43
Sobre variveis
Uma varivel um recipiente que contm informaes. O recipiente sempre o mesmo, mas o contedo pode mudar. Ao alterar o valor de uma varivel durante a reproduo do arquivo SWF, voc poder registrar e salvar informaes sobre as atividades do usurio, gravar valores que mudam medida que o arquivo SWF reproduzido ou avaliar se uma condio true ou false. recomendvel atribuir sempre um valor conhecido a uma varivel na primeira vez que voc defini-la. Esse procedimento conhecido como inicializao de varivel e geralmente feito no primeiro quadro do arquivo SWF. A inicializao de uma varivel facilita o controle e a comparao de seu valor durante a reproduo do arquivo SWF. Variveis podem armazenar qualquer tipo de dados (consulte Sobre tipos de dados na pgina 37). Os tipos de dados que uma varivel contm afetam a forma como o valor da varivel alterado quando atribudo em um script. Os tipos mais comuns de informaes que voc pode armazenar em uma varivel so um URL, um nome de usurio, o resultado de uma operao matemtica, o nmero de vezes que um evento ocorreu ou se um boto foi clicado. Cada arquivo SWF e instncia de clipe de filme tm um conjunto de variveis, no qual cada varivel possui um valor, independentemente das variveis de outros arquivos SWF ou clipes de filme. Para testar o valor de uma varivel, use a ao trace() a fim de enviar o valor para o painel Output. Por exemplo, trace(hoursWorked) envia o valor da varivel hoursWorked para o painel Output no modo de teste. Tambm possvel verificar e definir os valores da varivel no Debugger (Depurador) no modo de teste. Para obter mais informaes, consulte Usando a instruo trace na pgina 84 e Exibindo e modificando variveis na pgina 77. Atribuindo nome a uma varivel O nome de uma varivel deve seguir estas regras:
Ele deve ser um identificador (consulte Terminologia na pgina 29). No pode ser uma palavra-chave nem um literal do ActionScript como true, false, null ou
undefined.
Ele deve ser exclusivo em seu escopo (consulte Atribuindo um escopo e declarando variveis
na pgina 45). Alm disso, no use qualquer elemento na linguagem ActionScript como um nome de varivel; isso pode causar erros de sintaxe ou resultados inesperados. Por exemplo, se voc atribuir o nome String para uma varivel e depois tentar criar um objeto String usando new String(), o novo objeto ser indefinido.
hello_str = new String(); trace(hello_str.length); // retorna 0 String = "hello"; // Fornecendo a uma varivel o mesmo nome que uma classe interna hello_str = new String(); trace(hello_str.length); // retorna indefinido
O editor do ActionScript oferece suporte a referncias de cdigo para classes internas e variveis que tenham como base essas classes. Se desejar que o Flash fornea referncias de cdigo para um tipo de objeto especfico atribudo a uma varivel, voc poder definir estritamente a varivel ou atribuir um nome a ela usando um sufixo especfico.
44
Assim que voc digita o ponto (.), o Flash exibe uma lista de mtodos e propriedades disponveis para objetos Array. Para obter mais informaes, consulte Escrevendo cdigo que ativar referncias de cdigo na pgina 66. Atribuindo um escopo e declarando variveis O escopo de uma varivel refere-se rea na qual a varivel conhecida e na qual pode ser referenciada. H trs tipos de escopo de varivel no ActionScript:
Variveis locais esto disponveis no corpo da funo em que so declaradas (delineado por
chaves).
Variveis de Timeline esto disponveis para qualquer script nessa Timeline. Variveis globais e funes esto disponveis para cada Timeline e escopo do documento.
Observao: As classes do ActionScript 2.0 criadas por voc oferecem suporte para escopos pblicos, particulares e estticos de variveis. Para obter mais informaes, consulte Controlando o acesso de membros na pgina 174 e Criando membros de classe na pgina 175.
Variveis locais Para declarar variveis locais, use a instruo var dentro do corpo de uma funo. O escopo de uma varivel local o bloco e expira ao final desse bloco. Uma varivel local no declarada dentro de um bloco expira ao final de seu script. Por exemplo, as variveis i e j so usadas com freqncia para contagem de repeties. No exemplo seguinte, i usado como uma varivel local; ela s existe dentro da funo makeDays():
function makeDays() { var i; for( i = 0; i < monthArray[month]; i++ ) { _root.Days.attachMovie( "DayDisplay", i, i + 2000 ); _root.Days[i].num = i + 1; _root.Days[i]._x = column * _root.Days[i]._width; _root.Days[i]._y = row * _root.Days[i]._height; column = column + 1; if (column == 7 ) { column = 0; row = row + 1; } } }
As variveis locais tambm ajudam a impedir conflitos de nome, que podem causar erros no aplicativo. Por exemplo, se voc usar name como uma varivel local, poder us-la para armazenar o nome de um usurio em um contexto e o nome de uma instncia de clipe de filme em outro; como essas variveis so executadas em escopos separados, no haver conflitos.
Sobre variveis
45
bom usar variveis locais no corpo de uma funo para que a funo possa atuar como um cdigo independente. Uma varivel local s pode ser alterada no seu prprio bloco de cdigo. Se uma expresso em uma funo usar uma varivel global, algum fator fora da funo poder alterar seu valor, o que alteraria a funo. possvel associar um tipo de dados a uma varivel local quando de sua definio. Isto ajuda a evitar a atribuio de tipos de dados incorretos a uma varivel existente. Para obter mais informaes, consulte Atribuio estrita de tipos de dados na pgina 41. Variveis de Timeline Variveis de Timeline esto disponveis para qualquer script nessa Timeline. Para declarar variveis de Timeline, inicialize-as em qualquer quadro da Timeline. Verifique se inicializou a varivel antes de acess-la em um script. Por exemplo, se voc inserir o cdigo var x = 10; no Frame 20 (Quadro 20), um script anexado a qualquer quadro antes de Frame 20 no poder acessar essa varivel. Variveis globais Variveis globais e funes esto disponveis para cada Timeline e escopo do documento. Para criar uma varivel com escopo global, use o identificador _global antes do nome da varivel e no use a sintaxe var =. Por exemplo, o cdigo a seguir cria a varivel global myName:
var _global.myName = "George"; // erro de sintaxe _global.myName = "George";
Entretanto, se voc inicializar uma varivel local com o mesmo nome de uma varivel global, no ter acesso varivel global enquanto estiver no escopo da varivel local:
_global.counter = 100; counter++; trace(counter); // exibe 101 function count(){ for( var counter = 0; counter <= 10 ; counter++ ) { trace(counter); // exibe de 0 a 10 } } count(); counter++; trace(counter); // exibe 102
Usando variveis em um programa Voc deve declarar uma varivel em um script antes de us-la em uma expresso. Se voc usar uma varivel no declarada, como mostrado no exemplo a seguir, o valor da varivel ser NaN ou undefined, e o script poder produzir resultados indesejados:
var squared = x*x; trace(squared); // NaN var x = 6;
No exemplo a seguir, a instruo que declara a varivel x deve vir primeiro, para que squared possa ser substitudo por um valor:
var x = 6; var squared = x*x; trace(squared); // 36
46
Ocorre um comportamento semelhante quando voc passa uma varivel indefinida para um mtodo ou funo:
getURL(myWebSite); // nenhuma ao var myWebSite = "http://www.macromedia.com"; var myWebSite = "http://www.macromedia.com"; getURL(myWebSite); // o navegador exibe www.macromedia.com
Voc pode alterar o valor de uma varivel muitas vezes em um script. O tipo de dados que a varivel contm afeta como e quando a varivel ser alterada. Tipos de dados primitivos, como seqncias de caracteres e nmeros, so passados por valor. Isso significa que o contedo real da varivel passado para a varivel. No exemplo a seguir, x definido como 15 e esse valor copiado para y. Quando x alterado para 30 na linha 3, o valor de y continua a ser 15, porque y no procura seu valor em x; ele contm o valor de x que recebeu na linha 2.
var x = 15; var y = x; var x = 30;
Outro exemplo: a varivel inValue contm um valor primitivo 3; sendo assim, o valor real passado para a funo sqrt() e o valor retornado 9:
function sqrt(x){ return x * x; } var inValue = 3; var out = sqrt(inValue);
O valor da varivel inValue no alterado. O tipo de dados de objeto pode conter informaes to numerosas e complexas que uma varivel com esse tipo no armazenar o valor real, mas uma referncia a esse valor. Essa referncia como um alias que aponta para o contedo da varivel. Quando a varivel precisa saber seu valor, a referncia pede o contedo e responde sem transferir o valor para a varivel. O exemplo seguinte mostra como passar por referncia:
var myArray = ["tom", "josie"]; var newArray = myArray; myArray[1] = "jack"; trace(newArray);
O cdigo acima cria um objeto Array chamado myArray com dois elementos. A varivel newArray criada e passa uma referncia para myArray. Quando o segundo elemento de myArray alterado, todas as variveis com uma referncia a ele so afetadas. A ao trace() envia tom, jack para o painel Output (Sada).
Sobre variveis
47
No exemplo abaixo, myArray contm um objeto Array, portanto, ela passada para a funo zeroArray() por referncia. A funo zeroArray() altera o contedo do array em myArray.
function zeroArray (theArray){ var i; for (i=0; i < theArray.length; i++) { theArray[i] = 0; } } var myArray = new Array(); myArray[0] = 1; myArray[1] = 2; myArray[2] = 3; zeroArray(myArray);
A funo zeroArray() aceita um objeto Array como um parmetro e define todos os elementos desse array como 0. Ela pode modificar o array porque ele passado por referncia.
Esta seo descreve regras gerais sobre tipos comuns, precedncia e associatividade de operadores. Para obter informaes detalhadas sobre cada operador mencionado aqui, bem como sobre operadores especiais que no constam dessas categorias, consulte as entradas em Captulo 12, Dicionrio do ActionScript, na pgina 219. Associatividade e precedncia de operadores Quando dois ou mais operadores so usados na mesma instruo, alguns operadores tm precedncia sobre outros. O ActionScript segue uma hierarquia precisa para determinar que operadores devem ser executados primeiro. Por exemplo, a multiplicao sempre executada antes da adio; no entanto, itens entre parnteses tm precedncia sobre a multiplicao. Portanto, como no h parnteses, o ActionScript executa a multiplicao primeiro no exemplo seguinte:
total = 2 + 4 * 3;
O resultado 14. Porm, quando a operao de adio est entre parnteses, o ActionScript executa a adio primeiro:
total = (2 + 4) * 3;
O resultado 18.
48
Quando dois ou mais operadores compartilham a mesma precedncia, sua associatividade determina a ordem na qual sero executados. A associatividade pode ser da esquerda para a direita ou da direita para a esquerda. Por exemplo, o operador de multiplicao possui uma associatividade da esquerda para a direita, portanto, as duas instrues a seguir so equivalentes:
total = 2 * 3 * 4; total = (2 * 3) * 4;
Para obter uma tabela de todos os operadores e respectivas precedncia e associatividade, consulte Apndice B, Associatividade e precedncia de operadores, na pgina 909. Operadores numricos Os operadores numricos adicionam, subtraem, multiplicam, dividem e executam outras operaes aritmticas. O uso mais comum do operador de incremento i++, em vez do mais extenso i = i+1. possvel usar esse operador antes ou depois de um operando. No exemplo a seguir, age recebe primeiro um incremento e, a seguir, testado em relao ao nmero 30:
if (++age >= 30)
Operao executada Adio Multiplicao Diviso Mdulo (resto da diviso) Subtrao Incremento Decremento
Operadores de comparao Os operadores de comparao comparam os valores de expresses e retornam um valor booleano (true ou false). Esses operadores so mais usados em repeties e em instrues condicionais. No exemplo a seguir, se a varivel score for 100, um determinado arquivo SWF ser carregado; caso contrrio, ser carregado outro arquivo SWF:
if (score > 100){ loadMovieNum("winner.swf", 5); else { loadMovieNum("loser.swf", 5); }
49
Operao executada Menor que Maior que Menor que ou igual a Maior que ou igual a
Operadores de seqncia de caracteres O operador + tem um efeito especial quando opera em seqncias de caracteres: ele concatena os dois operandos de seqncias de caracteres. Por exemplo, a instruo a seguir adiciona "Congratulations," a "Donna!":
"Congratulations, " + "Donna!"
O resultado "Congratulations, Donna!" Se apenas um dos operandos do operador + for uma seqncia de caracteres, o Flash converter o outro operando em uma seqncia de caracteres. Os operadores de comparao >, >=, < e <= tambm tm um efeito especial quando operam em seqncias de caracteres. Esses operadores comparam duas seqncias de caracteres para determinar o que vem primeiro em ordem alfabtica. Os operadores de comparao s compararo seqncias de caracteres se os dois operandos forem seqncias de caracteres. Se apenas um dos operandos for uma seqncia de caracteres, o ActionScript converter ambos os operandos em nmeros e executar uma comparao numrica. Operadores lgicos Os operadores lgicos comparam valores booleanos (true e false) e retornam um terceiro valor booleano. Por exemplo, se os dois operandos forem avaliados como true, o operador AND lgico (&&) retornar true. Se um ou ambos os operandos forem avaliados como true, o operador lgico OR (||) retornar true. Os operadores lgicos so freqentemente usados com os operadores de comparao para determinar a condio de uma ao if. Por exemplo, no script seguinte, se as duas expresses forem verdadeiras, a ao if ser executada:
if (i > 10 && _framesloaded > 50){ play(); }
50
Operadores bit a bit Os operadores bit a bit manipulam internamente nmeros de ponto flutuante para transform-los em nmeros inteiros de 32 bits. A operao exata realizada depende do operador, mas todas as operaes bit a bit avaliam cada dgito binrio (bit) do nmero inteiro de 32 bits individualmente para computar um novo valor. A tabela a seguir lista os operadores bit a bit do ActionScript:
Operador & | ^ ~ << >> >>> Operao executada AND bit a bit OR bit a bit XOR bit a bit NOT bit a bit Desloca para a esquerda Desloca para a direita Desloca para a direita sem preenchimento
Operadores de igualdade Voc pode usar o operador de igualdade (==) para determinar se os valores ou as identidades de dois operandos so iguais. Essa comparao retorna um valor booleano (true ou false). Se os operandos forem seqncias de caracteres, nmeros ou valores booleanos, eles sero comparados por valor. Se os operandos forem objetos ou arrays, eles sero comparados por referncia. um erro comum usar o operador de atribuio para verificar se h igualdade. Por exemplo, o cdigo a seguir compara x a 2:
if (x == 2)
No mesmo exemplo, a expresso x = 2 incorreta porque no compara os operandos, ela atribui o valor 2 varivel x. O operador de igualdade estrita (===) como o operador de igualdade, com uma diferena importante: o operador de igualdade estrita no executa a converso de tipo. Se os dois operandos forem de tipos diferentes, o operador de igualdade estrita retornar false. O operador de diferena estrita (!==) retorna o inverso do operador de igualdade estrita. A tabela a seguir lista os operadores de igualdade do ActionScript:
Operador
== === != !==
51
Operadores de atribuio Voc pode usar o operador de atribuio (=) para atribuir um valor a uma varivel, conforme mostrado neste exemplo:
var password = "Sk8tEr";
Voc tambm pode usar o operador de atribuio para atribuir diversas variveis na mesma expresso. Na instruo a seguir, o valor de a atribudo s variveis b, c e d:
a = b = c = d;
Voc tambm pode usar operadores de atribuio compostos para combinar operaes. Operadores compostos so executados nos dois operandos e depois atribuem o novo valor ao primeiro operando. Por exemplo, as duas instrues a seguir so equivalentes:
x += 15; x = x + 15;
Tambm possvel usar o operador de atribuio no meio de uma expresso, como mostrado no exemplo a seguir:
// Se o valor no for vanilla, envie uma mensagem. if ((flavor = getIceCreamFlavor()) != "vanilla") { trace ("Flavor was " + flavor + ", not vanilla."); }
Operao executada Atribuio Adio e atribuio Subtrao e atribuio Multiplicao e atribuio Mdulo e atribuio Diviso e atribuio Deslocamento para a esquerda bit a bit e atribuio Deslocamento para a direita bit a bit e atribuio Deslocamento para a direita sem preenchimento e atribuio XOR bit a bit e atribuio OR bit a bit e atribuio AND bit a bit e atribuio
52
Operadores ponto e de acesso de array possvel usar o operador ponto (.) e o operador de acesso de array ([]) para acessar propriedades de objeto internas ou personalizadas do ActionScript, incluindo as de um clipe de filme. O operador ponto usa o nome de um objeto sua esquerda e o nome de uma propriedade ou varivel sua direita. O nome da propriedade ou varivel no pode ser uma seqncia de caracteres ou uma varivel avaliada como uma seqncia de caracteres; ele deve ser um identificador. Os exemplos a seguir usam o operador ponto:
year.month = "June"; year.month.day = 9;
O operador ponto e o operador de acesso de array executam a mesma funo, s que o operador ponto usa um identificador como sua propriedade, enquanto o operador de acesso de array avalia seu contedo em relao a um nome e, em seguida, acessa o valor dessa propriedade com nome atribudo. Por exemplo, as expresses a seguir acessam a mesma varivel velocity no clipe de filme rocket:
rocket.velocity; rocket["velocity"];
Voc pode usar o operador de acesso de array para definir e recuperar variveis e nomes de instncias dinamicamente. Por exemplo, no cdigo seguinte, a expresso dentro do operador [] avaliada, e o resultado da avaliao usado como o nome da varivel a ser recuperada do name do clipe de filme:
name["mc" + i]
Tambm possvel usar o operador de acesso de array esquerda de uma instruo de atribuio. Isso permite que voc defina dinamicamente nomes de objetos, variveis e instncias, conforme mostrado no exemplo seguinte:
name[index] = "Gary";
Crie matrizes no ActionScript construindo um array cujos elementos tambm so arrays. Para acessar elementos de uma matriz, voc pode aninhar o operador de acesso de array nele mesmo, conforme mostrado no seguinte exemplo:
var chessboard = new Array(); for (var i=0; i<8; i++) { chessboard.push(new Array(8)); } function getContentsOfSquare(row, column){ chessboard[row][column]; }
Voc pode verificar operadores [] correspondentes em seus scripts; consulte Verificando sintaxe e pontuao na pgina 71.
53
54
Cada funo tem suas prprias caractersticas e algumas delas exigem que voc passe determinados valores. Se forem passados mais parmetros do que o exigido pela funo, os valores extras sero ignorados. Se algum parmetro obrigatrio no for passado, o tipo de dados undefined ser atribudo aos parmetros vazios, o que poder gerar erros na exportao do script. Para chamar uma funo, ela deve estar em um quadro que j tenha sido reproduzido. Para chamar uma funo, basta usar o nome da funo e passar os parmetros necessrios:
isNaN(someVar); getTimer(); eval("someVar");
Para obter mais informaes sobre cada funo, consulte sua entrada no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Criando funes
Voc pode definir funes para executar uma srie de instrues sobre valores passados. Suas funes tambm podem retornar valores. Depois que uma funo for definida, ela poder ser chamada de qualquer Timeline, incluindo aquela de um arquivo SWF carregado. Uma funo bem escrita pode ser considerada uma caixa-preta. Se ela tiver comentrios cuidadosamente inseridos a respeito de sua entrada, sada e objetivo, um usurio da funo no precisar compreender exatamente como ela funciona internamente. Definindo uma funo As funes, assim como as variveis, so anexadas Timeline do clipe de filme que as define, e voc deve usar um caminho de destino para cham-las. Como ocorre com as variveis, voc pode usar o identificador _global para declarar uma funo global disponvel a todas as Timelines sem usar um caminho de destino. Para definir uma funo global, preceda o nome da funo com o identificador _global, como no exemplo a seguir:
_global.myFunction = function (x) { return (x*2)+3; }
Para definir uma funo de Timeline, use a ao function seguida do nome da funo, dos parmetros a serem passados para a funo e das instrues do ActionScript que indicam o que a funo faz. O exemplo a seguir uma funo denominada areaOfCircle com o parmetro radius:
function areaOfCircle(radius) { return Math.PI * radius * radius; }
Tambm possvel definir uma funo criando um literal de funo uma funo sem nome declarada em uma expresso e no em uma instruo. Voc pode usar um literal de funo para definir uma funo, retornar seu valor e atribu-lo a uma varivel em uma expresso, conforme mostrado no exemplo a seguir:
area = (function() {return Math.PI * radius *radius;})(5);
Criando funes
55
Passando parmetros para uma funo Os parmetros so os elementos sobre os quais uma funo executa seu cdigo. (Neste manual, os termos parmetro e argumento so equivalentes.) Por exemplo, a seguinte funo usa os parmetros initials e finalScore:
function fillOutScorecard(initials, finalScore) { scorecard.display = initials; scorecard.score = finalScore; }
Quando a funo chamada, os parmetros necessrios devem ser passados para ela. A funo substitui os valores passados para os parmetros na definio da funo. Neste exemplo, scorecard o nome da instncia de um clipe de filme; display e score so campos de texto editveis na instncia. A chamada de funo a seguir atribui o valor "JEB" varivel display e o valor 45000 varivel score:
fillOutScorecard("JEB", 45000);
O parmetro initials na funo fillOutScorecard() semelhante a uma varivel local; ele existe enquanto a funo chamada e desaparece quando a funo encerrada. Se forem omitidos parmetros durante uma chamada de funo, os parmetros omitidos sero passados como undefined. Se uma chamada de funo contiver parmetros adicionais no exigidos pela declarao da funo, eles sero ignorados. Usando variveis em uma funo As variveis locais so ferramentas valiosas para organizar cdigos e facilitar sua compreenso. Quando uma funo usa variveis locais, ela pode ocultar suas variveis de todos os outros scripts no arquivo SWF; os escopos das variveis locais encontram-se no corpo da funo e deixam de existir quando a funo encerrada. Os parmetros passados a uma funo tambm so tratados como variveis locais. Tambm possvel usar variveis globais e comuns em uma funo. Porm, se as variveis globais ou comuns forem modificadas, ser recomendvel usar comentrios de script para documentar essas modificaes. Retornando valores de uma funo Use a instruo return para retornar valores de funes. A instruo return interrompe a funo e a substitui pelo valor da ao return. As regras a seguir regem o uso da instruo return em funes:
Se voc especificar para uma funo um tipo de retorno diferente de void, dever incluir uma
instruo return nessa funo. Se voc definir o tipo de retorno como void, no dever incluir uma instruo return. Se voc no especificar um tipo de retorno, a incluso de uma instruo return ser opcional. Se voc no usar uma instruo return, ser retornada uma seqncia de caracteres vazia.
Por exemplo, a funo a seguir retorna o quadrado do parmetro x e especifica que o valor retornado deve ser um Number:
function sqr(x):Number { return x * x; }
56
Algumas funes executam uma srie de tarefas sem retornar um valor. Por exemplo, a funo seguinte inicializa uma srie de variveis globais:
function initialize() { boat_x = _global.boat._x; boat_y = _global.boat._y; car_x = _global.car._x; car_y = _global.car._y; }
Chamando uma funo definida pelo usurio Voc pode usar um caminho de destino para chamar uma funo em qualquer Timeline a partir de qualquer outra Timeline, inclusive daquela de um arquivo SWF carregado. Se uma funo tiver sido declarada por meio do identificador _global, no ser preciso usar um caminho de destino para cham-la. Para chamar uma funo, digite o caminho de destino para o nome da funo, se for preciso, e passe os parmetros necessrios entre parnteses. Por exemplo, a instruo a seguir chama a funo sqr() no clipe de filme MathLib na Timeline principal, passa para ela o parmetro 3 e armazena o resultado na varivel temp:
var temp = _root.MathLib.sqr(3);
O exemplo a seguir usa um caminho absoluto para chamar a funo initialize() que foi definida na Timeline principal e no requer parmetro algum:
_root.initialize();
O exemplo a seguir usa um caminho relativo para chamar a funo list() definida no clipe de filme functionsClip:
_parent.functionsClip.list(6);
Criando funes
57
58
No Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004, voc pode escrever scripts que so incorporados ao arquivo FLA ou armazenados externamente no computador. Se voc est escrevendo arquivos de classe do ActionScript 2.0, deve armazenar cada classe como um arquivo externo com o mesmo nome da classe. Para escrever scripts incorporados, use o painel Actions (Aes) e anexe a ao a um boto ou clipe de filme ou a um quadro na Timeline (Linha de tempo) (consulte Controlando o momento em que o ActionScript executado na pgina 59). Para escrever arquivos de script externos, use qualquer editor de texto ou de cdigo. No Flash Professional, tambm possvel usar a janela interna Script. Para obter mais informaes, consulte Usando o painel Actions e a janela Script na pgina 62. Ao usar o editor do ActionScript, voc tambm pode verificar erros na sintaxe, formatar cdigos automaticamente e usar referncias de cdigo para ajudar a completar a sintaxe. Alm disso, o recurso de distribuio de pontuao faz com que os parnteses, chaves ou colchetes sejam sempre inseridos em pares. Para obter mais informaes, consulte Usando o editor do ActionScript na pgina 65. medida que trabalha em um documento, teste-o diversas vezes para garantir a melhor reproduo na forma desejada. Use o Bandwidth Profiler (Perfil de largura de banda) para simular a aparncia do documento em diferentes velocidades de conexo. Consulte Testing document download performance (Testando o desempenho de download do documento) no Using Flash Help (Ajuda de Usando o Flash). Para testar os scripts, use uma verso de depurao especial do Flash Player que ajuda a solucionar problemas. O uso de tcnicas de criao corretas no ActionScript, facilitar a soluo de problemas com os scripts quando algo inesperado ocorrer. Para obter mais informaes, consulte Depurando scripts na pgina 73.
59
Os scripts anexados a clipes de filmes ou botes so executados quando ocorre um evento. Um evento uma ocorrncia no arquivo SWF, como um movimento de mouse, um pressionamento de tecla ou a carga de um clipe de filme. possvel usar o ActionScript para descobrir quando ocorrem esses eventos e executar scripts especficos dependendo do evento. Para obter mais informaes, consulte Captulo 4, Manipulando eventos, na pgina 89. Para executar uma ao, dependendo da existncia de uma condio, ou para repetir uma ao, use as instrues if, else, else if, for, while, do while, for..in ou switch, que so descritas rapidamente no restante desta seo. Verificando uma condio As instrues que verificam se uma condio true ou false comeam com o termo if. Se a condio existir, o ActionScript executar a instruo seguinte. Se a condio no existir, o ActionScript passar para a prxima instruo fora do bloco de cdigo. Para otimizar o desempenho do cdigo, verifique as condies mais provveis primeiro. As instrues a seguir testam trs condies. O termo else if especifica testes alternativos que podero ser executados se as condies anteriores forem falsas.
if (password == null || email == null) { gotoAndStop("reject"); } else if (password == userID){ gotoAndPlay("startMovie"); }
Para verificar uma dentre diversas condies, use a instruo switch em vez de vrias instrues else if. Repetindo uma ao O ActionScript pode repetir uma ao um nmero especificado de vezes ou enquanto uma condio especfica existir. Use as aes while, do..while, for e for..in para criar repeties.
Para repetir uma ao enquanto uma condio existir:
Voc pode usar a instruo do...while para criar uma repetio do mesmo tipo de while. Em uma repetio do...while, a expresso avaliada na parte inferior do bloco de cdigo para que a repetio seja sempre executada pelo menos uma vez, como no exemplo a seguir:
i = 4; do { my_mc.duplicateMovieClip("newMC" +i, i ); i--; } while (var i > 0);
60
O script pode iterar em um determinado tipo de filho; por exemplo, apenas em filhos de clipes de filme. Isso pode ser feito usando for...in com o operador typeof.
for (name in myMovieClip) { if (typeof (myMovieClip[name]) == "movieclip") { trace("I have a movie clip child named " + name); } }
Para obter mais informaes sobre cada ao, consulte entradas individuais no Captulo 12, Dicionrio do ActionScript, na pgina 219.
61
Ao incorporar o cdigo do ActionScript ao arquivo FLA, voc pode anexar cdigo a quadros e objetos. Tente anexar ActionScript incorporado ao primeiro quadro da Timeline sempre que possvel. Dessa forma, no ser preciso pesquisar em um arquivo FLA para localizar todo o cdigo; ele estar centralizado em um local. Crie uma camada chamada Actions e coloque seu cdigo ali. Assim, mesmo se voc colocar cdigo em outros quadros ou anex-lo a objetos, precisar procurar em apenas uma camada para encontr-lo. Para criar scripts que faam parte do documento, insira o ActionScript diretamente no painel Actions. Para criar scripts externos, use o seu editor de texto preferido ou, no Flash Professional, use a janela Script. Ao usar o painel Actions ou a janela Script, voc usa o mesmo editor do ActionScript e digita o cdigo no painel Script do lado direito do painel ou da janela. Para reduzir a digitao a ser feita, tambm possvel selecionar ou arrastar aes da caixa de ferramentas Actions para o painel Script.
Para exibir o painel Actions, siga um destes procedimentos:
Selecione Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions. Pressione F9.
(Somente Flash Professional) Para exibir a janela Script, siga um destes procedimentos:
Para comear a escrever um novo script, selecione File (Arquivo) > New (Novo) > ActionScript
File (Arquivo do ActionScript).
Para abrir um script existente, selecione File > Open (Abrir) e abra um arquivo AS. Para editar um script j aberto, clique na guia do documento que exibe o nome do script. Guias
de documento s so suportadas no Microsoft Windows. Sobre o ambiente do editor do ActionScript O ambiente do editor do ActionScript consiste em duas sees. A seo direita o painel Script, a rea onde voc digita o cdigo. A seo esquerda uma caixa de ferramentas Actions que contm uma entrada para cada elemento de linguagem do ActionScript.
62
No painel Actions (Aes), a caixa de ferramenta Actions tambm contm o navegador Script, que uma representao visual dos locais do arquivo FLA que tm ActionScript associado. possvel navegar pelo arquivo FLA para localizar cdigo ActionScript. Se voc clicar em um item no navegador Script, o script associado a esse item aparecer no painel Script e a reproduo se mover para essa posio na Timeline (Linha de tempo). Clicando duas vezes em um elemento do navegador Script, o script correspondente ficar preso (consulte Gerenciando scripts em um arquivo FLA na pgina 64).
Caixa de ferramentas Actions (Aes), Navegador Script* Menu pop-up*
63
Voc pode editar aes, digitar parmetros para aes ou excluir aes diretamente no painel Script. Tambm possvel clicar duas vezes sobre um elemento da caixa de ferramentas Actions ou no boto Add (Adicionar) (+), localizado acima do painel Script, para incluir aes no painel Script. Gerenciando scripts em um arquivo FLA Se voc no centralizar todo o cdigo de um arquivo FLA em um local, poder prender (travar no lugar) vrios scripts no painel Actions para facilitar a passagem por eles. Na figura a seguir, o script associado ao local atual na Timeline est no Frame 1 (Quadro 1) da camada denominada Cleanup (Limpeza). A guia na extremidade esquerda sempre segue sua localizao na Timeline. Esse script tambm est preso (ele mostrado na guia mais direita). Dois outros scripts esto presos: um no Frame 1 e o outro no Frame 15 da camada Intro (Introduo). Voc pode mover-se entre os scripts presos clicando nas guias ou usando atalhos de teclado. Mover-se por scripts presos no altera sua posio atual na Timeline.
Dica: Se o contedo exibido no painel Script no mudar para refletir o local que voc est selecionando na Timeline, provavelmente o painel Script estar exibindo um script preso. Clique na guia mais esquerda, na parte inferior esquerda do painel Script, para exibir o ActionScript associado ao local respectivo da Timeline. Para prender um script:
1 Posicione o ponteiro na Timeline para que o script aparea em uma guia na parte inferior
Clique no cone de tachinha direita da guia. Se a tachinha for parecida com o cone mais esquerda, o script j estar preso. Se voc clicar neste cone liberar o script. Clique com o boto direito do mouse (Windows) ou, pressionando Control, clique (Macintosh) na guia e selecione Pin Script (Prender script). Selecione Pin Script no menu pop-up Options (Opes) no canto superior direito do painel.
Se um script preso aparecer em uma guia na parte inferior esquerda do painel Script no painel Actions, voc dever clicar no cone de tachinha direita da guia. Se a tachinha for parecida com o cone mais esquerda, o script j estar liberado. Se voc clicar neste cone prender o script. Clique com o boto direito (Windows) ou, pressionando Control, clique (Macintosh) em uma guia e selecione Close Script (Fechar script) ou Close All Scripts (Fechar todos os scripts). Selecione Close Script ou Close All Scripts no menu pop-up Options no canto superior direito do painel.
64
possvel usar os seguintes atalhos de teclado para trabalhar com scripts presos:
Ao Prender script Liberar script Mover o foco para a guia da direita Mover o foco para a guia da esquerda Liberar todos os scripts Tecla de atalho no Windows Tecla de atalho no Macintosh Control-= (sinal de igual) Control-- (sinal de menos) Control-Shift-. (ponto) Control-Shift-, (vrgula) Control-Shift-- (menos) Command-= Command-Command-Shift-. Command-Shift-, Command-Shift--
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.
65
Escrevendo cdigo que ativar referncias de cdigo Quando voc trabalha no editor do ActionScript (no painel Actions ou na janela Script), o Flash pode detectar qual ao digitada e exibir uma referncia de cdigo uma dica de ferramenta que contm a sintaxe completa para essa ao ou um menu pop-up que lista nomes de mtodo ou propriedade possveis. As referncias de cdigo aparecem para parmetros, propriedades e eventos quando voc atribui estritamente um tipo aos seus objetos ou atribui um nome a eles para que o editor do ActionScript saiba quais referncias de cdigo exibir, conforme analisado no restante desta seo. Para obter informaes sobre como usar referncias de cdigo quando elas aparecerem, consulte Usando referncias de cdigo na pgina 68.
Observao: A exibio das referncias de cdigo ativada automaticamente para classes nativas que no exigem a criao de um objeto da classe e a atribuio de nome a ele, como Math, Key, Mouse etc.
Atribuindo tipo a objetos estritamente para ativar referncias de cdigo Com o ActionScript 2.0, voc pode atribuir estritamente um tipo a uma varivel que tem como base uma classe interna, como Button, Array etc. Se voc fizer isso, o editor do ActionScript exibir referncias de cdigo para a varivel. Por exemplo, imagine que voc tenha digitado o seguinte:
var names:Array = new Array(); names.
Logo que voc digita o ponto (.), o Flash exibe uma lista de mtodos e propriedades disponveis para objetos Array, porque voc digitou a varivel como se fosse um array. Para obter mais informaes sobre como atribuir tipos de dados, consulte Atribuio estrita de tipos de dados na pgina 41. Para obter informaes sobre como usar referncias de cdigo quando elas aparecerem, consulte Usando referncias de cdigo na pgina 68. Usando sufixos para ativar referncias de cdigo Se voc usa o ActionScript 1 ou deseja exibir referncias de cdigo para objetos criados por voc sem atribuir um tipo estritamente a eles (consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66), adicione um sufixo especial ao nome de cada objeto ao cri-lo. Por exemplo, os sufixos que ativam referncias de cdigo para a classe Array e a classe Camera so, respectivamente, _array e _cam. Se voc digitar o seguinte cdigo:
var my_array = new Array(); var my_cam = Camera.get();
e depois digitar uma das opes a seguir (o nome da varivel seguido por um ponto), as referncias de cdigo para o objeto Array e Camera, respectivamente, aparecero.
my_array. my_cam.
Para objetos que aparecem no Stage, use o sufixo na caixa de texto Instance Name (Nome de instncia) no inspetor Properties (Propriedades). Por exemplo, para exibir referncias de cdigo de objetos MovieClip, use o inspetor Properties para atribuir nomes de instncias com o sufixo _mc a todos os objetos MovieClip. Assim, sempre que voc digitar o nome da instncia seguido por um ponto, as referncias de cdigo aparecero. Embora no sejam necessrios sufixos para ativar referncias de cdigo quando voc atribui um tipo estritamente a um objeto, us-los de forma consistente ajuda a entender os scripts.
66
A tabela abaixo lista os sufixos necessrios para o suporte a referncias de cdigo automticas:
Tipo de objeto Array Button Camera Cor ContextMenu ContextMenuItem Date Error LoadVars LocalConnection Microphone MovieClip MovieClipLoader PrintJob NetConnection NetStream SharedObject Sound String TextField TextFormat Video XML XMLNode XMLSocket Sufixo da varivel _array _btn _cam _color _cm _cmi _date _err _lv _lc _mic _mc _mcl _pj _nc _ns _so _sound _str _txt _fmt _video _xml _xmlnode _xmlsocket
Para obter informaes sobre como usar referncias de cdigo quando elas aparecerem, consulte Usando referncias de cdigo na pgina 68.
67
Usando comentrios para ativar referncias de cdigo Tambm possvel usar os comentrios do ActionScript a fim de especificar a classe de um objeto para referncias de cdigo. O exemplo a seguir informa ao ActionScript que a classe da instncia theObject Object, e assim por diante. Se voc digitasse mc seguido por um ponto aps esses comentrios, uma referncia de cdigo exibiria a lista de mtodos e propriedades de MovieClip; se voc digitasse theArray seguido por um ponto, uma referncia de cdigo exibiria uma lista de mtodos e propriedades de Array, e assim por diante.
// Object theObject; // Array theArray; // MovieClip mc;
Entretanto, a Macromedia recomenda usar a atribuio estrita de tipos de dados (consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66) ou sufixos (consulte Usando sufixos para ativar referncias de cdigo na pgina 66) em vez dessa tcnica, porque eles ativam automaticamente a exibio de referncias de cdigo e tornam o cdigo mais compreensvel. Usando referncias de cdigo As referncias de cdigo so ativadas por padro. Ao definir preferncias, possvel desativar referncias de cdigo ou determinar a rapidez com que elas so exibidas. Quando as referncias de cdigo esto desativadas nas preferncias, ainda possvel exibir uma referncia de cdigo para um comando especfico.
Para especificar configuraes de referncias de cdigo automticas, siga um destes procedimentos:
Selecione Edit (Editar) > Preferences (Preferncias) e ative ou desative Code Hints (Referncias
de cdigo) na guia ActionScript.
No painel Actions (Aes), selecione Preference no menu pop-up Options (Opes), no canto
superior direito do painel, e ative ou desative Code Hints na guia ActionScript. Se voc ativar as referncias de cdigo, poder tambm especificar um atraso, em segundos, antes que elas apaream. Por exemplo, se voc no estiver familiarizado com o ActionScript, poder prefirir no usar atrasos, para que as referncias de cdigo sempre apaream imediatamente. No entanto, se voc geralmente souber o que quer digitar e s precisar das referncias de cdigo ao usar elementos de linguagem desconhecidos, poder especificar um atraso para que as referncias no apaream quando no desejar us-las.
Para trabalhar com referncias de cdigo no estilo de dica de ferramenta:
1 Para exibir a referncia de cdigo, digite um parntese de abertura [(] aps um elemento que
exija parnteses, como o nome de um mtodo, um comando, como if ou do while, etc. A referncia de cdigo ser exibida.
68
Observao: Se uma referncia de cdigo no aparecer, voc dever verificar se no desativou as referncias de cdigo na guia ActionScript. Para exibir referncias de cdigo para uma varivel ou objeto criado por voc, verifique se voc atribuiu nome sua varivel ou objeto corretamente (consulte Usando sufixos para ativar referncias de cdigo na pgina 66) ou se atribuiu estritamente um tipo varivel ou objeto (consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66).
2 Digite um valor para o parmetro. Se houver mais de um parmetro, voc dever separar os
valores por vrgulas. Os comandos superpostos como gotoAndPlay() ou for (ou seja, funes ou mtodos que possam ser chamados com conjuntos diferentes de parmetros) exibem um indicador que permite selecionar o parmetro a ser definido. Clique nos pequenos botes de seta ou pressione Control+seta para a esquerda e Control+seta para a direita para selecionar o parmetro.
1 Para exibir a referncia de cdigo, digite um ponto aps o nome da varivel ou objeto.
Observao: Se uma referncia de cdigo no aparecer, voc dever verificar se no desativou as referncias de cdigo na guia ActionScript. Para exibir referncias de cdigo para uma varivel ou objeto criado por voc, verifique se voc atribuiu nome sua varivel ou objeto corretamente (consulte Usando sufixos para ativar referncias de cdigo na pgina 66) ou se atribuiu estritamente um tipo varivel ou objeto (consulte Atribuindo tipo a objetos estritamente para ativar referncias de cdigo na pgina 66).
2 Para percorrer as referncias de cdigo, use as teclas de seta para cima e de seta para baixo. 3 Para selecionar um item no menu, pressione Return ou Tab, ou clique duas vezes no item. 4 Para desconsiderar a referncia de cdigo, siga um destes procedimentos:
Selecione um dos itens de menu. Clique fora da instruo. Digite um parnteses de fechamento [)] se j tiver digitado um parnteses de abertura. Pressione Escape.
69
1 Clique em um local do cdigo onde as referncias de cdigo possam aparecer. Veja a seguir
alguns exemplos: Aps o ponto que segue uma instruo ou um comando, onde uma propriedade ou mtodo deve ser digitado Entre parnteses em um nome de mtodo 2 Siga um destes procedimentos: Clique no boto Show Code Hint (Mostrar referncia de cdigo) acima do painel Script. Pressione Control+Barra de espaos (Windows) ou Command+Barra de espaos (Macintosh). Se estiver trabalhando no painel Actions, dever abrir o menu pop-up, no lado direito da barra de ttulo, e selecionar Show Code Hint. Usando teclas de atalho de Escape Voc pode adicionar muitos elementos a um script usando teclas de atalho pressionando a tecla Escape e, em seguida, duas outras teclas. (Esses atalhos so diferentes dos atalhos de teclado que iniciam certos comandos de menu.) Por exemplo, se estiver trabalhando no painel Script e digitar Escape+d+o, o cdigo a seguir ser colocado no script, e o ponto de insero ser colocado imediatamente aps a palavra while, para que voc comece a digitar sua condio:
do { } while ();
Da mesma forma, se voc digitar Escape+c+h, o cdigo a seguir ser inserido no script, e o ponto de insero ser posicionado entre os parnteses, para que seja possvel comear a digitar a condio:
catch () { }
70
Para aprender (ou ser lembrado de) quais comandos possuem teclas de atalho com Escape, exiba-os ao lado dos elementos no painel Actions.
No menu pop-up View Options (Opes de exibio), ative ou desative View Escape Shortcut
Keys (Exibir teclas de atalho de Escape). Verificando sintaxe e pontuao Para determinar com cuidado se o cdigo escrito tem o desempenho planejado, publique ou teste o arquivo. Entretanto, voc pode verificar rapidamente o cdigo do ActionScript sem sair do arquivo FLA. Os erros de sintaxe sero listados no painel Output. (Quando voc verifica a sintaxe, somente o script atual verificado; outros scripts que podem estar no arquivo FLA no so verificados.) Voc tambm pode verificar se um conjunto de parnteses, chaves ou colchetes (operadores de acesso de array) em torno de um bloco de cdigo est equilibrado.
Para verificar a sintaxe, siga um destes procedimentos:
Clique no boto Check Syntax acima do painel Script. No painel Actions, exiba o menu pop-up, no canto superior direito do painel, e selecione
Check Syntax.
71
1 Clique entre chaves ({}), operadores de acesso de array ([]) ou parnteses (()) no script. 2 Pressione Control+' (Windows) ou Command+' (Macintosh) para realar o texto entre chaves,
colchetes ou parnteses. O realce ajuda a verificar se a pontuao de abertura possui a pontuao de fechamento correspondente correta. Formatando cdigo Voc pode especificar configuraes para determinar se o cdigo ser formatado e recuado automtica ou manualmente. Pode tambm escolher se prefere exibir o nmero de linhas e se deseja quebrar as linhas longas de cdigo. Alm disso, voc pode escolher usar mapeamento dinmico de fontes.
Para definir opes de formato:
No painel Actions, selecione Auto Format Options (Opes de formatao automtica) no menu pop-up Options, no canto superior direito do painel. (Somente Flash Professional) Em um arquivo de script externo, escolha Edit (Editar) > Auto Format Options. A caixa de dilogo Auto Format Options ser exibida. 2 Selecione uma das caixas de seleo. Para verificar o efeito de cada seleo, observe o painel Preview (Visualizar).
Depois de definir Auto Format Options, as configuraes sero aplicadas automaticamente ao cdigo que voc escrever, mas no ao cdigo existente. Aplique as configuraes ao cdigo existente manualmente. Use esse procedimento para formatar cdigo que foi formatado com configuraes diferentes, importado de outro editor etc.
Para formatar cdigo de acordo com as configuraes de Auto Format Options, siga um destes procedimentos:
Clique no boto Auto Format acima do painel Script. Selecione Auto Format no menu pop-up do painel Actions. Pressione Control+Shift+F (Windows) ou Command+Shift+F (Macintosh).
Para usar o mapeamento dinmico de fontes:
Por padro, o mapeamento dinmico de fontes est desativado, porque isto melhora o
desempenho durante a edio de scripts. Para ativ-lo, selecione Use dynamic font mapping (Usar mapeamento dinmico de fontes) nas preferncias do ActionScript. Por exemplo, se voc estiver trabalhando com textos em diversas lnguas, dever ativar o mapeamento dinmico de fontes.
72
O recuo automtico ativado por padro. Para desativ-lo, desmarque a opo Automatic
Indentation (Recuo automtico) nas preferncias do ActionScript. Quando o recuo automtico estiver ativado, o texto digitado aps ( ou { ser recuado automaticamente conforme a configurao Tab Size (Tamanho da tabulao) nas preferncias do ActionScript. Para recuar outra linha, selecione-a e pressione Tab. Para remover o recuo, pressione Shift+Tab.
Para ativar ou desativar nmeros de linha e quebra automtica de linha:
No menu pop-up View Options (Opes de exibio), ative ou desative View Line Numbers
(Exibir nmeros de linha) e Word Wrap (Quebra automtica de linha).
Depurando scripts
O Flash fornece diversas ferramentas para testar o ActionScript nos arquivos SWF. O Debugger (Depurador), analisado no final desta seo, permite localizar erros em um arquivo SWF quando ele executado no Flash Player. O Flash tambm fornece as seguintes ferramentas de depurao adicionais:
O painel Output, que exibe mensagens de erro e listas de variveis e objetos (consulte Usando
o painel Output na pgina 82) A instruo trace, que envia observaes de programao e valores de expresso para o painel Output (consulte Usando a instruo trace na pgina 84) As instrues throw e try..catch..finally, que permitem testar e responder a erros durante a execuo a partir do script A disponibilidade de mensagens de erro de compilao detalhadas, que permitem diagnosticar e solucionar problemas mais facilmente (consulte Apndice A, Mensagens de erro, na pgina 903)
Voc deve exibir seu arquivo SWF em uma verso especial do Flash Player chamada Flash Debug Player. Ao instalar a ferramenta de criao, o Flash Debug Player instalado automaticamente. Assim, se voc instalar o Flash e navegar por um site com contedo Flash ou usar o Test Movie (Testar filme), estar usando o Flash Debug Player. Tambm possvel executar o instalador no diretrio <dir_aplic>\Players\Debug\ ou obter o Flash Debug Player de forma independente a partir do mesmo diretrio. Quando usar o comando Test Movie para testar os filmes que implementam controles de teclado (tabulao, atalhos de teclado criados usando Key.addListener() e assim por diante), selecione Control (Controle) > Disable Keyboard Shortcuts (Desativar atalhos de teclado). A seleo desta opo evita que o ambiente de criao retenha pressionamentos de teclas e permite pass-los diretamente para o exibidor. Por exemplo, no ambiente de criao, Control+U abre a caixa de dilogo Preferences (Preferncias). Se o seu script associar Control+U com uma ao que sublinha o texto na tela, ao usar o comando Test Movie, o pressionamento de Control+U abrir a caixa de dilogo Preferences em vez de executar a ao que sublinha o texto. Para permitir que o comando Control+U seja passado para o exibidor, voc deve selecionar Control > Disable Keyboard Shortcuts.
Ateno: O comando Test Movie falhar se alguma parte do caminho do arquivo SWF contiver caracteres que no possam ser representados usando o esquema de codificao MBCS. Por exemplo, caminhos em japons em um sistema em ingls no funcionam. Todas as reas do aplicativo que usarem o exibidor externo estaro sujeitas a esta limitao.
Depurando scripts
73
O Debugger mostra uma lista hierrquica de clipes de filme carregados atualmente no Flash Player. Com o Debugger, voc pode exibir e modificar valores de variveis e propriedades durante a reproduo do arquivo SWF, e pode usar pontos de interrupo para interromper sua execuo e percorrer o cdigo do ActionScript linha por linha. Use o Debugger no modo de teste com arquivos locais ou para testar arquivos em um servidor Web em local remoto. O Debugger permite definir pontos de interrupo no ActionScript para interromper o Flash Player e executar a depurao direta do cdigo durante a sua execuo. Depois, voc pode voltar para os scripts e edit-los para que produzam os resultados corretos. Uma vez ativada, a barra de status do Debugger exibe o URL ou o caminho local do arquivo, informa se o arquivo est sendo executado no modo de teste ou a partir de um local remoto, e mostra uma lista de exibio dinmica do clipe de filme. Quando os clipes de filme so adicionados ou removidos do arquivo, a lista de exibio reflete as alteraes imediatamente. possvel redimensionar a lista de exibio movendo o divisor horizontal.
Para ativar o Debugger no modo de teste:
Depurando um arquivo SWF a partir de um local remoto possvel depurar um arquivo SWF remoto usando as verses independentes, ActiveX ou plug-in do Flash Player. Durante a exportao de um arquivo SWF, possvel ativar a depurao e criar uma senha para depurao. Se voc no ativar a depurao, o Debugger no ser ativado. Para garantir que somente usurios confiveis possam executar arquivos SWF no Flash Debug Player, publique-os com uma senha para depurao. Assim como o JavaScript ou HTML, o ActionScript permite que o usurio visualize as variveis da parte cliente. Para armazenar variveis de maneira segura, voc deve envi-las a um aplicativo no servidor, em vez de armazen-las no arquivo. Entretanto, como desenvolvedor do Flash, voc pode ter outros segredos comerciais, como estruturas de clipes de filmes, que no deseja revelar. Use a senha para depurao a fim de proteger o seu trabalho.
74
Durante a exportao, publicao ou teste de um filme, o Flash cria um arquivo SWD com as informaes de depurao. Para executar uma depurao remota, coloque o arquivo SWD no mesmo diretrio do arquivo SWF no servidor.
Para ativar a depurao remota de um filme do Flash:
1 Selecione File > Publish Settings (Configuraes de publicao). 2 Na guia Flash da caixa de dilogo Publish Settings, selecione Debugging permitted (Depurao
permitida).
Depois de definida a senha, ningum poder fazer download de informaes para o Debugger sem ela. No entanto, se o campo Password for deixado em branco, a senha no ser solicitada. 4 Feche a caixa de dilogo Publish Settings e selecione um dos seguintes comandos: Control > Debug Movie File > Export Movie (Exportar filme) File > Publish Settings > Publish (Publicar) O Flash cria um arquivo de depurao com a extenso .swd e o salva junto com o arquivo SWF. O arquivo SWD contm informaes que permitem usar os pontos de interrupo para a depurao direta do cdigo. 5 Coloque o arquivo SWD no mesmo diretrio do arquivo SWF no servidor. Mesmo que o arquivo SWD no esteja no mesmo diretrio do arquivo SWF, voc poder executar uma depurao remota. No entanto, o Debugger ignorar os pontos de interrupo e no permitir a depurao direta do cdigo. 6 No Flash, selecione Window > Development Panels > Debugger. No Debugger, selecione Enable Remote Debugging (Ativar a depurao remota) no menu pop-up Options, no canto superior direito do painel.
Depurando scripts
75
1 Abra o aplicativo de criao Flash. 2 Em um navegador ou no exibidor independente, abra o arquivo SWF publicado a partir do local
Se essa caixa de dilogo no for exibida, significa que o Flash no pde encontrar o arquivo SWD. Nesse caso, clique com o boto direito do mouse (Windows), ou mantenha pressionada a tecla Control e clique (Macintosh), no arquivo SWF para exibir o menu de contexto. Selecione Debugger nesse menu.
3 Na caixa de dilogo Remote Debug (Depurao remota), selecione Localhost (Host local) ou
Other Machine (Outra mquina): Selecione Localhost se o Debug Player e o aplicativo de criao Flash estiverem no mesmo computador. Selecione Outra mquina se o Debug Player e o aplicativo de criao Flash no estiverem no mesmo computador. Digite o endereo IP do computador em que o aplicativo de criao Flash est sendo executado. 4 Quando a conexo for estabelecida, a senha ser solicitada. Digite a senha para depurao se j houver uma definida. A lista de exibio do arquivo SWF aparece no Debugger.
76
Exibindo e modificando variveis No Debugger, a guia Variables exibe os nomes e os valores das variveis globais e da Timeline no arquivo SWF. Se voc alterar o valor de uma varivel na guia Variables, poder ver a alterao refletida no arquivo SWF durante sua execuo. Por exemplo, para testar a deteco de coliso em um jogo, voc pode inserir o valor da varivel para posicionar uma bola no local correto prximo a uma parede. No Debugger, a guia Locals (Locais) exibe os nomes e os valores das variveis locais disponveis, quer o arquivo SWF tenha parado em um ponto de interrupo ou em qualquer outro local dentro de uma funo definida pelo usurio.
Para exibir uma varivel:
A lista de exibio atualizada automaticamente enquanto o arquivo SWF reproduzido. Se um clipe de filme for removido do arquivo SWF em um quadro especfico, esse clipe ser removido da lista de exibio do Debugger juntamente com sua varivel e o nome de varivel. Entretanto, se voc marcar uma varivel para a lista de observao (consulte Usando a lista de observao na pgina 78), ela no ser removida.
Depurando scripts
77
Usando a lista de observao Para monitorar um conjunto de variveis crticas de forma organizada, voc pode marc-las para serem exibidas na lista de observao. Essa lista exibe o caminho absoluto para a varivel e o valor. Tambm possvel inserir um novo valor de varivel na lista de observao da mesma maneira que na guia Variables. Se uma varivel local for inserida na lista de observao, seu valor aparecer apenas quando o Flash Player for parado em uma linha do ActionScript com o escopo dessa varivel. Todas as demais variveis aparecero durante a reproduo do arquivo SWF. Se o Debugger no encontrar o valor da varivel, ele ser listado como Undefined (Indefinido). A lista de observao exibe apenas as variveis e no as propriedades ou funes.
Na guia Variables ou Locals, clique com o boto direito do mouse (Windows) ou,
pressionando Control, clique (Macintosh) em uma varivel selecionada e escolha Watch (Observao) no menu de contexto. exibido um ponto azul prximo varivel. Na guia Watch, clique no boto direito do mouse (Windows), ou mantenha pressionada a tecla Control e clique (Macintosh) e selecione Add (Adicionar) no menu de contexto. Digite o caminho de destino para o nome da varivel e o valor nos campos.
Na guia Watch, clique com o boto direito do mouse (Windows) ou, pressionando Control,
clique (Macintosh) e selecione Remove no menu de contexto. Exibindo propriedades do clipe de filme e alterando propriedades editveis No Debugger, a guia Properties (Propriedades) exibe todos os valores de propriedades de qualquer clipe de filme no Stage (Palco). possvel alterar um valor e ver o efeito no arquivo SWF durante sua reproduo. Algumas propriedades de clipe de filme so somente de leitura e no podem ser alteradas.
78
Definindo e removendo pontos de interrupo Um ponto de interrupo permite interromper um arquivo SWF em execuo no Flash Player em uma linha especfica do ActionScript. Use os pontos de interrupo para testar os possveis itens problemticos do cdigo. Por exemplo, se voc tiver escrito um conjunto de instrues if..else if e no conseguir determinar qual delas est em execuo, poder adicionar um ponto de interrupo antes das instrues e executar uma depurao direta de cada uma delas no Debugger. Voc pode definir os pontos de interrupo no painel Actions ou no Debugger. (Para definir pontos de interrupo em scripts externos, use o Debugger.) Os pontos de interrupo definidos no painel Actions so salvos com o documento do Flash (arquivo FLA). Os pontos de interrupo definidos no Debugger no so salvos no arquivo FLA e so vlidos somente para a sesso atual de depurao.
Depurando scripts
79
Para definir ou remover um ponto de interrupo no painel Actions, siga um destes procedimentos:
Clique na margem esquerda. Um ponto vermelho indica um ponto de interrupo. Clique no boto Debug options (Opes de depurao) acima do painel Script. Clique com o boto direito do mouse (Windows), ou mantenha pressionada a tecla Control e
clique (Macintosh), para exibir o menu de contexto. Selecione Breakpoint (Ponto de interrupo), Remove Breakpoint (Remover o ponto de interrupo) ou Remove All Breakpoints (Remover todos os pontos de interrupo). Pressione Control+Shift+B (Windows) ou Command+Shift+B (Macintosh).
Observao: Em verses anteriores do Flash, um clique na margem esquerda do painel Script selecionava a linha de cdigo; agora essa ao adiciona ou remove um ponto de interrupo. Para selecionar uma linha de cdigo, clique com o boto do mouse e pressione Control (Windows) ou clique e pressione Command (Macintosh). Para definir e remover pontos de interrupo no Debugger, siga um destes procedimentos:
Clique na margem esquerda. Um ponto vermelho indica um ponto de interrupo. Clique no boto Toggle Breakpoint (Alternar o ponto de interrupo) ou Remove All
Breakpoints acima da visualizao do cdigo.
Clique com o boto direito do mouse (Windows) ou, pressionando Control, clique
(Macintosh) para exibir o menu de contexto e selecione Breakpoint, Remove Breakpoint ou Remove All Breakpoints. Pressione Control+Shift+B (Windows) ou Command+Shift+B (Macintosh). Quando o Flash Player for interrompido no ponto de interrupo, ser possvel executar uma depurao total, parcial ou circular daquela linha de cdigo. No painel Actions, se o ponto de interrupo for definido em um comentrio ou em uma linha em branco, ele ser ignorado.
Percorrendo as linhas de cdigo No incio de uma sesso de depurao, o Flash Player interrompido. Se voc definir pontos de interrupo no painel Actions (Aes), bastar um clique no boto Continue (Continuar) para reproduzir o arquivo SWF at atingir um ponto de interrupo. Por exemplo, no cdigo a seguir, suponha que o ponto de interrupo esteja definido dentro de um boto na linha myFunction():
on(press){ myFunction(); }
Quando voc clica no boto, o ponto de interrupo alcanado e o Flash Player interrompido. Desse modo, possvel entrar no cdigo e levar o Debugger at a primeira linha da funo myFunction(), independentemente do local em que ela esteja definida no documento. Tambm possvel percorrer a funo ou contorn-la. Se voc no definir pontos de interrupo no painel Actions, poder usar o menu de salto no Debugger para selecionar qualquer script no filme. Com o script selecionado. voc poder adicionar pontos de interrupo. Depois de adicionar pontos de interrupo, clique no boto Continue para iniciar o filme. O Debugger parar quando alcanar o ponto de interrupo.
80
medida que voc percorre as linhas de cdigo, os valores de variveis e propriedades so alterados na lista de observao e nas guias Variables (Variveis), Locals (Locais) e Properties (Propriedades). A seta amarela do lado esquerdo da visualizao de cdigo do Debugger indica a linha em que o Debugger parou. Use os botes a seguir localizados na parte superior da visualizao de cdigo:
Continue (Continuar) Stop Debugging (Parar a depurao) Toggle Breakpoint (Alternar o ponto de interrupo) Remove All Breakpoints (Remover todos os pontos de interrupo)
Step Out (Depurao circular) Step In (Depurao total) Step Over (Depurao parcial)
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
Step Out (Depurao circular) avana o Debugger at sair de uma funo. Esse boto s funcionar se voc estiver parado no momento em uma funo definida pelo usurio. Ele move a seta amarela para a linha posterior quela em que a funo foi chamada. No exemplo acima, se voc colocar um ponto de interrupo na linha 3 e clicar em Step Out, o Debugger avanar para a linha 8. Clicar em Step Out em uma linha fora de uma funo definida pelo usurio o mesmo que clicar em Continue. Por exemplo, se voc parar na linha 6 e clicar em Step Out, o exibidor continuar executando o script at encontrar um ponto de interrupo. Step Over (Depurao parcial) avana o
Debugger sobre uma linha de cdigo. Esse boto move a seta amarela para a prxima linha do script e ignora qualquer funo definida pelo usurio. No exemplo acima, se voc tiver parado na linha 7 e clicar em Step Over, ir diretamente para a linha 8, e myFunction() ser ignorada.
Continue (Continuar)
sai da linha em que o exibidor est parado e continua a reproduo at alcanar um ponto de interrupo. SWF no Flash Player.
Stop Debugging (Parar a depurao) desativa o Debugger, mas continua a reproduzir o arquivo
Depurando scripts
81
Para trabalhar com o contedo do painel Output, use o menu pop-up Options (Opes) localizado no canto superior direito.
Listando os objetos de um arquivo SWF No modo de teste, o comando List Objects (Listar Objetos) exibe o nvel, o quadro, o tipo de objeto (forma, clipe de filme ou boto), caminhos de destino e nomes de instncias de clipes de filme, botes e campos de texto em uma lista hierrquica. Esse comando especialmente til para localizar o caminho de destino e o nome de instncia corretos. Ao contrrio do Debugger, a lista no atualizada automaticamente enquanto o arquivo SWF reproduzido. Selecione o comando List Objects sempre que desejar enviar as informaes para o painel Output (Sada). O comando List Objects no lista todos os objetos de dados do ActionScript. Nesse contexto, um objeto considerado como uma forma ou smbolo no Stage.
82
1 Se o filme no estiver em execuo no modo de teste, selecione Control > Test Movie. 2 Selecione Debug > List Objects.
Uma lista de todos os objetos do Stage exibida no painel Output, como mostrado neste exemplo:
Level #0: Frame=1 Label="Scene_1" Button: Target="_level0.myButton" Shape: Movie Clip: Frame=1 Target="_level0.myMovieClip" Shape: Edit Text: Target="_level0.myTextField" Text="This is sample text."
Listando as variveis de um arquivo SWF No modo de teste, o comando List Variables (Listar Variveis) exibe uma lista de todas as variveis atualmente no arquivo SWF. Esse comando especialmente til para localizar o nome da varivel e seu caminho de destino corretos. Ao contrrio do Debugger, a lista no atualizada automaticamente enquanto o arquivo SWF reproduzido. Selecione o comando List Variables sempre que desejar enviar as informaes para o painel Output (Sada).
_global.
O comando List Variables tambm exibe as variveis globais declaradas com o identificador As variveis globais so exibidas na parte superior da sada de List Variables em uma seo intitulada Global Variables (Variveis globais), e cada varivel possui o prefixo _global.
Alm disso, o comando List Variables exibe as propriedades getter/setter (apanhadoras/ definidoras), isto , aquelas criadas com o mtodo Object.addProperty(), e chama os mtodos get ou set. Uma propriedade getter/setter exibida juntamente com qualquer outra propriedade do objeto a que pertence. Para facilitar a distino entre essas propriedades e as variveis comuns, o valor de uma propriedade getter/setter iniciado com a seqncia de caracteres [getter/ setter]. O valor exibido para uma propriedade getter/setter determinado mediante a avaliao da funo get da propriedade.
Para exibir uma lista de variveis em um arquivo SWF:
1 Se o arquivo SWF no estiver em execuo no modo de teste, selecione Control (Controlar) >
Uma lista de todas as variveis atualmente no arquivo SWF exibida no painel Output, como mostrado neste exemplo:
Global Variables: Variable _global.MyGlobalArray = [object #1] [ 0:1, 1:2, 2:3 ] Level #0: Variable _level0.$version = "WIN 6,0,0,101" Variable _level0.RegularVariable = "Gary" Variable _level0.AnObject = [object #1] { MyProperty: [getter/setter] 3.14159 }
83
Exibindo as propriedades do campo de texto para depurao Para obter informaes depuradas sobre os objetos TextField, voc pode usar o comando Debug (Depurar) > List Variables (Listar variveis) no modo testar filme. O painel Output usa as seguintes convenes na exibio de objetos TextField:
Se uma propriedade no for encontrada no objeto, ela no ser exibida. No mais de quatro propriedades so exibidas em uma linha. Uma propriedade com um valor de seqncia de caracteres exibida em uma linha separada. Se houver alguma outra propriedade definida para o objeto aps as propriedades internas serem processadas, elas sero adicionadas exibio usando as regras no segundo e terceiro pontos acima. As propriedades de cor so exibidas como nmeros hexadecimais (0x00FF00). As propriedades so exibidas na seguinte ordem: variable, text, htmlText, html, textWidth, textHeight, maxChars, borderColor, backgroundColor, textColor, border, background, wordWrap, password, multiline, selectable, scroll, hscroll, maxscroll, maxhscroll, bottomScroll, type, embedFonts, restrict, length, tabIndex, autoSize.
O comando Debug > List Objects no modo de teste lista os objetos TextField. Se um nome de instncia for especificado para um campo de texto, o painel Output exibir o caminho de destino completo incluindo o nome de instncia da seguinte forma:
Target = "target path"
Usando a instruo trace Ao usar a instruo trace em um script, voc pode enviar informaes para o painel Output. Por exemplo, ao testar um filme ou uma cena, voc pode enviar observaes de programao especficas para o painel ou fazer com que resultados especficos sejam exibidos quando for pressionado um boto ou quando um quadro for reproduzido. A instruo trace semelhante instruo JavaScript alert. Quando a instruo trace usada em um script, voc pode usar expresses como parmetros. O valor de uma expresso exibido no painel Output no modo de teste, como mostrado a seguir:
84
85
86
PARTE II
Os eventos podem ser gerados pelo usurio, como cliques do mouse ou pressionamentos de teclas, ou podem ocorrer como resultado de outro processo, como um arquivo XML sendo carregado atravs da rede. O primeiro captulo desta parte descreve os diversos tipos de eventos do Macromedia Flash e analisa como manipul-los no ActionScript. O segundo captulo mostra como aplicar esses princpios para criar apresentaes interativas, aplicativos e animaes simples. Captulo 4: Manipulando eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Captulo 5: Criando interao com o ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Um evento uma ocorrncia de software ou hardware que requer uma resposta de um aplicativo Macromedia Flash. Por exemplo, um evento como um clique com o mouse ou um pressionamento de tecla chama-se evento do usurio, j que o resultado de uma interao direta do usurio. Um evento gerado automaticamente pelo Flash Player, como a aparncia inicial de um clipe de filme no Stage (Palco), chama-se evento do sistema, porque no gerado diretamente pelo usurio. Para que seu aplicativo reaja a eventos, use manipuladores de eventos, um cdigo do ActionScript associado a um objeto e um evento especficos. Por exemplo, quando um usurio clicar em um boto no Stage, voc poder avanar a reproduo at o prximo quadro. Ou quando o carregamento de um arquivo XML pela rede for concludo, voc poder exibir o contedo desse arquivo em um campo de texto. O ActionScript fornece vrias formas de manipular eventos: mtodos manipuladores de eventos, ouvintes de eventos e manipuladores de eventos de boto e de clipe de filme.
89
Por exemplo, imagine um boto chamado next_btn no Stage. O cdigo a seguir atribui uma funo ao manipulador de eventos onPress do boto; essa funo avana a reproduo at o prximo quadro na Timeline (Linha de tempo).
next_btn.onPress = function () nextFrame(); }
No cdigo anterior, a funo nextFrame() atribuda diretamente a onPress. Voc tambm pode atribuir uma referncia de funo (nome) a um mtodo manipulador de evento e definir a funo posteriormente.
// Atribua uma referncia de funo ao mtodo manipulador de evento onPress do boto next_btn.onPress = goNextFrame; // Defina a funo doSubmit() function goNextFrame() { nextFrame(); }
Observe que voc atribui a referncia de funo, e no o valor de retorno da funo, ao manipulador de eventos onPress.
// Incorreto! next_btn.onPress = goNextFrame(); // Correto. next_btn.onPress = goNextFrame;
Alguns manipuladores de eventos recebem parmetros passados que fornecem informaes sobre o evento ocorrido. Por exemplo, o manipulador de eventos TextField.onSetFocus chamado quando uma instncia de campo de texto ganha o foco do teclado. Esse manipulador de eventos recebe uma referncia ao objeto de campo de texto que tinha o foco do teclado. Por exemplo, o cdigo a seguir insere um texto no campo de texto que acabou de perder o foco do teclado.
userName_txt.onSetFocus = function(oldFocus_txt) { oldFocus_txt.text = "I just lost keyboard focus"; }
As seguintes classes do ActionScript definem manipuladores de eventos: Button, ContextMenu, ContextMenuItem, Key, LoadVars, LocalConnection, Mouse, MovieClip, MovieClipLoader, Selection, SharedObject, Sound, Stage, TextField, XML e XMLSocket. Para obter mais informaes sobre os manipuladores de eventos que essas classes fornecem, consulte as respectivas entradas no Captulo 12, Dicionrio do ActionScript, na pgina 219. Voc tambm pode atribuir funes a manipuladores de eventos para objetos criados durante a execuo. Por exemplo, o cdigo a seguir cria uma nova instncia de clipe de filme (newclip_mc) e atribui uma funo ao manipulador de eventos onPress do clipe.
_root.attachMovie("symbolID", "newclip_mc", 10); newclip_mc.onPress = function () { trace("You pressed me"); }
Para obter mais informaes, consulte Criando clipes de filme durante a execuo na pgina 134.
90
O objeto ao qual voc atribui o manipulador de eventos no o objeto que emite o evento. Voc chama um mtodo especial do objeto transmissor, addListener(), que registra o objeto
ouvinte para receber seus eventos. Para usar ouvintes de eventos, crie um objeto ouvinte com uma propriedade que tenha o nome do evento gerado pelo objeto transmissor. Em seguida, atribua uma funo ao ouvinte de eventos que responda de alguma forma ao evento. Por fim, chame addListener() no objeto que transmite o evento, passando a ele o nome do objeto ouvinte. O cdigo a seguir descreve o modelo de ouvinte de eventos.
listenerObject.eventName = function(){ // Insira seu cdigo aqui }; broadcastObject.addListener(listenerObject);
O objeto ouvinte especificado pode ser qualquer objeto, como um clipe de filme ou instncia de boto no Stage, ou uma instncia de qualquer classe do ActionScript. O nome do evento um evento que ocorre em broadCastObject, que, em seguida, transmite o evento para listenerObject. Voc pode registrar vrios ouvintes para um transmissor de eventos. O exemplo a seguir mostra como usar o ouvinte de eventos Selection.onSetFocus para criar um gerenciador de foco simples para um grupo de campos de texto de entrada. Nesse caso, a borda do campo de texto que recebe o foco do teclado ativada (exibida) e a borda do campo de texto que perdeu o foco desativada.
Para criar um gerenciador de foco simples com ouvintes de eventos:
1 Com a ferramenta Text (Texto), crie um campo de texto no Stage. 2 Selecione o campo de texto e, no inspetor Properties (Propriedades), selecione Input (Entrada)
no menu pop-up Text Type (Tipo de texto) e selecione a opo Show Border Around Text (Mostrar borda em torno do texto). 3 Crie outro campo de texto de entrada abaixo do primeiro. Verifique se a opo Show Border Around Text no est selecionada para esse campo de texto. Continue a criar campos de texto de entrada conforme desejado. 4 Selecione Frame 1 (Quadro 1) na Timeline e abra o painel Actions (Aes), em Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions.
91
5 Para criar um objeto que oua a notificao de foco da classe Selection, digite o seguinte cdigo
no painel Actions:
var focusListener = new Object(); focusListener.onSetFocus = function(oldFocus_txt, newFocus_txt) { oldFocus_txt.border = false; newFocus_txt.border = true; }
Esse cdigo cria um novo objeto (genrico) do ActionScript chamado focusListener. Esse objeto define para si uma propriedade onSetFocus, qual atribui uma funo. A funo usa dois parmetros: uma referncia ao campo de texto que perdeu foco, e outra ao campo de texto que ganhou foco. A funo define a propriedade border do campo de texto que perdeu foco como false e a propriedade border do campo de texto que ganhou foco como true. 6 Para registrar o objeto focusListener para receber eventos do objeto Selection, adicione o seguinte cdigo ao painel Actions:
Selection.addListener(focusListener);
7 Teste o filme, em Control (Controle) > Test Movie (Testar filme), clique no primeiro campo
Para cancelar o registro de um objeto ouvinte para o recebimento de eventos, chame o mtodo do objeto transmissor, passando para ele o nome do objeto ouvinte.
broadcastObject.removeListener(listenerObject);
Os ouvintes de eventos esto disponveis para objetos das seguintes classes do ActionScript: Key, Mouse, MovieClipLoader, Selection, TextField e Stage. Para obter uma lista de ouvintes de eventos disponveis para cada classe, consulte as entradas da classe no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Voc pode especificar dois ou mais eventos para cada manipulador on(), separados por vrgulas. O ActionScript em um manipulador executado quando um dos eventos especificados pelo manipulador ocorre. Por exemplo, o manipulador on() a seguir anexado a um boto executado sempre que o mouse sai de cima do boto.
on(rollOver, rollOut) { trace("You rolled over, or rolled out"); }
92
Voc tambm poder anexar mais de um manipulador a um objeto se desejar que scripts diferentes sejam executados quando ocorrerem eventos distintos. Por exemplo, voc pode anexar os manipuladores onClipEvent() a seguir mesma instncia de clipe de filme. O primeiro executado quando o primeiro clipe de filme carregado (ou quando aparece no Stage); o segundo executado quando o clipe de filme descarregado do Stage.
onClipEvent(load){ trace("I've loaded"); } onClipEvent (unload) { trace("I've unloaded"); }
Para obter uma lista completa de eventos suportados pelos manipuladores de eventos on() e onClipEvent(), consulte on() na pgina 672 e onClipEvent() na pgina 673. A manipulao de eventos atravs de on() e onClipEvent() no entra em conflito com a manipulao de eventos atravs de mtodos manipuladores de eventos definidos por voc. Por exemplo, suponha que voc dispe de um boto em um arquivo SWF; o boto pode ter um manipulador on(press), que instrui o arquivo SWF a ser reproduzido, e pode ter um mtodo onPress, para o qual voc define uma funo que instrui um objeto do Stage (Palco) a girar. Quando o usurio clica no boto, o arquivo SWF reproduzido e o objeto gira. Dependendo de sua preferncia, voc pode usar on() e onClipEvent(), mtodos manipuladores de eventos ou os dois tipos de manipulao de eventos. Entretanto, o escopo de variveis e objetos em manipuladores on() e onClipEvent() diferente daquele em manipuladores e ouvintes de eventos. (Consulte Escopo do manipulador de eventos na pgina 94.) Voc s pode anexar onClipEvent() e on() a instncias de clipes de filme colocadas no Stage durante a criao. No possvel anexar onClipEvent() ou on() a instncias de clipes de filme criadas durante a execuo (por exemplo, com o mtodo attachMovie()). Para anexar manipuladores de eventos a objetos criados durante a execuo, use mtodos manipuladores de eventos ou ouvintes de eventos. (Consulte Usando mtodos manipuladores de eventos na pgina 89 e Usando ouvintes de eventos na pgina 91.)
1 Selecione um quadro na Timeline de um clipe de filme a ser usado como um estado do boto
93
4 Para fazer com que o clipe de filme responda a eventos do mouse, siga um destes procedimentos:
Anexe um manipulador de eventos on() instncia de clipe de filme, conforme analisado em Usando manipuladores de eventos de boto e clipe de filme na pgina 92. Atribua uma funo a um dos manipuladores de eventos de mouse do objeto de clipe de filme (onPress, onRelease etc.), conforme analisado em Usando mtodos manipuladores de eventos na pgina 89.
Embora os dois manipuladores de eventos contenham o mesmo cdigo, eles tm resultados diferentes. No primeiro caso, a varivel color local para a funo definida para onPress. No segundo caso, como o manipulador on() no define um escopo de varivel local, o escopo da varivel a Timeline do clipe de filme clip_mc. Para manipuladores de eventos on() anexados a botes, em vez de clipes de filme, o escopo da varivel (bem como de chamadas de funes e mtodos) a Timeline que contm a instncia de boto. Por exemplo, o manipulador de eventos on() a seguir produzir resultados diferentes, dependendo de estar anexado a um objeto de clipe de filme ou a um objeto de boto. No primeiro caso, a chamada de funo play() inicia a reproduo da Timeline que contm o boto; no segundo caso, a chamada de funo play() inicia a Timeline do clipe de filme ao qual o manipulador est anexado.
// Anexado ao boto on(press){ play(); // reproduz a Timeline-me } // Anexado ao clipe de filme on(press){ play(); // reproduz a Timeline do clipe de filme }
94
Ou seja, quando anexado a um objeto de boto, a chamada de mtodo play() aplica-se Timeline que contm o boto, isto , a Timeline-me do boto. Entretanto, quando o mesmo manipulador estiver anexado a um objeto de clipe de filme, play() se aplicar ao clipe de filme que utiliza o manipulador. Dentro de uma definio de funo de manipulador de eventos ou ouvinte de eventos, a mesma funo play() se aplicar Timeline que contm a definio de funo. Por exemplo, imagine que a funo de manipulador de eventos MovieClip.onPress seguinte foi declarada na Timeline que contm a instncia de clipe de filme myMovieClip.
// Funo definida na Timeline do clipe de filme: myMovieClip.onPress = function () { play(); // reproduz a Timeline que contm a definio de funo }
Se desejar reproduzir o clipe de filme que define o manipulador de eventos onPress, dever explicitamente fazer referncia ao clipe usando a palavra-chave this, desta forma:
myMovieClip.onPress = function () { this.play(); // reproduz a Timeline do clipe que define o manipulador onPress }
refere-se ao objeto que define o mtodo manipulador de evento ou ouvinte de evento. Por exemplo, no cdigo a seguir this refere-se a myClip.
// manipulador de eventos onPress() anexado a _level0.myClip: myClip.onPress = function () { trace(this); // exibe '_level0.myClip' } Em um manipulador on() anexado a um clipe de filme, this refere-se ao clipe de filme ao qual
95
96
Em animaes simples, o Macromedia Flash Player reproduz as cenas e os quadros de um arquivo SWF em seqncia. Em um arquivo SWF interativo, os espectadores usam o teclado e o mouse para percorrer um arquivo SWF, mover objetos, inserir informaes em formulrios e executar muitas outras operaes interativas. Use o ActionScript para criar scripts que informem ao Flash Player qual ao executar na ocorrncia de um evento. Os eventos que ativam um script ocorrem quando a reproduo atinge um quadro, quando um clipe de filme carregado ou descarregado, ou quando o usurio clica em um boto ou pressiona uma tecla. Um script pode consistir em um nico comando, como instruir um arquivo SWF a interromper a reproduo, ou uma srie de comandos e instrues, como avaliar em primeiro lugar uma condio e depois executar uma ao. Muitos comandos do ActionScript so simples e permitem criar controles bsicos para um arquivo SWF. Outras aes exigem alguma familiaridade com linguagens de programao e so planejadas para um desenvolvimento avanado.
97
Indo para um quadro ou uma cena Para ir para uma outra cena ou quadro especfico no arquivo SWF, use as funes globais e gotoAndStop() ou os mtodos gotoAndPlay() e gotoAndStop() equivalentes da classe MovieClip. Cada funo ou mtodo permite especificar um quadro para o qual ir na cena atual. Se o documento contiver vrias cenas, voc poder especificar uma cena e quadro para os quais ir.
gotoAndPlay()
O exemplo a seguir usa a funo global gotoAndPlay() em um manipulador de eventos onRelease de um objeto de boto para enviar a reproduo da Timeline que contm o boto para o Frame 10 (Quadro 10).
jump_btn.onRelease = function () { gotoAndPlay(10); }
No prximo exemplo, o mtodo MovieClip.gotoAndStop() envia a Timeline de um clipe de filme chamado categories_mc para o Frame 10 e pra. Ao usar os mtodos de MovieClip gotoAndPlay() e gotoAndStop(), especifique uma instncia para o mtodo.
jump_btn.onPress = function () { categories_mc.gotoAndStop(10); }
Reproduzindo e interrompendo clipes de filme A menos que instrudo de outra forma, depois que um arquivo SWF iniciado, ele reproduzido por cada quadro da Timeline. Para interromper ou iniciar um arquivo SWF, use as funes globais play() e stop() ou os mtodos MovieClip equivalentes. Por exemplo, voc pode usar stop() para interromper um arquivo SWF no fim de uma cena, antes de passar para a cena seguinte. Depois que um arquivo SWF pra, ele deve ser reiniciado explicitamente atravs da chamada de play(). Voc pode usar as aes play() e stop() ou mtodos MovieClip para controlar a Timeline principal ou a Timeline de qualquer clipe de filme ou arquivo SWF carregado. O clipe de filme que voc deseja controlar deve ter um nome de instncia e um destino, e deve estar presente na Timeline.
98
O manipulador on(press) a seguir, anexado a um boto, inicia a reproduo movendo o arquivo SWF ou o clipe de filme que contm o objeto de boto.
// Anexado a uma instncia de boto on(press){ // Reproduz a Timeline que contm o boto play(); }
Esse mesmo cdigo do manipulador de eventos on() produzir um resultado diferente quando anexado a um objeto de clipe de filme em vez de um boto. As instrues includas em um manipulador on(), quando anexado a um objeto de boto, sero aplicadas Timeline que contm o boto, por padro. Entretanto, as instrues includas em um manipulador on(), quando anexadas a um objeto de clipe de filme, sero aplicadas ao clipe de filme ao qual o manipulador on() est anexado. Por exemplo, o cdigo do manipulador on() a seguir interrompe a Timeline do clipe de filme qual o manipulador est anexado, e no aquela que contm o clipe de filme.
on(press){ stop(); }
As mesmas condies se aplicam a manipuladores onClipEvent() anexados a objetos de clipes de filme. Por exemplo, o cdigo abaixo interrompe a Timeline do clipe de filme que contm o manipulador onClipEvent() quando o primeiro clipe carregado ou aparece no Stage (Palco).
onClipEvent(load){ stop(); }
Indo para outro URL Para abrir uma pgina da Web em uma janela de navegador ou para passar dados para outro aplicativo em um URL definido, use a funo global getURL() ou o mtodo MovieClip.getURL(). Por exemplo, possvel ter um boto com links para um novo site ou enviar variveis da Timeline para um script CGI para ser processado da mesma forma que com um formulrio HTML. Voc tambm pode especificar uma janela de destino, como faria ao especificar uma janela com uma marca de ncora HTML (<a></a>). Por exemplo, o cdigo abaixo abre a pgina inicial macromedia.com em uma janela de navegador em branco quando o usurio clica na instncia de boto chamada homepage_btn.
homepage_btn.onRelease = function () { getURL("http://www.macromedia.com", _blank); }
Voc tambm pode enviar variveis junto com o URL, usando GET ou POST. Isso til se a pgina carregada de um servidor de aplicativos, como uma pgina do ColdFusion Server (CFM), esperar receber variveis de formulrio. Por exemplo, imagine que voc deseje carregar uma pgina CFM chamada addUser.cfm que espere duas variveis de formulrio, name e age. Para isso, voc pode criar um clipe de filme chamado variables_mc que defina essas duas variveis, como mostrado abaixo.
variables_mc.name = "Francois"; variables_mc.age = 32;
99
O cdigo a seguir carrega addUser.cfm em uma janela de navegador em branco e passa para a pgina CFM variables_mc.name e variables_mc.age no cabealho POST.
variables_mc.getURL("addUser.cfm", "_blank", "POST");
Criando um ponteiro de mouse personalizado Obtendo a posio do mouse Capturando pressionamentos de teclas Definindo valores de cores Criando controles de som Detectando colises Criando uma ferramenta de desenho de linha simples
Criando um ponteiro de mouse personalizado Um ponteiro de mouse padro a representao na tela do sistema operacional da posio do mouse do usurio. Ao substituir o ponteiro de mouse padro por um criado no Flash, voc pode integrar o movimento do mouse do usurio no arquivo SWF com mais preciso. O exemplo desta seo usa um ponteiro personalizado com o formato de uma seta grande. Porm, a eficincia desse recurso est na sua capacidade de transformar o ponteiro personalizado em qualquer forma, como uma bola de futebol a caminho da linha do gol ou um pedao de tecido colocado por cima de um sof para mudar sua cor. Para criar um ponteiro personalizado, crie o clipe de filme do ponteiro no Stage. Em seguida, no ActionScript, oculte o ponteiro padro e controle seu movimento. Para ocultar o ponteiro padro, use o mtodo Mouse.hide() da classe Mouse interna. Para usar um clipe de filme como o ponteiro personalizado, use a ao startDrag().
Para criar um ponteiro personalizado:
1 Crie um clipe de filme para ser usado como um ponteiro personalizado e coloque uma instncia
do clipe no Stage. 2 Selecione a instncia de clipe de filme no Stage. 3 Selecione Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions (Aes) para abrir o painel Actions se ele ainda no estiver visvel. 4 Digite o seguinte no painel Actions:
onClipEvent (load) { Mouse.hide(); startDrag(this, true); } onClipEvent(mouseMove){ updateAfterEvent(); }
100
O primeiro manipulador onClipEvent() oculta o mouse quando o clipe de filme aparece no Stage pela primeira vez; o segundo manipulador chama updateAfterEvent sempre que o usurio move o mouse. A funo updateAfterEvent atualiza a tela imediatamente aps a ocorrncia do evento especificado, ao contrrio do comportamento padro, que atualiza a tela aps a obteno do prximo quadro. (Consulte updateAfterEvent() na pgina 858.) 5 Selecione Control (Controlar) > Test Movie (Testar filme) para testar o ponteiro personalizado. Os botes ainda funcionaro quando voc usar um ponteiro personalizado. recomendvel colocar o ponteiro personalizado na camada superior da Timeline para que ele se mova na frente dos botes e de outros objetos quando voc move o mouse no arquivo SWF. Alm disso, a dica de um ponteiro de mouse personalizado o ponto de registro do clipe de filme que voc usa como o ponteiro personalizado. Assim, se desejar que uma certa parte do clipe de filme funcione como a dica do mouse, dever definir as coordenadas do ponto de registro do clipe para que seja esse ponto. Para obter informaes sobre os mtodos da classe Mouse, consulte a entrada Classe Mouse no Captulo 12, Dicionrio do ActionScript, na pgina 219. Obtendo a posio do mouse Voc pode usar as propriedades _xmouse e _ymouse para localizar o ponteiro do mouse (cursor) em um arquivo SWF. Cada Timeline possui uma propriedade _xmouse e _ymouse que retorna a localizao do mouse no seu sistema de coordenadas. A posio sempre relativa ao ponto de registro. No caso da Timeline principal (_level0), o ponto de registro o canto superior esquerdo.
As propriedades _xmouse e _ymouse na Timeline principal e uma Timeline de clipe de filme Os procedimentos a seguir mostram duas maneiras de obter a posio do mouse.
101
1 Crie duas caixas de texto dinmicas e atribua a elas os nomes x_pos e y_pos. 2 Selecione Window > Development Panels > Actions para abrir o painel Actions se ele ainda no
estiver visvel. 3 Para retornar a posio do mouse na Timeline principal, adicione o cdigo a seguir em qualquer quadro no arquivo SWF de _level0:
x_pos = _root._xmouse; y_pos = _root._ymouse;
As variveis x_pos e y_pos so usadas como recipientes para armazenar os valores das posies do mouse. Voc pode usar essas variveis em qualquer script em seu documento. No manipulador onClipEvent() a seguir, os valores de x_pos e y_pos so atualizados sempre que o usurio move o mouse.
onClipEvent(mouseMove){ x_pos = _root._xmouse; y_pos = _root._ymouse; } Para obter a posio atual do mouse em um clipe de filme:
1 Crie um clipe de filme. 2 Selecione a instncia de clipe de filme no Stage. Com o inspetor Properties (Propriedades),
atribua a ela o nome myMovieClip. 3 Selecione Window > Development Panels > Actions para abrir o painel Actions se ele ainda no estiver visvel. 4 Use o nome da instncia do clipe de filme para retornar a posio do mouse na Timeline principal. Por exemplo, a instruo a seguir pode ser colocada em qualquer Timeline no arquivo SWF de _level0 para retornar a posio _ymouse na instncia myMovieClip:
x_pos = _root.myMovieClip._xmouse y_pos = _root.myMovieClip._ymouse
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:
Para obter mais informaes sobre as propriedades _xmouse e _ymouse, consulte MovieClip._xmouse na pgina 625 e MovieClip._ymouse na pgina 626.
102
Capturando pressionamentos de teclas Use os mtodos da classe Key interna para detectar a ltima tecla pressionada pelo usurio. A classe Key no exige uma funo construtora; para usar seus mtodos, basta cham-los na prpria classe, como mostrado no exemplo a seguir:
Key.getCode();
Voc pode obter cdigos de teclas virtuais ou valores ASCII (American Standard Code for Information Interchange, Cdigo padro americano para intercmbio de informaes) de pressionamentos de teclas:
Para obter o cdigo de tecla virtual da ltima tecla pressionada, use o mtodo getCode(). Para obter o valor ASCII da ltima tecla pressionada, use o mtodo getAscii().
Um cdigo de tecla virtual atribudo a cada tecla fsica de um teclado. Por exemplo, a tecla de seta para a esquerda tem o cdigo de tecla virtual 37. Usar esse cdigo garante que os controles do arquivo SWF sejam os mesmos em todos os teclados, independentemente de linguagem ou plataforma. Valores ASCII so atribudos aos primeiros 127 caracteres em cada conjunto de caracteres. Os valores ASCII fornecem informaes sobre um caractere da tela. Por exemplo, a letra A e a letra a possuem valores ASCII diferentes. Decida quais teclas usar e determine seus cdigos de teclas virtuais usando um destes procedimentos:
Use uma constante da classe Key. Na caixa de ferramentas Actions, clique na categoria Built-In
Classes (Classes internas), clique em Movie, clique em Key (Tecla) e clique em Constants (Constantes). Atribua o manipulador onClipEvent() a seguir a um clipe de filme e, em seguida, selecione Control (Controlar) > Test Movie (Testar filme) e pressione a tecla desejada.
onClipEvent(load) { trace(Key.getCode()); }
103
Um lugar comum para se usar os mtodos da classe Key em um manipulador de eventos. No exemplo a seguir, o usurio move o carro usando as teclas de seta. O mtodo Key.isDown() indica se tecla pressionada a seta para a direita, para a esquerda, para cima ou para baixo. O manipulador de eventos, onEnterFrame, determina o valor Key.isDown(keyCode) a partir de instrues if. Dependendo do valor, o manipulador instrui o Flash Player a atualizar a posio do carro e exibir a direo.
A entrada do teclado move o carro. O procedimento abaixo mostra como capturar pressionamentos de teclas para mover um clipe de filme para cima, para baixo, para a esquerda ou para a direita no Stage (Palco), dependendo de qual tecla de seta correspondente (para cima, para baixo, para a esquerda, para a direita) pressionada. O clipe de filme confinado a uma rea arbitrria de 400 pixels de largura e 300 pixels de altura. Alm disso, um campo de texto exibe o nome da tecla pressionada.
104
1 No Stage, crie um clipe de filme que dever se mover em resposta a atividades de teclas do
teclado. Neste exemplo, o nome da instncia do clipe de filme car. 2 No Stage, crie uma caixa de texto dinmica que ser atualizada com a direo do carro. Usando o inspetor Properties (Propriedades), atribua instncia o nome display_txt.
Observao: No confunda nomes de variveis com nomes de instncias. Para obter mais informaes, consulte Sobre a instncia do campo de texto e os nomes de variveis na pgina 144.
Development Panels (Painis de desenvolvimento) > Actions (Aes) para abrir o painel Actions, caso ele no esteja visvel. 4 Para definir a distncia que o carro percorre na tela com cada pressionamento de tecla, defina uma varivel distance e defina seu valor inicial como 10.
var distance = 10;
5 Para criar o manipulador de eventos para o clipe de filme do carro que verifique qual tecla de
seta (para a esquerda, para a direita, para cima ou para baixo) est pressionada, adicione este cdigo ao painel Actions:
car.onEnterFrame = function() { }
6 Adicione uma instruo with ao corpo do manipulador onEnterFrame e especifique car como
7 Para verificar se a tecla de seta para a direita est sendo pressionada, e para mover o clipe de filme
do carro de forma apropriada, adicione o cdigo a seguir ao corpo da instruo with. O cdigo deve ser este:
distance = 10; car.onEnterFrame = function() { with (car) { if (Key.isDown(Key.RIGHT)) { _x += distance; if (_x >= 400) { _x = 400; } _root.display_txt.text = "Right"; } } }
Se a tecla de seta para a direita estiver sendo pressionada, a propriedade _x do carro ser aumentada de acordo com valor especificado pela varivel distance. A prxima instruo if testa se o valor da propriedade _x do clipe maior que ou igual a 400 (if(_x >=400)); nesse caso, sua posio fixada em 400. Alm disso, a palavra Right deve aparecer no arquivo SWF.
105
8 Use cdigo semelhante para testar se as teclas para a esquerda, para cima ou para baixo esto
Para obter mais informaes sobre os mtodos da classe Key, consulte a entrada de Classe Key no Captulo 12, Dicionrio do ActionScript, na pgina 219.
106
Definindo valores de cores possvel usar os mtodos da classe Color interna para ajustar a cor de um clipe de filme. O mtodo setRGB() atribui valores RGB (vermelho, verde, azul) hexadecimais ao clipe de filme. O exemplo a seguir usa setRGB() para alterar a cor de um objeto com base na entrada do usurio.
A ao do boto cria um objeto Color e altera a cor do carro com base na entrada do usurio.
Para definir o valor de cor de um clipe de filme:
1 Selecione um clipe de filme no Stage. 2 No inspetor Properties, insira carColor como o nome da instncia. 3 Crie um boto chamado color chip, coloque quatro instncias do boto no Stage e atribua a
elas os nomes red, green, blue e black. 4 Selecione Frame 1 na Timeline principal e selecione Window > Development Panels > Actions. 5 Para criar um objeto Color que especifique o clipe de filme carColor, adicione o cdigo a seguir ao painel Actions:
myColor = new Color(_root.carColor);
6 Para que o boto azul altere a cor do clipe de filme carColor para azul, adicione o cdigo a
O valor hexadecimal 0x0000ff azul. A tabela a seguir exibe as outras cores que voc usar e seus valores hexadecimais:
107
7 Repita a etapa 6 para os outros botes (vermelho, verde e preto) para alterar a cor do clipe de
8 Selecione Control > Test Movie para alterar a cor do clipe de filme.
Para obter mais informaes sobre os mtodos da classe Color, consulte a entrada de Classe Color no Captulo 12, Dicionrio do ActionScript, na pgina 219. Criando controles de som Use a classe interna Sound para controlar sons em um arquivo SWF. Para usar os mtodos da classe Sound, primeiro crie um objeto Sound. Depois, use o mtodo attachSound() para inserir um som da biblioteca em um arquivo SWF enquanto o SWF estiver em execuo.
Quando o usurio solta o boto Play (Reproduzir), uma msica reproduzida pelo alto-falante.
108
O mtodo setVolume() da classe Sound controla o volume, e o mtodo setPan() ajusta o balano da esquerda e da direita de um som.
Quando o usurio arrasta o controle deslizante de volume, o mtodo setVolume() chamado. Os procedimentos a seguir mostram como criar controles de som semelhantes aos mostrados acima.
Para anexar um som a uma Timeline:
1 Selecione File > Import para importar um som. 2 Selecione um som na biblioteca, clique no boto direito do mouse (Windows), ou mantenha
109
7 Selecione Frame 1 na Timeline principal e selecione Window > Development Panels > Actions.
Esse cdigo primeiro interrompe o clipe de filme speaker. Em seguida, cria um novo objeto Sound (song) e anexa o som cujo identificador de vinculao a_thousand_ways. Depois, define um manipulador onSoundComplete para o objeto de msica, que interrompe o clipe de filme speaker quando o som termina. Por fim, manipuladores onRelease associados aos objetos playButton e stopButton iniciam e interrompem o som usando os mtodos Sound.start() e Sound.stop(), alm de iniciar e interromper a reproduo do clipe de filme speaker. 8 Selecione Control > Test Movie para ouvir o som.
Para criar um controle de volume deslizante:
1 Arraste um boto para o Stage. 2 Selecione o boto e selecione Modify (Modificar) > Convert to Symbol (Converter em smbolo).
Tenha cuidado ao selecionar o comportamento do clipe de filme. Isso criar um clipe de filme com o boto em seu primeiro quadro. 3 Selecione o clipe de filme e selecione Edit (Editar) > Edit Selected (Editar selecionados). 4 Selecione o boto e selecione Window > Development Panels > Actions. 5 Insira as seguintes aes:
on(press){ startDrag(this, false, left, top, right, bottom); } on (release) { stopDrag(); }
Os parmetros left, top, right e bottom de startDrag() so variveis definidas em uma ao de clipe. 6 Selecione Edit (Editar) > Edit Document (Editar documento) para voltar Timeline principal. 7 Selecione o clipe de filme no Stage.
110
9 Selecione Control > Test Movie para usar o controle deslizante de volume.
Para criar um controle de balano deslizante:
1 Arraste um boto para o Stage. 2 Selecione o boto e selecione Insert (Inserir) > Convert to Symbol. Selecione a propriedade do
clipe de filme. 3 Selecione o clipe de filme e selecione Edit (Editar) > Edit Symbol (Editar smbolo). 4 Selecione o boto e selecione Window > Development Panels > Actions. 5 Insira as seguintes aes:
on(press){ startDrag ("", false, left, top, right, bottom); dragging = true; } on (release, releaseOutside) { stopDrag (); dragging = false; }
Os parmetros left, top, right e bottom de startDrag() so variveis definidas em uma ao de clipe. 6 Selecione Edit (Editar) > Edit Document (Editar documento) para voltar Timeline principal. 7 Selecione o clipe de filme no Stage. 8 Insira as seguintes aes:
onClipEvent(load){ top=_y; bottom=_y; left=_x-50; right=_x+50; center=_x; } onClipEvent (enterFrame){ if (dragging==true){ _parent.setPan((_x-center)*2); } }
9 Selecione Control > Test Movie para usar o controle deslizante de balano.
Para obter mais informaes sobre os mtodos da classe Sound, consulte a entrada de Classe Sound no Captulo 12, Dicionrio do ActionScript, na pgina 219.
111
Detectando colises O mtodo hitTest() da classe MovieClip detecta colises em um arquivo SWF. Ele verifica se um objeto colidiu com um clipe de filme e retorna um valor booleano (true ou false). Existem dois casos em que necessrio saber se houve coliso: para testar se o usurio chegou a uma certa rea esttica no Stage, e para determinar quando um clipe de filme alcanou outro. Com hitTest(), voc pode determinar esses resultados. Voc pode usar os parmetros de hitTest() para especificar as coordenadas x e y de uma rea de clicagem no Stage (Palco), ou usar o caminho de destino de outro clipe de filme como uma rea de clicagem. Quando x e y so especificadas, hitTest() retorna true se o ponto identificado por (x, y) no for transparente. Quando um destino passado para hitTest(), as caixas delimitadoras dos dois clipes de filme so comparadas. Se elas se sobrepuserem, hitTest() retornar true. Se no houver uma interseo entre as duas caixas, hitTest() retornar false.
True aparece no campo de texto sempre que o ponteiro do mouse est sobre o corpo do carro.
112
Voc tambm pode usar hitTest() para testar uma coliso entre dois clipes de filme.
True aparece no campo de texto sempre que um clipe de filme toca no outro. Os procedimentos a seguir mostram como detectar colises usando o exemplo do carro.
Para detectar a coliso entre um clipe de filme e um ponto no Stage:
1 Crie um novo clipe de filme no Stage e, no inspetor Properties (Propriedades), digite box como
o nome da instncia.
2 Crie uma caixa de texto dinmica no Stage e, no inspetor Properties, digite status como o
nome da instncia.
3 Selecione o primeiro quadro na Layer 1 (Camada 1) da Timeline. 4 Selecione Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions
(Aes) para abrir o painel Actions se ele ainda no estiver visvel. 5 Adicione este cdigo ao painel Actions:
box.onEnterFrame = function () { status.text = this.hitTest(_xmouse, _ymouse, true); }
6 Selecione Control (Controlar) > Test Movie (Testar filme) e mova o mouse sobre o clipe de
filme para testar a coliso. O valor true exibido sempre que o mouse est sobre um pixel no transparente.
Para executar a deteco de coliso em dois clipes de filme:
1 Arraste dois clipes de filme para o Stage e atribua a eles os nomes de instncias car e area. 2 Crie uma caixa de texto dinmica no Stage e, no inspetor Properties, digite status como o
nome da instncia.
3 Selecione o primeiro quadro na Layer 1 (Camada 1) da Timeline. 4 Selecione Window > Development Panels > Actions para abrir o painel Actions se ele ainda no
estiver visvel.
113
6 Selecione Control > Test Movie e arraste o clipe de filme para testar a deteco da coliso.
Sempre que a caixa delimitadora do carro formar uma interseo com a caixa delimitadora da rea, o status true. Para obter mais informaes, consulte MovieClip.hitTest() no Captulo 12, Dicionrio do ActionScript, na pgina 219. Criando uma ferramenta de desenho de linha simples Voc pode usar mtodos da classe MovieClip para desenhar linhas e preenchimentos no Stage (Palco) durante a reproduo do arquivo SWF. Isso permite a voc criar ferramentas de desenho para usurios e desenhar formas no arquivo SWF em resposta a eventos. Os mtodos de desenho so beginFill(), beginGradientFill(), clear(), curveTo(), endFill(), lineTo(), lineStyle() e moveTo(). possvel aplicar esses mtodos a qualquer instncia de clipe de filme (por exemplo, myClip.lineTo()) ou a um nvel (_root.curveTo()). Os mtodos lineTo() e curveTo() permitem desenhar linhas e curvas, respectivamente. Especifique uma cor de linha, espessura e configurao alfa para uma linha ou curva com o mtodo lineStyle(). O mtodo de desenho moveTo() define a posio de desenho atual como coordenadas x e y do Stage especificadas por voc. Os mtodos beginFill() e beginGradientFill() preenchem um caminho fechado com um preenchimento slido ou gradiente, respectivamente, e endFill() aplica o preenchimento especificado na ltima chamada a beginFill() ou beginGradientFill(). O mtodo clear() apaga o que foi desenhado no objeto de clipe de filme especificado. Para obter mais informaes, consulte MovieClip.beginFill() na pgina 560, MovieClip.beginGradientFill() na pgina 561, MovieClip.clear() na pgina MovieClip.curveTo() na pgina 569, MovieClip.endFill() na pgina 572, MovieClip.lineTo() na pgina 587, MovieClip.lineStyle() na pgina 586 e MovieClip.moveTo() na pgina 593.
Para criar uma ferramenta de desenho de linha simples:
564,
digite clear_btn como o nome da instncia. 2 Selecione Frame 1 (Quadro 1) na Timeline (Linha de tempo) e, em seguida, selecione Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions (Aes) para abrir o painel Actions se ele no estiver visvel.
114
4 Selecione Control (Controlar) > Test Movie (Testar filme) para testar o filme. Clique e arraste
o mouse para desenhar uma linha no Stage. Clique no boto para apagar o que foi desenhado.
115
Existe um script no arquivo SWF; ele est anexado instncia bug, conforme mostrado no painel Actions a seguir:
Ao
Varivel
Instruo condicional if
Painel Actions com o script anexado instncia bug O nome de instncia da joaninha bug e o nome de instncia da tomada zapper. No script, a referncia joaninha feita com this, pois o script est anexado joaninha, e a palavra reservada this refere-se ao objeto que o contm. Existem dois manipuladores onClipEvent() com dois eventos diferentes: load e enterFrame. As aes na instruo onClipEvent(load) so executadas somente uma vez, quando o arquivo SWF carregado. As aes na instruo onClipEvent(enterFrame) so executadas sempre que a reproduo entra em um quadro. Mesmo em um arquivo SWF com apenas um quadro, a reproduo ainda entra nesse quadro repetidamente e o script executado tambm repetidamente. As aes a seguir ocorrem dentro de cada manipulador onClipEvent():
onClipEvent(load) Duas variveis, initx e inity, so definidas para armazenar as posies iniciais x e y da instncia de clipe de filme bug. A funo definida e atribuda ao evento onRelease da instncia Reset. Essa funo chamada todas as vezes que o boto do mouse pressionado e liberado sobre o boto Reset (Redefinir). A funo recoloca a joaninha na posio inicial no Stage, redefine seus valores de rotao e alfa e redefine a varivel zapped como false.
116
onClipEvent(enterFrame)
Uma instruo if condicional usa o mtodo hitTest() para verificar se a instncia da joaninha entra em contato com a instncia da tomada (_root.zapper). H dois resultados possveis para a avaliao, true ou false:
onClipEvent (load) { initx = _x; inity = _y; _root.Reset.onRelease = function() { zapped = false; _x = initx; _y = inity; _alpha = 100 _rotation = 0; }; }
Se o mtodo hitTest() retornar true, o mtodo stopDrag() ser chamado, a varivel zapper ser definida como true, as propriedades alpha e rotation sero alteradas e a instncia zapped receber um comando para ser reproduzida. Se o mtodo hitTest() retornar false, no ser executado nenhum cdigo entre chaves {} logo aps a instruo if. Existem dois manipuladores on() anexados instncia bug com dois eventos diferentes: press e As aes na instruo on(press) so executadas quando o boto do mouse pressionado sobre a instncia bug. As aes na instruo on(release) so executadas quando o boto do mouse liberado sobre a instncia bug. As aes a seguir ocorrem dentro de cada manipulador onClipEvent():
release. on(press) Uma ao startDrag() torna a joaninha arrastvel. Como o script est anexado instncia bug, a palavra-chave this indica que a instncia bug que arrastvel: on(press){ this.startDrag(); } on(release)
on (release) { stopDrag(); }
Para observar a reproduo do arquivo SWF, consulte o ActionScript Reference Guide Help (Ajuda do Guia de referncia do ActionScript).
117
118
PARTE III
Esta parte analisa o modelo de objetos do Macromedia Flash durante a execuo e seus recursos, concentrando-se no trabalho com clipes de filmes e texto. Esta parte tambm descreve como criar suas prprias classes e interfaces com o ActionScript 2.0. Captulo 6: Usando as classes internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Captulo 7: Trabalhando com clipes de filme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Captulo 8: Trabalhando com texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Captulo 9: Criando classes com o ActionScript 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Alm dos elementos e construes bsicas do ActionScript (as repeties for e while, por exemplo) e dos tipos de dados primitivos (nmeros, seqncias de caracteres e arrays) descritos anteriormente (consulte Conceitos bsicos do ActionScript na pgina 27), o ActionScript tambm fornece vrias classes internas ou tipos de dados complexos. Essas classes oferecem vrios recursos e funcionalidades de script. Algumas classes tm como base a especificao ECMAScript e so chamadas classes bsicas do ActionScript. Alguns exemplos desse tipo de classe so: Array, Boolean, Date e Math. Para obter mais informaes, consulte Classes bsicas na pgina 123.) As outras classes internas do ActionScript so especficas para o modelo de objetos do Macromedia Flash e do Flash Player. Para entender a diferena entre as classes bsicas do ActionScript e as classes especficas do Flash, considere a distino entre JavaScript bsico e cliente: da mesma maneira que as classes JavaScript cliente fornecem controle sobre o ambiente do cliente (o contedo do navegador e da pgina da Web), as classes especficas do Flash oferecem controle do tempo de execuo sobre a aparncia e o comportamento de um aplicativo Flash. Este captulo apresenta as classes internas do ActionScript, descreve as tarefas comuns que voc pode realizar com essas classes e fornece exemplos de cdigo. Para obter uma viso geral dessas classes, consulte Viso geral das classes internas na pgina 122. Para obter uma viso geral sobre o trabalho com classes e objetos na programao orientada a objeto, consulte Sobre classes e instncias na pgina 121.
121
Criando um novo objeto Para criar uma instncia de uma classe do ActionScript, use o operador new para chamar a funo construtora da classe. A funo construtora sempre tem o mesmo nome da classe e retorna uma instncia da classe, que voc normalmente atribui a uma varivel. Por exemplo, o cdigo a seguir cria um novo objeto Sound.
var song:Sound= new Sound();
Em alguns casos, no necessrio criar a instncia de uma classe para us-la. Para obter mais informaes, consulte Sobre os membros de classe (estticos) na pgina 122. Acessando propriedades de objetos Use o operador ponto (.) para acessar o valor de uma propriedade em um objeto. Insira o nome do objeto esquerda do ponto e o nome da propriedade direita. Por exemplo, na instruo a seguir, myObject o objeto e name a propriedade:
myObject.name
O cdigo a seguir cria um novo objeto TextField e define sua propriedade autoSize como true.
var my_text = new TextField(); my_text.autoSize = true;
Voc tambm pode usar o operador de acesso de array ([]) para acessar as propriedades de um objeto. Consulte Operadores ponto e de acesso de array na pgina 53. Chamando mtodos de objetos O mtodo de um objeto chamado usando o operador ponto (.) seguido do mtodo. Por exemplo, o cdigo a seguir cria um novo objeto Sound e chama seu mtodo setVolume().
mySound = new Sound(this); mySound.setVolume(50);
Sobre os membros de classe (estticos) Algumas classes internas do ActionScript apresentam membros de classe (ou membros estticos). Os membros de classe (propriedades e mtodos) so acessados ou chamados no em uma instncia da classe, mas no prprio nome da classe. Ou seja, voc no cria uma instncia da classe para usar essas propriedades e mtodos. Por exemplo, todas as propriedades da classe Math so estticas. O cdigo a seguir chama o mtodo max() da classe Math para determinar o maior de dois nmeros.
var largerNumber = Math.max(10, 20);
122
Classes bsicas As classes bsicas do ActionScript so aquelas emprestadas diretamente do ECMAScript. Na caixa de ferramentas Actions (Aes), essas classes localizam-se na subpasta Built-in Classes (Classes internas) > Core (Bsicas).
Classe Arguments Descrio Um array que contm os valores passados como parmetros para qualquer funo. Consulte a entrada Classe Arguments no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Array contm mtodos e propriedades para o trabalho com os objetos de array. Consulte a entrada Classe Array no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Boolean um envoltrio para valores booleanos (true ou false). Consulte a entrada Classe Boolean no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Button fornece mtodos e propriedades para o trabalho com objetos de boto. Consulte a entrada Classe Button no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Date fornece acesso aos valores de data e hora relativos ao horrio universal GMT (Greenwich Mean Time, Horrio mdio de Greenwich) ou relativos ao sistema operacional no qual o Flash Player est em execuo. Consulte a entrada Classe Date no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Error contm informaes sobre os erros que ocorrem nos scripts. Em geral, use a instruo throw para gerar uma condio de erro, que voc pode manipular com uma instruo try..catch..finally. Consulte try..catch..finally e as entradas Classe Error no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Function a representao de classe de todas as funes do ActionScript, incluindo aquelas que so nativas do ActionScript e as que voc define. Consulte a entrada Classe Function no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Math permite que voc acesse e manipule constantes e funes matemticas. Todas as propriedades e mtodos da classe Math so estticos e devem ser chamados com a sintaxe Math.method(parmetro) ou Math.constant. Consulte a entrada Classe Math no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Number um envoltrio para o tipo de dados de nmero primitivo. Consulte a entrada Classe Number no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Array
Boolean
Button
Date
Error
Function
Math
Number
123
Classe Object
Descrio A classe Object encontra-se na raiz da hierarquia de classes do ActionScript; todas as outras classes herdam seus mtodos e propriedades. Consulte a entrada Classe Object no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe String um envoltrio para o tipo de dados primitivo de seqncia de caracteres, que permite o uso dos mtodos e propriedades do objeto String para manipular tipos de valores primitivos de seqncias de caracteres. Consulte a entrada Classe String no Captulo 12, Dicionrio do ActionScript, na pgina 219.
String
Classes especficas do Flash Player As tabelas a seguir listam as classes que so especficas do Flash Player e do modelo de tempo de execuo do Flash. Essas classes normalmente dividem-se em quatro categorias: classes de filme (que fornecem controle geral de arquivos SWF e Flash Player), classes de mdia (para trabalhar com som e vdeo), classes cliente/servidor (para trabalhar com XML e outras fontes de dados externas) e classes de criao (que fornecem controle sobre o ambiente de criao do Flash).
Observao: Essa categorizao afeta a localizao das classes na caixa de ferramentas Actions (Aes), mas no o modo como voc usa essas classes.
Classes de filme As classes de filme fornecem controle sobre a maioria dos elementos visuais em um arquivo SWF, incluindo clipes de filme, campos de texto e botes. As classes de filme localizam-se na caixa de ferramentas Actions na subpasta Built-in Classes > Movie (Filme).
Classe Accessibility Descrio A classe Accessibility gerencia a comunicao entre os arquivos SWF e os aplicativos de leitura de tela. Use mtodos dessa classe junto com a propriedade global _accProps para controlar as propriedades acessveis para clipes de filmes, botes e campos de textos durante a execuo. Consulte _accProps e as entradas Classe Accessibility no Captulo 12, Dicionrio do ActionScript, na pgina 219. Cada boto em um arquivo SWF uma instncia da classe Button. A classe Button fornece mtodos, propriedades e manipuladores de eventos para trabalhar com botes. Consulte a entrada Classe Button no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Color permite que voc obtenha e defina os valores de cores RGB dos objetos do clipe de filme. Para obter mais informaes, consulte a entrada Classe Color no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter um exemplo do uso da classe Color com o objetivo de alterar a cor de clipes de filmes, consulte Definindo valores de cores na pgina 107.
Button
Color
124
Classe ContextMenu
Descrio A classe ContextMenu permite que voc controle o contedo do menu de contexto do Flash Player. Voc pode associar os objetos ContextMenu separados a objetos MovieClip, Button ou TextField usando a propriedade menu disponvel para essas classes. Tambm possvel adicionar itens de menu personalizados a um objeto ContextMenu usando a classe ContextMenuItem. Consulte Classe ContextMenu e as entradas Classe ContextMenuItem no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe ContextMenuItem permite que voc crie novos itens de menu que aparecem no menu de contexto do Flash Player. Adicione novos itens de menu criados com essa classe ao menu de contexto do Flash Player usando a classe ContextMenu. Consulte Classe ContextMenu e as entradas Classe ContextMenuItem no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Key fornece mtodos e propriedades para obter informaes sobre o teclado e os pressionamentos de teclas. Para obter mais informaes, consulte a entrada Classe Key no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter um exemplo da captura de pressionamentos de teclas para criar um arquivo SWF interativo, consulte Capturando pressionamentos de teclas na pgina 103. A classe LocalConnection permite a comunicao entre dois arquivos SWF que estejam sendo executados no mesmo computador. Consulte a entrada Classe LocalConnection no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Mouse fornece controle sobre o mouse em um arquivo SWF; por exemplo, essa classe permite que voc oculte ou mostre o ponteiro do mouse. Para obter mais informaes, consulte a entrada Classe Mouse no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter um exemplo do uso da classe Mouse, consulte Criando um ponteiro de mouse personalizado na pgina 100. Cada clipe de filme em um filme do Flash uma instncia da classe MovieClip. Use os mtodos e propriedades dessa classe para controlar objetos de clipe de filme. Consulte Captulo 7, Trabalhando com clipes de filme, na pgina 129 e a entrada Classe MovieClip no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe MovieClipLoader permite que voc acompanhe o andamento do download de arquivos SWF e JPEG usando um mecanismo de evento para o ouvinte. Consulte Pr-carregando arquivos SWF e JPEG na pgina 213 e a entrada Classe MovieClipLoader no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe PrintJob permite que voc imprima o contedo renderizado dinamicamente e documentos de vrias pginas. Consulte a entrada Classe PrintJob no Captulo 12, Dicionrio do ActionScript, na pgina 219 e Using the ActionScript PrintJob class (Usando a classe PrintJob do ActionScript) no Using Flash Help (Ajuda de Usando o Flash).
ContextMenuItem
Key
LocalConnection
Mouse
MovieClip
MovieClipLoader
PrintJob
125
Classe Selection
Descrio A classe Selection permite que voc obtenha e defina o foco, os intervalos de seleo e os pontos de insero do campo de texto. Consulte a entrada Classe Selection no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe SharedObject fornece o armazenamento de dados local no computador do cliente. Consulte a entrada Classe SharedObject no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Stage fornece informaes sobre dimenses do arquivo SWF, alinhamento, modos de escala e reporta eventos de redimensionamento do Palco. Consulte a entrada Classe Stage no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe System fornece informaes sobre o Flash Player e o sistema em que o Flash Player est em execuo (por exemplo, resoluo da tela e linguagem do sistema atual). Ela tambm permite que voc mostre ou oculte o painel Settings (Configuraes) do Flash Player e modifique as configuraes de segurana do arquivo SWF. Consulte a entrada Classe System no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe TextField fornece controle sobre os campos de texto dinmicos e de entrada. Consulte Captulo 8, Trabalhando com texto, na pgina 143 e a entrada Classe TextField no Captulo 12, Dicionrio do ActionScript, na pgina 219.
SharedObject
Stage
System
TextField
TextField.StyleSheet A classe TextField.StyleSheet (uma classe interna classe TextField) permite que voc crie e aplique estilos de texto CSS ao texto em formato HTML ou XML. Consulte Formatando o texto com Cascading Style Sheets na pgina 147 e a entrada Classe TextField.StyleSheet no Captulo 12, Dicionrio do ActionScript, na pgina 219. TextFormat A classe TextFormat permite aplicar estilos de formatao a caracteres e pargrafos em um objeto TextField. Consulte Usando a classe TextFormat na pgina 146 e a entrada Classe TextFormat no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Classes de mdia As classes de mdia fornecem controle da reproduo de som e vdeo em um arquivo SWF, bem como acesso ao microfone e cmera do usurio, se estiverem instalados. Essas classes localizam-se na subpasta Built-In Classes > Media (Mdia) na caixa de ferramentas Actions.
Classe Camera Descrio A classe Camera fornece acesso cmera do usurio, se houver uma instalada. Quando usado com o Flash Communication Server MX, o arquivo SWF pode capturar, transmitir e gravar imagens e vdeo da cmera de um usurio. Consulte a entrada Classe Camera no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe Microphone fornece acesso ao microfone do usurio, se houver um instalado. Quando usado com o Flash Communication Server MX, o arquivo SWF pode transmitir e gravar udio a partir do microfone de um usurio. Consulte a entrada Classe Microphone no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Microphone
126
Classe NetConnection
Descrio A classe NetConnection usada para estabelecer uma conexo de fluxo local para reproduzir um arquivo Flash Video (FLV) de um endereo HTTP ou do sistema de arquivos local. Para obter mais informaes, consulte a entrada Classe NetConnection no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter mais informaes sobre a reproduo de arquivos FLV na Internet, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211. A classe NetStream usada para controlar a reproduo de arquivos FLV. Para obter mais informaes, consulte a entrada Classe NetStream no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter mais informaes sobre a reproduo de arquivos FLV na Internet, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211. A classe Sound fornece controle sobre os sons em um arquivo SWF. Para obter mais informaes, consulte a entrada Classe Sound no Captulo 12, Dicionrio do ActionScript, na pgina 219. Para obter um exemplo do uso da classe Sound para criar controladores de volume e balano, consulte Criando controles de som na pgina 108. A classe Video usada para exibir objetos de vdeo em um arquivo SWF. Consulte a entrada Classe Video no Captulo 12, Dicionrio do ActionScript, na pgina 219.
NetStream
Sound
Video
127
Classes de cliente/servidor A tabela a seguir lista as classes que permitem o envio e recebimento de dados de fontes externas ou a comunicao com os servidores de aplicativos por FTP, HTTP ou HTTPS.
Observao: No Flash Player 7, um arquivo SWF pode carregar dados apenas de exatamente o mesmo domnio a partir do qual foi disponibilizado. Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 201 e Sobre a autorizao de carga de dados entre domnios na pgina 203.
Essas classes localizam-se na subpasta Built-In Classes > Client/Server (Cliente/Servidor) no painel Actions.
Classe LoadVars Descrio A classe LoadVars uma alternativa ao loadVariables() para transferir variveis entre um arquivo SWF e um servidor em pares nome/valor. Consulte Usando a classe LoadVars na pgina 192 e a entrada Classe LoadVars no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe XML estende a classe XMLNode e fornece mtodos, propriedades e manipuladores de eventos para o trabalho com dados em formato XML, incluindo o carregamento e a anlise de XML externo, a criao de novos documentos XML e a navegao de rvores de documentos XML. Consulte Usando a classe XML na pgina 194 e a entrada Classe XML no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe XMLNode representa um nico n em uma rvore de documentos XML. Trata-se da superclasse da classe XML. Consulte a entrada Classe XMLNode no Captulo 12, Dicionrio do ActionScript, na pgina 219. A classe XMLSocket permite que voc crie uma conexo de soquete persistente com outro computador para transferncia de dados de baixa latncia, como aqueles necessrios para aplicativos de bate-papo em tempo real. Consulte Usando a classe XMLSocket na pgina 197 e a entrada Classe XMLSocket no Captulo 12, Dicionrio do ActionScript, na pgina 219.
XML
XMLNode
XMLSocket
Classes de criao As classes de criao esto disponveis apenas no ambiente de criao do Flash. Essas classes localizam-se na subpasta Built-In Classes > Authoring (Criao) na caixa de ferramentas Actions.
Classe CustomActions Descrio A classe CustomActions permite que voc gerencie qualquer ao do cliente registrada com a ferramenta de criao. Consulte a entrada Classe CustomActions no Captulo 12, Dicionrio do ActionScript, na pgina 219. Apesar de no ser uma classe, o recurso Live Preview (Visualizao ao vivo), listado em Built-in Classes, na caixa de ferramentas Actions, fornece uma nica funo chamada onUpdate, que usada pelos desenvolvedores de componente. Consulte onUpdate no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Live Preview
128
Os clipes de filme so arquivos SWF em miniatura que funcionam independentemente uns dos outros e da Timeline (Linha de tempo) que os contm. Por exemplo, se a Timeline principal possuir somente um quadro e um clipe de filme nesse quadro possuir dez quadros, cada quadro do clipe de filme ser reproduzido quando o arquivo SWF principal for reproduzido. Um clipe de filme pode, por sua vez, conter outros clipes de filme ou clipes aninhados. Os clipes de filme aninhados dessa maneira tm um relacionamento hierrquico, no qual o clipe-pai contm um ou mais clipes-filhos. Cada instncia de clipe de filme possui um nome, nome de instncia, que a identifica exclusivamente como um objeto que pode ser controlado com o ActionScript. Especificamente, o nome da instncia a identifica como um objeto do tipo de classe MovieClip. Voc usa as propriedades e mtodos da classe MovieClip para controlar a aparncia e o comportamento dos clipes de filme durante a execuo. Pense nos clipes de filme como objetos autnomos que podem responder aos eventos, enviar mensagens para outros objetos do clipe de filme, manter seu estado e gerenciar seus clipes filho. Dessa maneira, os clipes de filme fornecem o alicerce da arquitetura baseada em componente no Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004. Na verdade, os componentes disponveis no painel Components (Componentes), em Window (Janela) > Development Panels (Painis de desenvolvimento) > Components, so clipes de filme sofisticados que foram projetados e programados para se parecerem e se comportarem de certas maneiras. Para obter informaes sobre a criao de componentes, consulte Usando componentes.
129
Quando uma funo e um mtodo oferecem comportamentos semelhantes, voc pode controlar os clipes de filme usando qualquer um dos dois. A opo escolhida depender de sua preferncia e familiaridade com a criao de scripts no ActionScript. Se voc usar uma funo ou um mtodo, a Timeline de destino dever ser carregada no Flash Player quando a funo ou o mtodo for chamado. Para usar um mtodo, chame-o usando o caminho de destino do nome da instncia, seguido de um ponto e do nome do mtodo e dos parmetros, como nas instrues a seguir:
myMovieClip.play(); parentClip.childClip.gotoAndPlay(3);
Na primeira instruo, play() move a reproduo na instncia myMovieClip. Na segunda instruo, o mtodo gotoAndPlay() envia a reproduo em childClip (que filho da instncia parentClip) para o quadro 3 e continua a mover a reproduo. As funes globais que controlam uma Timeline tm um parmetro target que permite especificar o caminho de destino para a instncia que voc deseja controlar. Por exemplo, no script a seguir, startDrag() destina-se instncia customCursor e torna-a arrastvel:
on(press){ startDrag("customCursor"); }
As funes a seguir destinam-se aos clipes de filme: loadMovie(), unloadMovie(), loadVariables(), setProperty(), startDrag(), duplicateMovieClip() e removeMovieClip(). Para usar essas funes, voc deve inserir um caminho de destino no parmetro target da funo para indicar o destino da funo. Os mtodos MovieClip a seguir podem controlar clipes de filme ou nveis carregados, e no tm funes equivalentes: MovieClip.attachMovie(), MovieClip.createEmptyMovieClip(), MovieClip.createTextField(), MovieClip.getBounds(), MovieClip.getBytesLoaded(), MovieClip.getBytesTotal(), MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth(), MovieClip.globalToLocal(), MovieClip.localToGlobal(), MovieClip.hitTest(), MovieClip.setMask(), MovieClip.swapDepths(). Para obter mais informaes sobre essas funes e mtodos, consulte Captulo 12, Dicionrio do ActionScript, na pgina 219.
130
O script comporta-se como se as instrues dentro da instruo with fossem chamadas da Timeline da instncia hole. O cdigo acima equivalente ao seguinte:
donut.hole._alpha = 20; donut.hole._xscale = 150; donut.hole._yscale = 150;
Reproduzir uma seqncia de faixas de propaganda que sejam arquivos SWF, colocando uma
funo loadMovie no final de cada arquivo SWF para carregar o prximo arquivo SWF. Desenvolver uma interface ramificada para permitir que o usurio escolha entre diferentes arquivos SWF. Criar uma interface de navegao com controles de navegao no nvel 0 que carreguem outros nveis. O carregamento de nveis produz transies mais suaves do que o carregamento de novas pginas HTML em um navegador.
Para obter mais informaes sobre o carregamento de filmes, consulte Carregando arquivos SWF e JPEG externos na pgina 208.
131
Por exemplo, considere um arquivo chamado container.swf que tem uma instncia de clipe de filme chamada target_mc em sua Timeline principal. O arquivo container.swf declara uma varivel chamada userName na Timeline principal; o mesmo script carrega outro arquivo contents.swf no clipe de filme target_mc.
// Em container.swf: _root.userName = "Tim"; target_mc.loadMovie("contents.swf");
O arquivo SWF carregado, contents.swf, tambm declara uma varivel chamada userName em sua Timeline raiz.
// Em content.swf: _root.userName = "Mary";
Quando contents.swf for carregado no clipe de filme de container.swf, o valor de userName que estiver anexado Timeline raiz do arquivo SWF hospedeiro (container.swf ) ser definido como "Mary". Esse procedimento pode fazer com que o cdigo de container.swf (bem como de contents.swf ) funcione inadequadamente. Para forar _root a avaliar sempre na Timeline do arquivo SWF carregado, em vez de na Timeline raiz real, use a propriedade _lockroot. Essa propriedade pode ser definida pelo arquivo SWF em carga ou pelo arquivo SWF que esteja sendo carregado. Quando _lockroot definida como true em uma instncia de clipe de filme, esse clipe de filme funciona como _root para qualquer arquivo SWF carregado nele. Quando _lockroot definida como true em um arquivo SWF, esse arquivo funciona como sua prpria raiz, no importando o outro arquivo SWF que o carrega. Qualquer clipe de filme e nmero de clipe de filme pode definir _lockroot como true. O valor predefinido dessa propriedade false.
target_mc
Por exemplo, o autor de container.swf pode anexar o seguinte cdigo ao clipe de filme :
Esse procedimento garantir que as referncias a _root em contents.swf, ou qualquer arquivo SWF carregado no target_mc, estejam relacionadas prpria Timeline, e no Timeline raiz real do container.swf. Da mesma maneira, o autor do contents.swf pode adicionar o cdigo a seguir Timeline principal.
// Em contents.swf: this._lockroot = true;
Esse procedimento garantir que, independentemente de onde contents.swf for carregado, qualquer referncia que ele faa a _root estar relacionada sua prpria Timeline principal e no quela do arquivo SWF hospedeiro. Para obter mais informaes, consulte MovieClip._lockroot na pgina 591.
132
Algumas propriedades, chamadas somente leitura, possuem valores que podem ser lidos, porm no definidos. Essas propriedades so especificadas como somente leitura nas entradas do ActionScript Dictionary (Dicionrio do ActionScript). As propriedades a seguir so somente leitura: _currentframe, _droptarget, _framesloaded, _parent, _target, _totalframes, _url, _xmouse e _ymouse. Voc pode criar instrues para definir qualquer propriedade que no seja somente leitura. A instruo a seguir define a propriedade _alpha da instncia de clipe de filme wheel que filha da instncia car:
car.wheel._alpha = 50;
Alm disso, voc pode criar instrues que obtenham o valor de uma propriedade do clipe de filme. Por exemplo, a instruo a seguir obtm o valor da propriedade _xmouse na Timeline (Linha de tempo) do nvel atual e define a propriedade _x da instncia customCursor para esse valor:
onClipEvent (enterFrame){ customCursor._x = _root._xmouse; }
133
As propriedades _x, _y, _rotation, _xscale, _yscale, _height, _width, _alpha e _visible so afetadas pelas transformaes do pai do clipe de filme e transformam o clipe de filme e todos os seus filhos. As propriedades _focusrect, _highquality, _quality e _soundbuftime so globais; elas pertencem somente Timeline de nvel 0. Todas as outras propriedades pertencem aos clipes de filme ou nveis carregados. Para obter uma lista de propriedades do clipe de filme, consulte Resumo das propriedades da classe MovieClip na pgina 554.
especfico (por exemplo, um clipe de filme lata de lixo) e, em seguida, ativar outra ao. Para obter informaes detalhadas, consulte startDrag() na pgina 743 ou MovieClip.startDrag() na pgina 615.
Criando uma instncia de clipe de filme nova e vazia Duplicando uma instncia de clipe de filme existente Anexando ao Stage (Palco) uma instncia de um smbolo da biblioteca de clipes de filme
Cada instncia de clipe de filme criada durante a execuo deve ter um nome e um valor de profundidade (pilha ou ordem z). A profundidade especificada determina como o novo clipe substitui os outros clipes na mesma Timeline (Linha de tempo). (Consulte Gerenciando profundidades do clipe de filme na pgina 137.) Criando um clipe de filme vazio Para criar um clipe de filme vazio no Stage, use o mtodo createEmptyMovieClip() da classe MovieClip. Este mtodo cria um clipe de filme como filho do clipe que chamou o mtodo. O ponto de registro de um clipe de filme vazio recm-criado o canto superior esquerdo. Por exemplo, o cdigo a seguir cria um novo clipe de filme filho chamado new_mc em uma profundidade de 10 pol. no clipe de filme parent_mc.
parent_mc.createEmptyMovieClip("new_mc", 10);
134
O cdigo a seguir cria um novo clipe de filme chamado canvas_mc na Timeline raiz do arquivo SWF no qual o script executado, e chama loadMovie() para carregar um arquivo JPEG externo em si mesmo.
_root.createEmptyMovieClip("canvas_mc", 10); canvas_mc.loadMovie("flowers.jpg");
Para obter mais informaes, consulte MovieClip.createEmptyMovieClip() na pgina 565. Duplicando ou removendo um clipe de filme Para duplicar ou remover instncias de clipe de filme, use as funes globais
duplicateMovieClip() ou removeMovieClip(), ou os mtodos da classe MovieClip de mesmo nome. O mtodo duplicateMovieClip() cria uma nova instncia de uma instncia existente de
clipe de filme, atribui a ela um novo nome e fornece uma profundidade ou ordem z. Um clipe de filme duplicado sempre comea no Frame 1 (Quadro 1), mesmo que o clipe original esteja em outro quadro quando duplicado, e est na frente de todos os clipes de filme predefinidos colocados na Timeline (Linha de tempo). Para excluir um clipe de filme criado com duplicateMovieClip(), use removeMovieClip(). Os clipes de filme duplicados tambm sero removidos se o clipe de filme-pai for excludo. Para obter mais informaes, consulte duplicateMovieClip() na pgina 422 e removeMovieClip() na pgina 696. Anexando um smbolo de clipe de filme ao Stage A ltima maneira de criar instncias de clipe de filme durante a execuo usar o anexa ao Stage (Palco) a instncia de um smbolo de clipe de filme na biblioteca do arquivo SWF. O novo clipe torna-se um clipe filho do clipe que o anexou.
attachMovie(). O mtodo attachMovie()
Para usar o ActionScript para anexar um smbolo de clipe de filme da biblioteca, voc deve exportar o smbolo do ActionScript e atribu-lo a um identificador de vinculao exclusivo. Para isso, use a caixa de dilogo Linkage Properties (Propriedades de vinculao). O padro que todos os clipes de filme exportados para uso com o ActionScript sejam carregados antes do primeiro quadro do arquivo SWF que os contm. Isso pode criar um atraso antes da reproduo do primeiro quadro. Ao atribuir um identificador de vinculao a um elemento, voc tambm pode especificar se o contedo dever ser adicionado antes do primeiro quadro. Se ele no for adicionado ao primeiro quadro, ser necessrio incluir uma instncia dele em algum outro quadro do arquivo SWF. Caso contrrio, o elemento no ser exportado para o arquivo SWF.
Para atribuir um identificador de vinculao ao clipe de filme:
1 Selecione Window > Library (Biblioteca) para abrir o painel Library. 2 Selecione um clipe de filme no painel Library. 3 No menu de opes do painel Library, selecione Linkage (Vinculao).
135
6 Opcionalmente, voc pode atribuir uma classe ActionScript 2.0 ao smbolo de clipe de filme.
Frame (Exportar no primeiro quadro). Se voc desmarcar essa opo, dever inserir uma instncia de clipe de filme no quadro da Timeline onde voc quiser que ela esteja disponvel. Por exemplo, se o script que voc est escrevendo no fizer referncia ao clipe de filme at o Frame 10 (Quadro 10), coloque uma instncia do smbolo no quadro ou antes dele na Timeline. 8 Clique em OK. Depois de atribuir um identificador de vinculao a um clipe de filme, voc pode anexar uma instncia do smbolo ao Stage durante a execuo usando attachMovie().
Para anexar um clipe de filme a outro:
maneira descrita anteriormente. Com o painel Actions (Aes) aberto, a partir de Window (Janela) > Development Panels (Painis de desenvolvimento) > Actions, selecione um quadro na Timeline. No painel Script do painel Actions, digite o nome do clipe de filme ou nvel ao qual voc deseja anexar o novo clipe de filme. Por exemplo, para anexar o clipe de filme Timeline, digite _root. Na caixa de ferramentas Actions ( esquerda do painel Actions), clique nas categorias Built-in Classes (Classes internas), Movie (Filme) e MovieClip, e clique duas vezes em attachMovie(). Usando as referncias de cdigo que aparecem como guia, insira os valores dos seguintes parmetros: Para idName, especifique o nome do identificador inserido na caixa de dilogo Linkage Properties. Para newName, insira um nome de instncia para o clipe anexado de modo que voc possa especific-lo como destino. Para depth, insira o nvel no qual o filme duplicado ser anexado ao clipe de filme. Cada filme anexado possui sua prpria ordem de empilhamento, sendo que o nvel 0 o nvel do clipe do filme de origem. Os clipes de filme anexados esto sempre sobre o clipe de filme original. Exemplo:
myMovieClip.attachMovie("calif", "california", 10);
Para obter mais informaes, consulte MovieClip.attachMovie() na pgina 559 e na pgina 571.
136
Para preencher um clipe de filme criado dinamicamente com os parmetros de um objeto especfico, siga um destes procedimentos:
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():
(Inserir) > New Symbol (Novo smbolo). Digite dynamic na caixa de texto Symbol Name (Nome do smbolo) e selecione o comportamento Movie Clip (Clipe de filme). 2 Dentro do smbolo, crie um campo de texto dinmico no Stage com um nome de instncia name_txt. 3 Selecione o primeiro quadro da Timeline do clipe de filme e abra o painel Actions, em Window > Development Panels > Actions. 4 Crie uma nova varivel chamada name e atribua seu valor propriedade text de name_txt, como descrito aqui:
var name:String; name_txt.text = name;
5 Selecione Edit (Editar) > Edit Document (Editar documento) para voltar Timeline principal. 6 Selecione o smbolo de clipe de filme na biblioteca e selecione Linkage Properties no menu de
opes do painel Library. A caixa de dilogo Linkage Properties exibida. 7 Selecione a opo Export for ActionScript e clique em OK. 8 Selecione o primeiro quadro da Timeline principal e adicione o cdigo a seguir ao painel Script do painel Actions:
_root.attachMovie("dynamic", "newClipName", 10, {name:"Erick"});
9 Teste o filme em Control (Controlar) > Test Movie (Testar filme). O nome especificado em
attachMovie()
Esse procedimento cria um novo clipe de filme com uma profundidade 10 no espao da ordem z de container_mc.
137
Por exemplo, o cdigo a seguir anexa dois novos clipes de filme ao container_mc. O primeiro clipe, o clip_1, ser renderizado depois do clip_2, porque ele recebeu um valor de profundidade inferior.
container_mc.attachMovie("symbolID", "clip_1", 10); container_mc.attachMovie("symbolID", "clip_2", 15);
Os valores de profundidade para clipes de filme podem variar de -16384 a 1048575. A classe MovieClip fornece vrios mtodos para gerenciar as profundidades do clipe de filme: consulte MovieClip.getNextHighestDepth() na pgina 578, MovieClip.getInstanceAtDepth() na pgina 577, MovieClip.getDepth() na pgina 577 e MovieClip.swapDepths() na pgina 617. Determinando a prxima profundidade mais alta disponvel
MovieClip.getNextHighestDepth().
Para determinar a prxima profundidade mais alta disponvel em um clipe de filme, use O valor inteiro retornado por esse mtodo indica a prxima profundidade disponvel que ser renderizada na frente de todos os outros objetos no clipe de filme.
O cdigo a seguir cria um novo clipe de filme com uma profundidade 10, na Timeline do clipe de filme menus_mc. Ele determina a prxima profundidade mais alta disponvel no mesmo clipe de filme e cria um novo clipe de filme nessa profundidade.
menus_mc.attachMovie("menuClip","file_menu", 10); var nextDepth = menus_mc.getNextHighestDepth(); menus_mc.attachMovie("menuClip", "edit_menu", nextDepth);
Nesse caso, a varivel nextDepth contm o valor 11, porque essa a prxima profundidade mais alta disponvel para o clipe de filme menus_mc. Para obter a profundidade ocupada mais alta atual, subtraia 1 do valor retornado por getNextHighestDepth(), como descrito na prxima seo (consulte Determinando a instncia em uma profundidade particular na pgina 138). Determinando a instncia em uma profundidade particular Para determinar a instncia em uma profundidade especfica, use MovieClip.getInstanceAtDepth(). Esse mtodo retorna uma referncia para a instncia de MovieClip na profundidade especificada. O cdigo a seguir combina getNextHighestDepth() e getInstanceAtDepth() para determinar o clipe de filme na profundidade ocupada mais alta (atual) na Timeline (Linha de tempo) raiz.
var highestOccupiedDepth = _root.getNextHighestDepth() - 1; var instanceAtHighestDepth = _root.getInstanceAtDepth(highestOccupiedDepth);
Para obter mais informaes, consulte MovieClip.getInstanceAtDepth() na pgina 577. Determinando a profundidade de uma instncia Para determinar a profundidade de uma instncia de clipe de filme, use MovieClip.getDepth(). O cdigo a seguir faz a iterao de todos os clipes de filme na Timeline principal de um arquivo SWF e exibe o nome da instncia e o valor da profundidade de cada clipe no painel Output (Sada).
138
for(each in _root) { var obj = _root[each]; if(obj instanceof MovieClip) { var objDepth = obj.getDepth(); trace(obj._name + ":" + objDepth) } }
Para obter mais informaes, consulte MovieClip.getDepth() na pgina 577. Trocando profundidades do clipe de filme Para trocar as profundidades de dois clipes de filme na mesma Timeline, use Para obter mais informaes, consulte MovieClip.swapDepths() na pgina 617.
MovieClip.swapDepths().
O novo clipe de filme um filho de um clipe de filme existente ou da Timeline (Linha de tempo) principal, como no exemplo a seguir:
_root.createEmptyMovieClip ("triangle", 1);
O exemplo a seguir desenha um tringulo com linhas em magenta de cinco pontos e nenhum preenchimento:
with (_root.triangle) { lineStyle (5, 0xFF00FF, 100); moveTo( 200, 200 ); lineto(300,300); lineto(100,300); lineTo( 200, 200 ); }
Para obter informaes detalhadas sobre esses mtodos, consulte as entradas do Captulo 12, Dicionrio do ActionScript, na pgina 219.
139
1 No Stage, escolha um clipe de filme a ser mascarado. 2 No inspetor Properties (Propriedades), insira um nome de instncia para o clipe de filme, como
image.
3 Crie um clipe de filme para ser uma mscara. Fornea a ele um nome de instncia no inspetor
Properties, como mask. O clipe de filme mascarado ser revelado em todas as reas opacas (no transparentes) do clipe de filme que est funcionando como uma mscara. 4 Selecione Frame 1 na Timeline. 5 Abra o painel Actions em Window > Development Panels > Actions se ainda no estiver aberto. 6 No painel Actions, insira o seguinte cdigo:
image.setMask(mask);
Para obter informaes detalhadas, consulte MovieClip.setMask() na pgina 614. Sobre a mscara de fontes de dispositivo Voc pode usar um clipe de filme para mascarar o texto que definido em uma fonte de dispositivo. Para que a mscara do clipe de filme de uma fonte de dispositivo funcione adequadamente, o usurio deve ter a verso 40 ou superior do Flash Player 6. Quando voc usa um clipe de filme para mascarar o texto definido em uma fonte de dispositivo, a caixa delimitadora retangular da mscara usada como forma. Ou seja, se voc criar, no ambiente de criao do Flash, uma mscara de clipe de filme no retangular para o texto da fonte de dispositivo, a mscara que aparece no arquivo SWF ter a forma da caixa delimitadora retangular da mscara, e no a forma da prpria mscara. Voc s pode mascarar as fontes de dispositivo usando um clipe de filme como mscara. No possvel mascarar as fontes de dispositivo usando uma camada de mscara no Stage.
140
1 Crie um novo diretrio chamado BallTest. 2 Crie um novo arquivo ActionScript seguindo um destes procedimentos:
(Flash MX Professional 2004) Selecione File (Arquivo) > New (Novo) e escolha o arquivo ActionScript na lista de tipos de documento. (Flash MX 2004) Crie um arquivo de texto com seu editor de texto preferido. 3 Insira o cdigo a seguir no script:
// classe MoveRight -- move o clipe para a direita 5 pixels a cada quadro class MoveRight extends MovieClip { function onPress() { this._x += 20; } }
1 No Flash, selecione File > New, selecione Flash Document (Documento do Flash) na lista de 2 3
4 5 6
7 8
tipos de arquivo e clique em OK. Usando a ferramenta Oval, desenhe um crculo no Stage. Selecione o crculo e, em seguida, Modify (Modificar) > Convert to Symbol (Converter em smbolo). Na caixa de dilogo Convert to Symbol, selecione Movie Clip (Clipe de filme) como o comportamento do smbolo e digite Ball na caixa de texto Name (Nome). Abra o painel Library (Biblioteca), em Window (Janela) > Library, e selecione o smbolo Ball. Selecione Linkage (Vinculao), no menu de opes do painel Library, para abrir a caixa de dilogo Linkage Properties. Na caixa de dilogo Linkage Properties, selecione a opo Export for ActionScript (Exportar para ActionScript) e digite MoveRight na caixa de texto AS 2.0 Class (Classe AS 2.0). Clique em OK. Salve o arquivo como Ball.fla no diretrio BallTest (o mesmo diretrio que contm o arquivo MoveRight.as). Teste o filme em Control (Controlar) > Test Movie (Testar filme). Sempre que voc clicar no clipe de filme ball, ele se mover 20 pixels para a direita.
141
Supondo que essa classe seja atribuda a um smbolo com um identificador de vinculao de Ball, o cdigo a seguir cria duas novas instncias do smbolo na Timeline (Linha de tempo) raiz do arquivo SWF. A primeira instncia, ball_50, move-se 50 pixels sempre que clicada; a segunda, ball_125, move-se 125 pixels quando clicada.
_root.attachMovie("Ball", "ball_50", 10, {distance:50}); _root.attachMovie("Ball", "ball_125", 20, {distance:125});
142
Um campo de texto dinmico ou de entrada um objeto TextField (uma instncia da classe TextField). Ao criar um campo de texto, voc pode atribuir um nome de instncia a ele no inspetor Properties (Propriedades). possvel usar o nome de instncia em instrues do ActionScript para definir, alterar e formatar o campo de texto e seu contedo usando as classes TextField e TextFormat. Os mtodos da classe TextField permitem definir, selecionar e manipular o texto de um campo de texto dinmico ou de entrada gerado durante a criao ou execuo. Para obter mais informaes, consulte Usando a classe TextField na pgina 144. Para obter informaes sobre depurao de campos de texto durante a execuo, consulte Exibindo as propriedades do campo de texto para depurao na pgina 84. O ActionScript tambm oferece vrias maneiras de formatar o texto durante a execuo. A classe TextFormat permite definir a formatao de caractere e pargrafo dos objetos TextField (consulte Usando a classe TextFormat na pgina 146). O Flash Player tambm oferece suporte a um subconjunto de marcas HTML que voc pode usar para formatar o texto (consulte Usando o texto em formato HTML na pgina 156). O Flash Player 7 e verses posteriores oferecem suporte marca HTML <img>, que permite incorporar no apenas imagens externas, mas tambm arquivos SWF externos e clipes de filme que residam na biblioteca (consulte Marca de imagem (<img>) na pgina 158). No Flash Player 7 e verses posteriores, voc pode aplicar os estilos CSS (Cascading StyleSheets, Folhas de estilos em cascata) aos campos de texto usando a classe TextField.StyleSheet. Voc pode usar as CSS para atribuir estilo s marcas HTML internas, definir novas marcas de formatao ou aplicar estilos. Para obter mais informaes sobre como usar CSS, consulte Formatando o texto com Cascading Style Sheets na pgina 147. Tambm possvel atribuir um texto em formato HTML, que pode opcionalmente usar estilos CSS, diretamente a um campo de texto. No Flash Player 7 e verses posteriores, o texto HTML que voc atribui a um campo de texto pode conter mdia incorporada (clipes de filme, arquivos SWF e arquivos JPEG). O texto envolver a mdia incorporada, como o navegador da Web envolve o texto em torno da mdia incorporada em um documento HTML. Para obter mais informaes, consulte Marca de imagem (<img>) na pgina 158.
143
1 Com a ferramenta Text (Texto), crie um campo de texto no Stage (Palco). 2 Com o campo de texto selecionado, no inspetor Properties, em Window (Janela)> Properties
(Propriedades), insira headline_txt na caixa de texto Instance Name (Nome da instncia), diretamente abaixo do menu pop-up Text Type (Tipo de texto) esquerda do inspetor. Nomes de instncias s podem ser compostos de letras, sublinhados (_) e cifres ($). 3 Na Timeline (Linha de tempo), selecione o primeiro quadro em Layer 1 (Camada 1) e abra o painel Actions (Aes), em Window> Development Panels (Painis de desenvolvimento) > Actions. 4 Insira o cdigo a seguir no painel Actions.
headline_txt.text = "Brazil wins World Cup";
Sobre a instncia do campo de texto e os nomes de variveis No inspetor Properties, voc pode atribuir um nome de varivel, bem como um nome de instncia, a um campo de texto dinmico ou de entrada. Em seguida, pode fazer referncia ao nome da varivel no campo de texto no ActionScript, cujo valor determina o contedo do campo de texto. Entretanto, o nome da instncia e o nome da varivel de um campo de texto no devem ser confundidos. Use o nome de instncia atribudo a um campo de texto para chamar mtodos, bem como para obter e definir propriedades nesse campo de texto. Um nome de varivel de um campo de texto simplesmente uma referncia varivel ao texto contido nesse campo, e no uma referncia a um objeto. Por exemplo, se voc tiver atribudo a um campo de texto o nome de varivel mytextVar, poderia definir o contedo desse campo usando o seguinte cdigo:
var mytextVar = "This is what will appear in the text field";
144
Entretanto, voc no pode usar a varivel mytextVar para definir a mesma propriedade de texto para parte do texto de um campo de texto.
//Este exemplo no funcionar myTextVar.text = "A text field variable is not an object reference";
Em geral, use a propriedade TextField.text para controlar o contedo de um campo de texto, a menos que esteja definindo uma verso do Flash Player que no oferea suporte classe TextField. Isso diminuir as chances de um conflito de nome de varivel, que pode resultar em comportamento inesperado durante a execuo.
Por exemplo, o cdigo a seguir cria um campo de texto de 300 x 100 pixels chamado test_txt no ponto (0,0) e uma profundidade (ordem z) de 10.
_root.createTextField("test_txt", 10, 0, 0, 300, 100);
Voc usa o nome de instncia especificado na chamada createTextField() para acessar os mtodos e propriedades da classe TextField. Por exemplo, o cdigo a seguir cria um novo campo de texto, test_txt, e modifica suas propriedades para torn-lo um campo de texto com quebra automtica e vrias linhas, que se expande para acomodar o texto inserido. Por ltimo, ele atribui um texto propriedade text do campo de texto.
_root.createTextField("test_txt", 10, 0, 0, 100, 50); test_txt.multiline = true; test_txt.wordWrap = true; test_txt.autoSize = true; test_txt.text = "Create new text fields with the MovieClip.createTextField method.";
Voc pode usar o mtodo TextField.removeTextField() para remover um campo de texto criado com createTextField(). O mtodo removeTextField() no funciona em um campo de texto colocado pela Timeline durante a criao. Para obter mais informaes, consulte MovieClip.createTextField() na pgina 566 e TextField.removeTextField() na pgina 806.
145
1 Em um novo documento Flash, crie um campo de texto no Stage (Palco) usando a ferramenta
Text. Digite algum texto no campo de texto no Stage, como Bold, italic, 24 point text. 2 No inspetor Properties, digite myText_txt na caixa de texto Instance Name (Nome da instncia), selecione Dynamic (Dinmica) no menu pop-up Text Type (Tipo de texto) e selecione Multiline (Multilinha) no menu pop-up Line Type (Tipo de linha). 3 Na Timeline (Linha de tempo), selecione o primeiro quadro em Layer 1 (Camada 1) e abra o painel Actions (Aes), em Window (Janela)> Development Panels (Painis de desenvolvimento)> Actions. 4 Digite o cdigo a seguir no painel Actions para criar um objeto TextFormat e defina as propriedades bold e italic como true, e a propriedade size como 24.
// Cria um objeto TextFormat var txtfmt_fmt = new TextFormat(); // Especifica a formatao de pargrafo e caractere txtfmt_fmt.bold = "true"; txtfmt_fmt.italic = "true"; txtfmt_fmt.size = "24"
Essa verso de setTextFormat() aplica-se formatao especificada para o campo de texto inteiro. H duas outras verses desse mtodo que permite a aplicao de formatao a caracteres individuais ou grupos de caracteres. Por exemplo, o cdigo a seguir aplica formatao negrito, itlico, tamanho 24, aos quatro primeiros caracteres inseridos no campo de texto.
myText_txt.setTextFormat(txtfmt_fmt, 0, 3);
Para obter mais informaes, consulte TextField.setTextFormat() na pgina 811. 6 Selecione Control > Test Movie para testar o filme.
146
Propriedades padro dos novos campos de texto Os campos de texto criados durante a execuo com createTextField() recebem um objeto TextFormat padro com as seguintes propriedades:
font = "Times New Roman" size = 12 textColor = 0x000000 bold = false italic = false underline = false url = "" target = "" align = "left" leftMargin = 0 rightMargin = 0 indent = 0 leading = 0 bullet = false tabStops = [] (array vazio)
Para obter uma lista completa dos mtodos TextFormat e suas descries, consulte a entrada Classe TextFormat no Captulo 12, Dicionrio do ActionScript, na pgina 219. Obtendo informaes mtricas do texto Voc pode usar o mtodo TextFormat.getTextExtent() para obter medidas de texto detalhadas de uma seqncia de caracteres de texto com formatao especfica aplicada. Por exemplo, suponha que voc precise criar, durante a execuo, um novo objeto TextField que contenha uma quantidade arbitrria de texto formatado em tamanho 24, negrito, fonte Arial e recuo de 5 pixels. Voc precisa determinar a largura ou a altura que o novo objeto TextField deve ter para exibir todo o texto. O mtodo getTextExtent() fornece medidas como, ascenso, descenso, largura e altura. Para obter mais informaes, consulte TextFormat.getTextExtent() na pgina 832.
Voc pode criar estilos que redefinem marcas de formatao HTML internas usadas pelo Flash Player (como <p> e <li>), criar classes de estilo que podem ser aplicadas a elementos HTML especficos, usando o atributo class da marca <p> ou <span>, ou definir novas marcas. Voc usa a classe TextField.StyleSheet para trabalhar com folhas de estilos de texto. possvel carregar estilos de um arquivo CSS externo ou cri-los de maneira nativa usando o ActionScript. Para aplicar uma folha de estilos a um campo de texto que contm texto em formato HTML ou XML, use a propriedade TextField.styleSheet. Os estilos definidos na folha de estilos so mapeados automaticamente para as marcas definidas no documento HTML ou XML. O uso de folhas de estilos envolve trs etapas bsicas:
147
Propriedades CSS suportadas O Flash Player suporta um subconjunto de propriedades na especificao CSS1 original (www.w3.org/TR/REC-CSS1). A tabela a seguir mostra as propriedades e valores CSS suportados e os nomes correspondentes de suas propriedades no ActionScript. O nome cada de propriedade do ActionScript derivado do nome da propriedade CSS correspondente; o hfen omitido e o caractere seguinte fica em letra maiscula.
Propriedade CSS text-align font-size Propriedade do ActionScript textAlign fontSize Uso e valores suportados Os valores reconhecidos so left, center e right. Apenas a parte numrica dos valores usada; as unidades (px, pt) no so analisadas; pixels e pontos so equivalentes. Os valores reconhecidos so none e underline. Apenas a parte numrica do valor usada. As unidades (px, pt) no so analisadas; pixels e pontos so equivalentes. Apenas a parte numrica do valor usada. As unidades (px, pt) no so analisadas; pixels e pontos so equivalentes. Os valores reconhecidos so normal e bold. Os valores reconhecidos so normal e italic. Apenas a parte numrica do valor usada. As unidades (px, pt) no so analisadas; pixels e pontos so equivalentes. Uma lista de fontes separadas por vrgulas para usar, em ordem decrescente de interesse. Qualquer nome de famlia de fonte pode ser usado. Se voc especificar um nome de fonte genrica, ela ser convertida em uma fonte de dispositivo apropriada. As seguintes converses de fonte esto disponveis: mono convertida em _typewriter, sans-serif, em _sans e serif, em _serif.
text-decoration margin-left
textDecoration marginLeft
margin-right
marginRight
font-family
fontFamily
148
Uso e valores suportados Apenas valores de cores hexadecimais so suportados. Cores com nome atribudo (como blue) no so suportadas. Os valores suportados so inline, block e none.
display
display
Criando um objeto de folha de estilos As folhas de estilos CSS so representadas no ActionScript pela classe TextField.StyleSheet. Essa classe s est disponvel para arquivos SWF que se destinam ao Flash Player 7 ou verses posteriores. Para criar um objeto de folha de estilos, chame a funo construtora da classe TextField.StyleSheet.
var newStyle = new TextField.StyleSheet();
Para adicionar estilos a um objeto de folha de estilos, voc pode carregar um arquivo CSS externo no objeto ou definir os estilos no ActionScript. Consulte Carregando arquivos CSS externos na pgina 149 e Criando novos estilos com o ActionScript na pgina 150. Carregando arquivos CSS externos Voc pode definir estilos em um arquivo CSS externo e carregar esse arquivo em um objeto de folha de estilos. Os estilos definidos no arquivo CSS so adicionados ao objeto de folha de estilos. Para carregar um arquivo CSS externo, use o mtodo load() da classe TextField.StyleSheet. Para determinar quando o arquivo CSS finalizou a carga, use o manipulador de eventos onLoad do objeto de folha de estilos. No exemplo a seguir, voc criar e carregar um arquivo CSS externo e usar o mtodo TextField.StyleSheet.getStyleNames() para recuperar os nomes dos estilos carregados.
Para carregar uma folha de estilos externa:
1 Crie um arquivo no seu editor de texto ou XML preferido. 2 Adicione as seguintes definies de estilo ao arquivo:
// Nome do arquivo: styles.css bodyText { font-family: Arial,Helvetica,sans-serif; font-size: 12px; } headline { font-family: Arial,Helvetica,sans-serif; font-size: 24px; }
3 Salve o arquivo CSS como styles.css. 4 No Flash, crie um documento FLA. 5 Na Timeline (Linha do tempo), em Window (Janela) > Timeline, selecione Layer 1
(Camada 1).
149
8 Salve o arquivo no mesmo diretrio que contm o arquivo styles.css. 9 Teste o filme em Control (Controlar) > Test Movie (Testar filme).
Voc deve verificar os nomes dos dois estilos exibidos no painel Output (Sada):
body headLine
Se a mensagem Error loading CSS file (Erro ao carregar o arquivo CSS) for exibida no painel Output, voc dever verificar se o arquivo FLA e o arquivo CSS esto no mesmo diretrio e se voc digitou o nome do arquivo CSS corretamente. Como com todos os outros mtodos do ActionScript que carregam dados pela rede, o arquivo CSS deve ser estar no mesmo domnio que o arquivo SWF que est carregando o arquivo. (Consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.) Criando novos estilos com o ActionScript Voc pode criar novos estilos de texto com o ActionScript usando o mtodo setStyle() da classe TextField.StyleSheet. Este mtodo tem dois parmetros: o nome do estilo e um objeto que define as propriedades desse estilo. Por exemplo, o cdigo a seguir cria um objeto de folha de estilos chamado styles que define dois estilos idnticos queles importados anteriormente (consulte Carregando arquivos CSS externos na pgina 149).
var styles = new TextField.StyleSheet(); styles.setStyle("bodyText", {fontFamily: 'Arial,Helvetica,sans-serif', fontSize: '12px'} ); styles.setStyle("headline", {fontFamily: 'Arial,Helvetica,sans-serif', fontSize: '24px'} );
150
Para aplicar um objeto de folha de estilos a um campo de texto, atribua esse objeto propriedade do campo de texto.
textObj_txt.styleSheet = styleSheetObj; Observao: Cuidado para no confundir a propriedade TextField.styleSheet com a classe TextField.StyleSheet. O uso de maisculas ou minsculas indica a diferena.
Quando voc atribui um objeto de folha de estilos a um objeto TextField, as seguintes alteraes ocorrem no comportamento normal do campo de texto:
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>.
151
Por exemplo, a folha de estilos a seguir define duas classes de estilo: mainBody e emphasis.
.mainBody { font-family: Arial,Helvetica,sans-serif; font-size: 24px; } .emphasis { color: #666666; font-style: italic; }
No texto HTML que voc atribui a um campo de texto, possvel aplicar esses estilos a marcas <p> e <span>, como exibido a seguir.
<p class="mainBody">This is <span class="emphasis">really exciting!</span></p>
Atribuindo estilo a marcas HTML internas O Flash Player oferece suporte a um subconjunto de marcas HTML. Para obter mais informaes, consulte Usando o texto em formato HTML na pgina 156. Voc pode atribuir um estilo CSS a cada instncia de uma marca HTML interna que aparece em um campo de texto. Por exemplo, a seguir h uma definio de estilo da marca HTML <p> interna. Todas as instncias dessa marca recebero estilo da maneira especificada pela regra de estilo.
p { font-family: Arial,Helvetica,sans-serif; font-size: 12px; display: inline; }
A tabela abaixo mostra as marcas HTML internas que podem receber estilo e como cada estilo aplicado:
Nome do estilo
p body
Como o estilo se aplica Afeta todas as marcas <p>. Afeta todas as marcas <body>. O estilo p, se especificado, tem precedncia sobre o estilo body. Afeta todas as marcas de bullet <li>. Afeta todas as marcas de ncora <a>. Afeta todas as marcas de ncora <a>. Este estilo aplicado aps qualquer estilo a. Aplicado a uma marca de ncora <a> quando o mouse est passando pelo link. Este estilo aplicado aps qualquer estilo a e a:link. Quando o mouse sai de cima do link, o estilo a:hover removido do link. Aplicado a uma marca de ncora <a> quando o usurio clica no link. Este estilo aplicado aps qualquer estilo a e a:link. Depois que o boto do mouse liberado, o estilo a:active removido do link.
li a a:link a:hover
a:active
152
Um exemplo do uso de estilos com HTML Esta seo apresenta um exemplo de uso de estilos com marcas HTML. Voc criar uma folha de estilos que atribui estilo a algumas marcas internas e define algumas classes de estilo. Em seguida, voc aplicar essa folha de estilos a um objeto TextField que contm texto em formato HTML.
Para formatar HTML com uma folha de estilos, siga este procedimento:
1 Crie um arquivo no editor de texto preferido. 2 Adicione a seguinte definio de folha de estilos ao arquivo:
p { color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 12px; display: inline; } a:link { color: #FF0000; } a:hover{ text-decoration: underline; } .headline { color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 18px; font-weight: bold; display: block; } .byline { color: #666600; font-style: italic; font-weight: bold; display: inline; }
3 4 5 6 7
Essa folha de estilos define estilos para duas marcas HTML internas (<p> e <a>) que sero aplicadas a todas as instncias dessas marcas. Ela tambm define duas classes de estilos (.headline e .byline) que sero aplicadas a pargrafos especficos e intervalos de texto. Salve o arquivo como html_styles.css. No Flash, crie um documento FLA. Usando a ferramenta Text (Texto), crie um campo de texto de aproximadamente 400 pixels de largura por 300 pixels de altura. Abra o inspetor Properties (Propriedades), em Window (Janela) > Properties, e selecione o campo de texto. No inspetor Properties, selecione Dynamic Text (Texto dinmico) no menu Text Type (Tipo de texto), selecione Multiline no menu Line Type (Tipo de linha), selecione a opo Render Text as HTML (Renderizar texto como HTML) e digite news_txt na caixa de texto Instance Name (Nome da instncia). Selecione o primeiro quadro na Layer 1 da Timeline (Window > Timeline).
153
9 Abra o painel Actions (Window > Development Panels > Actions) e adicione o cdigo a seguir
a ele:
// Cria um novo objeto de folha de estilos var style_sheet = new TextField.StyleSheet(); // Localizao do arquivo CSS que define estilos var css_url = "html_styles.css"; // Cria um texto HTML para exibir var storyText:String = "<p class='headline'>Flash Player now supports Cascading Style Sheets!</p><p><span class='byline'>San Francisco, CA</ span>--Macromedia Inc. announced today a new version of Flash Player that supports Cascading Style Sheet (CSS) text styles. For more information, visit the <a href='http://www.macromedia.com'>Macromedia Flash web site.</ a></p>"; // Carrega o arquivo CSS e define o manipulador onLoad: style_sheet.load(css_url); style_sheet.onLoad = function(ok) { if (ok) { // Se a folha de estilos tiver sido carregada sem erros, // atribua-a ao objeto de texto // e atribua o texto HTML ao campo de texto. news_txt.styleSheet = style_sheet; news_txt.text = storyText; } }; Observao: Para obter simplicidade, o texto HTML que est recebendo estilo codificado no script; em um aplicativo do mundo real voc provavelmente desejar carregar o texto de um arquivo externo. Para obter informaes sobre o carregamento de dados externos, consulte Captulo 10, Trabalhando com dados externos, na pgina 189.
10 Salve o arquivo como news_html.fla no mesmo diretrio que contm o arquivo CSS criado
anteriormente. 11 Execute o filme a partir de Control (Controlar) > Test Movie (Testar filme) para ver os estilos aplicados automaticamente ao texto HTML. Usando estilos para definir novas marcas Se voc definir um novo estilo em uma folha de estilos, esse estilo poder ser usado como marca, como voc usaria uma marca HTML interna. Por exemplo, se uma folha de estilos definir um estilo CSS chamado sectionHeading, voc poder usar <sectionHeading> como elemento em qualquer campo de texto associado folha de estilos. Esse recurso permite atribuir qualquer texto em formato XML diretamente ao campo de texto, de maneira que o texto seja formatado automaticamente usando as regras na folha de estilos. Por exemplo, a folha de estilos a seguir cria os novos estilos sectionHeading, mainBody e emphasized.
sectionHeading { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 18px; display: block } mainBody { color: #000099; text-decoration: underline; font-size: 12px; display: block } emphasized { font-weight: bold; display: inline }
154
Voc pode preencher um campo de texto associado a essa folha de estilos com o seguinte texto em formato XML:
<sectionHeading>This is a section</sectionHeading> <mainBody>This is some main body text, with one <emphasized>emphatic</emphasized>. </mainBody>
Um exemplo do uso de estilos com XML Nesta seo, voc criar o mesmo arquivo FLA criado anteriormente (consulte Um exemplo do uso de estilos com HTML na pgina 153) mas com texto em formato XML. Neste exemplo, voc criar a folha de estilos usando o ActionScript, em vez de importar estilos do arquivo CSS.
Para formatar XML com uma folha de estilo:
1 No Flash, crie um documento FLA. 2 Usando a ferramenta Text (Texto), crie um campo de texto de aproximadamente 400 pixels de
menu Line Type, selecione a opo Render Text as HTML e digite news_txt na caixa de texto Instance Name. 5 Na Layer 1 da Timeline (Window > Timeline), selecione o primeiro quadro. 6 Para criar o objeto de folha de estilos, abra o painel Actions (Window > Development Panels > Actions) e adicione o seguinte cdigo:
var xml_styles = new TextField.StyleSheet(); xml_styles.setStyle("mainBody", { color:'#000000', fontFamily:'Arial,Helvetica,sans-serif', fontSize:'12', display:'block' }); xml_styles.setStyle("title", { color:'#000000', fontFamily:'Arial,Helvetica,sans-serif', fontSize:'18', display:'block', fontWeight:'bold' }); xml_styles.setStyle("byline", { color:'#666666', fontWeight:'bold', fontStyle:'italic', display:'inline' }); xml_styles.setStyle("a:link", { color:'#FF0000' }); xml_styles.setStyle("a:hover", { textDecoration:'underline' });
Esse cdigo cria um novo objeto de folha de estilos chamada xml_styles que define estilos usando o mtodo setStyle(). Os estilos correspondem exatamente queles criados em um arquivo CSS externo, anteriormente neste captulo.
155
7 Para criar o texto XML para atribuir ao campo de texto, adicione o cdigo a seguir ao painel
Actions:
var storyText = "<title>Flash Player now supports CSS</ title><mainBody><byline>San Francisco, CA</byline>--Macromedia Inc. announced today a new version of Flash Player that supports Cascading Style Sheets (CSS) text styles. For more information, visit the <a href=\"http://www.macromedia.com\">Macromedia Flash website</a></ mainBody>";
8 Por ltimo, adicione o cdigo a seguir para aplicar o objeto de folha de estilos propriedade
styleSheet
9 Salve o arquivo como news_xml.fla. 10 Execute o filme a partir de Control (Controlar) > Test Movie (Testar filme) para ver os estilos
Os atributos das marcas HTML devem estar entre aspas simples ou duplas. Os valores de atributos sem aspas podem produzir resultados inesperados, como renderizao de texto imprpria. Por exemplo, o trecho de HTML a seguir no ser renderizado adequadamente pelo Flash Player porque o valor atribudo ao atributo align (left) no est entre aspas:
textField.htmlText = "<p align=left>This is left-aligned text</p>";
156
Se voc colocar os valores do atributo entre aspas duplas, dever acrescentar um caractere de escape para fechar as aspas (\"). Por exemplo, qualquer exemplo a seguir aceitvel:
textField.htmlText = "<p align='left'>This uses single quotes</p>"; textField.htmlText = "<p align=\"left\">This uses escaped double quotes</p>";
Voc no precisar acrescentar um caractere de escape para fechar as aspas duplas se estiver carregando o texto de um arquivo externo; s se voc estiver atribuindo uma seqncia de caracteres de texto no ActionScript. Marcas HTML suportadas Esta seo lista as marcas HTML internas suportadas pelo Flash Player. Voc tambm pode criar novos estilos e marcas usando Cascading Style Sheets; consulte Formatando o texto com Cascading Style Sheets na pgina 147. Marca de ncora (<a> ) A marca <a> cria um hiperlink e oferece suporte aos seguintes atributos:
Especifica o URL da pgina que ser carregada no navegador. O URL pode ser absoluto ou relativo ao local do arquivo SWF que est carregando a pgina. target Especifica o nome da janela de destino na qual a pgina ser carregada.
href
Por exemplo, o trecho de cdigo HTML a seguir cria o link V para a pgina principal, que abre o site www.macromedia.com em uma nova janela do navegador.
<a href="../home.htm" target="_blank">Go home</a>
Voc tambm pode definir os estilos a:link, a:hover e a:active para marcas de ncora usando a folha de estilos. Consulte Atribuindo estilo a marcas HTML internas na pgina 152. Marca de negrito (<b>) A marca <b> renderiza o texto como negrito. Um tipo em negrito deve estar disponvel para a fonte usada para exibir o texto.
<b>This is bold text.</b>
Marca de quebra (<br>) A marca <br> cria uma quebra de linha no campo de texto, como mostra este exemplo:
One line of text<br>Another line of text<br>
Marca de fonte (<font>) A marca <font> especifica uma fonte ou lista de fontes para exibir o texto. A marca font oferece suporte aos seguintes atributos:
color
Apenas valores de cor hexadecimais (#FFFFFF) so suportados. Por exemplo, o cdigo HTML a seguir cria texto vermelho.
157
face
Especifica o nome da fonte que ser usada. Voc tambm pode especificar uma lista de nomes de fontes separados por vrgula, em cada caso o Flash Player escolhe a primeira fonte disponvel. Se a fonte especificada no estiver instalada no sistema de reproduo ou no estiver incorporada no arquivo SWF, o Flash Player escolher uma fonte substituta. Exemplo:
<font face="Times, Times New Roman">This is either Times or Times New Roman..</font>
Para obter mais informaes sobre incorporao de fontes em aplicativos Flash, consulteTextField.embedFonts na pgina 792 e Setting dynamic and input text options (Definindo opes de texto dinmico e de entrada) no Using Flash Help (Ajuda de Usando o Flash). size Especifica o tamanho da fonte, em pixels. Voc tambm pode usar tamanhos de pontos relativos (+2 ou -4).
<font size="24" color="#0000FF">This is green, 24-point text</font>
Marca de imagem (<img>) A marca <img> permite incorporar arquivos JPEG, arquivos SWF e clipes de filme externos em campos de texto. O texto flui automaticamente em torno de imagens incorporadas nos campos de texto. Essa marca suportada somente em campos de texto dinmicos ou de entrada com vrias linhas e quebra de texto.
Para criar um campo de texto de vrias linhas com quebra automtica de linha, siga um destes procedimentos:
A marca <img> tem um atributo obrigatrio, src, que especifica o caminho para um arquivo JPEG, um arquivo SWF ou o identificador de vinculao de um smbolo do clipe de filme. Todos os outros atributos so opcionais. As marcas <img> oferecem suporte aos seguintes atributos:
src
Especifica o URL para um arquivo JPEG ou SWF, ou o identificador de vinculao para um smbolo do clipe de filme na biblioteca. Este atributo obrigatrio; todos os outros atributos so opcionais. Os arquivos externos (JPEG e SWF) no so exibidos at que o download seja concludo.
Especifica o nome da instncia de clipe de filme (criado pelo Flash Player) que contm o arquivo JPEG, SWF ou clipe de filme incorporado. til para controlar o contedo incorporado com o ActionScript. width A largura da imagem, do arquivo SWF ou do clipe de filme, em pixels. height A altura da imagem, do arquivo SWF ou do clipe de filme que est sendo inserido, em pixels. align Especifica o alinhamento horizontal da imagem incorporada no campo de texto. Os valores vlidos so left e right. O valor padro left.
id
158
hspace Especifica a quantidade de espao horizontal em torno da imagem onde nenhum texto aparecer. O valor padro 8. vspace Especifica a quantidade de espao vertical em torno da imagem onde nenhum texto aparecer. O valor padro 8.
Para obter mais informaes e exemplos do uso da marca <img>, consulte Incorporando imagens, arquivos SWF e clipes de filme aos campos de texto na pgina 161. Marca de itlico (<i>) A marca <i> exibe o texto marcado em itlico. Um tipo itlico deve estar disponvel para a fonte usada.
That is very <i>interesting</i>.
O cdigo anterior ser renderizado assim: That is very interesting. Marca de item de lista (<li>) A marca <li> coloca um bullet na frente do texto que inclui.
Grocery list: <li>Apples</li> <li>Oranges</li> <li>Lemons</li>
O cdigo anterior ser renderizado assim: Grocery list: Apples Oranges Lemons Marca de pargrafo (<p>) A marca <p> cria um novo pargrafo. Ela oferece suporte aos seguintes atributos:
align center.
class Especifica uma classe de estilo CSS definida em um objeto TextField.StyleSheet. Para obter mais informaes, consulte Usando classes de estilo na pgina 151. O exemplo a seguir usa o atributo align para alinhar o texto no lado direito de um campo de texto. textField.htmlText = "<p align='right'>This text is aligned on the right side of the text field</p>";
O exemplo a seguir usa o atributo class para atribuir uma classe de estilo de texto a uma marca <p>.
var myStyleSheet = new TextField.StyleSheet(); myStyleSheet.secreateTextField("test", 10, 0,0, 300,100); createTextField("test", 10, 0,0, 300,100); test.styleSheet = myStyleSheet; test.htmlText = "<p class='body'>This is some body-styled text.</p>.";
159
Marca de intervalo (<span>) A marca <span> est disponvel somente para uso com os estilos de texto CSS. Para obter mais informaes, consulte Formatando o texto com Cascading Style Sheets na pgina 147. Ela oferece suporte ao seguinte atributo:
class Especifica uma classe de estilo CSS definida em um objeto TextField.StyleSheet. Para obter mais informaes sobre a criao de classes de estilo de texto, consulte Usando classes de estilo na pgina 151.
Marca de formatao de texto (<textformat>) A marca <textformat> permite usar um subconjunto das propriedades de formatao de pargrafo da classe TextFormat nos campos de texto HTML, incluindo entrelinhamento, recuo, margens e interrupes de tabulao. Voc pode combinar marcas <textformat> com as marcas HTML internas. A marca <textformat> tem os seguintes atributos:
830.) indent Especifica o recuo do primeiro caractere no pargrafo em relao margem esquerda; corresponde a TextFormat.indent. (Consulte TextFormat.indent na pgina 834.) leading Especifica a quantidade de espao vertical entre as linhas; corresponde ao TextFormat.leading. (Consulte TextFormat.leading na pgina 835.) leftmargin Especifica a margem esquerda do pargrafo, em pontos; corresponde ao TextFormat.leftMargin. (Consulte TextFormat.leftMargin na pgina 835.) rightmargin Especifica a margem direita do pargrafo, em pontos; corresponde ao TextFormat.rightMargin. (Consulte TextFormat.rightMargin na pgina 835.) tabstops Especifica as interrupes de tabulao personalizadas como um array de inteiros no negativos; corresponde ao TextFormat.tabStops. (Consulte TextFormat.tabStops na pgina 836.)
blockindent Especifica o recuo do bloco em pontos; corresponde a TextFormat.blockIndent. (Consulte TextFormat.blockIndent na pgina
O exemplo de cdigo a seguir usa o atributo tabstops da marca <textformat> para criar uma tabela de dados com cabealhos de linha em negrito, como apresentado abaixo:
Name Tim Edwin Age 32 46 Department IMD Engineering
1 Usando a ferramenta Text (Texto), crie um campo de texto dinmico que tenha
160
4 Abra o painel Actions (Window > Development Panels > Actions) e digite o cdigo a seguir:
var rowHeaders = "<b>Name\t</b><b>Age\t</b><b>Department"; var row_1 = "Tim\t31\tIMD"; var row_2 = "Edwin\t42\tQA"; table_txt.htmlText = "<textformat tabstops='[100, 200]'>"; table_txt.htmlText += rowHeaders; table_txt.htmlText += row_1; table_txt.htmlText += row_2 ; table_txt.htmlText += "</textformat>";
Observe o uso da seqncia de escape do caractere de tabulao (\t) para adicionar tabulaes entre cada coluna da tabela. 5 Selecione Control > Test Movie para testar o filme. Marca de sublinhado (<u>) A marca <u> sublinha o texto marcado.
Este texto est <u>sublinhado</u>.
O cdigo anterior ser renderizado assim: Este texto est sublinhado. Incorporando imagens, arquivos SWF e clipes de filme aos campos de texto No Flash Player 7 e verses posteriores, voc pode usar a marca <img> para incorporar arquivos JPEG, arquivos SWF e clipes de filmes em campos de texto dinmicos e de entrada. (Para obter uma lista completa de atributos da marca <img>, consulte Marca de imagem (<img>) na pgina 158.) O padro o Flash exibir a mdia incorporada em um campo de texto com tamanho completo. Para especificar as dimenses da mdia incorporada, use os atributos height e width da marca <img>. (Consulte Especificando os valores de altura e largura na pgina 162.) Em geral, uma imagem incorporada em um campo de texto aparece na linha seguinte marca <img>. Entretanto, quando a marca <img> o primeiro caractere no campo de texto, a imagem aparece na primeira linha do campo de texto. Incorporando arquivos SWF e JPEG Para incorporar um arquivo JPEG ou SWF a um campo de texto, especifique o caminho absoluto ou relativo para o arquivo JPEG ou SWF no atributo src da marca <img>. Por exemplo, o cdigo a seguir insere um arquivo JPEG localizado no mesmo diretrio que o arquivo SWF.
textField_txt.htmlText = "<p>Heres a picture from my last vacation:<img src='beach.jpg'>";
Incorporando smbolos do clipe de filme Para incorporar um smbolo do clipe de filme a um campo de texto, voc especifica o identificador de vinculao do smbolo para o atributo src da marca <img>. (Para obter informaes sobre a definio de um identificador de vinculao, consulte Anexando um smbolo de clipe de filme ao Stage na pgina 135.)
161
Por exemplo, o cdigo a seguir insere um smbolo do clipe de filme com o identificador de vinculao symbol_ID.
textField_txt.htmlText = "<p>Heres a movie clip symbol<='symbol_ID'>";
Para que um clipe de filme incorporado seja exibido adequada e completamente, o ponto de registro de seu smbolo deve ser um ponto (0,0). Especificando os valores de altura e largura Se voc especificar os atributos width e height para uma marca <img>, o espao ser reservado no campo de texto para o arquivo JPEG, SWF ou clipe de filme. Aps o download completo de um arquivo JPEG ou SWF, ele ser exibido no espao reservado. O Flash dimensiona a mdia para cima ou para baixo de acordo com os valores height e width. Se voc no especificar os valores height e width, nenhum espao ser reservado para a mdia incorporada. Aps o download completo de um arquivo JPEG ou SWF, o Flash o insere no campo de texto com tamanho completo e quebrar novamente o texto em torno dele. Controlando a mdia incorporada com o ActionScript O Flash Player cria um novo clipe de filme para cada marca <img> e incorpora esse clipe ao objeto TextField. O atributo id da marca <img> permite atribuir um nome de instncia ao clipe de filme criado. Assim, possvel controlar o clipe de filme com o ActionScript. O clipe de filme criado pelo Flash Player adicionado como um clipe de filme-filho ao campo de texto que contm a imagem. Por exemplo, o cdigo a seguir incorpora um arquivo SWF chamado animation.swf no campo de texto textField_txt no nvel 0 e atribui o nome de instncia animation_mc ao clipe de filme que contm o arquivo SWF.
_level0.textField_txt.htmlText = "Aqui est uma animao interessante: <img src='animation.swf' id='animation_mc'>
Nesse caso, o caminho totalmente qualificado para o clipe de filme criado recentemente _level0.textField_txt.animation_mc. Por exemplo, voc pode anexar o cdigo a seguir a um boto (na mesma Timeline que textField_txt) que interromper a reproduo do arquivo SWF incorporado.
on(press){ textField_txt.animation_mc.stop(); }
Criando hiperlinks fora da mdia incorporada Para criar um hiperlink fora de um arquivo JPEG, SWF ou clipe de filme incorporado, inclua a marca <img> em uma marca <a>:
textField.htmlText = "Click the image to return home<a href='home.htm'><img src='home.jpg'></a>";
Quando o mouse est sobre uma imagem, arquivo SWF ou clipe de filme delimitado por marcas <a>, o ponteiro do mouse muda para um cone de mo, como os hiperlinks padro. A interatividade, como cliques no boto do mouse e pressionamentos de teclas, no registrada nos arquivos SWF e clipes de filme que esto delimitados por marcas <a>.
162
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:
Use a ferramenta Text para arrastar um campo de texto no Stage. Atribua ao campo de texto o nome de instncia textField no inspetor Properties. Use o ActionScript para criar um campo de texto dinamicamente com o mtodo MovieClip.createTextField(). Atribua ao campo de texto o nome de instncia textField como parmetro do mtodo. 2 Crie um boto Up (Para cima) e um boto Down (Para baixo) ou escolha Window > Other Panels (Outros painis) > Common Libraries (Bibliotecas comuns)> Buttons e arraste os botes para o Stage. Esses botes sero usados para rolar o texto para cima e para baixo. 3 Selecione o boto Down no Stage. 4 No painel Actions (Window > Development Panels > Actions), digite o cdigo a seguir para rolar o texto para baixo no campo de texto:
on(press){ textField.scroll += 1; }
5 Selecione o boto Up no Stage. 6 No painel Actions, digite o cdigo a seguir para rolar o texto para cima:
on(press){ textField.scroll += 1; }
163
164
O ActionScript 2.0 uma reestruturao da linguagem do ActionScript que contm vrios novos recursos de programao eficientes encontrados em outras linguagens de programao, como Java. O ActionScript 2.0 incentiva estruturas de programa reutilizveis, dimensionveis, resistentes e fceis de manter. Ele tambm diminui o tempo de desenvolvimento fornecendo aos usurios assistncia de cdigo completa e informaes de depurao. O ActionScript 2.0 atende aos padres existentes e tem como base a proposta do ECMAScript 4 (www.mozilla.org/js/language/ es4/). O ActionScript 2.0 est disponvel no Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004. Os recursos do ActionScript 2.0 esto descritos abaixo.
Modelo familiar OOP (Object-Oriented Programming, Programao orientada a objeto)
O recurso primrio do ActionScript 2.0 um modelo familiar para a criao de programas orientados a objeto. O ActionScript 2.0 apresenta vrios novos conceitos e palavras-chave orientados a objeto, como class, interface e packages, que parecero familiares se voc j tiver programado com Java. O modelo de OOP fornecido pelo ActionScript 2.0 uma formalizao sinttica do mtodo de encadeamento de prottipo usado em verses anteriores do Macromedia Flash para criar objetos e estabelecer herana.
Atribuio estrita de tipos de dados
O ActionScript 2.0 tambm permite especificar explicitamente os tipos de dados para variveis, parmetros de funo e tipos de retorno de funo. Por exemplo, o cdigo a seguir declara uma varivel chamada userName de tipo String (um tipo de dados interno do ActionScript, ou classe). Os dois recursos anteriores permitem que a ferramenta de criao e o compilador forneam mensagens de aviso e erro do compilador que ajudam a encontrar falhas nos aplicativos mais rpido que anteriormente no Flash.
Ateno: Se voc planeja utilizar a sintaxe ActionScript 2.0, verifique se as configuraes de Publish (Publicao) para o arquivo FLA especificam ActionScript 2.0. Este o padro para arquivos criados em Flash MX 2004. Entretanto, se voc abrir um arquivo FLA antigo que usa ActionScript 1 e comear a reescrev-lo em ActionScript 2.0, dever alterar as configuraes de publicao do arquivo FLA para ActionScript 2.0. Se no o fizer, seu arquivo FLA no ser compilado corretamente, apesar de que no sero gerados erros.
165
166
Interfaces As interfaces em programao orientada a objeto podem ser descritas como classes cujos mtodos no so implementados (definidos). Outra classe pode implementar os mtodos declarados pela interface. Tambm possvel considerar uma interface como um contrato de programao que pode ser usado para impor os relacionamentos entre classes no relacionadas de outra maneira. Por exemplo, suponha que voc esteja trabalhando com uma equipe de programadores, cada um responsvel por uma parte diferente (classe) do mesmo aplicativo. Ao projetar o aplicativo, voc estabelece um conjunto de mtodos que as diferentes classes usaro para se comunicar. Portanto, voc cria uma interface que declara esses mtodos, seus parmetros e tipos de retorno. Qualquer classe que implemente essa interface deve fornecer definies para esses mtodos; caso contrrio, ocorrer um erro do compilador. Tambm possvel usar interfaces para disponibilizar uma forma limitada de herana mltipla, que no permitida no ActionScript 2.0. Na herana mltipla, uma classe pode estender mais de uma classe base. Por exemplo, no C++, a classe Gato pode estender a classe Mamifero, bem como uma classe Divertido, que contm os mtodos PerseguirCauda e ComerComidaGato. O ActionScript 2.0, como o Java, no permite que uma classe estenda vrias classes diretamente. Entretanto, voc pode criar uma interface Divertido que declara os mtodos PerseguirCauda e ComerComidaGato. Uma classe Gato, ou qualquer outra classe, pode implementar essa interface e fornecer definies para esses mtodos. Para obter mais informaes, consulte Criando uma interface na pgina 177.
o Flash procure as classes). 3 Criar uma instncia da classe em outro script, em um documento do Flash (FLA) ou em um arquivo de script externo, ou criar uma subclasse com base na classe original. Nesta seo tambm analisado um novo recurso do ActionScript 2.0 denominado atribuio estrita de tipos de dados, que permite especificar o tipo de dados para uma varivel, um parmetro de funo ou um tipo de retorno de funo. Apesar de esta seo abordar apenas classes, o fluxo de trabalho geral o mesmo para usar interfaces. Para obter mais informaes, consulte Criando e usando interfaces na pgina 177.
167
Criando um arquivo de classes Para criar uma classe, primeiro voc deve criar um arquivo externo do ActionScript (AS). As classes (e interfaces) s podem ser definidas em arquivos de script externos. Por exemplo, voc no pode definir uma classe em um script anexado a um quadro ou boto em um documento do Flash (FLA). Para criar um arquivo externo AS, use o editor ActionScript includo no Flash ou o seu editor de cdigo ou texto preferido.
Observao: O cdigo do ActionScript em arquivos externos compilado em um arquivo SWF quando voc publica, exporta, testa ou depura um arquivo FLA. Portanto, se voc fizer alguma alterao em um arquivo externo, precisar salvar o arquivo e recompilar os arquivos FLA que o usam.
Nas etapas posteriores, voc criar uma classe Person com duas propriedades (age e name) e um nico mtodo (showInfo()) que exibe os valores dessas propriedades no painel Output (Sada).
Para criar o arquivo de classes:
1 Crie um novo diretrio no disco rgido e atribua a ele o nome PersonFiles. Esse diretrio conter
Crie um novo arquivo no editor de texto ou cdigo preferido. (Somente para Flash Professional) Selecione File (Arquivo) > New (Novo) para abrir a caixa de dilogo New Document (Novo documento), selecione ActionScript File (Arquivo do ActionScript) na lista de tipos de arquivos e clique em OK. A janela Script aberta com um arquivo em branco. 3 Salve o arquivo como Person.as no diretrio PersonFiles. 4 Na janela Script, digite o cdigo a seguir:
class Person { }
Essa a classe declaration. Na sua forma mais bsica, uma classe declaration consiste na palavra-chave class, seguida pelo nome da classe (Person, neste caso) e chaves ({}). Tudo entre as chaves chama-se corpo da classe e onde as propriedades e os mtodos da classe so definidos.
Observao: O nome da classe (Person) corresponde ao nome do arquivo AS que a contm (Person.as). Isso muito importante; se esses dois nomes no corresponderem, a classe no ser compilada.
5 Para criar as propriedades da classe Person, use a palavra-chave var para definir duas variveis
168
Observe a sintaxe dos dois-pontos (var age:Number e var name:String) usada nas declaraes de variveis. Esse um exemplo de atribuio estrita de tipos de dados. Quando voc atribui um tipo a uma varivel dessa maneira (var variableName:variableType), o compilador do ActionScript 2.0 verifica se os valores atribudos a essa varivel correspondem ao tipo especificado. Apesar de essa sintaxe no ser obrigatria, ela recomendvel e pode facilitar a depurao de scripts. Para obter mais informaes, consulte Atribuio estrita de tipos de dados na pgina 41. 6 Em seguida, voc criar o mtodo showInfo(), que retorna uma seqncia de caracteres pr-formatada com os valores das propriedades age e name. Adicione a definio da funo showInfo() ao corpo da classe, como mostrado a seguir.
class Person { var age:Number; var name:String; // Mtodo para retornar valores de propriedades function showInfo():String { return("Hello, my name is " + name + " and Im " + age + " years old."); } }
Observe o uso da atribuio de tipo de dados (opcional mas recomendada) na definio da funo.
function showInfo():String {...}
Nesse caso, est sendo atribudo um tipo ao valor de retorno da funo showInfo() (uma seqncia de caracteres). 7 A ltima parte do cdigo que voc adicionar nesta seo uma funo especial que se chama construtora. Em programao orientada a objeto, a funo construtora inicializa cada nova instncia de uma classe. A funo construtora sempre tem o mesmo nome da classe. Para criar a funo construtora da classe, adicione o cdigo a seguir:
class Person { var age:Number; var name:String; // Mtodo para retornar valores de propriedades function showInfo():String { return("Hello, my name is " + name + " and Im " + age + " years old."); } // Funo construtora function Person (myName:String, myAge:Number) { name = myName; age = myAge; } }
A funo construtora Person() pega dois parmetros, myName e myAge e os atribui s propriedades name e age. So atribudos os tipos de dados String e Number, respectivamente, aos dois parmetros da funo. Para obter mais informaes sobre as funes construtoras, consulte Funes construtoras na pgina 174.
Observao: Se voc no criar uma funo construtora, uma funo vazia ser criada automaticamente durante a compilao.
169
Se voc est usando o Flash MX 2004 (e no o Flash Professional), v para a prxima seo.
9 (Somente Flash Professional) Verifique a sintaxe do arquivo de classes selecionando Tools
(Ferramentas)> Check Syntax (Verificar sintaxe) ou pressionando Control+T (Windows) ou Command+T (Macintosh). Se algum erro for informado no painel Output (Sada), voc dever comparar o cdigo no script com o cdigo final da etapa 7 anterior. Se voc no conseguir corrigir os erros do cdigo, dever copiar o cdigo completo na etapa 7 do painel Help (Ajuda). Criando uma instncia da classe Person A prxima etapa criar uma instncia da classe Person em outro script, como um script de quadro em um documento Flash (FLA) ou outro script AS, e atribu-la a uma varivel. Para criar uma instncia de uma classe personalizada, use o operador new, como faria ao criar uma instncia de uma classe interna ActionScript (como a classe XML ou TextField). Por exemplo, o cdigo a seguir cria uma instncia da classe Person e a atribui varivel newPerson.
var newPerson:Person = new Person("Nate", 32);
Este cdigo chama a funo construtora da classe Person, passando como parmetros os valores "Nate" e 32. A varivel newPerson considerada um objeto Person. A atribuio de um tipo aos objetos permite ao compilador garantir que voc no tentar acessar as propriedades ou os mtodos que no esto definidos na classe. (A exceo se voc declarar a classe como dinmica usando a palavra-chave dynamic. Consulte Criando classes dinmicas na pgina 184.)
Para criar uma instncia da classe Person no documento Flash:
1 No Flash, selecione File > New e Flash Document (Documento do Flash) na lista de tipos de
documentos e clique em OK. 2 Salve o arquivo como createPerson.fla no diretrio PersonFiles criado anteriormente. 3 Selecione Layer 1 (Camada 1) na Timeline (Linha de tempo) e abra o painel Actions, em Window (Janela)> Development Panels (Painis de desenvolvimento)> Actions. 4 No painel Actions, insira o seguinte cdigo:
var person_1:Person = new Person("Nate", 32); var person_2:Person = new Person("Jane", 28); trace(person_1.showInfo()); trace(person_2.showInfo());
O cdigo anterior cria duas instncias da classe Person, person_1 e person_2, e chama o mtodo showInfo() em cada instncia. 5 Salve o seu trabalho e selecione Control (Controlar) > Test Movie (Testar filme). Voc deve ver o seguinte no painel Output:
Hello, my name is Nate and I'm 32 years old. Hello, my name is Jane and I'm 28 years old.
170
Quando voc cria uma instncia de uma classe chamando sua funo construtora, o Flash procura um arquivo ActionScript de nome igual ao do construtor em um conjunto de diretrios predeterminados. Esse grupo de diretrios conhecido coletivamente como classpath (caminho de classe) (consulte Noes bsicas de caminho de classe na pgina 179). Agora voc deve ter uma idia geral de como criar e usar classes nos documentos do Flash. No restante deste captulo voc encontrar informaes mais detalhadas sobre as classes e interfaces.
Voc pode definir classes somente nos arquivos ActionScript (AS). Por exemplo, no possvel definir uma classe em um script de quadro no arquivo FLA. Alm disso, o nome da classe especificado deve corresponder ao nome do arquivo AS que o contm. Por exemplo, se voc criar uma classe Shape, o arquivo AS que contm a definio da classe dever ser chamado Shape.as.
// No arquivo Shape.as class Shape { // corpo da classe Shape }
Todos os arquivos da classe AS criados devem ser salvos em um dos diretrios do caminho de classe designado diretrios em que o Flash procura as definies de classe para compilar os scripts. (Consulte Noes bsicas de caminho de classe na pgina 179.) Os nomes de classe devem ser identificadores; ou seja, o primeiro caractere deve ser uma letra, sublinhado (_) ou cifro ($) e os caracteres seguinte devem ser letra, nmero, sublinhado ou cifro. Alm disso, o nome da classe deve ser totalmente qualificado dentro do arquivo em que for declarado; ou seja, ele deve incluir o diretrio em que est armazenado. Por exemplo, para criar uma classe chamada RequiredClass que esta armazenada no diretrio myClasses/education/ curriculum, voc deve declarar a classe no arquivo RequiredClass.as conforme abaixo:
class myClasses.education.curriculum.RequiredClass { }
Por esta razo, recomendvel planejar a sua estrutura de diretrios antes de comear a criar as classes. De outra forma, se voc decidir mover os arquivos das classes depois de cri-los, ser necessrio modificar as instrues de declarao dessas classes para refletir sua nova localizao. Criando propriedades e mtodos Um membro da classe consiste em propriedades (declaraes de variveis) e mtodos (declaraes de funo). Voc deve declarar todas as propriedades e mtodos dentro do corpo da classe (as chaves); caso contrrio, ocorrer um erro durante a compilao. Qualquer varivel declarada em uma classe, mas fora de uma funo, uma propriedade da classe. Por exemplo, a classe Person analisada anteriormente tem duas propriedades, age e name, de tipo Number e String, respectivamente.
171
Igualmente, qualquer funo declarada em uma classe considerada um mtodo da classe. No exemplo da classe Person, voc criou um nico mtodo showInfo().
class Person { var age:Number; var name:String; function showInfo() { // definio do mtodo showInfo() } }
Inicializando as propriedades inline Voc pode inicializar as propriedades inline, quando as declara, com os valores padro, como mostrado aqui:
class Person { var age:Number = 50; var name:String = "John Doe"; }
Quando voc inicializa as propriedades inline, a expresso direita de uma atribuio deve ser uma constante de tempo de compilao. Ou seja, a expresso no pode se referir a algo definido durante a execuo. As constantes de tempo de compilao incluem valores literais da seqncia de caracteres, nmeros, valores booleanos, null, e undefined, bem como funes construtoras para as seguintes classes internas: Array, Boolean, Number, Object e String. Por exemplo, a definio de classe a seguir inicializa vrias propriedades inline:
class var var var var var CompileTimeTest { foo:String = "my foo"; // OK bar:Number = 5; // OK bool:Boolean = true; // OK name:String = new String("Jane"); // OK who:String = foo; // OK, porque 'foo' uma constante
var whee:String = myFunc(); // erro! no uma expresso constante em tempo de compilao var lala:Number = whee; // erro! no uma expresso constante em tempo de compilao var star:Number = bar + 25; // OK, tanto 'bar' quanto '25' so constantes function myFunc() { return "Hello world"; } }
Essa regra aplica-se apenas a variveis de instncia (variveis que so copiadas em cada instncia de uma classe), e no a variveis de classe (variveis que pertencem prpria classe). Para obter mais informaes sobre esses tipos de variveis, consulte Membros de instncias e classes na pgina 175.
172
Criando subclasses Em programao orientada a objeto, uma subclasse pode herdar as propriedades e os mtodos de outra classe, a superclasse. Para criar esse tipo de relacionamento entre duas classes, use a clusula extends da instruo class. Para especificar uma superclasse, use a seguinte sintaxe:
class SubClass extends SuperClass {}
A classe especificada em SubClass herda todas as propriedades e mtodos definidos pela superclasse. Por exemplo, voc pode criar uma classe Mamifero, que define propriedades e mtodos comuns a todos os mamferos. Para criar uma variao da classe Mamifero, por exemplo, uma classe Marsupial, voc estender a classe Mamifero, ou seja, criar uma subclasse da classe Mamifero.
class Marsupial extends Mamifero {}
A subclasse herda todas as propriedades e mtodos da superclasse, incluindo as propriedades ou os mtodos declarados como privados usando a palavra-chave private. (Para obter mais informaes sobre variveis privadas, consulte Controlando o acesso de membros na pgina 174.) Voc pode estender suas prprias classes personalizadas, bem como qualquer classe interna do ActionScript, como classe XML, Sound ou MovieClip. Quando voc estende uma classe interna do ActionScript, a classe personalizada herda todos os mtodos e propriedades da classe interna. Por exemplo, o cdigo a seguir define a classe JukeBox, que estende a classe interna Sound. Ele define um array songList e um mtodo playSong() que reproduz uma msica e chama o mtodo loadSound(), que herda da classe Sound.
class JukeBox extends Sound { var songList:Array = new Array("beethoven.mp3", "bach.mp3", "mozart.mp3"); function playSong(songID:Number) { this.loadSound(songList[songID]); } }
Se voc no fizer uma chamada para super() na funo construtora de uma subclasse, o compilador gerar automaticamente uma chamada para o construtor da superclasse imediata, sem parmetros como a primeira instruo da funo. Se a superclasse no tiver um construtor, o compilador criar uma funo vazia e depois gerar a chamada para ela a partir da subclasse. Entretanto, se a superclasse utilizar parmetros em sua definio, ser necessrio criar um construtor na subclasse e chamar a superclasse com os parmetros necessrios. A herana mltipla, ou herana de mais de uma classe, no permitida. Entretanto, as classes podero herdar, de forma efetiva, elementos de diversas classes se voc utilizar instrues extends individuais:
// no permitido class C extends A, B {} // permitido class B extends A {} class C extends B {}
Tambm possvel usar a palavra-chave extends para criar subclasses de uma interface:
interface iA extends interface iB {}
173
Funes construtoras Uma funo construtora de classe uma funo especial chamada automaticamente quando voc cria uma instncia de uma classe usando o operador new. A funo construtora tem o mesmo nome da classe que a contm. Por exemplo, a classe Person criada anteriormente continha a seguinte funo construtora:
// Funo construtora da classe Person function Person (myName:String, myAge:Number) { name = myName; age = myAge; }
Se nenhuma funo construtora for explicitamente declarada, ou seja, se voc no criar uma funo cujo nome corresponda ao da classe, o compilador automaticamente criar uma funo construtora vazia. Uma classe pode conter apenas uma funo construtora; funes construtoras sobrecarregadas no so permitidas no ActionScript 2.0. Controlando o acesso de membros O padro que qualquer propriedade ou mtodo de uma classe possa ser acessado por qualquer outra classe: todos os membros de uma classe so pblicos por padro. Entretanto, em alguns casos voc pode querer proteger os dados ou mtodos de uma classe do acesso de outras classes. Voc precisar tornar esses membros privados, disponveis apenas para a classe que os declara ou define. Especifique membros pblicos ou privados usando o atributo de membro public ou private. Por exemplo, o cdigo a seguir declara uma varivel privada (uma propriedade) e um mtodo privado (uma funo). Por exemplo, a classe a seguir (LoginClass) define uma propriedade privada chamada userName e um mtodo privado chamado getUserName().
class LoginClass { private var userName:String; private function getUserName() { return this.userName; } // Construtor: function LoginClass(user:String) { this.userName = user; } }
Os membros privados (propriedades e mtodos) so acessveis apenas para a classe que define esses membros e para as subclasses dessa classe original. As instncias da classe original, ou as instncias das subclasses dessa classe, no podem acessar as propriedades e os mtodos declarados privadamente; ou seja, os membros privados so acessveis somente nas definies da classe, e no no nvel da instncia. Por exemplo, voc pode criar uma subclasse de LoginClass chamada NewLoginClass. Essa subclasse pode acessar a propriedade privada (userName) e o mtodo (getUserName()) definidos pela LoginClass.
class NewLoginClass extends LoginClass { // pode acessar userName e getUserName() }
174
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.
Os membros de classe (estticos), entretanto, so atribudos prpria classe, e no a uma instncia da classe. Para chamar um mtodo da classe ou acessar uma propriedade da classe, voc faz referncia ao prprio nome da classe, em vez de uma instncia especfica da classe:
ClassName.classMember;
Por exemplo, a classe Math do ActionScript consiste apenas em mtodos e propriedades estticos. Para chamar qualquer um dos seus mtodos, voc no cria uma instncia da classe Math. Em vez disso, basta chamar os mtodos na prpria classe Math. O cdigo a seguir chama o mtodo sqrt() da classe Math:
var square_root:Number = Math.sqrt(4);
Membros de instncia podem ler membros estticos, mas no podem escrever nos mesmos. Membros de instncia no so enumerveis em loops for e for..in. Criando membros de classe Para especificar que uma propriedade de uma classe esttica, use o modificador static, como mostrado a seguir.
static var variableName;
Voc tambm pode declarar que os mtodos de uma classe sejam estticos.
static function functionName() { // corpo da funo }
Os mtodos de classe (estticos) s podem acessar propriedades de classe (estticas), e no propriedades de instncia. Por exemplo, o cdigo a seguir resultar em um erro do compilador, porque o mtodo da classe getName() faz referncia varivel de instncia name.
175
class StaticTest { var name="Ted"; static function getName() { var local_name = name; // Erro! No possvel acessar variveis de instncia em funes estticas. } }
Para resolver esse problema, voc pode transformar o mtodo em um mtodo de instncia ou transformar a varivel em uma varivel de classe. Usando membros de classe: um exemplo simples possvel usar os membros de classe para manter as informaes de estado de uma classe e suas instncias. Por exemplo, para acompanhar o nmero de instncias que foram criadas de uma determinada classe. Uma maneira fcil de fazer isso usar uma propriedade da classe que incrementada sempre que uma nova instncia criada. No exemplo a seguir, voc criar uma classe Widget que define um contador de instncia simples e esttico chamado widgetCount. Sempre que uma nova instncia da classe for criada, o valor de widgetCount ser incrementado em 1, e o valor atual de widgetCount ser exibido no painel Output.
Para criar um contador de instncia usando uma varivel de classe:
3 4
5 6
A varivel widgetCount declarada como esttica, portanto, inicializada como 0 somente uma vez. Sempre que a funo construtora da classe Widget chamada, ela adiciona 1 widgetCount e exibe o nmero da instncia atual que est sendo criada. Salve o arquivo como Widget.as. Crie um novo documento Flash (FLA) e salve-o como createWidget.fla no mesmo diretrio do Widget.as. Nesse arquivo, voc criar novas instncias da classe Widget. Em createWidget.fla, selecione Layer 1 na Timeline e abra o painel Actions (Window > Development Panels > Actions). Adicione o cdigo a seguir ao painel Actions.
// Antes que voc crie qualquer instncia da classe, // widgetCount zero (0) trace("Widget count at start: " + Widget.widgetCount); var widget_1 = new Widget(); var widget_2 = new Widget(); var widget_3 = new Widget();
176
Membros de classe e subclasses Os membros da classe propagam-se para as subclasses da superclasse que define esses membros. No exemplo anterior (consulte Usando membros de classe: um exemplo simples na pgina 176), voc usou uma propriedade de classe que acompanha o nmero de instncias dessa classe criada. Voc pode criar uma subclasse da classe Widget, como mostrado a seguir.
class SubWidget extends Widget { function SubWidget() { trace("Creating subwidget # "+Widget.widgetCount); } }
177
Uma interface s pode conter declaraes de mtodos (funes), incluindo parmetros, tipos de parmetro e tipos de retorno de funo. Por exemplo, o cdigo a seguir declara uma interface chamada MyInterface com dois mtodos, method_1() e method_2(). O primeiro mtodo no tem parmetros e tipo de retorno (especificado como Void). A segunda declarao de mtodo tem um nico parmetro de tipo String e especifica um tipo de retorno Boolean.
interface MyInterface { function method_1():Void; function method_2(param:String):Boolean; }
As interfaces no podem conter declaraes de varivel ou atribuies. As funes declaradas em uma interface no podem conter chaves. Por exemplo, a interface a seguir no ser compilada.
interface BadInterface{ // Erro do compilador. Declaraes de variveis no permitidas em interfaces. var illegalVar; // Erro do compilador. Corpos de funo no permitidos em interfaces. function illegalMethod(){ } }
As regras para atribuir nome a interfaces e armazen-las nos pacotes so as mesmas usadas para as classes; consulte Criando e usando classes na pgina 171 e Usando pacotes na pgina 181. Interfaces como tipos de dados Como uma classe, uma interface define um novo tipo de dados. Qualquer classe que implemente uma interface poder ser considerada como do tipo definido pela interface. Esse recurso til para determinar se um objeto especfico implementa uma dada interface. Por exemplo, considere as seguinte interface.
interface Movable { function moveUp(); function moveDown(); }
Em seguida, em outro script onde voc criou uma instncia da classe Box, possvel declarar uma varivel do tipo Movable.
var newBox:Movable = new Box();
178
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(); }
179
Como o compilador resolve as referncias de classe Quando o Flash tenta resolver as referncias de classe em um script FLA, ele busca primeiro o caminho de classe em nvel de documento especificado para esse FLA. Se a classe no se encontrar nesse caminho de classe, ou se esse caminho de classe estiver vazio, o Flash pesquisar o caminho de classe global. Se a classe no se encontrar no caminho de classe global, ocorrer um erro do compilador. Quando o Flash tenta resolver as referncias de classe em um script AS, ele pesquisa apenas os diretrios do caminho de classe global, j que os arquivos AS no tm um caminho de classe de documento associado. Modificando o caminho de classe Voc pode modificar o caminho de classe global usando a caixa de dilogo Preferences. Para modificar a configurao do caminho de classe em nvel de documento, use a caixa de dilogo Publish Settings para o arquivo FLA. Voc pode adicionar caminhos de diretrio absolutos (por exemplo, C:/my_classes) e caminhos de diretrio relativos (por exemplo, ../my_classes ou .). Por padro, o caminho de classe global contm um caminho absoluto (o diretrio Classes no diretrio de configurao do usurio) e um caminho de classe relativo, indicado por um nico ponto (.), que aponta para o diretrio de documentos atual. Saiba que os caminhos de classe relativos podem apontar para diretrios diferentes, dependendo do local do documento que est sendo compilado ou publicado. Para obter mais informaes, consulte Caminhos de classe globais e em nvel de documento na pgina 179.
Para modificar o caminho de classe global:
1 Selecione Edit > Preferences para abrir a caixa de dilogo Preferences. 2 Clique na guia ActionScript e no boto ActionScript 2.0 Settings (Configuraes do
ActionScript 2.0). 3 Utilize um dos seguintes procedimentos: Para adicionar um diretrio ao caminho de classe, clique no boto Browse to Path (Navegar at caminho), navegue at o diretrio que deseja adicionar e clique em OK. A alternativa clicar no boto Add New Path para adicionar uma nova linha lista de caminhos de classe. Clique duas vezes na nova linha, digite um caminho relativo ou absoluto e clique em OK. Para editar um diretrio de caminho de classe existente, selecione o caminho na lista Classpath, clique no boto Browse to Path, navegue at o diretrio que deseja adicionar e clique em OK. A alternativa clicar duas vezes no caminho na lista Classpath, digitar o caminho desejado e clicar em OK. Para excluir um diretrio do caminho de classe, selecione o caminho na lista Classpath e clique no boto Remove from Path (Remover do caminho).
180
1 Selecione File > Publish Settings para abrir a caixa de dilogo Publish Settings. 2 Clique na guia Flash. 3 Clique no boto Settings perto do menu pop-up ActionScript Version (Verso do
ActionScript).
4 Utilize um dos seguintes procedimentos:
Para adicionar um diretrio ao caminho de classe, clique no boto Browse to Path (Navegar at caminho), navegue at o diretrio que deseja adicionar e clique em OK. A alternativa clicar no boto Add New Path para adicionar uma nova linha lista de caminhos de classe. Clique duas vezes na nova linha, digite um caminho relativo ou absoluto e clique em OK. Para editar um diretrio de caminho de classe existente, selecione o caminho na lista Classpath, clique no boto Browse to Path, navegue at o diretrio que deseja adicionar e clique em OK. A alternativa clicar duas vezes no caminho na lista Classpath, digitar o caminho desejado e clicar em OK. Para excluir um diretrio do caminho de classe, selecione o caminho na lista Classpath e clique no boto Remove from Path (Remover do caminho).
Usando pacotes
Voc pode organizar os arquivos de classe do ActionScript em pacotes. Um pacote um diretrio que contm um ou mais arquivos de classe e reside em um diretrio determinado do caminho da classe. (Consulte Noes bsicas de caminho de classe na pgina 179.) Um pacote pode, por sua vez, conter outros pacotes, chamados subpacotes, cada um com seus prprios arquivos de classe. Nomes de pacotes podem ser identificadores; ou seja, o primeiro caractere deve ser uma letra, sublinhado (_) ou cifro ($) e os caracteres seguinte devem ser letra, nmero, sublinhado ou cifro. Os pacotes normalmente so usados para organizar classes relacionadas. Por exemplo, voc pode ter trs classes relacionadas, Square, Circle e Triangle, que so definidas em Square.as, Circle.as e Triangle.as. Suponha que voc tenha salvo os arquivos AS em um diretrio especificado no caminho de classe.
// Em Square.as: class Square {} // Em Circle.as: class Circle {} // Em Triangle.as: class Triangle {}
Como esses trs arquivos de classe esto relacionados, voc pode decidir coloc-los em um pacote (diretrio) chamado Shapes. Nesse caso, o nome de classe totalmente qualificado conter o caminho do pacote e o nome da classe simples. Os caminhos do pacote so denotados com a sintaxe de ponto, na qual cada ponto indica um subdiretrio.
Usando pacotes
181
Por exemplo, se voc tivesse colocado no diretrio Shapes cada arquivo AS que define uma forma, seria necessrio alterar o nome de cada arquivo de classe para refletir o novo local, da seguinte maneira:
// Em Shapes/Square.as: class Shapes.Square {} // Em Shapes/Circle.as: class Shapes.Circle {} // Em Shapes/Triangle.as: class Shapes.Triangle {}
Para fazer referncia a uma classe que se encontra em um diretrio de pacotes, voc poder especificar seu nome de classe totalmente qualificado ou importar o pacote usando a instruo import (veja a seguir).
Importando classes
Para fazer referncia a uma classe em outro script, voc deve prefixar o nome da classe com o caminho do pacote de classe. A combinao do nome de uma classe e o caminho do pacote o nome de classe totalmente qualificado da classe. Se uma classe estiver em um diretrio do caminho de classe de nvel superior, e no em um subdiretrio do diretrio do caminho de classe, seu nome de classe totalmente qualificado ser o nome da classe. Para especificar os caminhos do pacote, use a notao de ponto para separar os nomes de diretrios do pacote. Os caminhos do pacote so hierrquicos, nos quais cada ponto representa um diretrio aninhado. Por exemplo, suponha que voc tenha criado uma classe chamada Data que se encontre em com/network/ package no caminho de classe. Para criar uma instncia dessa classe, voc pode especificar o nome de classe totalmente qualificado, da seguinte maneira:
var dataInstance = new com.network.Data();
Voc tambm pode usar o nome de classe totalmente qualificado para digitar as suas variveis:
var dataInstance:com.network.Data = new Data();
Voc pode usar a instruo import para importar pacotes para um script, o que permite usar o nome abreviado de uma classe em vez de seu nome de classe totalmente qualificado. Pode tambm usar o caractere curinga (*) para importar todas as classes de um pacote. Por exemplo, suponha que voc tenha criado uma classe chamada UserClass que esteja includa no caminho do diretrio de pacotes macr/util/users:
// No arquivo macr/util/users/UserClass.as class macr.util.users.UserClass { ... }
Suponha que, em outro script, voc tenha importado essa classe da maneira a seguir usando a instruo import:
import macr.util.users.UserClass;
Depois, no mesmo script, voc pode fazer referncia a essa classe pelo seu nome abreviado:
var myUser:UserClass = new UserClass();
182
Voc tambm pode usar o caractere curinga (*) para importar todas as classes de um pacote especfico. Por exemplo, suponha que voc tenha um pacote chamado macr.util com dois arquivos de classe do ActionScript, foo.as e bar.as. Em outro script, voc pode importar as duas classes desse pacote usando o caractere curinga, da maneira mostrada a seguir.
import macr.util.*;
No mesmo script, voc pode fazer referncia classe foo ou bar diretamente.
var myFoo:foo = new foo(); var myBar:bar = new bar();
A instruo import aplica-se apenas ao script atual (quadro ou objeto) no qual ela chamada. Se uma classe importada no for utilizada em um script, ela no ser includa no bytecode do arquivo SWF resultante e no estar disponvel para os arquivos SWF que podero vir a ser importados pelo arquivo FLA atravs de uma instruo import . Para obter mais informaes, consulte import na pgina 455.
Em vez de permitir que instncias da classe acessem diretamente essa propriedade (obj.userName = "Jody", por exemplo), a classe pode ter dois mtodos, getUserName e setUserName, que sero implementados da seguinte maneira:
function getUserName:String() { return userName; } function setUserName(name:String): { userName = name; }
Como voc pode ver, getUserName retorna o valor atual de userName, e setUserName define o valor de userName como o parmetro da seqncia de caracteres passado para o mtodo. Uma instncia da classe usar a seguinte sintaxe para obter ou definir a propriedade userName.
// chamando o mtodo "get" var name = obj.getUserName(); // chamando o mtodo "set" obj.setUserName("Jody");
Entretanto, se voc quiser usar uma sintaxe mais concisa, dever usar os mtodos get/set implcitos. Os mtodos get/set implcitos permitem acessar as propriedades da classe de uma maneira direta e, ao mesmo tempo, manter-se de acordo com os princpios da OOP. Para definir esses mtodos, use os atributos de mtodo get e set. Voc cria mtodos que obtm ou definem o valor de uma propriedade e adiciona a palavra-chave get ou set antes do nome do mtodo.
183
function get user():String { return userName; } function set user(name:String):Void { userName = name; }
Um mtodo get no deve ter parmetros. Um mtodo set deve ter exatamente um parmetro obrigatrio. Um mtodo set pode ter o mesmo nome de um mtodo get no mesmo escopo. Os mtodos get/set no podem ter o mesmo nome de outras propriedades. Por exemplo, no cdigo do exemplo anterior que define os mtodos get e set chamados user, voc no pode ter tambm uma propriedade chamada user na mesma classe. Ao contrrio dos mtodos simples, os mtodos get/set so chamados sem parnteses ou argumentos. Por exemplo, agora possvel usar a sintaxe a seguir para acessar ou modificar o valor de userName com os mtodos get/set definidos anteriormente.
var name = obj.user; obj.user = "Jack"; Observao: Os mtodos get/set implcitos so abreviaes sintticas do mtodo Object.addProperty() do ActionScript 1.
Se, em outro script, voc criar uma instncia da classe Person e tentar acessar uma propriedade da classe que no existe, o compilador gerar um erro. Por exemplo, o cdigo a seguir cria uma nova instncia da classe Person (a_person) e tenta atribuir um valor a uma propriedade chamada hairColor, que no existe.
var a_person:Person = new Person(); a_person.hairColor = "blue"; // erro do compilador
Esse cdigo gera um erro do compilador porque a classe Person no declarou uma propriedade chamada hairColor. Na maioria dos casos, exatamente isso que voc deseja que acontea. Em alguns casos, entretanto, voc pode adicionar e acessar propriedades ou mtodos de uma classe durante a execuo, que no foram definidos na classe original. O modificador de classe dynamic permite que voc faa exatamente isso. Por exemplo, o cdigo a seguir adiciona o modificador dynamic classe Person discutida anteriormente:
dynamic class Person { var name:String; var age:Number; }
184
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
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.
185
186
PARTE IV
Esta parte descreve como incorporar mdia e dados externos aos aplicativos do Macromedia Flash. Captulo 10: Trabalhando com dados externos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Captulo 11: Trabalhando com mdia externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
No Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004, voc pode usar o ActionScript para carregar dados de origens externas em um arquivo SWF. Tambm possvel enviar dados de um arquivo SWF para processamento atravs de um servidor de aplicativos (como o Macromedia ColdFusion MX ou o Macromedia JRun) ou outro tipo de script de servidor, como PHP ou Perl. O Flash Player pode enviar e carregar dados atravs do HTTP, HTTPS ou de um arquivo de texto local. Voc pode criar conexes persistentes de soquete TCP/IP para aplicativos que exijam baixa latncia, por exemplo, aplicaes de bate-papo ou um servio de cotao de aes. possvel formatar os dados carregados ou enviados de um arquivo SWF como XML (Extensible Markup Language, Linguagem de marcao extensvel) ou como pares nome/valor. O Flash Player tambm pode enviar e receber dados do ambiente de host, um navegador da Web, por exemplo, ou de outra instncia do Flash Player no mesmo computador. Por padro, um arquivo SWF s pode acessar dados residentes no mesmo domnio (por exemplo, www.macromedia.com) no qual o filme do Flash foi originado. Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 201.
189
Vrias funes e mtodos do ActionScript permitem passar informaes para/de um arquivo SWF. Cada funo ou mtodo usa um protocolo para transferir as informaes e requer que elas sejam formatadas de uma determinada maneira.
As funes e os mtodos de MovieClip que usam o protocolo HTTP ou HTTPS para enviar
informaes em um formato de cdigo URL so getURL(), loadVariables(), loadVariablesNum(), loadMovie() e loadMovieNum(). Os mtodos LoadVars que usam o protocolo HTTP ou HTTPS para enviar e carregar informaes em formato de cdigo URL so load(), send() e sendAndLoad(). Os mtodos que usam o protocolo HTTP ou HTTPS para enviar e carregar informaes como XML so XML.send(), XML.load() e XML.sendAndLoad(). Os mtodos que criam e usam uma conexo de soquete TCP/IP para enviar e carregar informaes como XML so XMLSocket.connect() e XMLSocket.send().
Verificando os dados carregados Todas as funes ou mtodos que carregam dados em um arquivo SWF (exceto XMLSocket.send()) so assncronas: os resultados da ao so retornados em um momento indeterminado. Antes de usar dados carregados em um arquivo SWF, verifique se eles foram realmente carregados. Por exemplo, no possvel carregar variveis e manipular seus valores no mesmo script. No script a seguir, voc s poder usar a varivel lastFrameVisited aps verificar se ela foi carregada do arquivo myData.txt:
loadVariables("myData.txt", 0); gotoAndPlay(lastFrameVisited);
Cada funo ou mtodo possui uma tcnica especfica que pode ser usada para verificar os dados que foram carregados. Se voc usar loadVariables() ou loadMovie(), poder carregar informaes em um destino de clipe de filme e usar o evento data do manipulador onClipEvent() para executar um script. Se voc usar loadVariables() para carregar os dados, o manipulador onClipEvent(data) ser executado quando a ltima varivel for carregada. Se voc usar loadMovie() para carregar os dados, o manipulador onClipEvent(data) ser executado sempre que um fragmento do arquivo SWF for enviado ao Flash Player. Por exemplo, a ao do boto a seguir carrega as variveis do arquivo myData.txt no clipe de filme loadTargetMC:
on (release) { loadVariables("myData.txt", _root.loadTargetMC); }
Um manipulador onClipEvent() atribudo instncia loadTargetMC usa a varivel lastFrameVisited, que carregada a partir do arquivo myData.txt. A ao a seguir s ser executada aps todas as variveis, incluindo lastFrameVisited, serem carregadas:
onClipEvent(data) { goToAndPlay(lastFrameVisited); }
190
Se voc usar os mtodos XML.load(), XML.sendAndLoad() e XMLSocket.connect(), dever definir um manipulador para processar os dados quando eles chegarem. Um manipulador uma propriedade do objeto XML ou XMLSocket qual voc atribui uma funo definida. Os manipuladores so chamados automaticamente quando as informaes so recebidas. Para o objeto XML, use XML.onLoad() ou XML.onData(). Para o objeto XMLSocket, use XMLSocket.onConnect(). Para obter mais informaes, consulte Usando a classe XML na pgina 194 e Usando a classe XMLSocket na pgina 197. Usando HTTP para conectar a scripts do servidor As funes loadVariables(), loadVariablesNum(), getURL(), loadMovie() e loadMovieNum() e os mtodos MovieClip.loadVariables(), MovieClip.loadMovie() e MovieClip.getURL() podem se comunicar com scripts de servidor atravs de protocolos HTTP ou HTTPS. Essas funes enviam todas as variveis da Timeline (Linha do tempo) s quais elas esto anexadas. Quando usadas como mtodos do objeto MovieClip, as funes loadVariables(), getURL() e loadMovie() enviam todas as variveis do clipe de filme especificado. Cada funo (ou mtodo) manipula sua resposta da seguinte maneira:
retorna todas as informaes para uma janela do navegador e no para o Flash Player. loadVariables() carrega as variveis em uma Timeline ou em um nvel especificado do Flash Player. loadMovie() carrega um arquivo SWF em um nvel especificado ou um clipe de filme no Flash Player.
getURL()
o arquivo onde residem as variveis remotas. Local o nvel ou o destino no arquivo SWF que recebe as variveis. (A funo getURL() no requer esse parmetro.) Para obter mais informaes sobre nveis e destinos, consulte Multiple Timelines and levels (Vrias linhas de tempo e nveis) no Using Flash Help (Ajuda de Usando o Flash). Variables define o mtodo HTTP, GET ou POST, atravs do qual as variveis sero enviadas. Quando omitido, o Flash Player adota como padro GET, mas nenhuma varivel enviada.
URL
Por exemplo, para controlar as pontuaes mais altas de um jogo, voc pode armazen-las em um servidor e usar uma funo loadVariables() para carreg-las no arquivo SWF sempre que algum jogar o jogo. A chamada de funo seria:
loadVariables("http://www.mySite.com/scripts/high_score.php", _root.scoreClip, GET);
Essa ao carrega as variveis do script PHP chamado high_score.php na instncia de clipe de filme scoreClip usando o mtodo HTTP GET.
191
Todas as variveis carregadas com a funo loadVariables() devem estar no formato padro de aplicativo MIME/x-www-form-urlencoded (um formato padro usado pelos scripts CGI). O arquivo especificado no parmetro URL de loadVariables() deve criar os pares de valores e de variveis nesse formato para que o Flash possa l-los. O arquivo pode especificar qualquer nmero de variveis; os pares de valores e de variveis devem ser separados com um E comercial (&) e as palavras dentro de um valor devem ser separadas com um sinal de mais (+). Por exemplo, esta frase define diversas variveis:
highScore1=54000&playerName1=rockin+good&highScore2=53455&playerName2= bonehelmet&highScore3=42885&playerName3=soda+pop
Para obter mais informaes, consulte loadVariables() na pgina 482, getURL() na pgina 446, loadMovie() na pgina 479 e a entrada Classe LoadVars em Captulo 12, Dicionrio do ActionScript, na pgina 219. Usando a classe LoadVars Para transferir variveis entre um arquivo SWF e um servidor, use a classe LoadVars em vez da funo loadVariables() . A classe LoadVars permite enviar todas as variveis de um objeto para um URL especificado e carregar todas as variveis de um URL especificado em um objeto. A resposta do servidor ativa o mtodo LoadVars.onLoad() e define as variveis no destino. Use LoadVars para obter informaes de erro e indicaes de andamento, e para criar um fluxo de dados durante o download. A classe LoadVars semelhante classe XML; ela usa os mtodos load(), send() e sendAndLoad() para iniciar a comunicao com o servidor. A principal diferena entre as classes LoadVars e XML que os dados de LoadVars so uma propriedade do objeto LoadVars, em vez de uma rvore DOM (Document Object Model, Modelo de objetos de documentos) XML armazenada no objeto XML. Voc precisa criar um objeto LoadVars para chamar seus mtodos. Esse objeto um recipiente que mantm os dados carregados. O procedimento a seguir mostra como usar um objeto LoadVars para carregar variveis de um arquivo de texto e exibi-las em um campo de texto.
Para carregar dados com o objeto LoadVars:
2 Salve o arquivo como date.txt. 3 No Flash, crie um documento. 4 Crie um campo de texto dinmico no Stage (Palco) e atribua a ele o nome de instncia
date_txt.
(Janela) > Development Panels (Painis de desenvolvimento) > Actions, caso ainda no esteja aberto.
192
Esse cdigo carrega as variveis de date.txt (day, month, year) e, em seguida, formata-as e exibe-as no campo de texto date_txt. 7 Salve o documento como dateReader.fla no mesmo diretrio de date.txt (o arquivo de texto que voc salvou na etapa 3). 8 Selecione Control (Controlar) > Test Movie (Testar filme) para testar o documento. Para obter mais informaes, consulte a entrada Classe LoadVars no Captulo 12, Dicionrio do ActionScript, na pgina 219. Sobre XML O XML (Extensible Markup Language) est se tornando o padro para o intercmbio de dados estruturados em aplicativos de Internet. possvel integrar dados no Flash com servidores que usam a tecnologia XML para criar aplicativos sofisticados, como sistemas de bate-papo ou de corretagem. No XML, assim como no HTML, use marcas para marcar ou especificar um corpo de texto. No HTML, use as marcas predefinidas para indicar como o texto deve aparecer no navegador da Web (por exemplo, a marca <b> indica que o texto deve estar em negrito). No XML, defina as marcas que identificam o tipo dos dados (por exemplo, <password>VerySecret</password>). O XML separa a estrutura das informaes da forma como elas so exibidas, de modo que o mesmo documento XML possa ser usado e reutilizado em ambientes diferentes. Toda marca XML chamada de n ou elemento. Cada n possui um tipo (1, que indica um elemento XML, ou 3, que indica um n de texto), e os elementos tambm podem ter atributos. Um n aninhado em outro n denominado n-filho. Essa estrutura de rvore hierrquica de ns denominada DOM XML, semelhante ao DOM JavaScript, que a estrutura de elementos de um navegador da Web.
<HOLDING>,
No exemplo a seguir, <PORTFOLIO> o n-pai; ele no possui atributo algum e contm o n-filho que possui os atributos SYMBOL, QTY, PRICE e VALUE:
193
Usando a classe XML Os mtodos da classe ActionScript XML (por exemplo, appendChild(), removeNode() e permitem estruturar os dados XML no Flash para envi-los a um servidor e para manipular e interpretar os dados XML descarregados.
insertBefore())
Os mtodos da classe XML a seguir enviam e carregam dados XML em um servidor usando o mtodo POST HTTP:
Por exemplo, possvel criar um sistema de corretagem para a venda de ttulos que armazene todas as informaes (nomes de usurios, senhas, identificaes de sesses, ttulos em carteira e informaes sobre transaes) em um banco de dados. O script do servidor que transfere as informaes entre o Flash e o banco de dados l e grava os dados no formato XML. O ActionScript pode ser usado para converter as informaes obtidas no arquivo SWF (por exemplo, um nome de usurio e uma senha) em um objeto XML e, em seguida, enviar os dados para o script de servidor como um documento XML. Voc tambm pode usar o ActionScript para carregar o documento XML retornado pelo servidor em um objeto XML para ser usado no arquivo SWF.
loginReplyXML loginXML
documento XML documento XML Resposta Solicitao SQL
Script de servidor
username Jean Smith password
Banco de dados
Submit
Filme do Flash
O fluxo e a converso de dados entre um filme do Flash, um script do servidor e um banco de dados A validao da senha no sistema de corretagem requer dois scripts: uma funo definida no Frame 1 e um script que cria e envia os objetos XML anexados ao boto Submit (Submeter) no formulrio. Quando os usurios inserem suas informaes em campos de texto no arquivo SWF com as variveis username e password, essas variveis devem ser convertidas em XML antes de serem passadas para o servidor. A primeira seo do script carrega as variveis em um objeto XML criado recentemente chamado loginXML. Quando o usurio clica no boto Submit, o objeto loginXML convertido em uma seqncia de caracteres do XML e enviado para o servidor.
194
O script a seguir anexado ao boto Submit. Para compreender esse script, leia as linhas de comentrio (indicadas pelos caracteres //):
on (release) { // A. Cria um documento XML com um elemento LOGIN loginXML = new XML(); loginElement = loginXML.createElement("LOGIN"); loginElement.attributes.username = username; loginElement.attributes.password = password; loginXML.appendChild(loginElement); // B. Cria um objeto XML para armazenar a resposta do servidor loginReplyXML = new XML(); loginReplyXML.onLoad = onLoginReply; // C. Envia o elemento LOGIN para o servidor, // coloca a resposta em loginReplyXML loginXML.sendAndLoad("https://www.imexstocks.com/main.cgi", loginReplyXML); }
A primeira seo do script gera o seguinte XML quando o usurio clica no boto Submit (Submeter):
<LOGIN USERNAME="JeanSmith" PASSWORD="VerySecret" />
O servidor recebe o XML, gera uma resposta XML e envia-a de volta ao arquivo SWF. Se a senha for aceita, o servidor responder da seguinte maneira:
<LOGINREPLY STATUS="OK" SESSION="rnr6f7vkj2oe14m7jkkycilb" />
Esse XML inclui um atributo SESSION que contm a identificao de uma sesso exclusiva, gerada aleatoriamente, que ser usada em todas as comunicaes entre o cliente e o servidor no restante da sesso. Se a senha for rejeitada, o servidor responder com a seguinte mensagem:
<LOGINREPLY STATUS="FAILED" />
O n XML LOGINREPLY deve ser carregado em um objeto XML limpo no arquivo SWF. A instruo a seguir cria o objeto XML loginreplyXML para receber o n XML:
// B. Cria um objeto XML para armazenar a resposta do servidor loginReplyXML = new XML(); loginReplyXML.onLoad = onLoginReply;
195
O elemento XML LOGINREPLY chega de modo assncrono, de maneira semelhante aos dados de uma funo loadVariables() e carregado no objeto loginReplyXML. Quando os dados chegam, o manipulador onLoad do objeto loginReplyXML chamado. Voc deve definir a funo onLoginReply() e atribu-la ao manipulador loginReplyXML.onLoad para que processe o elemento LOGINREPLY. Alm disso, deve atribuir a funo onLoginReply() ao quadro que contm o boto Submit (Submeter).
A funo onLoginReply() definida no primeiro quadro do arquivo SWF. (Para compreender esse script, leia as linhas de comentrio.)
196
function onLoginReply() { // Obtm o primeiro elemento XML var e = this.firstChild; // Se o primeiro elemento XML for um elemento LOGINREPLY com // status OK, vai para a tela do portflio. Caso contrrio, // vai para a tela de falha de login e permite que o usurio tente novamente. if (e.nodeName == "LOGINREPLY" && e.attributes.status == "OK") { // Salva a identificao de sesso para comunicao futura com o servidor sessionID = e.attributes.session; // Vai para a tela de exibio do portflio gotoAndStop("portfolioView"); else { // Falha no login! Vai para a tela de falha de login. gotoAndStop("loginFailed"); } }
A primeira linha dessa funo, var e = this.firstChild, usa a palavra-chave this para se referir ao objeto XML loginReplyXML que acabou de ser carregado com o XML do servidor. possvel usar this porque onLoginReply() foi chamada como loginReplyXML.onLoad; portanto, embora onLoginReply() seja aparentemente uma funo simples, ela se comporta realmente como um mtodo de loginReplyXML. Para enviar para o servidor o nome de usurio e a senha como XML e carregar uma resposta XML para o arquivo SWF, use o mtodo sendAndLoad(), conforme mostrado a seguir:
// C. Envia o elemento LOGIN para o servidor, // coloca a resposta em loginReplyXML loginXML.sendAndLoad("https://www.imexstocks.com/main.cgi", loginReplyXML); Observao: Esse design apenas um exemplo, e a Macromedia no oferece garantia alguma quanto ao nvel de segurana proporcionado. Se voc estiver implementando um sistema seguro protegido por senha, dever ter um bom conhecimento de segurana de rede.
Para obter mais informaes, consulte Integrating XML and Flash in a Web Application (Integrando XML e o Flash em um aplicativo da Web) em www.macromedia.com/support/flash/ interactivity/xml/ e a entrada Classe XML no Captulo 12, Dicionrio do ActionScript, na pgina 219. Usando a classe XMLSocket O ActionScript dispe de uma classe XMLSocket interna que permite a abertura de uma conexo contnua com um servidor. Uma conexo de soquete permite que o servidor publique (ou envie) informaes para o cliente assim que elas estejam disponveis. Sem uma conexo contnua, o servidor deve aguardar uma solicitao HTTP. Essa conexo aberta elimina os problemas de latncia e normalmente usada para aplicativos em tempo real, como aplicativos de bate-papo. Os dados so enviados atravs da conexo de soquete como uma nica seqncia de caracteres e devem estar no formato XML. Voc pode usar a classe XML para estruturar os dados. Para criar uma conexo de soquete, necessrio criar um aplicativo do servidor para aguardar a solicitao dessa conexo e enviar uma resposta ao arquivo SWF. possvel criar esse tipo de aplicativo de servidor em uma linguagem de programao, como Java. Voc pode usar os mtodos connect() e send() da classe XMLSocket para transferir XML para/de um servidor atravs de uma conexo de soquete. O mtodo connect() estabelece uma conexo de soquete com uma porta do servidor da Web. O mtodo send() envia um objeto XML para o servidor especificado na conexo de soquete.
197
Quando voc chama o mtodo connect(), o Flash Player abre uma conexo TCP/IP com o servidor e mantm a conexo aberta at que ocorra uma das seguintes situaes:
O mtodo close() da classe XMLSocket chamado. No existe mais nenhuma referncia ao objeto XMLSocket. O Flash Player encerrado. A conexo interrompida (por exemplo, o modem desconectado).
O exemplo a seguir cria uma conexo de soquete XML e envia os dados do objeto XML myXML. Para compreender o script, leia as linhas de comentrio (indicadas pelos caracteres //):
// Cria um novo objeto XMLSocket sock = new XMLSocket(); // Chama o seu mtodo connect() para estabelecer uma conexo com a porta 1024 // do servidor no URL sock.connect("http://www.myserver.com", 1024); // Define uma funo para atribuir o objeto de soquete que manipula a // resposta do servidor. Se a conexo for bem sucedida, envia o // objeto myXML. Se falhar, fornece uma mensagem de erro em um campo // de texto. function onSockConnect(success){ if (success) { sock.send(myXML); else { msg="There has been an error connecting to "+serverName; } } // Atribui a funo onSockConnect() propriedade onConnect sock.onConnect = onSockConnect;
Para obter mais informaes, consulte a entrada Classe XMLSocket no Captulo 12, Dicionrio do ActionScript, na pgina 219.
198
Usando fscommand() Use a funo fscommand() para enviar uma mensagem para qualquer programa que esteja hospedando o Flash Player. A funo fscommand() tem dois parmetros: command e arguments. Para enviar uma mensagem para a verso independente do Flash Player, use comandos e argumentos predefinidos. Por exemplo, a ao a seguir faz com que o exibidor independente dimensione o arquivo SWF para o tamanho de tela cheia quando o usurio solta o boto:
on (release) { fscommand("fullscreen", "true"); }
A tabela a seguir mostra os valores que podem ser especificados para os parmetros command e arguments da funo fscommand() a fim de controlar um arquivo SWF que esteja sendo reproduzido no exibidor independente (incluindo projetores):
Command
quit fullscreen
Arguments Nenhum
true ou false
Objetivo Fecha o projetor. A especificao de true define o Flash Player no modo de tela cheia. A especificao de false retorna o exibidor para a exibio normal de menu. O valor false define o exibidor para que ele sempre desenhe o arquivo SWF em seu tamanho original e nunca redimensionado. O valor true fora o arquivo SWF a ser redimensionado para a escala de 100% do exibidor. A especificao de true ativa o conjunto completo de itens do menu de contexto. A especificao de false torna esmaecidos todos os itens do menu de contexto, exceto Settings (Configuraes) e About Flash Player (Sobre o Flash Player).
allowscale
true ou false
showmenu
true ou false
exec
Para usar fscommand() para enviar uma mensagem para uma linguagem de script como JavaScript em um navegador da Web, passe dois parmetros quaisquer em command e arguments. Esses parmetros podem ser seqncias de caracteres ou expresses e sero usados em uma funo JavaScript que captura, ou manipula, a funo fscommand(). Uma funo fscommand() chama a funo JavaScript moviename_DoFSCommand na pgina HTML que incorpora o arquivo SWF, onde moviename o nome do Flash Player atribudo pelo atributo NAME da marca EMBED ou pelo atributo ID da marca OBJECT. Se o nome atribudo ao Flash Player for myMovie, a funo JavaScript chamada ser myMovie_DoFSCommand.
199
Para usar fscommand() a fim de abrir uma caixa de mensagem em um arquivo SWF na pgina HTML atravs de JavaScript:
1 Na pgina HTML que incorpora o arquivo SWF, adicione o seguinte cdigo JavaScript:
function theMovie_DoFSCommand(command, args) { if (command == "messagebox") { alert(args); } }
Na publicao do arquivo SWF que usa o Flash com o modelo FSCommand na caixa de dilogo HTML Publish Settings (Configuraes de publicao HTML), esse cdigo ser inserido automaticamente. Os atributos NAME e ID do arquivo SWF sero o nome do arquivo. Por exemplo, para o arquivo myMovie.fla, os atributos sero definidos como myMovie. Para obter mais informaes sobre publicao, consulte Publishing (Publicao) no Using Flash Help (Usando a Ajuda do Flash). Como alternativa, nos aplicativos do Microsoft Internet Explorer, possvel anexar um manipulador de eventos na marca <SCRIPT>, como mostrado neste exemplo:
<Script Language = "JavaScript" event="FSCommand (comando, args)" for= "theMovie"> ... </Script>
exemplo:
on(press){ fscommand("messagebox", "This is a message box invoked from within Flash."); }
Alm disso, possvel usar expresses para fscommand() e parmetros, como no exemplo a seguir:
fscommand("messagebox", "Hello, " + name + ", welcome to our website!")
3 Escolha File (Arquivo) > Publish Preview (Visualizar publicao) > HTML para testar o
documento. A funo fscommand() pode enviar mensagens ao Macromedia Director que so interpretadas pelo Lingo como seqncias de caracteres, eventos ou cdigo Lingo executvel. Se a mensagem for uma seqncia de caracteres ou um evento, voc dever criar o cdigo Lingo para receb-la a partir da ao fscommand() e executar uma ao no Director. Para obter mais informaes, consulte o Director Support Center (Centro de suporte do Director) em www.macromedia.com/ support/director. No Visual Basic, Visual C++ e em outros programas que podem hospedar controles ActiveX,
fscommand() envia um evento VB com duas seqncias de caracteres que podem ser manipuladas
na linguagem de programao do ambiente. Para obter mais informaes, use as palavras-chave Flash method e faa uma pesquisa no Flash Support Center (Centro de suporte do Flash) em www.macromedia.com/go/flash_support_br.
200
Sobre os mtodos do Flash Player Voc pode usar os mtodos do Flash Player para controlar um arquivo SWF no Flash Player a partir de linguagens de script de navegador da Web, como JavaScript e VBScript. Como ocorre em outros mtodos, possvel usar os mtodos do Flash Player para enviar chamadas aos arquivos SWF do Flash a partir de um ambiente de script diferente do ActionScript. Cada mtodo possui um nome, e a maioria dos mtodos contm parmetros. Um parmetro especifica o valor com que o mtodo opera. O clculo executado por alguns mtodos retorna um valor que pode ser usado pelo ambiente de script. H duas tecnologias distintas que permitem a comunicao entre o navegador e o Flash Player: LiveConnect (Netscape Navigator 3.0 ou posterior no Windows 95/98/2000/NT ou Power Macintosh) e ActiveX (Internet Explorer 3.0 e posterior no Windows 95/98/2000/NT). Embora as tcnicas de script sejam semelhantes para todos os navegadores e linguagens, h propriedades e eventos adicionais disponveis para uso com os controles ActiveX. Para obter mais informaes, inclusive uma lista completa dos mtodos de script do Flash Player, use as palavras-chave Flash method para fazer uma busca no Flash Support Center (Centro de suporte do Flash) em www.macromedia.com/go/flash_support_br. Sobre o uso de mtodos do Flash JavaScript com o Flash Player O Flash Player 6 verso 40 e posteriores oferece suporte aos mtodos do Flash JavaScript e ao FSCommand no Netscape 6.2 e verses posteriores. As verses anteriores no oferecem suporte aos mtodos do Flash JavaScript e ao FSCommand no Netscape 6.2 ou verses posteriores. Para o Netscape 6.2 e verses posteriores, no necessrio definir swLiveConnect como true. Entretanto, a definio de swLiveConnect como true no tem efeitos adversos.
201
Para obter informaes sobre como permitir que um arquivo SWF de um domnio acesse dados, objetos e variveis de arquivos SWF de outro domnio, consulte Como permitir acesso a dados entre arquivos SWF de domnios diferentes na pgina 202. Para obter informaes sobre como permitir que um arquivo SWF de um domnio com protocolo seguro (HTTPS) acesse dados, objetos e variveis de arquivos SWF de domnios que usam protocolos inseguros, consulte Sobre a permisso para que arquivos SWF em protocolo HTTP acessem arquivos SWF em HTTPS na pgina 203. Para obter informaes sobre como permitir que um arquivo SWF de um domnio carregue dados (usando loadVariables(), por exemplo) de outro domnio, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Para obter informaes sobre como essas alteraes de segurana afetam o contedo criado no Flash MX e verses anteriores, consulte Sobre compatibilidade com os modelos de segurana anteriores do Flash Player na pgina 205. Como permitir acesso a dados entre arquivos SWF de domnios diferentes Um arquivo SWF pode carregar outro arquivo SWF de qualquer local da Internet. Contudo, para que dois arquivos SWF possam acessar os dados correspondentes (variveis e objetos), os dois arquivos devem ser provenientes do mesmo domnio. Por padro, no Flash Player 7 e verses posteriores, os dois domnios devem ser exatamente iguais para que os dois arquivos possam compartilhar os dados. Entretanto, um arquivo SWF pode conceder acesso a arquivos SWF de domnios especficos, chamando LocalConnection.allowDomain ou System.security.allowDomain(). Por exemplo, suponha que o arquivo main.swf esteja disponvel a partir de www.macromedia.com. Em seguida, esse arquivo SWF carrega outro arquivo SWF (data.swf ) de data.macromedia.com em uma instncia de clipe de filme (target_mc).
// Em macromedia.swf target_mc.loadMovie("http://data.macromedia.com/data.swf");
Alm disso, suponha que data.swf defina um mtodo chamado getData() em sua Timeline principal. Por padro, main.swf no pode chamar o mtodo getData() definido em data.swf depois que esse arquivo tiver sido carregado. Isso ocorre porque os dois arquivos SWF no residem no mesmo domnio. Por exemplo, ocorrer uma falha na chamada de mtodo a seguir em main.swf, caso data.swf tenha sido carregado.
// Em macromedia.swf, aps o carregamento de data.swf: target_mc.getData(); // Essa chamada de mtodo falhar
202
Entretanto, data.swf pode conceder acesso a arquivos SWF oriundos de www.macromedia.com usando o manipulador LocalConnection.allowDomain ou o mtodo System.security.allowDomain(), dependendo do tipo de acesso desejado. O cdigo a seguir, includo em data.swf, permite que um arquivo SWF disponibilizado a partir de www.macromedia.com acesse suas variveis e mtodos:
// No data.swf System.security.allowDomain("www.macromedia.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="www.macromedia.com"); }
Observe que allowDomain permite a qualquer arquivo SWF do domnio autorizado acessar qualquer arquivo SWF do domnio que permite o acesso, a menos que o arquivo SWF que esteja sendo acessado esteja hospedado em um site que usa um protocolo seguro (HTTPS). Neste caso, voc dever usar allowInsecureDomain em vez de allowDomain; consulte Sobre a permisso para que arquivos SWF em protocolo HTTP acessem arquivos SWF em HTTPS, a seguir. Para obter mais informaes sobre correspondncias de nomes de domnios, consulte Recursos de segurana do Flash Player na pgina 201. Sobre a permisso para que arquivos SWF em protocolo HTTP acessem arquivos SWF em HTTPS Conforme discutido na seo anterior, voc deve usar um manipulador ou mtodo allowDomain para permitir que um arquivo SWF de um domnio seja acessado por um arquivo SWF de outro domnio. Entretanto, se o arquivo SWF que est sendo acessado estiver hospedado em um site que usa protocolo seguro (HTTPS), o manipulador ou mtodo allowDomain no permitir acesso a partir de um arquivo SWF hospedado em um site que usa um protocolo inseguro. Para permitir esse acesso, voc dever usar as instrues LocalConnection.allowInsecure Domain() ou System.security.allowInsecureDomain(). Por exemplo, se o arquivo SWF em https://www.someSite.com/data.swf tiver de permitir o acesso atravs de um arquivo SWF em http://www.someSite.com, o cdigo a seguir adicionado a data.swf permitir tal acesso:
// No data.swf System.security.allowInsecureDomain("www.someSite.com"); my_lc.allowInsecureDomain = function(sendingDomain) { return(sendingDomain=="www.someSite.com"); }
Sobre a autorizao de carga de dados entre domnios Um documento do Flash pode carregar dados de uma origem externa usando uma das seguintes chamadas de carregamento de dados: XML.load(), XML.sendAndLoad(), LoadVars.load(), LoadVars.sendAndLoad(), loadVariables(), loadVariablesNum(). Alm disso, um arquivo SWF pode importar bibliotecas compartilhadas em tempo de execuo ou recursos definidos em outro arquivo SWF durante a execuo. Por padro, os dados ou a mdia do SWF, no caso de bibliotecas compartilhadas em tempo de execuo, devem residir no mesmo domnio do SWF que est carregando esses dados ou mdia externos.
203
Para disponibilizar dados e recursos em bibliotecas compartilhadas em tempo de execuo para arquivos SWF em diferentes domnios, use um arquivo de diretivas entre domnios. Um arquivo de diretivas entre domnios um arquivo XML que fornece um modo ao servidor para indicar que seus dados e documentos esto disponveis aos arquivos SWF atendidos por determinados domnios ou por todos os domnios. Todos os arquivos SWF que so disponibilizados por um domnio especificado pelo arquivo de diretivas do servidor tero permisso para acessar os dados ou recursos daquele servidor. Quando um documento do Flash tenta acessar os dados de outro domnio, o Flash Player tenta automaticamente carregar um arquivo de diretivas daquele domnio. Se o domnio do documento do Flash que est tentando acessar os dados estiver includo no arquivo de diretivas, os dados ficaro automaticamente acessveis. Os arquivos de diretivas devem receber o nome crossdomain.xml e residir no diretrio raiz do servidor que est fornecendo os dados. Os arquivos de diretivas funcionam somente nos servidores que se comunicam atravs de HTTP, HTTPS ou FTP. O arquivo de diretivas especfico da porta e do protocolo do servidor onde ele reside. Por exemplo, um arquivo de diretivas localizado em https://www.macromedia.com:8080/ crossdomain.xml se aplicar somente s chamadas de carregamento de dados feitas a www.macromedia.com atravs do HTTPS na porta 8080. Uma exceo a essa regra o uso de um objeto XMLSocket para conectar a um servidor de soquete em outro domnio. Nesse caso, um servidor HTTP executado na porta 80 do mesmo domnio que o servidor de soquete deve fornecer o arquivo de diretivas para a chamada do mtodo. Um arquivo de diretivas XML contm uma nica marca <cross-domain-policy>, a qual, por sua vez, contm zero ou mais marcas <allow-access-from>. Cada marca <allow-access-from> contm um atributo, domain, que especifica um endereo IP exato, um domnio exato ou um domnio curinga (qualquer domnio). Os domnios curingas so indicados por um asterisco (*), que corresponde a todos os domnios e todos os endereos IP, ou por um asterisco seguido de um sufixo, que corresponde apenas aos domnios terminados com o sufixo especificado. Os sufixos devem ser iniciados com um ponto. Entretanto os domnios curingas com sufixos podem corresponder a domnios compostos somente pelo sufixo, sem o ponto inicial. Por exemplo, foo.com considerado como parte de *.foo.com. Os curingas no so permitidos nas especificaes de domnios IP. Se voc especificar um endereo IP, ser concedido acesso somente a arquivos SWF carregados a partir daquele endereo IP atravs da sintaxe IP (por exemplo, http://65.57.83.12/ flashmovie.swf ), e no para os carregados utilizando a sintaxe de nome de domnio. O Flash Player no executa a resoluo de DNS. A seguir fornecido um exemplo de arquivo de diretivas que permite acesso aos documentos do Flash provenientes de foo.com, friendOfFoo.com, *.foo.com e 105.216.0.40, a partir de um documento do Flash em foo.com:
<?xml version="1.0" ?> <!-- http://www.foo.com/crossdomain.xml --> <cross-domain-policy> <allow-access-from domain="www.friendOfFoo.com" /> <allow-access-from domain="*.foo.com" /> <allow-access-from domain="105.216.0.40" /> <cross-domain-policy>
204
Um arquivo de diretivas que no contenha marcas <allow-access-from> tem o mesmo efeito de no haver uma diretiva no servidor. Sobre compatibilidade com os modelos de segurana anteriores do Flash Player Em conseqncia das alteraes no recurso de segurana do Flash Player (consulte Recursos de segurana do Flash Player na pgina 201), o contedo que executado corretamente no Flash Player 6 ou nas verses anteriores pode no ser executado corretamente no Flash Player 7 ou verses posteriores. Por exemplo, no Flash Player 6, um arquivo SWF em www.macromedia.com podia acessar os dados de um servidor localizado em data.macromedia.com. Ou seja, o Flash Player 6 permitia que um arquivo SWF de um domnio carregasse dados de um domnio semelhante. No Flash Player 7 e verses posteriores, se um arquivo SWF da verso 6 (ou anterior) tentar carregar dados de um servidor em outro domnio, e esse servidor no fornecer um arquivo de diretivas que permita acesso a partir do domnio daquele arquivo SWF, ser exibida a caixa de dilogo Macromedia Flash Player Settings (Configuraes do Macromedia Flash Player). A caixa de dilogo solicita que o usurio autorize ou negue o acesso aos dados entre domnios.
Se o usurio clicar em Allow (Autorizar), o arquivo SWF ter permisso de acesso aos dados solicitados; se o usurio clicar em Deny (Negar), o arquivo SWF no ter permisso para acessar os dados solicitados. Para evitar que essa caixa de dilogo seja exibida, crie um arquivo de diretivas de segurana no servidor que est fornecendo os dados. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.
205
206
Se voc importar uma imagem ou um som durante a criao de um documento no Macromedia Flash MX 2004 ou no Macromedia Flash MX Professional 2004, a imagem e o som sero empacotados e armazenados no arquivo SWF na publicao do filme. Alm de importar mdia durante a criao, possvel carregar mdia externa durante a execuo. H diversos motivos para manter a mdia fora de um documento do Flash.
Reduzir o tamanho do arquivo Ao manter os grandes arquivos de mdia fora do documento do Flash e carreg-los durante a execuo, voc pode reduzir o tempo de download inicial dos aplicativos e apresentaes, principalmente em conexes lentas da Internet. Criar mdulos de apresentaes grandes Voc pode dividir uma apresentao ou um aplicativo grande em vrios arquivos SWF e depois carregar esses arquivos conforme necessrio durante a execuo. Isso no somente reduz o tempo de download inicial, como tambm facilita a manuteno e a atualizao do contedo da apresentao. Separar o contedo da apresentao Este um tema comum no desenvolvimento de aplicativos, principalmente aplicativos orientados a dados. Por exemplo, um aplicativo de carrinho de compras pode exibir uma imagem JPEG de cada produto. Ao carregar os arquivos JPEG de cada imagem durante a execuo, voc pode atualizar facilmente a imagem de um produto sem modificar o arquivo FLA original. Aproveitar os recursos especficos de tempo de execuo Alguns recursos, como fluxo de FLV e reproduo de MP3, s esto disponveis durante a execuo atravs do ActionScript.
207
Para reproduzir um arquivo MP3 externo (MPEG Layer 3), use o mtodo loadSound() da classe Sound. Esse mtodo permite especificar se o fluxo ou o download do arquivo MP3 deve ser totalmente concludo antes de ser iniciada a reproduo. Tambm possvel ler as informaes de ID3 incorporadas nos arquivos MP3, se estiverem disponveis. Para obter mais informaes, consulte Lendo marcas de ID3 em arquivos MP3 na pgina 210. O Flash Video (FLV) o formato de vdeo nativo usado pelo Flash Player. possvel reproduzir arquivos FLV atravs do HTTP ou do sistema local de arquivos. A reproduo de arquivos FLV oferece diversas vantagens em relao incorporao de vdeo em um documento do Flash, como melhor gerenciamento de desempenho e memria, alm de taxas de quadros de vdeo e do Flash independentes. Para obter mais informaes, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211. Voc tambm pode pr-carregar ou acompanhar o andamento do download da mdia externa. O Flash Player 7 apresenta a classe MovieClipLoader, que pode ser usada para acompanhar o andamento do download de arquivos SWF ou JPEG. Para pr-carregar arquivos MP3 e FLV, possvel usar o mtodo getBytesLoaded() da classe Sound e a propriedade bytesLoaded da classe NetStream. Para obter mais informaes, consulte Pr-carregando mdia externa na pgina 212.
No caso dos arquivos de imagem, o Flash oferece suporte apenas para o tipo de arquivo de imagem JPEG padro, e no para JPEG progressivos. Ao usar a funo loadMovie() ou loadMovieNum(), especifique o nvel ou clipe de destino como um parmetro. Por exemplo, o cdigo a seguir carrega o aplicativo contents.swf do Flash na instncia de clipe de filme chamada target_mc:
loadMovieNum("contents.swf", target_mc);
Do mesmo modo, voc pode usar MovieClip.loadMovie() para obter o mesmo resultado:
target_mc.loadMovie("contents.swf");
208
O cdigo a seguir carrega a imagem JPEG flowers.jpg na instncia de clipe de filme image_clip:
image_clip.loadMovie("flowers.jpg");
Para obter mais informaes sobre loadMovie(), loadMovieNum() e MovieClip.loadMovie(), consulte as entradas correspondentes no Captulo 12, Dicionrio do ActionScript, na pgina 219. Sobre arquivos SWF e a Timeline raiz A propriedade ActionScript _root especifica ou retorna uma referncia Timeline raiz de um arquivo SWF. Se voc carregar um arquivo SWF em um clipe de filme dentro de outro arquivo SWF, todas as referncias a _root no arquivo SWF carregado indicaro a Timeline raiz do arquivo SWF host e no a do arquivo SWF carregado. Isso s vezes pode ocasionar um comportamento inesperado durante a execuo como, por exemplo, se tanto o arquivo SWF do host quanto o arquivo SWF carregado usarem _root para especificar uma varivel. No Flash Player 7 e verses posteriores, possvel usar a propriedade MovieClip._lockroot para forar que as referncias a _root feitas por um clipe de filme sejam resolvidas para sua prpria Timeline, em vez de para a Timeline do arquivo SWF que contm o clipe de filme. Para obter mais informaes, consulte Especificando uma Timeline raiz para arquivos SWF carregados na pgina 131. Sobre o acesso a dados em arquivos SWF carregados Um arquivo SWF pode carregar outro arquivo SWF de qualquer local da Internet. Entretanto, para que um arquivo SWF acesse dados (variveis, mtodos etc.) definidos no outro arquivo SWF, ambos os arquivos devem ter o mesmo domnio como origem. No Flash Player 7 e verses posteriores, os scripts entre domnios so proibidos, a menos que o arquivo SWF carregado indique o contrrio chamando System.security.allowDomain().
System.security.allowDomain()
Para obter mais informaes, consulte Recursos de segurana do Flash Player na pgina 201 e no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Em seguida, use o novo objeto para chamar loadSound() e carregar um evento ou um fluxo de som. Os sons de evento so totalmente carregados antes da reproduo; os fluxos de som so reproduzidos durante o download. Defina o parmetro isStreaming de loadSound para especificar um som como um som de evento ou um fluxo de som. Depois de carregar um som de evento, chame o mtodo start() da classe Sound para reproduzir o som. Os fluxos de som comeam a ser reproduzidos quando h dados suficientes carregados no arquivo SWF; no necessrio usar start(). Por exemplo, o cdigo a seguir cria um objeto Sound chamado classical e, em seguida, carrega um arquivo MP3 chamado beethoven.mp3:
var classical:Sound = new Sound(); classical.loadSound("http://server.com/mp3s/beethoven.mp3", true);
209
Na maioria dos casos, defina o parmetro isStreaming como true, principalmente se estiver carregando arquivos de sons grandes que devem iniciar a reproduo assim que for possvel, por exemplo, ao criar um aplicativo jukebox MP3. Contudo, se estiver fazendo download de clipes de som menores e precisar reproduzi-los em um determinado momento (por exemplo, quando o usurio clica em um boto), dever definir isStreaming como false.
Sound.onLoad. Esse manipulador de eventos recebe automaticamente um valor ou false) que indica se o download do arquivo foi concludo com sucesso.
Para determinar se o download de um som foi concludo, use o manipulador de eventos Booleano (true
Por exemplo, suponha que voc esteja criando um jogo on-line que utilize diferentes sons dependendo do nvel que o usurio alcanou no jogo. O cdigo a seguir carrega um arquivo MP3 (blastoff.mp3) em um objeto Sound chamado gameSound e, em seguida, reproduz o som quando o download tiver sido concludo:
var gameSound = new Sound(); gameSound.onLoad = function (loadedOK) { if(loadedOK) { gameSound.start(); } } gameSound.loadSound("http://server.com/sounds/blastoff.mp3", false);
Nos arquivos de som, o Flash Player s oferece suporte para os tipos de arquivo de som MP3. Para obter mais informaes, consulte Sound.loadSound(), Sound.start() e Sound.onLoad no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Como as marcas do ID3 2.0 se localizam no incio do arquivo MP3 (antes dos dados de som), elas ficam disponveis assim que o download do arquivo iniciado. As marcas do ID3 1.0, entretanto, se localizam no final do arquivo (depois dos dados de som) e, conseqentemente, s ficaro disponveis quando o download de todo o arquivo MP3 tiver terminado.
210
O manipulador de eventos onID3 chamado sempre que estiverem disponveis novos dados ID3. Isso significa que se um arquivo MP3 contiver marcas do ID3 2.0 e marcas do ID3 1.0, o manipulador onID3 ser chamado duas vezes, pois as marcas estaro localizadas em partes diferentes do arquivo. Para obter uma lista de marcas ID3 suportadas, consulte Sound.ID3 na pgina 726.
possvel usar clipes de vdeo mais longos nos documentos do Flash sem diminuir a velocidade
de reproduo. Os arquivos FLV externos so reproduzidos usando a memria cache. Isso significa que arquivos grandes so armazenados em partes pequenas e acessados dinamicamente. Alm disso, eles no exigem tanta memria quanto os arquivos de vdeo incorporados. Um arquivo FLV externo tem uma taxa de quadros diferente do documento do Flash no qual reproduzido. Por exemplo, voc pode definir a taxa de quadros do documento do Flash como 30 qps e a taxa de quadros do vdeo como 21 qps. Isso proporciona um maior controle para garantir uma reproduo suave do vdeo. Com os arquivos FLV externos, a reproduo de documentos do Flash no precisa ser interrompida enquanto o arquivo de vdeo est sendo carregado. Os arquivos de vdeo importados s vezes podem interromper a reproduo do documento para executar determinadas funes; por exemplo, acessar uma unidade de CD-ROM. Os arquivos FLV podem executar funes independentemente do documento do Flash e, desse modo, no interrompem a reproduo. Com arquivos FLV externos, mais fcil criar legendas do contedo do vdeo, pois voc pode usar manipuladores de eventos para acessar os metadados do vdeo.
Os procedimentos a seguir mostram como voc pode reproduzir um arquivo chamado videoFile.flv que est armazenado no mesmo local que o seu arquivo SWF.
211
2 3 4 5 6 7
acessado a partir de Window (Janela) > Library, selecione New Video (Novo vdeo) no menu de opes da biblioteca para criar um objeto de vdeo. Arraste um objeto de vdeo do painel Library para o Stage (Palco). Isto criar uma instncia de objeto de vdeo. Com o objeto de vdeo selecionado no Stage, no inspetor Properties (Propriedades), em Window > Properties, informe my_video na caixa de texto Instance Name (Nome da instncia). Abra o painel Components (Componentes), em Window > Development Panels (Painis de desenvolvimento) > Components, e arraste o componente TextArea para o Stage. Com o objeto TextArea selecionado no Stage, insira status na caixa de texto Instance Name do inspetor Properties. Selecione Frame 1 (Quadro 1) na Timeline (Linha de tempo) e abra o painel Actions (Aes) em Window > Development Panels > Actions. Adicione o seguinte cdigo ao painel Actions:
// Cria um objeto NetConnection: var netConn:NetConnection = new NetConnection(); // Criar uma conexo de fluxo local: netConn.connect(null); // Cria um objeto NetStream e define uma funo onStatus(): var netStream:NetStream = new NetStream(netConn); netStream.onStatus = function(infoObject) { status.text += "Status (NetStream)" + newline; status.text += "Level: "+infoObject.level + newline; status.text += "Code: "+infoObject.code + newline; }; // Anexa o vdeo NetStream ao objeto Video: my_video.attachVideo(netStream); // Define o tempo do buffer: netStream.setBufferTime(5); // Reproduz o arquivo FLV: netStream.play("videoFile.flv");
212
Pr-carregando arquivos SWF e JPEG Para pr-carregar arquivos SWF e JPEG em instncias de clipe de filme, use a Classe MovieClipLoader. Essa classe fornece um mecanismo de ouvinte de eventos para informar sobre o status dos downloads de arquivos em clipes de filmes. O uso de um objeto MovieClipLoader para pr-carregar arquivos SWF e JPEG envolve as seguintes etapas:
Criar um novo objeto MovieClipLoader Voc pode usar um nico objeto MovieClipLoader para controlar o andamento do download de vrios arquivos ou criar um objeto separado para o andamento de cada arquivo. var loader:MovieClipLoader = new MovieClipLoader(); Criar um objeto ouvinte e manipuladores de eventos
O objeto ouvinte pode ser qualquer objeto do ActionScript, como um objeto Object genrico, um clipe de filme ou um componente personalizado.
Por exemplo, o cdigo a seguir cria um objeto ouvinte genrico chamado loadListener e define para ele mesmo as funes onLoadStart, onLoadProgress e onLoadComplete.
// Cria objeto ouvinte: var loadListener:Object = new Object(); loadListener.onLoadStart = function (loadTarget) { trace("Loading into " + loadTarget + " has started."); } loadListener.onLoadProgress = function(loadTarget, bytesLoaded, bytesTotal) { var percentLoaded = bytesLoaded/bytesTotal * 100; trace("%" + percentLoaded + " into target " + loadTarget); } loadListener.onLoadComplete = function(loadTarget) { trace("Load completed into: " + loadTarget); } Registrar o objeto ouvinte com o objeto MovieClipLoader Para que o objeto ouvinte receba os eventos de carregamento, registre-o com o objeto MovieClipLoader. loader.addListener(loadListener); Comear a carregar o arquivo (JPEG ou SWF) em um clipe de destino Para iniciar o download do arquivo JPEG ou SWF, use o mtodo MovieClipLoader.loadClip(). loader.loadClip("scene_2.swf"); Observao: Somente os mtodos MovieClipLoader podem ser usados para controlar o andamento do download de arquivos carregados com o mtodo MovieClipLoader.loadClip(). No possvel usar a funo loadMovie() nem o mtodo MovieClip.loadMovie().
O exemplo a seguir usa o mtodo setProgress() do componente ProgressBar para exibir o andamento do download de um arquivo SWF. Consulte o ProgressBar component (Componente ProgressBar) no Using Components Help (Ajuda de Usando componentes).
Para exibir o andamento do download usando o componente ProgressBar:
1 Em um novo documento do Flash, crie um clipe de filme no Stage e atribua a ele o nome
target_mc.
2 Abra o painel Components (Window > Development Panels > Components). 3 Arraste um componente ProgressBar do painel Components at o Stage. 4 No inspetor Properties, atribua o nome pBar ao componente ProgressBar e, na guia Parameters
213
5 Selecione Frame1 na Timeline e abra o painel Actions (Window > Development Panels >
Actions).
6 Adicione o seguinte cdigo ao painel Actions:
// cria um objeto MovieClipLoader e um objeto ouvinte myLoader = new MovieClipLoader(); myListener = new Object(); // adiciona os retornos de MovieClipLoader ao seu objeto ouvinte myListener.onLoadStart = function(clip) { //esse evento ativado uma vez, no incio do carregamento pBar.label = "Now loading: " + clip; }; myListener.onLoadProgress = function(clip, bytesLoaded, bytesTotal) { var percentLoaded = int (100*(bytesLoaded/bytesTotal)); pBar.setProgress(bytesLoaded, bytesTotal); };myLoader.addListener(myListener); myLoader.loadClip("veryLargeFile.swf", target_mc);
7 Teste o documento selecionando Control (Controlar) > Test Movie (Testar filme).
Para obter mais informaes, consulte a entrada Classe MovieClipLoader em Captulo 12, Dicionrio do ActionScript, na pgina 219. Pr-carregando arquivos MP3 e FLV Para pr-carregar arquivos MP3 e FLV, use a funo setInterval() a fim de criar um mecanismo de pesquisa que verifique os bytes carregados para um objeto Sound ou NetStream em intervalos predeterminados. Para controlar o andamento do download de arquivos MP3, use os mtodos Sound.getBytesLoaded() e Sound.getBytesTotal(); para controlar o andamento do download de arquivos FLV, use as propriedades NetStream.bytesLoaded e NetStream.bytesTotal. O cdigo a seguir usa setInterval() para verificar os bytes carregados para um objeto Sound ou NetStream em intervalos predeterminados.
// Cria um novo objeto Sound para reproduzir o som. var songTrack = new Sound(); // Cria a funo de pesquisa que controla o andamento do download. // Esta a funo que "pesquisada". Ela verifica // o andamento do download do objeto Sound passado como referncia. checkProgress = function (soundObj) { var bytesLoaded = soundObj.getBytesLoaded(); var bytesTotal = soundObj.getBytesTotal(); var percentLoaded = Math.floor(bytesLoaded/bytesTotal * 100); trace("%" + percentLoaded + " loaded."); } // Quando o arquivo tiver sido carregado, limpa a pesquisa do intervalo. songTrack.onLoad = function () { clearInterval(poll); } // Carrega o arquivo MP3 de fluxo e comea a chamar checkProgress() songTrack.loadSound("beethoven.mp3", true); var poll = setInterval(checkProgress, 1000, songTrack);
possvel usar esse mesmo tipo de tcnica de pesquisa para pr-carregar arquivos FLV externos. Para obter o total de bytes e o nmero atual de bytes carregados para um arquivo FLV, use as propriedades NetStream.bytesLoaded e NetStream.bytesTotal.
214
Outra maneira de pr-carregar arquivos FLV usar o mtodo NetStream.setBufferTime() . Esse mtodo usa um nico parmetro que indica o nmero de segundos do fluxo de FLV para download antes de a reproduo ser iniciada. Para obter mais informaes, consulte MovieClip.getBytesLoaded(), MovieClip.getBytesTotal(), NetStream.bytesLoaded, NetStream.bytesTotal, NetStream.setBufferTime(), setInterval(), Sound.getBytesLoaded() e Sound.getBytesTotal() no Captulo 12, Dicionrio do ActionScript, na pgina 219.
215
216
PARTE V Referncia
PARTE V
Esta parte contm o ActionScript Dictionary (Dicionrio do ActionScript), que fornece informaes sobre a sintaxe e o uso de cada elemento da linguagem ActionScript. Ela tambm contm apndices com o material de referncia a ser consultado durante a criao dos scripts. Captulo 12: Dicionrio do ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Apndice A: Mensagens de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 Apndice B: Associatividade e precedncia de operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 Apndice C: Teclas do teclado e valores de cdigos de teclas. . . . . . . . . . . . . . . . . . . . . . . . . . 911 Apndice D: Criando scripts para verses anteriores do Flash Player . . . . . . . . . . . . . . . . . . . 917 Apndice E: Programao orientada a objeto com o ActionScript 1 . . . . . . . . . . . . . . . . . . . . 921
Este dicionrio descreve a sintaxe e o uso dos elementos do ActionScript no Macromedia Flash MX 2004 e no Macromedia Flash MX Professional 2004. Para usar exemplos em um script, copie o cdigo de exemplo deste dicionrio e cole-o no painel Script ou em um arquivo de script externo. O dicionrio lista todos os elementos do ActionScript: operadores, palavras-chave, instrues, aes, propriedades, funes, classes e mtodos. Para ter uma viso geral de todas as entradas do dicionrio, consulte Contedo do dicionrio na pgina 221. As tabelas desta seo representam um bom comeo para a verificao dos operadores simblicos ou mtodos cuja classe seja desconhecida. Para obter informaes sobre componentes, consulte Using Components (Usando componentes). H dois tipos de entradas neste dicionrio:
Salvo indicao em contrrio, a seo Disponibilidade informa as verses do Flash Player que oferecem suporte ao elemento. Isso no o mesmo que a verso do Flash usada para criar o contedo. Por exemplo, se o Macromedia Flash MX 2004 ou o Macromedia Flash MX Professional 2004 forem usados para criar contedo para o Flash Player 6, somente os elementos do ActionScript que estiverem disponveis para o Flash Player 6 podero ser usados. Em alguns casos, essa seo tambm indica a verso da ferramenta de criao que oferece suporte a um elemento. Por exemplo, consulte System.setClipboard().
219
Por fim, se um elemento suportado apenas no ActionScript 2.0, essa informao tambm registrada nessa seo.
Uso
Esta seo fornece a sintaxe correta para usar o elemento do ActionScript em seu cdigo. A parte obrigatria da sintaxe est na fonte Code e o cdigo fornecido pelo usurio est na fonte Code em itlico. Os colchetes ([]) indicam parmetros opcionais.
Parmetros
Esta seo identificar quais valores, se houver algum, sero retornados pelo elemento.
Descrio
Esta seo identifica o tipo de elemento (por exemplo, um operador, um mtodo, uma funo etc.) e, em seguida, descreve como us-lo.
Exemplo
Esta seo fornece um exemplo de cdigo que demonstra como usar o elemento.
Consulte tambm
220
Listagens de mtodos e propriedades Os mtodos e propriedades de uma classe so apresentados em ordem alfabtica depois da entrada da classe.
Contedo do dicionrio
Todas as entradas do dicionrio so listadas em ordem alfabtica. Contudo, alguns operadores so smbolos e so apresentados na ordem ASCII. Alm disso, os mtodos associados a uma classe so apresentados com o nome da classe, por exemplo, o mtodo abs() da classe Math aparece como Math.abs(). As duas tabelas a seguir o ajudaro a localizar esses elementos. A primeira lista os operadores simblicos na ordem em que ocorrem no dicionrio. A segunda lista todos os outros elementos do ActionScript.
Operadores simblicos
++ ! != !== % %= & && &= () * *= , . : ?: / // /* /= []
Consulte a entrada
(decremento) ++ (incremento) ! (NOT lgico) != (diferena) !== (diferena estrita) % (mdulo) %= (atribuio de mdulo) & (operador AND bit a bit) && (AND lgico) &= (atribuio AND bit a bit) () (parnteses) (menos) * (multiplicao) *= (atribuio de multiplicao) , (vrgula) . (ponto) : (tipo) ?: (condicional) / (diviso) // (delimitador de comentrio) /* (delimitador de comentrio) /= (atribuio de diviso) [] (acesso de array)
Contedo do dicionrio
221
Operadores simblicos
^ ^= {} | || |= ~ + += < << <<= <= <> = -= == === > >= >> >>= >>> >>>=
Consulte a entrada
^ (XOR bit a bit) ^= (atribuio XOR bit a bit) {} (inicializador de objeto) | (OR bit a bit) || (OR lgico) |= (atribuio OR bit a bit) ~ (NOT bit a bit) + (adio) += (atribuio de adio) < (menor que) << (deslocamento para a esquerda bit a bit) <<= (deslocamento para a esquerda bit a bit e atribuio) <= (menor que ou igual a) <> (diferena) = (atribuio) -= (atribuio de subtrao) == (igualdade) === (igualdade estrita) > (maior que) >= (maior que ou igual a) >> (deslocamento para a direita bit a bit) >>= (deslocamento para a direita bit a bit e atribuio) >>> (deslocamento para a direita bit a bit sem sinal) >>>= (deslocamento para a direita bit a bit sem sinal e atribuio)
Consulte a entrada
#endinitclip #include #initclip Object.__proto__ _accProps MovieClip._alpha, Button._alpha, TextField._alpha
222
Elemento do ActionScript
_currentframe _droptarget _focusrect _framesloaded _global _height _highquality
Consulte a entrada
MovieClip._currentframe MovieClip._droptarget _focusrect, Button._focusrect, MovieClip._focusrect MovieClip._framesloaded Objeto _global Button._height, MovieClip._height, TextField._height _highquality, Button._highquality, MovieClip._highquality, TextField._highquality MovieClip._lockroot Button._name, MovieClip._name, TextField._name _parent, Button._parent, MovieClip._parent, TextField._parent _quality, Button._quality, TextField._quality _root Button._rotation, MovieClip._rotation, TextField._rotation _soundbuftime, Button._soundbuftime, MovieClip._soundbuftime, TextField._soundbuftime Button._target, MovieClip._target, TextField._target MovieClip._totalframes Button._url, MovieClip._url, TextField._url Button._visible, MovieClip._visible, TextField._visible Button._width, MovieClip._width, TextField._width Button._x, MovieClip._x, TextField._x Button._xmouse, MovieClip._xmouse, TextField._xmouse Button._xscale, MovieClip._xscale, TextField._xscale Button._y, MovieClip._y, TextField._y Button._ymouse, MovieClip._ymouse, TextField._ymouse Button._yscale, MovieClip._yscale, TextField._yscale Math.abs() Classe Accessibility Math.acos() Camera.activityLevel, Microphone.activityLevel add
_target _totalframes _url _visible _width _x _xmouse _xscale _y _ymouse _yscale abs Accessibility acos activityLevel add
Contedo do dicionrio
223
Elemento do ActionScript
addListener
Consulte a entrada
Key.addListener(), Mouse.addListener(), MovieClipLoader.addListener(), Selection.addListener(), Stage.addListener(), TextField.addListener() PrintJob.addPage() Object.addProperty() LoadVars.addRequestHeader(), XML.addRequestHeader() Stage.align, TextFormat.align LocalConnection.allowDomain, System.security.allowDomain() LocalConnection.allowInsecureDomain, System.security.allowInsecureDomain() and XML.appendChild() Function.apply() Classe Arguments Classe Array, Array() asfunction Math.asin() Math.atan() Math.atan2() MovieClip.attachAudio() MovieClip.attachMovie() Sound.attachSound() Video.attachVideo() XML.attributes TextField.autoSize System.capabilities.avHardwareDisable TextField.background TextField.backgroundColor Key.BACKSPACE Camera.bandwidth MovieClip.beginFill() MovieClip.beginGradientFill() TextFormat.blockIndent TextFormat.bold
and appendChild apply Arguments Array asfunction asin atan atan2 attachAudio attachMovie attachSound attachVideo attributes autosize avHardwareDisable background backgroundColor BACKSPACE bandwidth beginFill beginGradientFill blockIndent bold
224
Elemento do ActionScript
Boolean border borderColor bottomScroll break bufferLength bufferTime builtInItems bullet Button bytesLoaded bytesTotal call callee caller Camera capabilities CAPSLOCK caption case catch ceil charAt charCodeAt childNodes chr class clear clearInterval cloneNode close Color concat
Consulte a entrada
Boolean(), Classe Boolean TextField.border TextField.borderColor TextField.bottomScroll break NetStream.bufferLength NetStream.bufferTime ContextMenu.builtInItems TextFormat.bullet Classe Button NetStream.bytesLoaded NetStream.bytesTotal call(), Function.call() arguments.callee arguments.caller Classe Camera Objeto System.capabilities Key.CAPSLOCK ContextMenuItem.caption case try..catch..finally Math.ceil() String.charAt() String.charCodeAt() XML.childNodes chr class MovieClip.clear(), SharedObject.clear(), Video.clear() clearInterval() XML.cloneNode() LocalConnection.close(), NetStream.close(), XMLSocket.close() Classe Color, TextFormat.color Array.concat(), String.concat()
Contedo do dicionrio
225
Elemento do ActionScript
connect
Consulte a entrada
LocalConnection.connect(), NetConnection.connect(), XMLSocket.connect() TextField.condenseWhite Classe Array, Classe Boolean, Classe Camera, Classe Color, Classe ContextMenu, Classe ContextMenuItem, Classe Date, Classe Error, Classe LoadVars, Classe LocalConnection, Classe Microphone, Classe NetConnection, Classe NetStream, Classe Number, Classe Object, Classe PrintJob, Classe SharedObject, Classe Sound, Classe String, Classe TextField.StyleSheet, Classe TextFormat, Classe XML, Classe XMLSocket LoadVars.contentType, XML.contentType Classe ContextMenu Classe ContextMenuItem continue Key.CONTROL ContextMenu.copy(), ContextMenuItem.copy() Math.cos() XML.createElement() MovieClip.createEmptyMovieClip() MovieClip.createTextField() XML.createTextNode() Camera.currentFps, NetStream.currentFps MovieClip.curveTo() Classe CustomActions ContextMenu.customItems SharedObject.data Classe Date Video.deblocking default delete Key.DELETEKEY do while XML.docTypeDecl LocalConnection.domain() Key.DOWN duplicateMovieClip(), MovieClip.duplicateMovieClip()
condenseWhite constructor
contentType ContextMenu ContextMenuItem continue CONTROL copy cos createElement createEmptyMovieClip createTextField createTextNode currentFps curveTo CustomActions customItems data Date deblocking default delete DELETEKEY do while docTypeDecl domain DOWN duplicateMovieClip
226
Elemento do ActionScript
duration dynamic E else else if embedFonts enabled END endFill ENTER eq Error ESCAPE (constante) escape (funo) eval exactSettings exp extends false finally findText firstChild floor flush focusEnabled font for for..in fps fromCharCode fscommand function gain ge
Consulte a entrada
Sound.duration dynamic Math.E else else if TextField.embedFonts Button.enabled, ContextMenuItem.enabled, MovieClip.enabled Key.END MovieClip.endFill() Key.ENTER eq (igual especfico de seqncia de caracteres) Classe Error Key.ESCAPE escape eval() System.exactSettings Math.exp() extends false try..catch..finally TextSnapshot.findText() XML.firstChild Math.floor() SharedObject.flush() MovieClip.focusEnabled TextFormat.font for for..in Camera.fps String.fromCharCode() fscommand() function, Classe Function Microphone.gain ge (maior que ou igual a especfico de seqncia de caracteres)
Contedo do dicionrio
227
Elemento do ActionScript
get getAscii getBeginIndex getBounds getBytesLoaded
Consulte a entrada
Camera.get(), CustomActions.get(), get, Microphone.get() Key.getAscii() Selection.getBeginIndex() MovieClip.getBounds() LoadVars.getBytesLoaded(), MovieClip.getBytesLoaded(), Sound.getBytesLoaded(), XML.getBytesLoaded() LoadVars.getBytesTotal(), MovieClip.getBytesTotal(), Sound.getBytesTotal(), XML.getBytesTotal() Selection.getCaretIndex() Key.getCode() TextSnapshot.getCount() Date.getDate() Date.getDay() Button.getDepth(), MovieClip.getDepth(), TextField.getDepth() Selection.getEndIndex() Selection.getFocus() TextField.getFontList() Date.getFullYear() Date.getHours() MovieClip.getInstanceAtDepth() SharedObject.getLocal() Date.getMilliseconds() Date.getMinutes() Date.getMonth() TextField.getNewTextFormat() MovieClip.getNextHighestDepth() Sound.getPan() MovieClipLoader.getProgress() getProperty Color.getRGB() Date.getSeconds() TextSnapshot.getSelected() TextSnapshot.getSelectedText() SharedObject.getSize()
getBytesTotal
getCaretIndex getCode getCount getDate getDay getDepth getEndIndex getFocus getFontList getFullYear getHours getInstanceAtDepth getLocal getMilliseconds getMinutes getMonth getNewTextFormat getNextHighestDepth getPan getProgress getProperty getRGB getSeconds getSelected getSelectedText getSize
228
Elemento do ActionScript
getStyle getStyleNames getSWFVersion getText getTextExtent getTextFormat getTextSnapshot getTime getTimer getTimezoneOffset getTransform getURL getUTCDate getUTCDay getUTCFullYear getUTCHours getUTCMilliseconds getUTCMinutes getUTCMonth getUTCSeconds getVersion getVolume getYear globalToLocal goto gotoAndPlay gotoAndStop gt hasAccessibility hasAudio hasAudioEncoder hasChildNodes hasEmbeddedVideo hasMP3
Consulte a entrada
TextField.StyleSheet.getStyle() TextField.StyleSheet.getStyleNames() MovieClip.getSWFVersion() TextSnapshot.getText() TextFormat.getTextExtent() TextField.getTextFormat() MovieClip.getTextSnapshot() Date.getTime() getTimer Date.getTimezoneOffset() Color.getTransform(), Sound.getTransform() getURL(), MovieClip.getURL() Date.getUTCDate() Date.getUTCDay() Date.getUTCFullYear() Date.getUTCHours() Date.getUTCMilliseconds() Date.getUTCMinutes() Date.getUTCMonth() Date.getUTCSeconds() getVersion Sound.getVolume() Date.getYear() MovieClip.globalToLocal() gotoAndPlay(), gotoAndStop() gotoAndPlay(), MovieClip.gotoAndPlay() gotoAndStop(), MovieClip.gotoAndStop() gt (maior que especfico de seqncia de caracteres) System.capabilities.hasAccessibility System.capabilities.hasAudio System.capabilities.hasAudioEncoder XML.hasChildNodes() System.capabilities.hasEmbeddedVideo System.capabilities.hasMP3
Contedo do dicionrio
229
Elemento do ActionScript
hasPrinting hasScreenBroadcast hasScreenPlayback hasStreamingAudio hasStreamingVideo hasVideoEncoder height hide hideBuiltInItems hitArea hitTest hitTestTextNearPos HOME hscroll html htmlText ID3 if ifFrameLoaded ignoreWhite implements import indent index indexOf Infinity -Infinity INSERT insertBefore install instanceof int interface isActive
Consulte a entrada
System.capabilities.hasPrinting System.capabilities.hasScreenBroadcast System.capabilities.hasScreenPlayback System.capabilities.hasStreamingAudio System.capabilities.hasStreamingVideo System.capabilities.hasVideoEncoder Camera.height, Stage.height, Video.height Mouse.hide() ContextMenu.hideBuiltInItems() MovieClip.hitArea MovieClip.hitTest() TextSnapshot.hitTestTextNearPos() Key.HOME TextField.hscroll TextField.html TextField.htmlText Sound.ID3 if ifFrameLoaded XML.ignoreWhite implements import TextFormat.indent Camera.index, Microphone.index String.indexOf() Infinity -Infinity Key.INSERT XML.insertBefore() CustomActions.install() instanceof int interface Accessibility.isActive()
230
Elemento do ActionScript
isDebugger isDown isFinite isNaN isToggled italic join Key language lastChild lastIndexOf le leading LEFT leftMargin length
Consulte a entrada
System.capabilities.isDebugger Key.isDown() isFinite isNaN() Key.isToggled() TextFormat.italic Array.join() Classe Key System.capabilities.language XML.lastChild String.lastIndexOf() le (menor que ou igual a especfico de seqncia de caracteres) TextFormat.leading Key.LEFT TextFormat.leftMargin length, arguments.length, Array.length, String.length, TextField.length _level MovieClip.lineStyle() MovieClip.lineTo() CustomActions.list() Math.LN10 Math.LN2 LoadVars.load(), TextField.StyleSheet.load(), XML.load(), MovieClipLoader.loadClip() LoadVars.loaded, XML.loaded loadMovie(), MovieClip.loadMovie() loadMovieNum() Sound.loadSound() loadVariables(), MovieClip.loadVariables() loadVariablesNum() Classe LoadVars Classe LocalConnection System.capabilities.localFileReadDisable
level lineStyle lineTo list LN10 LN2 load loadClip loaded loadMovie loadMovieNum loadSound loadVariables loadVariablesNum LoadVars LocalConnection localFileReadDisable
Contedo do dicionrio
231
Elemento do ActionScript
localToGlobal log LOG10E LOG2E lt manufacturer Math max MAX_VALUE maxChars maxhscroll maxscroll mbchr mblength mbord mbsubstring menu message Microphone min MIN_VALUE MMExecute motionLevel motionTimeOut Mouse mouseWheelEnabled moveTo MovieClip MovieClipLoader multiline muted name names
Consulte a entrada
MovieClip.localToGlobal() Math.log() Math.LOG10E Math.LOG2E lt (menor que especfico de seqncia de caracteres) System.capabilities.manufacturer Classe Math Math.max() Number.MAX_VALUE TextField.maxChars TextField.maxhscroll maxscroll, TextField.maxscroll mbchr mblength mbord mbsubstring Button.menu, MovieClip.menu, TextField.menu Error.message Classe Microphone Math.min() Number.MIN_VALUE MMExecute() Camera.motionLevel Camera.motionTimeOut Classe Mouse TextField.mouseWheelEnabled MovieClip.moveTo() Classe MovieClip Classe MovieClipLoader TextField.multiline Camera.muted, Microphone.muted Error.name, Microphone.name Camera.names, Microphone.names
232
Elemento do ActionScript
NaN ne NEGATIVE_INFINITY NetConnection NetStream new (operador) newline nextFrame nextScene nextSibling nodeName nodeType nodeValue not Null Number Object on onActivity onChanged onClipEvent onClose onConnect onData onDragOut onDragOver onEnterFrame onID3 onKeyDown onKeyUp onKillFocus onLoad
Consulte a entrada
NaN, Number.NaN ne (diferente especfico de seqncia de caracteres) Number.NEGATIVE_INFINITY Classe NetConnection Classe NetStream new newline nextFrame(), MovieClip.nextFrame() nextScene() XML.nextSibling XML.nodeName XML.nodeType XML.nodeValue not null Number(), Classe Number Classe Object, Object() on() Camera.onActivity, Microphone.onActivity TextField.onChanged onClipEvent() XMLSocket.onClose() XMLSocket.onConnect() LoadVars.onData, MovieClip.onData, XML.onData, XMLSocket.onData() Button.onDragOut, MovieClip.onDragOut Button.onDragOver, MovieClip.onDragOver MovieClip.onEnterFrame Sound.onID3 Button.onKeyDown, Key.onKeyDown, MovieClip.onKeyDown Button.onKeyUp, Key.onKeyUp, MovieClip.onKeyUp Button.onKillFocus, MovieClip.onKillFocus, TextField.onKillFocus LoadVars.onLoad, MovieClip.onLoad, Sound.onLoad, TextField.StyleSheet.onLoad, XML.onLoad() MovieClipLoader.onLoadComplete()
onLoadComplete
Contedo do dicionrio
233
Elemento do ActionScript
onLoadError onLoadInit onLoadProgress onLoadStart onMouseDown onMouseMove onMouseUp onMouseWheel onPress onRelease onReleaseOutisde onResize onRollOut onRollOver onScroller onSelect onSetFocus
Consulte a entrada
MovieClipLoader.onLoadError() MovieClipLoader.onLoadInit() MovieClipLoader.onLoadProgress() MovieClipLoader.onLoadStart() Mouse.onMouseDown, MovieClip.onMouseDown Mouse.onMouseMove, MovieClip.onMouseMove Mouse.onMouseUp, MovieClip.onMouseUp Mouse.onMouseWheel Button.onPress, MovieClip.onPress Button.onRelease, MovieClip.onRelease Button.onReleaseOutside, MovieClip.onReleaseOutside Stage.onResize Button.onRollOut, MovieClip.onRollOut Button.onRollOver, MovieClip.onRollOver TextField.onScroller ContextMenu.onSelect, ContextMenuItem.onSelect Button.onSetFocus, MovieClip.onSetFocus, Selection.onSetFocus, TextField.onSetFocus Sound.onSoundComplete Camera.onStatus, LocalConnection.onStatus, Microphone.onStatus, NetStream.onStatus, SharedObject.onStatus, System.onStatus MovieClip.onUnload onUpdate XMLSocket.onXML() or ord System.capabilities.os XML.parentNode TextField.StyleSheet.parseCSS() parseFloat() parseInt XML.parseXML() TextField.password NetStream.pause()
onSoundComplete onStatus
onUnload onUpdate onXML or (OR lgico) ord os parentNode parseCSS parseFloat parseInt parseXML password pause
234
Elemento do ActionScript
PGDN PGUP PI pixelAspectRatio play playerType pop position POSITIVE_INFINITY pow prevFrame previousSibling prevScene print printAsBitmap printAsBitmapNum PrintJob printNum private prototype public push quality random rate registerClass removeListener
Consulte a entrada
Key.PGDN Key.PGUP Math.PI System.capabilities.pixelAspectRatio play(), MovieClip.play(), NetStream.play() System.capabilities.playerType Array.pop() Sound.position Number.POSITIVE_INFINITY Math.pow() prevFrame(), MovieClip.prevFrame() XML.previousSibling prevScene() print() printAsBitmap() printAsBitmapNum() Classe PrintJob printNum() private Function.prototype public Array.push() Camera.quality random, Math.random() Microphone.rate Object.registerClass() Key.removeListener(), Mouse.removeListener(), MovieClipLoader.removeListener(), Selection.removeListener(), Stage.removeListener(), TextField.removeListener() removeMovieClip(), MovieClip.removeMovieClip() XML.removeNode() TextField.removeTextField() TextField.replaceSel() TextField.replaceText()
Contedo do dicionrio
235
Elemento do ActionScript
resolutionX resolutionY restrict return reverse RIGHT rightMargin round scaleMode screenColor screenDPI screenResolutionX screenResolutionY scroll seek selectable Selection send
Consulte a entrada
System.capabilities.screenResolutionX System.capabilities.screenResolutionY TextField.restrict return Array.reverse() Key.RIGHT TextFormat.rightMargin Math.round() Stage.scaleMode System.capabilities.screenColor System.capabilities.screenDPI System.capabilities.screenResolutionX System.capabilities.screenResolutionY scroll, TextField.scroll NetStream.seek() TextField.selectable Classe Selection LoadVars.send(), LocalConnection.send(), PrintJob.send(), XML.send(), XMLSocket.send() LoadVars.sendAndLoad(), XML.sendAndLoad() ContextMenuItem.separatorBefore System.capabilities.serverString set set variable NetStream.setBufferTime() System.setClipboard() Date.setDate() Selection.setFocus() Date.setFullYear() Microphone.setGain() Date.setHours() setInterval() MovieClip.setMask() Date.setMilliseconds()
sendAndLoad separatorBefore serverString set set variable setBufferTime setClipboard setDate setFocus setFullYear setGain setHours setInterval setMask setMilliseconds
236
Elemento do ActionScript
setMinutes setMode setMonth setMotionLevel setNewTextFormat setPan setProperty setQuality setRate setRGB setSeconds setSelectColor setSelected setSelection setSilenceLevel setStyle setTextFormat setTime setTransform
Consulte a entrada
Date.setMinutes() Camera.setMode() Date.setMonth() Camera.setMotionLevel() TextField.setNewTextFormat() Sound.setPan() setProperty() Camera.setQuality() Microphone.setRate() Color.setRGB() Date.setSeconds() TextSnapshot.setSelectColor() TextSnapshot.setSelected() Selection.setSelection() Microphone.setSilenceLevel() TextField.StyleSheet.setStyle() TextField.setTextFormat() Date.setTime() Color.setTransform(), Sound.setTransform()
setUseEchoSuppression Microphone.setUseEchoSuppression() setUTCDate setUTCFullYear setUTCHours setUTCMilliseconds setUTCMinutes setUTCMonth setUTCSeconds setVolume setYear SharedObject SHIFT (constante) shift (mtodo) show showMenu Date.setUTCDate() Date.setUTCFullYear() Date.setUTCHours() Date.setUTCMilliseconds() Date.setUTCMinutes() Date.setUTCMonth() Date.setUTCSeconds() Sound.setVolume() Date.setYear() Classe SharedObject Key.SHIFT Array.shift() Mouse.show() Stage.showMenu
Contedo do dicionrio
237
Elemento do ActionScript
showSettings silenceLevel silenceTimeout sin size slice smoothing sort sortOn Sound SPACE splice split sqrt SQRT1_2 SQRT2 Stage start startDrag static status stop stopAllSounds stopDrag String StyleSheet (classe) styleSheet (propriedade) substr substring super swapDepths switch System
Consulte a entrada
System.showSettings() Microphone.silenceLevel() Microphone.silenceTimeout() Math.sin() TextFormat.size Array.slice(), String.slice() Video.smoothing Array.sort() Array.sortOn() Classe Sound Key.SPACE Array.splice() String.split() Math.sqrt() Math.SQRT1_2 Math.SQRT2 Classe Stage PrintJob.start(), Sound.start() startDrag(), MovieClip.startDrag() static XML.status stop(), MovieClip.stop(), Sound.stop() stopAllSounds() stopDrag(), MovieClip.stopDrag() Classe String, String() Classe TextField.StyleSheet TextField.styleSheet String.substr() substring, String.substring() super MovieClip.swapDepths() switch Classe System
238
Elemento do ActionScript
TAB tabChildren tabEnabled tabIndex tabStops tan target targetPath tellTarget text textColor TextField TextFormat textHeight TextSnapshot textWidth this throw time toggleHighQuality toLowerCase toString
Consulte a entrada
Key.TAB MovieClip.tabChildren Button.tabEnabled, MovieClip.tabEnabled, TextField.tabEnabled Button.tabIndex, MovieClip.tabIndex, TextField.tabIndex TextFormat.tabStops Math.tan() TextFormat.target targetPath tellTarget TextField.text TextField.textColor Classe TextField Classe TextFormat TextField.textHeight Objeto TextSnapshot TextField.textWidth this throw NetStream.time toggleHighQuality() String.toLowerCase() Array.toString(), Boolean.toString(), Date.toString(), Error.toString(), LoadVars.toString(), Number.toString(), Object.toString(), XML.toString() String.toUpperCase() trace() Button.trackAsMenu, MovieClip.trackAsMenu true try..catch..finally TextField.type typeof undefined TextFormat.underline unescape CustomActions.uninstall()
toUpperCase trace trackAsMenu true try type typeof undefined underline unescape uninstall
Contedo do dicionrio
239
Elemento do ActionScript
unloadClip unloadMovie unLoadMovieNum unshift unwatch UP updateAfterEvent updateProperties url useCodePage useEchoSuppression useHandCursor UTC valueOf var variable version Video visible void watch while width with wordwrap XML xmlDecl XMLNode XMLSocket
Consulte a entrada
MovieClipLoader.unloadClip() unloadMovie(), MovieClip.unloadMovie() unloadMovieNum() Array.unshift() Object.unwatch() Key.UP updateAfterEvent() Accessibility.updateProperties() TextFormat.url System.useCodepage Microphone.useEchoSuppression() Button.useHandCursor, MovieClip.useHandCursor Date.UTC() Boolean.valueOf(), Number.valueOf(), Object.valueOf() var TextField.variable System.capabilities.version Classe Video ContextMenuItem.visible void Object.watch() while Camera.width, Stage.width, Video.width with TextField.wordWrap Classe XML XML.xmlDecl Classe XMLNode Classe XMLSocket
240
(decremento)
Disponibilidade
Flash Player 4.
Uso expresso expresso Parmetros
Nenhum.
Retorna
Um nmero.
Descrio
Operador (aritmtico); um operador unrio pr-decremento e ps-decremento que subtrai 1 da expresso. A forma pr-decremento do operador (expresso) subtrai 1 da expresso e retorna o resultado. A forma ps-decremento do operador (expresso) subtrai 1 da expresso e retorna o valor inicial da expresso (o resultado anterior subtrao).
Exemplo
A forma ps-decremento do operador decrementa x para 2 (x - 1 = 2) e retorna o valor original de x como o resultado y:
x = 3; y = x-//y igual a 3
(decremento)
241
++ (incremento)
Disponibilidade
Flash Player 4.
Uso ++expresso expresso++ Parmetros
Nenhum.
Retorna
Um nmero.
Descrio
Operador (aritmtico); um operador unrio pr-incremento e ps-incremento que soma 1 expresso. A expresso pode ser uma varivel, um elemento de um array ou uma propriedade de um objeto. A forma pr-incremento do operador (++expresso) soma 1 expresso e retorna o resultado. A forma ps-incremento do operador (expresso++) soma 1 expresso e retorna o valor inicial da expresso (o resultado anterior adio). A forma pr-incremento do operador incrementa x para 2 (x + 1 = 2) e retorna o resultado como y:
x = 1; y = ++x //y igual a 2
A forma ps-incremento do operador incrementa x para 2 (x + 1 = 2) e retorna o valor original de x como o resultado y:
x = 1; y = x++; //y igual a 1 Exemplo
O exemplo a seguir usa ++ como operador ps-incremento para fazer com que um loop while seja executado cinco vezes.
i = 0; while(i++ < 5){ trace("isto a execuo " + i); }
242
++ (incremento)
243
! (NOT lgico)
Disponibilidade
Flash Player 4.
Uso !expresso Parmetros
Nenhum.
Retorna
Um valor booleano.
Descrio
Operador (lgico); inverte o valor booleano de uma varivel ou expresso. Se expresso for uma varivel com o valor absoluto ou convertido true, o valor de !expresso ser false. Se a expresso x && y for avaliada como false, a expresso !(x && y) ser avaliada como true. As expresses a seguir ilustram o resultado do uso do operador !:
!true
!false Exemplo
No exemplo a seguir, a varivel happy definida como false. A condio if avalia a condio !happy e, se ela for true, a ao trace() enviar uma seqncia de caracteres para o painel Output (Sada).
happy = false; if (!happy){ trace("dont worry, be happy"); }
244
!= (diferena)
Disponibilidade
Flash Player 5.
Uso expresso1 != expresso2 Parmetros
Nenhum.
Retorna
Um valor booleano.
Descrio
Operador (diferena); testa o oposto exato do operador ==. Se expresso1 for igual a expresso2, o resultado ser false. Assim como o operador ==, a definio de igual depende dos tipos de dados comparados.
Nmeros, seqncias de caracteres e valores booleanos so comparados por valor. Variveis, objetos, arrays e funes so comparadas por referncia.
Exemplo
!= (diferena)
245
Flash Player 6.
Uso expresso1 !== expresso2 Descrio
Operador; testa o oposto exato do operador ===. O operador diferena estrita executa a mesma operao que o operador diferena, exceto a converso dos tipos de dados. Se expresso1 for igual a expresso2 e os tipos de dados forem iguais, o resultado ser false. Assim como o operador ===, a definio de igual depende dos tipos de dados comparados.
Nmeros, seqncias de caracteres e valores booleanos so comparados por valor. Variveis, objetos, arrays e funes so comparados por referncia.
Exemplo
O cdigo a seguir exibe o valor retornado de operaes que usam os operadores de igualdade, igualdade estrita e diferena estrita.
s1 = new String("5"); s2 = new String("5"); s3 = new String("Ol"); n = new Number(5); b = new Boolean(true); s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 == == == == === === === === !== !== !== !== s2; // true s3; // false n; // true b; // false s2; // true s3; // false n; // false b; // false s2; // false s3; // true n; // true b; // true
246
% (mdulo)
Disponibilidade
Flash Player 4. Em arquivos do Flash 4, o operador % expandido no arquivo SWF como x - int(x/y) * y e pode no ser to rpido ou preciso quanto nas verses posteriores do Flash Player.
Uso expresso1 % expresso2 Parmetros
Nenhum.
Retorna
Nada.
Descrio
Operador (aritmtico); calcula o resto da expresso1 dividida por expresso2. Se um dos parmetros da expresso no for numrico, o operador mdulo tentar convert-lo(s) em nmeros. A expresso pode ser um nmero ou uma seqncia de caracteres convertida em um valor numrico.
Exemplo
% (mdulo)
247
%= (atribuio de mdulo)
Disponibilidade
Flash Player 4.
Uso expresso1 %= expresso2 Parmetros
Nenhum.
Retorna
Nada.
Descrio expresso2. x %= y x = x % y Exemplo
Operador (atribuio composta aritmtica); atribui a expresso1 o valor de expresso1 % Por exemplo, as duas expresses a seguir so idnticas:
248
Flash Player 5. No Flash 4, o operador & era usado para concatenar seqncias de caracteres. No Flash 5 e posteriores, o operador & um AND bit a bit e os operadores add e + devem ser usados para concatenar seqncias de caracteres. Os arquivos do Flash 4 que usam o operador & so atualizados automaticamente para usarem add quando trazidos para o ambiente de criao do Flash 5 ou posterior.
Uso expresso1 & expresso2 Parmetros
Nenhum.
Retorna
Nada.
Descrio
Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits sem sinal e executa uma operao AND booleana em cada bit dos parmetros inteiros. O resultado um novo inteiro de 32 bits sem sinal.
249
Flash Player 4.
Uso expresso1 && expresso2 Parmetros
Nenhum.
Retorna
Um valor booleano.
Descrio
Operador (lgico); executa uma operao booleana nos valores de uma ou de ambas as expresses. Ele avaliar a expresso1 (a expresso do lado esquerdo do operador) e retornar false se a expresso for avaliada como false. Se a expresso1 for avaliada como true, ento a expresso2 (a expresso do lado direito do operador) ser avaliada. Se a expresso2 for avaliada como true, o resultado final ser true; caso contrrio, ser false.
Exemplo
Este exemplo usa o operador && para realizar um teste e determinar se um jogador venceu o jogo. As variveis rodadas e placar so atualizadas quando for a vez de um jogador ou quando esse marcar um ponto durante o jogo. O script abaixo exibir a mensagem Voc venceu o jogo! no painel Output (Sada) quando a pontuao do jogador atingir 75, ou mais, em 3 rodadas, ou menos.
rodadas=2; placar=77; vencedor = (rodadas <= 3) && (placar >= 75); if (vencedor) { trace("Voc venceu o jogo!"); } else { trace("Tente novamente!"); }
250
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
251
() (parnteses)
Disponibilidade
Flash Player 4.
Uso (expresso1, expresso2) funo(parmetro1,..., parmetroN) Parmetros expresso1, expresso2 funo
parmetro1...parmetroN Uma srie de parmetros que devem ser executados antes de os resultados serem transferidos como parmetros para a funo fora dos parnteses. Retorna
Nada.
Descrio
Operador; executa uma operao de agrupamento em um ou mais parmetros, ou envolve um ou mais parmetros e os passa como parmetros para uma funo fora dos parnteses. Uso 1: Controla a ordem de execuo dos operadores na expresso. Os parnteses substituem a ordem de precedncia normal e fazem com que as expresses neles inseridas sejam avaliadas em primeiro lugar. Quando os parnteses esto aninhados, o contedo dos parnteses mais internos avaliado antes do contedo dos mais externos. Uso 2: Envolve um ou mais parmetros e os passa como parmetros para a funo fora dos parnteses.
Exemplo
Uso 1: As instrues a seguir ilustram o uso de parnteses para controlar a ordem de execuo das expresses. O valor de cada expresso exibido abaixo de cada linha da seguinte maneira:
trace((2 + 3) * (4 + 5)); // exibe 45 trace(2 + (3 * (4 + 5))); // exibe 29 trace(2 + (3 * 4) + 5); // exibe 19
252
(menos)
Disponibilidade
Flash Player 4.
Uso
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
O resultado 3, que um inteiro. Uso 2: A instruo a seguir subtrai o nmero de ponto flutuante 1,5 do nmero de ponto flutuante 3,25.
3.25 - 1.5
(menos)
253
* (multiplicao)
Disponibilidade
Flash Player 4.
Uso expresso1 * expresso2 Parmetros
Nenhum.
Retorna
Nada.
Descrio
Operador (aritmtico); multiplica duas expresses numricas. Se ambas as expresses forem inteiras, o produto ser um inteiro. Se uma ou ambas as expresses forem nmeros de ponto flutuante, o produto ser um nmero de ponto flutuante.
Exemplo
O resultado 6, que um inteiro. Uso 2: Esta instruo multiplica os nmeros de ponto flutuante 2,0 e 3,1416.
2.0 * 3.1416
254
*= (atribuio de multiplicao)
Disponibilidade
Flash Player 4.
Uso expresso1 *= expresso2 Parmetros
Nenhum.
Retorna
Nada.
Descrio
Operador (atribuio composta aritmtica); atribui a expresso1 o valor da expresso1 * expresso2. Por exemplo, as duas expresses a seguir so idnticas:
x *= y x = x * y Exemplo
Uso 2: A segunda e a terceira linhas do exemplo a seguir calculam as expresses do lado direito do sinal de igual e atribuem os resultados a x e y.
i = 5; x = 4 - 6; y = i + 2; trace(x *= y); // retorna -14 Consulte tambm * (multiplicao)
*= (atribuio de multiplicao)
255
, (vrgula)
Disponibilidade
Flash Player 4.
Uso expresso1, expresso2 Parmetros
Nenhum.
Retorna
Nada.
Descrio
Operador; avalia expresso1, depois expresso2 e retorna o valor de expresso2. Esse operador usado principalmente com a instruo de loop for.
Exemplo
256
. (ponto)
Disponibilidade
Flash Player 4.
Uso objeto.propriedade_ou_mtodo nome_da_instncia.varivel nome_da_instncia.instncia_filha.varivel Parmetros objeto Uma instncia de uma classe. O objeto pode ser uma instncia de qualquer uma das classes internas do ActionScript ou de uma classe personalizada. Esse parmetro est sempre esquerda do operador ponto (.). propriedade_ou_mtodo O nome de uma propriedade ou de um mtodo associado ao objeto. Todas as propriedades e mtodos vlidos das classes internas so apresentados nas tabelas de resumo de mtodos e propriedades da classe. Esse parmetro sempre est direita do operador ponto (.). nome_da_instncia instncia_filha varivel
Uma instncia do clipe de filme que seja filha do clipe do filme principal, ou que esteja nele aninhada. Uma varivel na Timeline (Linha de tempo) do nome da instncia do clipe de filme esquerda do operador ponto (.).
Retorna
Nada.
Descrio
Operador; usado para navegar por hierarquias de clipes de filmes, para acessar clipes de filmes, variveis ou propriedades (filhas) aninhados. O operador ponto usado tambm para testar ou definir as propriedades de um objeto, executar um mtodo de um objeto ou criar uma estrutura de dados.
Exemplo
A instruo a seguir identifica o valor atual da varivel corCabelo no clipe de filme pessoa_mc.
pessoa_mc.corCabelo
. (ponto)
257
: (tipo)
Disponibilidade
Flash Player 6.
Uso [modificadores] [var] nomeVarivel:[tipo] function nomeFuno():[tipo] { ... } function nomeFuno(parmetro1[:tipo], ... , parmetroN[:tipo]) { ... } Parmetros nomeVarivel tipo
Um 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.
Operador; especifica o tipo da varivel, o tipo de retorno da funo ou o tipo de parmetro da funo. Quando usado em uma atribuio ou em uma declarao de varivel, esse operador especifica o tipo da varivel; quando usado em uma declarao ou definio de funo, esse operador especifica o tipo de retorno da funo; quando usado com um parmetro de funo em uma definio de funo, esse operador especifica o tipo da varivel esperado para esse parmetro. Os tipos so um recurso de tempo de compilao somente. Todos os tipos so verificados em tempo de compilao e geram-se erros quando h incompatibilidades. Para obter mais informaes, consulte Apndice A, Mensagens de erro, na pgina 903. Incompatibilidade de tipos podem ocorrer durante operaes de atribuio, chamadas de funo e referncia a membro de classe usando o operador ponto (.). Para evitar a incompatibilidade de tipos, use a atribuio explcita de tipos (consulte Atribuio estrita de tipos de dados na pgina 41). Os tipos que podem ser usados incluem todos os tipos de objetos nativos, classes e interfaces que sejam definidos pelo usurio e Void e Function (que existem somente como tipos, no como objetos). Os tipos nativos reconhecidos so Array, Boolean, Button, Color, CustomActions, Date, Function, LoadVars, LocalConnection, Microphone, MovieClip, NetConnection, NetStream, Number, Object, SharedObject, Sound, String, TextField, TextFormat, Video, Void, XML, XMLNode e XMLSocket.
Exemplo
Uso 1: O exemplo a seguir declara uma varivel pblica denominada nomeUsurio cujo tipo String e atribui uma seqncia de caracteres vazia a ela.
public var nomeUsurio:String = "";
Uso 2: Este exemplo demonstra como especificar o tipo de parmetro de uma funo. O cdigo a seguir define uma funo denominada setDate() que requer um parmetro denominado dataAtual do tipo Date.
function setDate(dataAtual:Date) { this.date = dataAtual; }
258
Uso 3: O cdigo a seguir define uma funo denominada raizQuad(), que requer um parmetro denominado val do tipo Number, e retorna a raiz quadrada de val, tambm um tipo Number.
function raizQuad(val:Number):Number { return Math.sqrt(val); }
?: (condicional)
Disponibilidade
Flash Player 4.
Uso expresso1 ? Parmetros expresso1 Uma expresso que resulta em um valor booleano, normalmente uma expresso de comparao como x < 5. expresso2, expresso3 Retorna expresso2 : expresso3
Nada.
Descrio
Operador; instrui o Flash a avaliar a expresso1 e, se o valor da expresso1 for true, ele retornar o valor da expresso2; caso contrrio, retornar o valor da expresso3.
Exemplo
A instruo a seguir atribui o valor da varivel x varivel z, pois a expresso1 foi avaliada como true:
x = 5; y = 10; z = (x < 6) ? x: y; trace (z); // retorna 5
?: (condicional)
259
/ (diviso)
Disponibilidade
Flash Player 4.
Uso expresso1 / expresso2 Parmetros expresso Retorna
Nada.
Descrio
Operador (aritmtico); divide expresso1 por expresso2. O resultado da operao de diviso um nmero de dupla preciso e ponto flutuante.
Exemplo
A instruo a seguir divide o nmero de ponto flutuante 22,0 por 7,0 e exibe o resultado no painel Output (Sada).
trace(22.0 / 7.0);
260
// (delimitador de comentrio)
Disponibilidade
Flash 1.
Uso // comentrio Parmetros comentrio Retorna
Quaisquer caracteres.
Nada.
Descrio
Comentrio; indica o incio de um comentrio de script. Qualquer caractere que aparea entre o delimitador de comentrio // e o caractere de fim de linha ser interpretado como comentrio e ignorado pelo interpretador ActionScript.
Exemplo
Este script usa delimitadores de comentrio para identificar a primeira, terceira, quinta e stima linhas como comentrios.
// registra a posio ballX = ball._x; // registra a posio ballY = ball._y; // registra a posio batX = bat._x; // registra a posio batY = bat._y; Consulte tambm /* (delimitador de comentrio) X do clipe de filme ball Y do clipe de filme ball X do clipe de filme bat Y do clipe de filme bat
// (delimitador de comentrio)
261
/* (delimitador de comentrio)
Disponibilidade
Flash Player 5.
Uso /* comentrio */ /* comentrio comentrio */ Parmetros comentrio Retorna
Quaisquer caracteres.
Nada.
Descrio
Comentrio; indica uma ou mais linhas de comentrios de script. Quaisquer caracteres que apaream entre a marca de comeo de comentrio /* e a marca de fechamento de comentrio */ so interpretados como comentrios e ignorados pelo interpretador ActionScript. Use o primeiro tipo de sintaxe para identificar comentrios de uma linha. Use o segundo tipo de sintaxe para identificar comentrios de vrias linhas sucessivas. Se no for usada a marca de fechamento */ com essa forma de delimitador de comentrio, ser gerada uma mensagem de erro.
Exemplo
262
/= (atribuio de diviso)
Disponibilidade
Flash Player 4.
Uso expresso1 Parmetros expresso1,expresso2 Retorna /= expresso2
Nada.
Descrio
Operador (atribuio composta aritmtica); atribui a expresso1 o valor da expresso1 / expresso2. Por exemplo, as duas instrues a seguir so equivalentes:
x /= y x = x / y Exemplo
/= (atribuio de diviso)
263
[] (acesso de array)
Disponibilidade
Flash Player 4.
Uso meu_array = ["a0", a1,...aN] meu_arrayMultiDimensional = [["a0",...aN],...["a0",...aN]] meu_array[E] = valor meu_arrayMultiDimensional[E][E] = valor objeto["valor"] Parmetros meu_array
a0, a1,...aN
meu_arrayMultiDimensional E
O nmero (ou ndice) de um elemento de um array. O nome de um objeto. Uma seqncia de caracteres ou expresso que d nome a uma propriedade do objeto.
Nada.
Descrio
Operador; inicializa um novo array ou uma matriz com os elementos especificados (a0 e assim por diante), ou acessa elementos de um array. O operador de acesso ao array permite definir e recuperar dinamicamente nomes de instncia, de varivel e de objeto. Alm disso, permite o acesso s propriedades de objeto. Uso 1: Um array um objeto cujas propriedades, denominadas elementos, so identificadas individualmente por um nmero chamado de ndice. Quando voc cria um array, cerca seus elementos com operadores de acesso ao array (ou colchetes). Um array pode conter elementos de vrios tipos. Por exemplo, o seguinte array, denominado funcionrio, possui trs elementos; o primeiro um nmero e os outros dois so seqncias de caracteres (dentro de aspas).
funcionrio = [15, "Brbara", "rico"];
Uso 2: possvel aninhar os colchetes para simular matrizes. O cdigo a seguir cria um array denominado ticTacToe com trs elementos; cada um deles tambm um array com trs elementos.
ticTacToe = [[1,2,3],[4,5,6],[7,8,9]]; // escolha Debug (Depurar) > List Variables (Listar variveis) no modo de teste // de filme para ver uma lista com os elementos do array
264
Uso 3: Coloque o ndice de cada elemento entre colchetes para acess-lo diretamente. possvel incluir um novo elemento e alterar ou recuperar o valor de um elemento existente no array. O ndice do primeiro elemento de um array sempre 0:
meu_array[0] = 15; meu_array[1] = "Ol"; meu_array[2] = true;
Uso 4: Para acessar um elemento de uma matriz, use colchetes. O primeiro conjunto de colchetes identifica o elemento do array original e o segundo conjunto identifica o elemento do array aninhado. A linha de cdigo a seguir envia o nmero 6 para o painel Output (Sada).
ticTacToe = [[1,2,3],[4,5,6],[7,8,9]]; trace(ticTacToe[1][2]); // retorna 6
Uso 5: possvel usar o operador de acesso ao array em vez da funo eval para atribuir e recuperar dinamicamente valores de nomes de clipes de filme ou qualquer propriedade de um objeto:
nome["mc" + i] = "canto_esquerdo"; Exemplo
Uso 1: Os exemplos de cdigo a seguir mostram duas maneiras diferentes de criar um novo objeto Array vazio; a primeira linha usa colchetes.
meu_array =[]; meu_array = new Array();
Usos 1 e 2: O exemplo a seguir cria um array chamado array_funcionrios e usa a ao trace() para enviar os elementos para o painel Output. Na quarta linha altera-se um elemento do array e a quinta linha envia o array recentemente modificado para o painel Output:
array_funcionrios = ["Brbara", "George", "Maria"]; trace(array_funcionrios); // Brbara, George, Maria array_funcionrios[2]="Sam"; trace(array_funcionrios); // Brbara, George, Sam
Uso 3: No exemplo a seguir, a expresso entre parnteses ("trecho" + i) avaliada e o resultado usado como o nome da varivel a ser recuperada do clipe de filme meu_mc. Neste exemplo, a varivel i deve estar na mesma Timeline (Linha de tempo) que o boto. Se a varivel i for igual a 5, por exemplo, o valor da varivel trecho5 no clipe de filme meu_mc ser exibido no painel Output:
on (release) { x = meu_mc["trecho"+i]; trace(x); }
[] (acesso de array)
265
Uso 3: No cdigo a seguir, a expresso dentro dos colchetes avaliada e o resultado usado como o nome da varivel a ser recuperada do clipe de filme nome_mc:
nome_mc["A" + i];
Caso conhea a sintaxe de barra do ActionScript do Flash 4, use a funo eval para obter o mesmo resultado:
eval("name.A" & i);
Uso 3: Tambm possvel usar o operador de acesso ao array que fica do lado esquerdo de uma instruo de atribuio para definir dinamicamente a instncia, a varivel e os nomes de objeto:
nome[ndice] = "Gary"; Consulte tambm
266
Flash Player 5.
Uso expresso1 ^ expresso2 Parmetros expresso1,expresso2 Retorna
Um nmero.
Nenhum.
Descrio
Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits sem sinal e retorna um 1 em cada posio de bit onde os bits correspondentes na expresso1 ou expresso2, mas no em ambas, sejam 1.
Exemplo
O exemplo a seguir usa o operador XOR bit a bit nos decimais 15 e 9 e atribui o resultado varivel x.
// 15 decimal = 1111 binrio // 9 decimal = 1001 binrio x = 15 ^ 9 trace(x) // 1111 ^ 1001 = 0110 // retorna 6 decimal( = 0110 binrio)
267
Flash Player 5.
Uso expresso1 Parmetros expresso1,expresso2 Retorna ^=expresso2
Inteiros e variveis.
Nenhum.
Descrio expresso2. x ^= y x = x ^ y Exemplo
Operador (atribuio composta bit a bit); atribui a expresso1 o valor de expresso1 ^ Por exemplo, as duas instrues a seguir so equivalentes:
{} (inicializador de objeto)
Disponibilidade
Flash Player 5.
Uso objeto = {nome1: valor1, nome2: valor2,...nomeN: valorN} Parmetros objeto
O objeto a ser criado. Os nomes das propriedades. Os valores correspondentes de cada propriedade nome.
nome1,2,...N valor1,2,...N
268
Retorna
Nenhum.
Descrio
Operador; cria um novo objeto e o inicializa com os pares de propriedades nome e valor especificados. Usar este operador o mesmo que usar a sintaxe new Object e preencher os pares de propriedades com o operador de atribuio. O prottipo do objeto recm-criado genericamente denominado como objeto Object.
Exemplo
A primeira linha do cdigo a seguir cria um objeto vazio usando o operador de inicializao do objeto; a segunda cria um novo objeto usando uma funo construtora.
objeto = {}; objeto = new Object();
O exemplo a seguir cria um objeto conta e inicializa as propriedades nome, endereo, cidade, estado, cep e saldo com os respectivos valores.
conta = { nome: "Bete Silva", endereo: "Rua Principal, 123", cidade: "Cidade Flash", estado: "So Paulo", cep: "12345", saldo: "1000" };
O exemplo a seguir mostra como inicializadores de arrays e de objetos podem ser aninhados um dentro do outro.
pessoa = { nome: "Gina Vechio", filhos: [ "Ruby", "Chickie", "Puppa"] };
O exemplo a seguir usa as informaes do exemplo anterior e apresenta o mesmo resultado usando as funes construtoras.
pessoa = new Object(); pessoa.nome = 'Gina Vechio'; pessoa.filhos = new Array(); pessoa.filhos[0] = 'Ruby'; pessoa.filhos[1] = 'Chickie'; pessoa.filhos[2] = 'Puppa'; Consulte tambm [] (acesso de array), new,
Classe Object
{} (inicializador de objeto)
269
Flash Player 5.
Uso expresso1 | expresso2 Parmetros expresso1,expresso2 Retorna
Um nmero.
Nenhum.
Descrio
Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits sem sinal e retorna um 1 em cada posio de bit onde os bits correspondentes na expresso1 ou expresso2 sejam 1.
Exemplo
270
|| (OR lgico)
Disponibilidade
Flash Player 4.
Uso expresso1 || expresso2 Parmetros expresso1,expresso2
booleano.
Retorna
Um valor booleano.
Descrio
Operador (lgico); avalia a expresso1 e a expresso2. O resultado ser (true) se uma ou ambas as expresses forem avaliadas como true; o resultado ser (false) apenas se ambas as expresses forem avaliadas como false. possvel usar o operador OR lgico com qualquer nmero de operandos; se algum operando for avaliado como true, o resultado ser true. Com expresses no-booleanas, o operador lgico OR faz com que o Flash avalie a expresso da esquerda; se ela puder ser convertida em true, o resultado ser true. Caso contrrio, ele avaliar a expresso da direita e o resultado ser o valor dessa expresso.
Exemplo
Uso 1: O exemplo a seguir usa o operador || em uma instruo if: A segunda expresso avaliada como true para que o resultado final seja true:
x = 10 y = 250 start = false if(x >25 || y > 200 || start){ trace('passou pelo teste de OR lgico'); }
Uso 2: Este exemplo demonstra como uma expresso no-booleana pode apresentar um resultado inesperado. Se o valor da expresso da esquerda for true, esse resultado ser retornado sem converter a expresso da direita.
function fx1(){ trace ("fx1 chamado"); returns true; } function fx2(){ trace ("fx2 chamado"); return true; } if (fx1() || fx2()){ trace ("entrou na instruo IF"); } // O que se segue enviado para o painel Output (Sada): // fx1 chamado // entrou na instruo IF
|| (OR lgico)
271
Flash Player 5.
Uso expresso1 |= expresso2 Parmetros expresso1,expresso2 Retorna
Nenhum.
Descrio
Operador (atribuio bit a bit); atribui a expresso1 o valor de expresso1 | expresso2. Por exemplo, as duas instrues a seguir so equivalentes:
x |= y; x = x | y; Exemplo
272
Flash Player 5.
Uso ~ expresso Parmetros expresso Retorna
Um nmero.
Nenhum.
Descrio
Operador (bit a bit); converte a expresso em um inteiro de 32 bits sem sinal, depois inverte os bits. Uma operao NOT bit a bit altera o sinal de um nmero e subtrai 1.
Exemplo
O exemplo a seguir mostra uma operao NOT bit a bit executada em uma varivel.
a = 0; trace ("quando a = 0, ~a = "+~a); // quando a = 0, ~a = -1 a = 1; trace ("quando a = 1, ~a = "+~a); // quando a = 0, ~a = -2 // portanto, ~0=-1 e ~1=-2
273
+ (adio)
Disponibilidade
Flash Player 4; Flash Player 5. No Flash 5 e verses posteriores, + um operador numrico ou concatenador de seqncias de caracteres, dependendo dos tipos de dados dos parmetros. No Flash 4, + somente um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados. O exemplo a seguir ilustra a converso de um arquivo do Flash 4 que contm uma comparao do tipo numrica. Arquivo do Flash 4:
x + y
Nenhum.
Descrio
Operador; soma expresses numricas ou concatena (combina) seqncias de caracteres. Se uma expresso for uma seqncia de caracteres, todas as outras expresses sero convertidas em seqncias de caracteres e concatenadas. Se ambas as expresses forem inteiras, a soma ser um inteiro; se uma ou ambas as expresses forem nmeros de ponto flutuante, a soma ser um nmero de ponto flutuante.
Exemplo
Uso 1: O exemplo a seguir concatena duas seqncias de caracteres e exibe o resultado no painel Output (Sada).
nome = "Cola"; instrumento = "Baterias"; trace (nome + " toca " + instrumento);
Uso 2: As variveis associadas a campos de texto dinmico e de entrada so do tipo de dados String. No exemplo a seguir, o depsito da varivel um campo de texto de entrada em Stage (Palco). Aps a insero de um valor por um usurio, o script tentar incluir o depsito no saldoAnterior. Contudo, como depsito uma seqncia de caracteres, o script concatena (combina os dados para formar uma nica seqncia de caracteres) os valores da varivel em vez de som-los.
saldoAnterior = 1345.23; saldoAtual = depsito + saldoAnterior; trace (saldoAtual);
Por exemplo, se um usurio inserir 475 no campo de texto de depsito, a ao trace() enviar o valor 4751345,23 para o painel Output.
274
Para corrigir isso, use a funo Number() para converter a seqncia de caracteres em um nmero, como no exemplo a seguir:
saldoAtual = Number(depsito) + saldoAnterior;
Uso 3: Esta instruo soma os inteiros 2 e 3 e exibe o inteiro resultante, 5, no painel Output:
trace (2 + 3);
Esta instruo soma os nmeros de ponto flutuante 2,5 e 3,25 e exibe o resultado, 5,75, que um nmero de ponto flutuante, no painel Output:
trace (2.5 + 3.25); Consulte tambm _accProps
+ (adio)
275
+= (atribuio de adio)
Disponibilidade
Flash Player 4.
Uso expresso1 Parmetros expresso1,expresso2 Retorna += expresso2
Nada.
Descrio expresso2. x += y; x = x + y;
Operador (atribuio composta aritmtica); atribui a expresso1 o valor de expresso1 + Por exemplo, as duas instrues a seguir tm o mesmo resultado:
Este operador tambm executa concatenao de seqncias de caracteres. Todas as regras do operador de adio (+) so aplicadas ao operador de atribuio de adio (+=).
Exemplo
Este exemplo usa o operador += com uma expresso de seqncia de caracteres e envia Meu nome Gilberto para o painel Output (Sada).
x = "Meu nome " x += "Gilberto" trace (x) // retorna "Meu nome Gilberto" Consulte tambm + (adio)
276
Flash Player 4; Flash Player 5. No Flash 5 e verses posteriores, o operador < (menor que) um operador de comparao capaz de manipular vrios tipos de dados. No Flash 4, < um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados. O exemplo a seguir ilustra a converso de um arquivo do Flash 4 que contm uma comparao do tipo numrica. Arquivo do Flash 4:
x < y
Operador (comparao); compara duas expresses e determina se expresso1 menor que expresso2; em caso positivo, o operador retorna true. Se expresso1 for maior ou igual a expresso2, o operador retornar false. As expresses de seqncia de caracteres so avaliadas em ordem alfabtica; todas as letras maisculas vm antes das minsculas.
Exemplo
Os exemplos a seguir ilustram retornos true e false para comparaes entre nmeros e entre seqncias de caracteres:
3 < 10; // true 10 < 3; //false "Alex" < "Carlos"; // true "Carlos" < "Alex"; //false "11" < "3"; //true "11" < 3; // comparao numrica //false "C" < "abc"; //false "A" < "a"; // true
277
Flash Player 5.
Uso expresso1 << expresso2 Parmetros expresso1 expresso2 Retorna
Nmero ou expresso a ser deslocada para a esquerda. Nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.
Nada.
Descrio
Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits e desloca todos os bits em expresso1 para a esquerda de acordo com o nmero de casas especificado pelo inteiro que resulta da converso de expresso2. As posies dos bits que ficarem vazias como resultado dessa operao so preenchidas com 0. Deslocar um valor uma posio para a esquerda o equivalente a multiplic-lo por 2.
Exemplo
O resultado dessa operao x = 1024. Isso porque 1 decimal igual a 1 binrio, 1 binrio deslocado 10 para a esquerda 10000000000 binrio e 10000000000 binrio 1024 decimal. No exemplo a seguir, o inteiro 7 deslocado 8 bits para a esquerda.
x = 7 << 8
O resultado dessa operao x = 1792. Isso porque 7 decimal igual a 111 binrio, 111 binrio deslocado 8 bits para a esquerda 11100000000 binrio e 11100000000 binrio 1792 decimal.
Consulte tambm >>= (deslocamento para a direita bit a bit e atribuio), >> (deslocamento para a direita bit a bit), <<= (deslocamento para a esquerda bit a bit e atribuio)
278
Flash Player 5.
Uso expresso1 <<= expresso2 Parmetros expresso1 expresso2 Retorna
Nmero ou expresso a ser deslocada para a esquerda. Nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.
Nada.
Descrio
Operador (atribuio composta bit a bit); esse operador executa uma operao de deslocamento para esquerda bit a bit e armazena o contedo como um resultado na expresso1. As duas expresses a seguir so equivalentes.
A <<= B A = (A << B) Consulte tambm << (deslocamento para a esquerda bit a bit), >>= (deslocamento para a direita bit a bit e atribuio), >> (deslocamento para a direita bit a bit)
279
Um valor booleano.
Descrio
Operador (comparao); compara duas expresses e determina se expresso1 menor ou igual a expresso2 ; em caso positivo, o operador retorna true. Se expresso1 for maior que expresso2, o operador retornar false. As expresses de seqncia de caracteres so avaliadas em ordem alfabtica; todas as letras maisculas vm antes das minsculas. No Flash 5 ou verso posterior, o operador menor ou igual a (<=) um operador de comparao, capaz de manipular vrios tipos de dados. No Flash 4, <= um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados. O exemplo a seguir ilustra a converso de um arquivo do Flash 4 que contm uma comparao do tipo numrica.
Exemplo
Os exemplos a seguir ilustram resultados true e false para comparaes entre nmeros e entre seqncias de caracteres:
5 <= 10; // true 2 <= 2; // true 10 <= 3; //false "Alex" <= "Carlos"; // true "Carlos" <= "Alex"; //false "11" <= "3"; //true "11" <= 3; // comparao numrica //false "C" <= "abc"; //false "A" <= "a"; // true
280
<> (diferena)
Disponibilidade
Flash 2.
Uso expresso1 <> expresso2 Parmetros expresso1,expresso2
array ou funo.
Retorna
Um valor booleano.
Descrio
Operador (diferena); testa o oposto exato do operador ==. Se expresso1 for igual a expresso2, o resultado ser false. Assim como o operador ==, a definio de igual depende dos tipos de dados comparados.
Nmeros, seqncias de caracteres e valores booleanos so comparados por valor. Variveis, objetos, arrays e funes so comparadas por referncia.
Este operador tornou-se obsoleto no Flash 5 e a Macromedia recomenda o uso do operador !=.
Consulte tambm != (diferena)
<> (diferena)
281
= (atribuio)
Disponibilidade
Nada.
Descrio
Operador; atribui o tipo de expresso2 (o parmetro da direita) varivel, ao elemento do array ou propriedade em expresso1. No Flash 5 ou verso posterior, = um operador de atribuio e o operador == usado para avaliar a igualdade. No Flash 4, = um operador de igualdade numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados.
Exemplo
O exemplo a seguir usa o operador de atribuio para associar o tipo de dados Number varivel x.
x = 5
O exemplo a seguir usa o operador de atribuio para associar o tipo de dados String varivel x.
x = "Ol" Consulte tambm == (igualdade)
282
-= (atribuio de subtrao)
Disponibilidade
Flash Player 4.
Uso expresso1 -= expresso2 Parmetros expresso1,expresso2 Retorna
Nada.
Descrio expresso2. x -= y; x = x - y;
Operador (atribuio composta aritmtica); atribui a expresso1 o valor de expresso1 Por exemplo, as duas instrues a seguir so equivalentes:
As expresses de seqncia de caracteres devem ser convertidas em nmeros ou ser retornado NaN.
Exemplo
Uso 1: O exemplo a seguir usa o operador -= para subtrair 10 de 5 e atribui o resultado varivel x.
x = 5; y = 10; x -= y trace(x); //retorna -5
-= (atribuio de subtrao)
283
== (igualdade)
Disponibilidade
Flash Player 5.
Uso expresso1 == expresso2 Parmetros expresso1,expresso2
array ou funo.
Retorna
Um valor booleano.
Descrio
Operador (igualdade); testa a igualdade de duas expresses. O resultado ser true se as expresses forem iguais. A definio de igual depende do tipo de dados do parmetro:
Nmeros e valores booleanos so comparados por valor e, se tiverem o mesmo valor, sero
considerados iguais. Expresses de seqncia de caracteres sero iguais se tiverem o mesmo nmero de caracteres e os caracteres forem idnticos. Variveis, objetos, arrays e funes so comparadas por referncia. Duas variveis sero iguais se fizerem referncia ao mesmo objeto, array ou funo. Dois arrays separados nunca so considerados iguais, mesmo que tenham o mesmo nmero de elementos.
Exemplo
Uso 2: Estes exemplos mostram os resultados de operaes que comparam tipos misturados.
x = "5"; y = "5"; trace(x == y); // true x = "5"; y = "66"; trace(x ==y); //false x = "chris"; y = "steve"; trace (x == y); //false Consulte tambm != (diferena), === (igualdade estrita), !== (diferena estrita)
284
Flash Player 6.
Uso expresso1 === expresso2 Retorna
Um valor booleano.
Descrio
Operador; testa a igualdade de duas expresses; o operador de igualdade estrita executado da mesma forma que o operador de igualdade, exceto pela converso dos tipos de dados. Se ambas as expresses forem idnticas, inclusive os tipos de dados, o resultado ser true. A definio de igual depende do tipo de dados do parmetro:
Nmeros e valores booleanos so comparados por valor e, se tiverem o mesmo valor, sero
considerados iguais.
Exemplo
O cdigo a seguir exibe o valor retornado de operaes que usam os operadores de igualdade, igualdade estrita e diferena estrita.
s1 = new String("5"); s2 = new String("5"); s3 = new String("Ol"); n = new Number(5); b = new Boolean(true); s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 == == == == === === === === !== !== !== !== s2; // true s3; // false n; // true b; // false s2; // true s3; // false n; // false b; // false s2; // false s3; // true n; // true b; // true
285
Um valor booleano.
Descrio
Operador (comparao); compara duas expresses e determina se expresso1 menor ou igual a expresso2; em caso positivo, o operador retorna true. Se expresso1 for menor ou igual a expresso2, o operador retornar false. As expresses de seqncia de caracteres so avaliadas em ordem alfabtica; todas as letras maisculas vm antes das minsculas. No Flash 5 ou verso posterior, o operador menor ou igual a (<=) um operador de comparao, capaz de manipular vrios tipos de dados. No Flash 4, <= um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados.
286
flutuante.
Retorna
Um valor booleano.
Descrio
Operador (comparao); compara duas expresses e determina se expresso1 maior ou igual a expresso2 (true) ou se expresso1 menor que expresso2 (false). No Flash 5 ou verso posterior, maior ou igual a (>) um operador de comparao capaz de manipular vrios tipos de dados. No Flash 4, > um operador numrico. Os arquivos do Flash 4 trazidos para o ambiente de criao Flash 5 ou verses posteriores passam por um processo de converso para manter a integridade dos tipos de dados.
287
Flash Player 5.
Uso expresso1 >> expresso2 Parmetros expresso1 expresso2 Retorna
Nmero ou expresso a ser deslocada para a direita. Nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.
Nada.
Descrio
Operador (bit a bit); converte expresso1 e expresso2 em inteiros de 32 bits e desloca todos os bits em expresso1 para a direita de acordo com o nmero de casas especificado pelo inteiro que resulta da converso de expresso2. Bits deslocados para a direita so descartados. Para preservar o sinal da expresso original, os bits na esquerda sero preenchidos com 0 se o bit mais significativo (o mais esquerda) da expresso1 for 0 e preenchidos com 1 se o bit mais significativo for 1. O deslocamento de um valor em uma posio para a direita equivale diviso por 2 e ao descarte do resto.
Exemplo
O exemplo a seguir converte 65535 em um inteiro de 32 bits e o desloca 8 bits para a direita.
x = 65535 >> 8
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
Isso porque -1 decimal igual a 11111111111111111111111111111111 binrio (trinta e dois 1), o deslocamento de um bit para a direita faz com que o bit menos significativo (bit mais direita) seja descartado e o bit mais significativo seja preenchido com 1. O resultado 11111111111111111111111111111111 (trinta e dois 1) binrio, que representa o inteiro de 32 bits -1.
Consulte tambm >>= (deslocamento para a direita bit a bit e atribuio)
288
Flash Player 5.
Uso expresso1 =>>expresso2 Parmetros expresso1 expresso2 Retorna
Nmero ou expresso a ser deslocada para a esquerda. Nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.
Nada.
Descrio
Operador (atribuio composta bit a bit); este operador executa uma operao de deslocamento para direita bit a bit e armazena o contedo como um resultado em expresso1.
Exemplo
O cdigo comentado a seguir usa o operador bit a bit (>>=). Ele tambm um exemplo do uso de todos os operadores bit a bit.
function convertToBinary(nmero){ var result = ""; for (var i=0; i32; i++) { // Extrai o bit menos significativo pelo uso de AND bit a bit var bms = nmero & 1; // Inclui esse bit na nossa seqncia de caracteres de resultado result = (bms ? "1" : "0") + result; // Desloca o nmero um bit para a direita para ver prximo bit nmero >>= 1;} return result; } trace(convertToBinary(479)); // Retorna a seqncia de caracteres 00000000000000000000000111011111 // A seqncia de caracteres acima a representao binria do nmero // decimal 479 Consulte tambm << (deslocamento para a esquerda bit a bit)
289
Flash Player 5.
Uso expresso1 >>> expresso2 Parmetros expresso1 expresso2 Retorna
Nmero ou expresso a ser deslocada para a direita. Um nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.
Nada.
Descrio
Operador (bit a bit); o mesmo que o operador de deslocamento para a direita bit a bit (>>), exceto que ele no mantm o sinal da expresso original, pois os bits da esquerda sempre so preenchidos com 0.
Exemplo
Isso porque -1 decimal 11111111111111111111111111111111 binrio (trinta e dois 1) e, quando deslocado um bit (sem sinal) para a direita, o bit menos significativo (mais direita) descartado e o bit mais significativo (mais esquerda) preenchido com um 0. O resultado 01111111111111111111111111111111 binrio, que representa o inteiro de 32 bits 2147483647.
Consulte tambm >>= (deslocamento para a direita bit a bit e atribuio)
290
Flash Player 5.
Uso expresso1 >>>= expresso2 Parmetros expresso1 expresso2 Retorna
Nmero ou expresso a ser deslocada para a esquerda. Um nmero ou expresso que pode ser transformada em um inteiro entre 0 e 31.
Nada.
Descrio
Operador (atribuio composta bit a bit); executa uma operao de deslocamento para direita bit a bit sem sinal e armazena o contedo como um resultado em expresso1. As duas expresses a seguir so equivalentes:
A >>>= B A = (A >>> B) Consulte tambm >>> (deslocamento para a direita bit a bit sem sinal), >>= (deslocamento para a direita bit a bit e atribuio)
Classe Accessibility
Disponibilidade
A classe Accessibility gerencia a comunicao com leitores de tela. Os mtodos da classe Accessibility so estticos, ou seja, no preciso criar uma instncia da classe para usar seus mtodos. Para obter e definir propriedades acessveis para um objeto especfico, como um boto, clipe de filme ou campo de texto, use a propriedade global _accProps. Para determinar se o exibidor est sendo executado em um sistema que suporta recursos de acessibilidade, use System.capabilities.hasAccessibility. Resumo dos mtodos da classe Accessibility
Mtodo
Accessibility.isActive() Accessibility.updateProperties()
Descrio Indica se um programa leitor de tela est ativo. Atualiza a descrio de objetos na tela para leitores de tela.
Classe Accessibility
291
Accessibility.isActive()
Disponibilidade
Nenhum.
Retorna
Um valor booleano true se houver clientes ativos do MSAA (Microsoft Active Accessibility) e o exibidor estiver sendo executado em um ambiente que suporte a comunicao entre o Flash Player e os recursos de acessibilidade; caso contrrio, o valor ser false.
Descrio
Mtodo; indica se um programa leitor de tela do MSAA est ativo no momento e se o exibidor est sendo executado em um ambiente que suporta a comunicao entre o Flash Player e os recursos de acessibilidade. Use este mtodo quando desejar que seu aplicativo tenha um comportamento diferente diante de um leitor de tela. Para determinar se o exibidor est sendo executado em um sistema que suporta recursos de acessibilidade, use System.capabilities.hasAccessibility.
Observao: Se esse mtodo for chamado dentro de, aproximadamente, um ou dois segundos depois que aparecer pela primeira vez a janela do Flash na qual o seu documento est sendo reproduzido, o valor false poder ser retornado mesmo que haja um cliente ativo do MSAA. Isso ocorre devido a um mecanismo de comunicao assncrono entre o Flash e clientes do MSAA. O usurio pode solucionar essa limitao garantindo que v ocorrer um atraso de um ou dois segundos depois de carregar o documento antes de chamar esse mtodo. Consulte tambm Accessibility.updateProperties(), _accProps, System.capabilities.hasAccessibility
292
Accessibility.updateProperties()
Disponibilidade
Nenhum.
Retorna
Nada.
Descrio
Mtodo; faz com que o Flash Player reexamine todas as propriedades de acessibilidade, atualize sua descrio de objetos para leitores de tela e, se necessrio, envie eventos para os leitores de tela para indicar que ocorreram alteraes. Para obter informaes sobre como definir propriedades de acessibilidade, consulte _accProps. Para determinar se o exibidor est sendo executado em um sistema que suporta recursos de acessibilidade, use System.capabilities.hasAccessibility. Se voc modificar as propriedades de acessibilidade para vrios objetos, ser necessria apenas uma chamada a Accessibility.updateProperties(). Vrias chamadas podem causar reduo do desempenho e resultados ilegveis do leitor de tela.
Exemplo
O cdigo ActionScript a seguir utiliza as propriedades dinmicas de acessibilidade. Este exemplo refere-se a um boto no-textual que pode mudar o cone exibido.
function setIcon( newIconNum, newTextEquivalent ) { this.iconImage = this.iconImages[ newIconNum ]; if ( newTextEquivalent != undefined ) { if ( this._accProps == undefined ) this._accProps = new Object(); this._accProps.name = newTextEquivalent; Accessibility.updateProperties(); } } Consulte tambm Accessibility.isActive(), _accProps, System.capabilities.hasAccessibility
Accessibility.updateProperties()
293
_accProps
Disponibilidade
vlidos, a seguir).
nomeInstncia Nome atribudo a uma instncia de um clipe de filme, boto, campo de texto dinmico ou campo de texto de entrada. Descrio
Propriedade; permite controlar as opes de acessibilidade do leitor de tela para arquivos SWF, clipes de filme, botes, campos de texto dinmicos ou campos de texto de entrada durante a execuo. Essas propriedades substituem as configuraes correspondentes disponveis no painel Accessibility (Acessibilidade) durante a criao. Para que as alteraes feitas nessas propriedades tenham efeito, chame Accessibility.updateProperties(). Para obter informaes sobre o painel Accessibility, consulte The Flash Accessibility panel (Painel Accessibility do Flash) no Using Flash Help (Ajuda de Usando o Flash). Para determinar se o exibidor est sendo executado em um sistema que suporta recursos de acessibilidade, use System.capabilities.hasAccessibility. A tabela a seguir lista o nome e o tipo de dados de cada propriedade _accProps, a configurao equivalente no painel Accessibility e os tipos de objeto aos quais a propriedade pode ser aplicada. O termo lgica inversa indica que a configurao da propriedade o inverso da configurao correspondente no painel Accessibility. Por exemplo, definir a propriedade silent como true equivale a desmarcar a opo Make Movie Accessible (Tornar filme acessvel) ou Make Object Accessible (Tornar objeto acessvel).
Propriedade
silent
Tipo de dados Equivalente no painel Accessibility Aplicvel a Boolean Make Movie Accessible/ Make Object Accessible (lgica inversa) Filmes inteiros Clipes de filme Botes Texto dinmico Entrada de texto Filmes inteiros Clipes de filme Filmes inteiros Clipes de filme Botes Entrada de texto
forceSimple
Boolean
Make Child Objects Accessible (Tornar objetos-filhos acessveis) (lgica inversa) Name
name
String
294
Propriedade
description
Tipo de dados Equivalente no painel Accessibility Aplicvel a String Description (Descrio) Filmes inteiros Clipes de filme Botes Texto dinmico Entrada de texto Clipes de filme Botes Entrada de texto
shortcut
String
Shortcut (Atalho)*
Para obter informaes sobre como atribuir um atalho de teclado a um objeto acessvel, consulte Key.addListener().
Para especificar configuraes que correspondam configurao Tab Index (ndice de tabulao) do painel Accessibility, use a propriedade Button.tabIndex, MovieClip.tabIndex ou TextField.tabIndex. No possvel especificar uma configurao Auto Label (Rtulo automtico) durante a execuo. Quando as propriedades _accProps so usadas sem o parmetro nomeInstncia, as alteraes feitas nessas propriedades aplicam-se a todo o filme. Por exemplo, o cdigo a seguir atribui a seqncia de caracteres "Loja de animais" propriedade de acessibilidade name de todo o filme e, em seguida, chama Accessibility.updateProperties() para executar essa alterao.
_accprops.name = "Loja de animais"; Accessbility.updateProperties();
O cdigo a seguir, por outro lado, atribui a seqncia de caracteres "Preo" propriedade name de um clipe de filme com nome de instncia preo_mc:
preo_mc._accProps.name = "Preo"; Accessbility.updateProperties();
Se voc estiver especificando vrias propriedades de acessibilidade, procure fazer as alteraes antes de chamar Accessibility.updateProperties(), em vez de cham-la aps cada instruo de propriedade:
_accprops.name = "Loja de animais"; animal_mc._accProps.name = "Animal"; animal_mc._accProps.description = "Gatos, cachorros, peixes, etc."; preo_mc._accProps.name = "Preo"; preo_mc._accProps.description = "Custo unitrio"; Accessbility.updateProperties();
Se voc no especificar uma propriedade de acessibilidade para um filme ou objeto, os valores definidos no painel Accessibility sero implementados. Aps a especificao de uma propriedade de acessibilidade, no possvel reverter o valor para aquele definido no painel Accessibility. No entanto, voc pode definir a propriedade com seu valor padro (false para valores booleanos, seqncias de caracteres vazias para valores de seqncia de caracteres) excluindo o objeto _accProps:
meu_mc._accProps.silent = true; // define uma propriedade // outro cdigo entra aqui delete meu_mc._accProps.silent; // reverte para o valor padro
_accProps
295
Para reverter todos os valores de acessibilidade de um objeto para os valores padro, voc pode excluir o objeto nomeInstncia._accProps:
delete meu_boto._accProps;
Para reverter os valores de acessibilidade de todos os objetos para os valores padro, voc pode excluir o objeto global _accProps:
delete _accProps;
Se voc especificar uma propriedade para um tipo de objeto que no oferea suporte a essa propriedade, a atribuio da propriedade ser ignorada e nenhum erro ser gerado. Por exemplo, a propriedade forceSimple no suportada para botes. Por isso, uma linha como esta ignorada:
meu_boto._accProps.forceSimple = false; //ignorada Exemplo
A seguir fornecido um cdigo ActionScript de exemplo que utiliza propriedades dinmicas de acessibilidade. Voc atribuiria esse cdigo a um componente de boto com cone no-textual, que pode mudar o cone exibido.
function setIcon( newIconNum, newTextEquivalent ) { this.iconImage = this.iconImages[ newIconNum ]; if ( newTextEquivalent != undefined ) { if ( this._accProps == undefined ) this._accProps = new Object(); this._accProps.name = newTextEquivalent; Accessibility.updateProperties(); } } Consulte tambm Accessibility.isActive(), Accessibility.updateProperties(), System.capabilities.hasAccessibility
296
add
Disponibilidade
Flash Player 4.
Uso seq_caract1 add seq_caract2 Parmetros seq_caract1, seq_caract2 Retorna
Nada.
Descrio
Operador; concatena (combina) duas ou mais seqncias de caracteres. O operador add substitui o operador add (&) do Flash 4. Os arquivos do Flash Player 4 que usam o operador & so convertidos automaticamente para usar o operador add na concatenao de seqncias de caracteres quando trazidos para o ambiente de criao do Flash 5 ou verses posteriores. Entretanto, o operador add tornou-se obsoleto no Flash Player 5 e a Macromedia recomenda que o operador + seja usado para criar contedo para o Flash Player 5 ou verses posteriores. Use o operador add para concatenar seqncias de caracteres se estiver criando contedo para o Flash 4 ou verses anteriores do Flash Player.
Consulte tambm + (adio)
and
Disponibilidade
Flash Player 4.
Uso condio1 and condio2 Parmetros condio1,condio2 Retorna
Nada.
Descrio
Operador; executa uma operao AND lgica no Flash Player 4. Se ambas as expresses forem avaliadas como true, toda a expresso ser true. Este operador tornou-se obsoleto no Flash 5, e a Macromedia recomenda que o operador && seja usado.
Consulte tambm && (AND lgico)
and
297
Classe Arguments
Disponibilidade
A classe Arguments um array que contm os valores passados como parmetros para qualquer funo. Toda vez que uma funo chamada no ActionScript, um objeto Arguments criado automaticamente para essa funo. Alm disso, criada uma varivel local, arguments, que permite a consulta ao objeto Arguments. Resumo das propriedades da classe Arguments
Propriedade arguments.callee arguments.caller arguments.length Descrio
Refere-se funo que est sendo chamada. Refere-se funo que est chamando. O nmero de parmetros passados para uma funo.
arguments.callee
Disponibilidade
Flash Player 5.
Uso arguments.callee Descrio
possvel usar a propriedade arguments.callee para tornar uma funo annima recursiva, como no exemplo a seguir:
factorial = function (x) { if (x <= 1) { return 1; } else { return x * arguments.callee(x-1); } };
298
arguments.caller
Disponibilidade
Flash Player 6.
Uso arguments.caller Descrio
arguments.length
Disponibilidade
Flash Player 5.
Uso arguments.length Descrio
Classe Array
Disponibilidade
Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio
A classe Array permite acessar e manipular arrays. Um array um objeto cujas propriedades so identificadas por nmeros que representam suas posies dentro dele. Esse nmero chamado de ndice. Todos os arrays tm zero como base, o que significa que o seu primeiro elemento [0], o segundo [1] e assim sucessivamente. No exemplo a seguir, meu_array contm os meses do ano.
meu_array[0] meu_array[1] meu_array[2] meu_array[3] = = = = "Janeiro" "Fevereiro" "Maro" "Abril"
Para criar um objeto Array, use o construtor new Array() ou o operador de acesso ao array ([]). Para acessar os elementos de um array, use o operador de acesso ao array ([]).
Classe Array
299
Descrio Concatena os parmetros e retorna-os como um novo array. Rene todos os elementos de um array em uma seqncia de caracteres. Remove o ltimo elemento de um array e retorna seu valor. Inclui um ou mais elementos no fim de um array e retorna o seu novo tamanho. Inverte a direo de um array. Remove o primeiro elemento de um array e retorna seu valor. Extrai uma seo de um array e retorna-a como um novo array. Ordena um array nele mesmo. Ordena um array, tendo como base um dos seus campos. Inclui elementos em um array e dele remove-os. Retorna uma seqncia de caracteres que representa os elementos no objeto Array. Inclui um ou mais elementos no incio de um array e retorna o seu novo tamanho.
Array.unshift()
Descrio Inteiro que no tem zero como base e especifica o nmero de elementos do array.
Flash Player 5.
Uso new Array() new Array(tamanho) new Array(elemento0, elemento1, elemento2,...elementoN) Parmetros tamanho
Um inteiro que especifica o nmero de elementos do array. No caso de elementos no contguos, o parmetro tamanho especifica o nmero do ndice do ltimo elemento do array mais 1.
elemento0...elementoN Uma lista de dois ou mais valores arbitrrios. Os valores podem ser nmeros, seqncias de caracteres, objetos ou outros arrays. O primeiro elemento de um array sempre tem um ndice ou posio 0.
300
Retorna
Nada.
Descrio
Construtor; permite-lhe criar um array. possvel usar o construtor para criar diferentes tipos de arrays: um array vazio, um array com tamanho especfico, mas cujos elementos no possuem nenhum valor, ou um array cujos elementos possuem valores especficos. Uso 1: Se os parmetros no forem especificados, ser criado um array com tamanho 0. Uso 2: Se voc especificar somente um tamanho, ser criado um array com tamanho elementos, sem valores. Uso 3: Se os parmetros elemento forem usados para especificar valores, ser criado um array com valores especficos.
Exemplo
Uso 1: O exemplo a seguir cria um novo objeto Array com um tamanho inicial 0.
meu_array = new Array(); trace(meu_array.length); // retorna 0
Uso 2: O exemplo a seguir cria um novo objeto Array com um tamanho inicial 4.
meu_array = new Array(4); trace(meu_array.length); // retorna 4
Uso 3: O exemplo a seguir cria um novo objeto Array chamado go_gos_array, com tamanho inicial 5.
go_gos_array = new Array("Belinda", "Gina", "Kathy", "Charlotte", "Jane"); trace(go_gos_array.length); // retorna 5 trace(go_gos_array.join(", ")); // exibe elementos
O cdigo a seguir inclui um sexto elemento no array go_gos_array e altera o segundo elemento:
go_gos_array[5] = "Donna"; go_gos_array[1] = "Nina" trace(go_gos_array.join(" + ")); Consulte tambm Array.length, [] (acesso de array)
Classe Array
301
Array.concat()
Disponibilidade
Flash Player 5.
Uso meu_array.concat( [ valor0,valor1,...valorN ]) Parmetros valor0,...valorN Nmeros, elementos ou seqncias de caracteres a serem concatenados em um novo array. Se nenhum valor for passado, ser criada uma duplicata de meu_array. Retorna
Nada.
Descrio
Mtodo; concatena os elementos especificados nos parmetros com os elementos em meu_array e cria um novo array. Se os parmetros valor especificarem um array, os seus elementos que sero concatenados e no o prprio array. O array meu_array permanecer inalterado.
Exemplo
Os arrays aninhados no so linearizados da mesma forma que os arrays comuns. Os elementos de um array aninhado no so desmembrados em elementos separados no array x_array, como pode ser observado no exemplo abaixo:
a_array = new Array ("a","b","c"); // 2 e 3 so elementos de um array aninhado n_array = new Array(1, [2, 3], 4); x_array = a_array.concat(n_array); trace(x_array[0]); // "a" trace(x_array[1]); // "b" trace(x_array[2]); // "c" trace(x_array[3]); // 1 trace(x_array[4]); // 2, 3 trace(x_array[5]); // 4
302
Array.join()
Disponibilidade
Flash Player 5.
Uso meu_array.join([separador]) Parmetros separador
Um caractere ou uma seqncia de caracteres que separa elementos de um array na seqncia de caracteres retornada. A omisso desse parmetro resulta no uso de uma vrgula como separador padro. String.
Retorna
Descrio
Mtodo; converte os elementos de um array em seqncias de caracteres, insere o separador especificado entre eles, concatena os elementos e retorna a seqncia de caracteres resultante. Um array aninhado sempre separado por vrgulas e no pelo separador definido no mtodo join().
Exemplo
O exemplo a seguir cria um array com trs elementos: Terra, Lua e Sol. Depois, une o array trs vezes primeiro, usando o separador padro (uma vrgula e um espao), depois usando um trao e, em seguida, usando um sinal de mais (+) e exibe-os no painel Output (Sada):
a_array = new Array("Terra","Lua","Sol") trace(a_array.join()); // retorna Terra, Lua, Sol trace(a_array.join(" - ")); // retorna Terra - Lua - Sol trace(a_array.join(" + ")); // retorna Terra + Lua + Sol
Array.join()
303
Array.length
Disponibilidade
Flash Player 5.
Uso meu_array.length Descrio
Propriedade; um inteiro que no tem zero como base e especifica o nmero de elementos do array. Essa propriedade atualizada automaticamente quando se incluem novos elementos no array. Quando o usurio atribuir um valor ao elemento de um array (por exemplo, meu_array[ndice] = valor), se ndice for um nmero e ndice+1 for maior do que a propriedade length, a propriedade length ser atualizada para ndice+1.
Exemplo
Array.pop()
Disponibilidade
Flash Player 5.
Uso meu_array.pop() Parmetros
Nenhum.
Retorna
O cdigo a seguir cria o array minhasMascotes, com quatro elementos, depois remove seu ltimo elemento.
minhasMascotes = ["gato", "cachorro", "pssaro", "peixe"]; popped = minhasMascotes.pop(); trace(popped); // retorna peixe
304
Array.push()
Disponibilidade
Flash Player 5.
Uso meu_array.push(valor,...) Parmetros valor Retorna
Mtodo; inclui um ou mais elementos no fim de um array e retorna o seu novo tamanho.
Exemplo
O exemplo a seguir cria o array minhasMascotes com dois elementos, gato e cachorro. A segunda linha inclui dois elementos no array. Aps a chamada do mtodo push(), a varivel pushed conter quatro elementos. Como o mtodo push() retorna o novo tamanho do array, a ao trace() na ltima linha envia o novo tamanho de minhasMascotes (4) para o painel Output (Sada):
minhasMascotes = ["gato", "cachorro"]; pushed = minhasMascotes.push("pssaro", "peixe"); trace(pushed);
Array.push()
305
Array.reverse()
Disponibilidade
Flash Player 5.
Uso meu_array.reverse() Parmetros
Nenhum.
Retorna
Nada.
Descrio
306
Array.shift()
Disponibilidade
Flash Player 5.
Uso meu_array.shift() Parmetros
Nenhum.
Retorna
O cdigo a seguir cria o array minhasMascotes e, em seguida, remove o seu primeiro elemento e o atribui varivel deslocada.
var minhasMascotes_array = ["gato", "cachorro", "pssaro", "peixe"]; deslocada = minhasMascotes_array.shift(); trace(deslocada); // retorna "gato" Consulte tambm Array.pop()
Array.shift()
307
Array.slice()
Disponibilidade
Flash Player 5.
Uso meu_array.slice( [ incio [ , fim ] ] ) Parmetros incio fim
Um nmero que especifica o ndice do ponto inicial do trecho. Se incio for um nmero negativo, o ponto inicial comear no fim do array, onde -1 o ltimo elemento.
Um nmero que especifica o ndice do ponto final do trecho. Caso omita esse parmetro, o trecho incluir todos os elementos do incio ao fim do array. Se fim for um nmero negativo, o ponto final ser especificado a partir do fim do array, onde -1 o ltimo elemento.
Retorna
Um array.
Descrio
Mtodo; extrai um trecho ou uma subseqncia de caracteres do array e retorna-o como um novo array, sem modificar o original. O array retornado inclui o elemento incio e todos os demais elementos, at o elemento fim, mas sem inclu-lo. Se nenhum parmetro for passado, ser criada uma duplicata de meu_array.
308
Array.sort()
Disponibilidade
Uma funo de comparao opcional usada para determinar a ordenao dos elementos de um array. Dados os elementos A e B, o resultado de funoComparao pode ter um dos trs seguintes valores:
-1 caso A deva aparecer antes de B na seqncia classificada 0 se A = B 1 caso A deva aparecer depois de B na seqncia classificada
opo Um ou mais nmeros ou seqncias de caracteres, separados pelo operador | (OR bit a bit), que alteram o comportamento da classificao a partir do padro. Os seguintes valores so aceitos para opo:
Se voc especificar o valor 4 ou Array.UNIQUE para opo e dois ou mais elementos que
estiverem sendo classificados tiverem campos de classificao idnticos, o Flash retornar o valor 0 e no modificar o array. Se voc especificar o valor 8 ou Array.RETURNINDEXEDARRAY para opo, o Flash retornar um array que reflete os resultados da classificao e no o modificar. Caso contrrio, o Flash no retornar nenhum valor e modificar o array para refletir a ordem de classificao.
Descrio
Mtodo; classifica os elementos de um array. O Flash executa a classificao de acordo com os valores ASCII (Unicode). Se algum dos elementos que esto sendo comparados no contiver o campo especificado no parmetro nomeCampo, o campo ser subentendido como undefined e os elementos sero inseridos consecutivamente no array classificado sem uma ordem especfica.
Array.sort()
309
A classificao faz distino entre maisculas e minsculas (Z precede a). A classificao crescente (a precede b). O array modificado para refletir a ordem de classificao. Vrios elementos que tm campos
de classificao idnticos so colocados consecutivamente no array classificado sem uma ordem especfica. Os campos numricos so classificados como se fossem seqncias de caracteres. Dessa forma, 100 precede 99, pois 1 um valor menor de seqncia de caracteres que 9. Nada retornado.
Se voc quiser fazer a classificao de outra maneira, crie uma funo para executar a classificao e passe seu nome como o parmetro funoComparao. Voc poder fazer isso, por exemplo, se desejar classificar os dados alfabeticamente pelo sobrenome em ordem crescente e, depois, pelo CEP em ordem decrescente. Se voc quiser especificar um ou mais campos para classificao, usando a classificao padro ou o parmetro opes, use Array.sortOn().
Exemplo
Uso 1: O exemplo a seguir mostra o uso de Array.sort() com e sem um valor passado para opo:
var frutas_array = ["laranjas", "mas", "morangos", "abacaxis", "cerejas"]; trace(frutas_array.join()); frutas_array.sort(); trace(frutas_array.join()); frutas_array.sort(Array.DESCENDING); trace(frutas_array.join());
310
Array.sort()
311
Array.sortOn()
Disponibilidade
Seqncia de caracteres que identifica um campo, em um elemento do Array, para ser usado como valor de classificao.
opo Um ou mais nmeros ou seqncias de caracteres, separados pelo operador | (OR bit a bit), que alteram o comportamento da classificao a partir do padro. Os seguintes valores so aceitos para opo:
Cada uma dessas opes est descrita com mais detalhes em Descrio, a seguir.
Retorna
Se voc especificar o valor 4 ou Array.UNIQUE para opo e dois ou mais elementos que
estiverem sendo classificados tiverem campos de classificao idnticos, o Flash retornar o valor 0 e no modificar o array. Se voc especificar o valor 8 ou Array.RETURNINDEXEDARRAY para opo, o Flash retornar um array que reflete os resultados da classificao e no o modificar. Caso contrrio, o Flash no retornar nenhum valor e modificar o array para refletir a ordem de classificao.
Descrio
Mtodo; classifica os elementos de um array de acordo com um ou mais campos do array. Se voc passar vrios parmetros nomeCampo, o primeiro campo representar o campo de classificao primrio, o segundo representar o prximo campo de classificao e assim por diante. O Flash executa a classificao de acordo com os valores ASCII (Unicode). Se algum dos elementos que esto sendo comparados no contiver o campo especificado no parmetro nomeCampo, o campo ser subentendido como undefined e os elementos sero inseridos consecutivamente no array classificado sem uma ordem especfica.
312
A classificao faz distino entre maisculas e minsculas (Z precede a). A classificao crescente (a precede b). O array modificado para refletir a ordem de classificao. Vrios elementos que tm campos
de classificao idnticos so colocados consecutivamente no array classificado sem uma ordem especfica. Os campos numricos so classificados como se fossem seqncias de caracteres. Dessa forma, 100 precede 99, pois 1 um valor menor de seqncia de caracteres que 9. Nada retornado.
Voc pode usar os sinalizadores opo para substituir esses padres. Os exemplos a seguir usam diferentes tipos de sinalizador opo para fins de demonstrao. Se voc quiser classificar um array simples (por exemplo, um array com apenas um campo) ou especificar uma ordem de classificao que o parmetro opes no suporte, use Array.sort(). Para passar vrios sinalizadores no formato numrico, separe-os com o operador | (OR bit a bit) ou some os valores dos sinalizadores. O cdigo a seguir mostra trs diferentes maneiras de especificar uma classificao numrica decrescente:
meu_Array.sortOn(umNomeCampo, 2 | 16); meu_Array.sortOn(umNomeCampo, 18); meu_Array.sortOn(umNomeCampo, Array.DESCENDING | Array.NUMERIC);
As referncias de cdigo (consulte Usando referncias de cdigo na pgina 68) estaro ativadas se voc usar o formato de seqncia de caracteres do sinalizador (por exemplo, DESCENDING), em vez do formato numrico (2). Considere o seguinte array:
var meu_array:Array = new Array(); meu_array.push({senha: "Beto", idade:29}); meu_array.push({senha: "abcd", idade:3}); meu_array.push({senha: "baby", idade:35}); meu_array.push({senha: "carla", idade:4});
A classificao sem distino entre maisculas e minsculas no campo de senha produz os seguintes resultados:
meu_array.sortOn("senha", Array.CASEINSENSITIVE) // abcd // baby // Beto // carla
A classificao decrescente e sem distino entre maisculas e minsculas no campo de senha produz os seguintes resultados:
meu_array.sortOn("senha", 1|2) // carla // Beto
Array.sortOn()
313
// baby // abcd
// Aps uma classificao que no passe valor 8 para opo meu_array.sortOn("idade", Array.NUMERIC); // meu_array[0].idade = 3; // meu_array[1].idade = 4; // meu_array[2].idade = 29; // meu_array[3].idade = 35;
// Aps uma classificao que retorne um array com valores de ndice // Observe que o array original no se altera. // Voc pode ento usar o array retornado para exibir as informaes // classificadas, sem modificar o array original. var indexArray:Array = meu_array.sortOn("idade", Array.RETURNINDEXEDARRAY); // meu_array[0].idade = 29; // meu_array[1].idade = 3; // meu_array[2].idade = 35; // meu_array[3].idade = 4;
314
Exemplo
Este exemplo cria um novo array e o classifica de acordo com os campos nome and cidade: A primeira classificao usa nome como o primeiro valor de classificao e cidade como o segundo. A segunda classificao usa cidade como o primeiro valor de classificao e nome como o segundo.
var rec_array = new Array(); rec_array.push( { nome: "joo", cidade: "olinda", cep: 68144 } ); rec_array.push( { nome: "joo", cidade: "joo pessoa", cep: 72345 } ); rec_array.push( { nome: "beto", cidade: "olinda", cep: 94010 } ); for(i=0; i<rec_array.length; i++) { trace(rec_array[i].nome + ", " + rec_array[i].cidade); } // resulta em // joo, olinda // joo, joo pessoa // beto, olinda rec_array.sortOn( [ "nome", "cidade" ]); for(i=0; i<rec_array.length; i++) { trace(rec_array[i].nome + ", " + rec_array[i].cidade); } // resulta em // beto, olinda // joo, joo pessoa // joo, olinda rec_array.sortOn( ["cidade", "nome" ]); for(i=0; i<rec_array.length; i++) { trace(rec_array[i].nome + ", " + rec_array[i].cidade); } // resulta em // joo, joo pessoa // beto, olinda // joo, olinda Consulte tambm | (OR bit a bit), Array.sort()
Array.sortOn()
315
Array.splice()
Disponibilidade
Flash Player 5.
Uso meu_array.splice(incio, contExcl [, valor0, valor1...valorN]) Parmetros incio contExcl
O nmero de elementos a serem excludos. Esse nmero inclui o elemento especificado no parmetro incio. Se no houver nenhum valor especificado para contExcl, o mtodo excluir todos os valores, desde o elemento incio at o ltimo elemento do array Se o valor for 0, nenhum elemento ser excludo.
valor Um parmetro opcional que especifica os valores a serem inseridos no array no ponto de insero especificado no parmetro incio. Retorna
Nada.
Descrio
Mtodo; inclui elementos em um array e dele remove-os. Esse mtodo modifica o array sem fazer uma cpia.
316
Array.toString()
Disponibilidade
Flash Player 5.
Uso meu_array.toString() Parmetros
Nenhum.
Retorna
Mtodo; retorna um valor de seqncia de caracteres que representa os elementos no objeto Array especificado. Todos os elementos do array, iniciando pelo ndice 0 e terminando no ndice meu_array.length-1, so convertidos em uma seqncia de caracteres concatenados e separados por vrgulas.
Exemplo
O exemplo a seguir cria meu_array, converte-o em uma seqncia de caracteres e exibe 1, 2, 3, 4, 5 no painel Output (Sada).
meu_array = new Array(); meu_array[0] = 1; meu_array[1] = 2; meu_array[2] = 3; meu_array[3] = 4; meu_array[4] = 5; trace(meu_array.toString());
Array.unshift()
Disponibilidade
Flash Player 5.
Uso meu_array.unshift(valor1,valor2,...valorN) Parmetros valor1,...valorN
do array.
Retorna
Mtodo; inclui um ou mais elementos no incio de um array e retorna o seu novo tamanho.
Array.unshift()
317
Array()
Disponibilidade
Flash Player 6.
Uso Array() Array( [elemento0 [, elemento1 , elemento2,...elementoN ] ]) Parmetros elemento Retorna
Um array.
Descrio
Funo de converso; cria um novo array vazio ou converte os elementos especificados em um array. Essa funo semelhante criao de um array usando o construtor Array (consulte Construtor da classe Array na pgina 300).
318
asfunction
Disponibilidade
Flash Player 5.
Uso asfunction:funo,"parmetro" Parmetros funo
Um identificador para uma funo. Uma seqncia de caracteres que passada para a funo identificada no parmetro
Nada.
Descrio
Protocolo; um protocolo especial para URLs em campos de texto HTML. Nos campos de texto HTML, o texto pode ter um hiperlink usando a marca A de HTML. O atributo HREF da marca A contm um URL que pode servir para um protocolo padro como HTTP, HTTPS ou FTP. O protocolo asfunction um protocolo adicional, especfico do Flash, que faz com que o link chame uma funo do ActionScript.
Exemplo
Neste exemplo, a funo MinhaFuno() definida nas trs primeiras linhas de cdigo. O objeto TextField meuTextField associado a um campo de texto HTML. O texto Clique em mim! um hiperlink dentro do campo de texto. A funo MinhaFuno() ser chamada quando o usurio clicar no hiperlink:
function MinhaFuno(arg){ trace ("Voc me clicou! O parmetro foi "+arg); } myTextField.htmlText ="<A HREF=\"asfunction:MinhaFuno,Foo \">Clique em mim!</A>";
Classe Boolean
Disponibilidade
Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio
A classe Boolean um objeto envoltrio que funciona da mesma forma que o objeto Boolean padro do JavaScript. Use a classe Boolean para recuperar o tipo de dados primitivo ou o objeto Boolean representado por uma seqncia de caracteres. Use o construtor new Boolean() para criar um objeto Boolean antes de chamar seus mtodos.
Classe Boolean
319
Descrio Retorna a representao da seqncia de caracteres ("true" ou "false") do objeto Boolean. Retorna o tipo de valor primitivo do objeto Boolean especificado.
Boolean.valueOf()
Flash Player 5.
Uso new Boolean(x) Parmetros x
Retorna
Nada.
Descrio
Construtor; cria um objeto Boolean. Se o parmetro x for omitido, o objeto Boolean ser inicializado com um valor false. Se voc especificar um valor para o parmetro x, o mtodo o avaliar e retornar o resultado como um valor booleano de acordo com as regras estabelecidas na funo Boolean().
Exemplo
Boolean.toString()
Disponibilidade
Flash Player 5.
Uso meuBoolean.toString() Parmetros
Nenhum.
Retorna
Um valor booleano.
Descrio
320
Boolean.valueOf()
Disponibilidade
Flash Player 5.
Uso meuBoolean.valueOf() Parmetros
Nenhum.
Retorna
Um valor booleano.
Descrio
Mtodo; retornar true se o tipo de valor primitivo do objeto booleano especificado for true; retornar false se esse tipo for false.
Exemplo var x:Boolean = new Boolean(); trace(x.valueOf()); // false x = (6==3+3); trace(x.valueOf()); // true
Boolean.valueOf()
321
Boolean()
Disponibilidade
Funo; converte a expresso do parmetro em um valor booleano e retorna um valor da seguinte maneira: Se expresso for um valor booleano, o valor de retorno ser expresso. Se expresso for um nmero e este for diferente de zero, o valor de retorno ser true, caso contrrio, ser false. Se expresso for uma seqncia de caracteres, o valor de retorno ser o seguinte:
Se expresso for indefinida, o valor de retorno ser false. Se expresso for um clipe de filme ou um objeto, o valor de retorno ser true.
Consulte tambm
Classe Boolean
322
break
Disponibilidade
Flash Player 4.
Uso break Parmetros
Nenhum.
Retorna
Nada.
Descrio
Instruo; aparece em um loop (for, for..in, do while ou while) ou em um bloco de instrues associadas a um case em uma ao switch. A ao break instrui o Flash a ignorar o resto do corpo do loop, parar a ao de loop e executar a instruo aps o comando loop. Ao usar a ao break, o interpretador Flash ignorar as instrues restantes desse bloco case e vai para a primeira instruo subseqente ao switch em questo. Use a ao break para interromper uma srie de loops aninhados.
Exemplo
Classe Button
Disponibilidade
Flash Player 6.
Descrio
Todos os smbolos de boto em um arquivo SWF so instncias do objeto Button. possvel dar um nome de instncia a um boto no inspetor Properties (Propriedades) e usar os mtodos e as propriedades da classe Button para manipular botes com o ActionScript. Nomes de instncias de boto so exibidos no Movie Explorer (Explorador de filmes) e na caixa de dilogo Insert Target Path (Inserir caminho de destino) no painel Actions (Aes). A classe Button herda propriedades e mtodos da Classe Object.
Classe Button
323
Descrio O valor de transparncia de uma instncia de boto. Indica se o boto est ativo. Indica se um boto focalizado tem um retngulo amarelo em volta dele. A altura de uma instncia de boto, em pixels. O nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Associa um objeto ContextMenu ao objeto Button. O nome de uma instncia de boto. Uma referncia ao clipe de filme ou objeto que contm o clipe de filme ou objeto atual. Indica a qualidade de renderizao de um arquivo SWF. O grau de rotao de uma instncia de boto. Nmero de segundos para que um som seja pr-carregado. Indica se um boto est includo na ordenao de tabulao automtica. Indica a ordem de tabulao de um objeto. O caminho de destino de uma instncia de boto. Indica se outros botes podem receber eventos de liberao de mouse. O URL do arquivo SWF que criou a instncia de boto. Indica se o cursor em forma de mo indicadora est sendo exibido quando se passa o mouse sobre um boto. Um valor booleano que indica se a instncia de boto est oculta ou visvel. A largura de uma instncia de boto, em pixels. A coordenada x de uma instncia de boto. A coordenada x do ponteiro do mouse relativa instncia de um boto. O valor que especifica a porcentagem para o dimensionamento horizontal de uma instncia de boto. A coordenada y de uma instncia de boto. A coordenada y do ponteiro do mouse relativa instncia de um boto. O valor que especifica a porcentagem para o dimensionamento vertical de uma instncia de boto.
Button._visible
324
Descrio Chamado quando o boto do mouse pressionado sobre o boto e, em seguida, o ponteiro arrastado para fora do boto. Chamado quando o usurio pressiona o boto do mouse fora do boto e, em seguida, arrasta o mouse passando sobre o boto. Chamado quando uma tecla liberada. Chamado quando o foco removido de um boto. Chamado quando o mouse pressionado enquanto o ponteiro est sobre um boto. Chamado quando o mouse liberado enquanto o ponteiro est sobre um boto. Chamado na liberao do mouse enquanto o ponteiro estiver fora do boto depois de pressionar o boto enquanto o ponteiro estiver dentro do boto. Chamado quando o ponteiro rola para fora da rea de um boto. Chamado quando o ponteiro do mouse rola sobre um boto. Chamado quando um boto tem foco de entrada e uma tecla liberada.
Button.onDragOver
Button.onRelease
Button.onReleaseOutside
Button._alpha
Disponibilidade
Flash Player 6.
Uso meu_boto._alpha Descrio
Propriedade; o valor da transparncia alfa do boto especificado por meu_boto. A faixa de valores vlidos vai de 0 (totalmente transparente) a 100 (totalmente opaco). O valor padro 100. Os objetos em um boto com _alpha definida como 0 so ativos, apesar de invisveis.
Exemplo
O cdigo a seguir define a propriedade _alpha de um boto denominado boto_estrela como 30% quando se clica no boto:
on (release) { boto_estrela._alpha = 30; } Consulte tambm MovieClip._alpha, TextField._alpha
Button._alpha
325
Button.enabled
Disponibilidade
Flash Player 6.
Uso meu_boto.enabled Descrio
Propriedade; um valor booleano que especifica se um boto est ativado. O valor padro true.
Button._focusrect
Disponibilidade
Flash Player 6.
Uso meu_boto._focusrect Descrio
Propriedade; um valor booleano que especifica se um boto tem um retngulo amarelo em volta dele quando tiver foco de teclado. Esta propriedade pode prevalecer sobre a propriedade global _focusrect.
Button.getDepth()
Disponibilidade
Flash Player 6.
Uso meu_boto.getDepth() Retorna
Um inteiro.
Descrio
326
Button._height
Disponibilidade
Flash Player 6.
Uso meu_boto._height Descrio
O exemplo de cdigo a seguir define a altura e a largura de um boto quando o usurio clicar com o mouse:
meu_boto._width = 200; meu_boto._height = 200;
Button._highquality
Disponibilidade
Flash Player 6.
Uso meu_boto._highquality Descrio
Propriedade (global); especifica o nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Especifique 2 (melhor qualidade) para aplicar alta qualidade com a suavizao de bitmap sempre ativada. Especifique 1 (alta qualidade) para aplicar o recurso de eliminao de serrilhado. Isso suavizar os bitmaps se o arquivo SWF no tiver animao. Especifique 0 (baixa qualidade) para evitar o recurso de eliminao de serrilhado.
Consulte tambm _quality
Button._highquality
327
Button.menu
Disponibilidade
Flash Player 7.
Uso meu_boto.menu = menuContexto Parmetros menuContexto Descrio
Um objeto ContextMenu.
Propriedade; associa o objeto menuContexto da classe ContextMenu ao objeto meu_boto da classe Button. A classe ContextMenu permite modificar o menu de contexto que aparece quando o usurio clica com o boto direito do mouse (Windows) ou com a tecla Control pressionada (Macintosh) no Flash Player.
Exemplo
O exemplo a seguir atribui um objeto ContextMenu a um objeto Button denominado boto_salvar. O objeto ContextMenu conter um nico item de menu, Salvar..., com uma funo manipuladora de retorno associada denominada execSalvar (no apresentada).
var menu_cm = new ContextMenu(); menu_cm.customItems.push(new ContextMenuItem("Salvar...", execSalvar)); function execSalvar(menu, obj) { // o cdigo de "Salvar" entra aqui } boto_salvar.menu = menu_cm; Consulte tambm
Button._name
Disponibilidade
Flash Player 6.
Uso meu_boto._name Descrio
328
Button.onDragOut
Disponibilidade
Flash Player 6.
Uso meu_boto.onDragOut = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o boto do mouse estiver pressionado sobre o boto e o ponteiro rolar para fora do boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Button.onDragOut
329
Button.onDragOver
Disponibilidade
Flash Player 6.
Uso meu_boto.onDragOver = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o usurio pressiona e arrasta o boto do mouse para fora e sobre o boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o manipulador onKeyDown que envia uma ao trace() para o painel Output (Sada):
meu_boto.onDragOver = function () { trace ("onDragOver chamado"); }; Consulte tambm Button.onKeyUp
330
Button.onKeyDown
Disponibilidade
Flash Player 6.
Uso meu_boto.onKeyDown = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um boto tiver foco de teclado e uma tecla for pressionada. O manipulador de eventos onKeyDown chamado sem nenhum parmetro. possvel usar Key.getAscii() e Key.getCode() para definir qual tecla foi pressionada. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onKeyDown.
meu_boto.onKeyDown = function () { trace ("onKeyDown chamado"); }; Consulte tambm Button.onKeyUp
Button.onKeyDown
331
Button.onKeyUp
Disponibilidade
Flash Player 6.
Uso meu_boto.onKeyUp = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um boto tiver foco de entrada e uma tecla for liberada. O manipulador de eventos onKeyUp chamado sem nenhum parmetro. possvel usar Key.getAscii() e Key.getCode() para definir qual tecla foi pressionada. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onKeyPress.
meu_boto.onKeyUp = function () { trace ("onKeyUp chamado"); };
Button.onKillFocus
Disponibilidade
Flash Player 6.
Uso meu_boto.onKillFocus = function (novoFoco) { // suas instrues entram aqui } Parmetros novoFoco
332
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um boto perde o foco do teclado. O mtodo onKillFocus recebe um parmetro, novoFoco, que um objeto representando o novo objeto a receber o foco. Se nenhum objeto receber o foco, novoFoco conter o valor null.
Button.onPress
Disponibilidade
Flash Player 6.
Uso meu_boto.onPress = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um boto for pressionado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onPress.
meu_boto.onPress = function () { trace ("onPress chamado"); };
Button.onPress
333
Button.onRelease
Disponibilidade
Flash Player 6.
Uso meu_boto.onRelease = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado na liberao de um boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onRelease.
meu_boto.onRelease = function () { trace ("onRelease chamado"); };
334
Button.onReleaseOutside
Disponibilidade
Flash Player 6.
Uso meu_boto.onReleaseOutside = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado na liberao do mouse enquanto o ponteiro estiver fora do boto depois de pressionar o boto enquanto o ponteiro estiver dentro do boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onReleaseOutside.
meu_boto.onReleaseOutside = function () { trace ("onReleaseOutside chamado"); };
Button.onReleaseOutside
335
Button.onRollOut
Disponibilidade
Flash Player 6.
Uso meu_boto.onRollOut = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o ponteiro movido para fora da rea de um boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onRollOut.
meu_boto.onRollOut = function () { trace ("onRollOut chamado"); };
336
Button.onRollOver
Disponibilidade
Flash Player 6.
Uso meu_boto.onRollOver = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o ponteiro passa sobre a rea de um boto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
No exemplo a seguir, uma funo que envia uma ao trace() para o painel Output (Sada) definida para o manipulador onRollOver.
meu_boto.onRollOver = function () { trace ("onRollOver chamado"); };
Button.onSetFocus
Disponibilidade
Flash Player 6.
Uso meu_boto.onSetFocus = function(focoAnterior){ // suas instrues entram aqui } Parmetros focoAnterior Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um boto recebe foco de teclado. O parmetro focoAnterior o objeto que perde o foco. Por exemplo, se o usurio pressionar a tecla Tab para mover o foco de entrada de um campo de texto para um boto, o parmetro focoAnterior passar a conter a instncia do campo de texto. Se no havia nenhum objeto em foco anteriormente, focoAnterior conter um valor null.
Button.onSetFocus
337
Button._parent
Disponibilidade
Flash Player 6.
Uso meu_boto._parent.propriedade _parent.propriedade Descrio
Propriedade; uma referncia ao clipe de filme ou objeto que contm o clipe de filme ou objeto atual. O objeto atual aquele que contm o cdigo ActionScript que faz referncia a _parent. Use _parent para especificar um caminho relativo para clipes de filme ou objetos que estiverem acima do clipe de filme ou objeto atual. possvel usar _parent para subir vrios nveis na lista de exibio, conforme mostrado a seguir:
_parent._parent._alpha = 20; Consulte tambm MovieClip._parent, _root, targetPath
Button._quality
Disponibilidade
Flash Player 6.
Uso meu_boto._quality Descrio
Propriedade (global); define ou recupera a qualidade de renderizao usada para um filme SWF. As fontes de dispositivo so sempre serrilhadas, sendo assim no so afetadas pela propriedade _quality.
Observao: Embora voc possa especificar essa propriedade para um objeto Button, ela , na verdade, uma propriedade global e seu valor pode ser especificado simplesmente como _quality. Para obter mais informaes, consulte _quality.
338
Button._rotation
Disponibilidade
Flash Player 6.
Uso meu_boto._rotation Descrio
Propriedade; a rotao do boto, em graus, a partir da orientao original. Os valores de 0 a 180 representam a rotao no sentido horrio. E os valores de 0 a -180 representam a rotao no sentido anti-horrio. Os valores fora desse intervalo so somados a 360 ou subtrados de 360 para que seja obtido um valor contido no intervalo. Por exemplo, a instruo meu_boto._rotation = 450 igual a meu_boto._rotation = 90.
Consulte tambm MovieClip._rotation, TextField._rotation
Button._soundbuftime
Disponibilidade
Flash Player 6.
Uso meuBoto._soundbuftime Descrio
Propriedade (global); um inteiro que especifica o nmero de segundos em que um som armazenado em pr-buffer antes de comear a ser reproduzido.
Observao: Embora voc possa especificar essa propriedade para um objeto Button, ela , na verdade, uma propriedade global e seu valor pode ser especificado simplesmente como _soundbuftime. Para obter mais informaes, consulte _soundbuftime.
Button._soundbuftime
339
Button.tabEnabled
Disponibilidade
Flash Player 6.
Uso meu_boto.tabEnabled Descrio
Propriedade; especifica se meu_boto est includo na ordenao de tabulao automtica. A opo undefined utilizada por padro. Se a propriedade tabEnabled for undefined ou true, o objeto ser includo na ordenao de tabulao automtica. Se a propriedade tabIndex tambm estiver definida com determinado valor, o objeto tambm ser includo na ordenao de tabulao personalizada. Se tabEnabled for false, o objeto no ser includo nem na ordenao de tabulao automtica nem na personalizada, ainda que a propriedade tabIndex esteja definida.
Consulte tambm Button.tabIndex, MovieClip.tabEnabled, TextField.tabEnabled
340
Button.tabIndex
Disponibilidade
Flash Player 6.
Uso meu_boto.tabIndex Descrio
Propriedade; permite personalizar a ordenao de tabulao dos objetos em um filme SWF. possvel definir a propriedade tabIndex em um boto, clipe de filme ou instncia de campo de texto. Por padro, ela undefined. Se algum objeto que esteja sendo exibido no momento no arquivo SWF tiver uma propriedade a ordenao de tabulao automtica ser desativada e a ordenao de tabulao ser calculada a partir das propriedades tabIndex dos objetos do arquivo SWF. A ordenao de tabulao personalizada inclui apenas os objetos que tm propriedades tabIndex.
tabIndex,
A propriedade tabIndex pode ser um inteiro no negativo. Os objetos so ordenados de acordo com suas propriedades tabIndex, em ordem ascendente. Um objeto cujo tabIndex tenha valor 1 precede um objeto com tabIndex com valor 2. Se dois objetos tiverem o mesmo valor tabIndex, aquele que preceder o outro na ordenao de tabulao ser undefined. A ordenao de tabulao personalizada definida pela propriedade tabIndex flat. Isso significa que as relaes hierrquicas de objetos so ignoradas no arquivo SWF. Todos os objetos do arquivo SWF com propriedades tabIndex so colocados na ordem de tabulao, que, por sua vez, determinada pela ordem dos valores de tabIndex. Se dois objetos tiverem o mesmo valor tabIndex, o primeiro ser undefined. Voc no deve usar o mesmo valor de tabIndex para vrios objetos.
Consulte tambm Button.tabEnabled, MovieClip.tabChildren, MovieClip.tabEnabled, MovieClip.tabIndex, TextField.tabIndex
Button._target
Disponibilidade
Flash Player 6.
Uso meuBoto._target Descrio
Propriedade (somente de leitura); retorna o caminho de destino da instncia de boto especificada por meu_boto.
Consulte tambm targetPath
Button._target
341
Button.trackAsMenu
Disponibilidade
Flash Player 6.
Uso meu_boto.trackAsMenu Descrio
Propriedade; um valor booleano que indica se outros botes ou clipes de filme podem receber eventos de liberao de mouse. Permite a criao de menus. Voc pode definir a propriedade trackAsMenu em qualquer boto ou objeto de clipe de filme. Se a propriedade trackAsMenu no tiver sido definida, o comportamento padro ser false. possvel alterar a qualquer momento a propriedade trackAsMenu; o boto modificado assume o novo comportamento logo em seguida.
Consulte tambm MovieClip.trackAsMenu
Button._url
Disponibilidade
Flash Player 6.
Uso meu_boto._url Descrio
Propriedade (somente de leitura); recupera o URL do arquivo SWF que criou o boto.
Button.useHandCursor
Disponibilidade
Flash Player 6.
Uso meu_boto.useHandCursor Descrio
Propriedade; um valor booleano que, quando definido como true (o padro), indica se ser exibido um cursor em forma de mo (mo indicadora) quando o usurio passar o mouse sobre o boto. Se essa propriedade for definida como false, o cursor de seta ser usado. Se a qualquer momento a propriedade useHandCursor for alterada; o boto modificado logo assumir o comportamento do novo cursor. possvel ler a propriedade useHandCursor de um objeto prottipo.
342
Button._visible
Disponibilidade
Flash Player 6.
Uso meu_boto._visible Descrio
Propriedade; um valor booleano que indica se o boto especificado por meu_boto est visvel. Os botes invisveis (propriedade _visible definida como false) so desativados.
Consulte tambm MovieClip._visible, TextField._visible
Button._width
Disponibilidade
Flash Player 6.
Uso meu_boto._width Descrio
Button._width
343
Button._x
Disponibilidade
Flash Player 6.
Uso meu_boto._x Descrio
Propriedade; um inteiro que define a coordenada x de um boto em relao s coordenadas locais do clipe de filme pai. Se um boto estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas far referncia ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o boto estiver dentro de outro clipe de filme que tenha sofrido transformaes, estar no sistema de coordenadas locais do clipe de filme anexado. Assim, para um clipe de filme girado 90 no sentido anti-horrio, o boto embutido herda um sistema de coordenadas que est girado 90 no sentido anti-horrio. As coordenadas do boto referem-se posio do ponto do registro.
Consulte tambm Button._xscale, Button._y, Button._yscale
Button._xmouse
Disponibilidade
Flash Player 6.
Uso meu_boto._xmouse Descrio
344
Button._xscale
Disponibilidade
Flash Player 6.
Uso meu_boto._xscale Descrio
Propriedade; o dimensionamento vertical do boto conforme aplicado do ponto de registro do mesmo, expresso como uma porcentagem. O ponto de registro padro (0,0). Dimensionar o sistema de coordenadas local afeta as configuraes da propriedade _x e _y, que so definidas em pixels. Por exemplo, se o clipe de filme pai for dimensionado em 50%, a definio da propriedade _x mover um objeto no boto pela metade do nmero de pixels, como se o arquivo SWF tivesse sido dimensionado em 100%.
Consulte tambm Button._x, Button._y, Button._yscale
Button._y
Disponibilidade
Flash Player 6.
Uso meu_boto._y Descrio
Propriedade; a coordenada y do boto em relao s coordenadas locais do clipe de filme pai. Se um boto estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas far referncia ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o boto estiver dentro de outro clipe de filme que tenha sofrido transformaes, estar no sistema de coordenadas locais do clipe de filme anexado. Assim, para um clipe de filme girado 90 no sentido anti-horrio, o boto embutido herda um sistema de coordenadas que est girado 90 no sentido anti-horrio. As coordenadas do boto referem-se posio do ponto do registro.
Consulte tambm Button._x, Button._xscale, Button._yscale
Button._y
345
Button._ymouse
Disponibilidade
Flash Player 6.
Uso meu_boto._ymouse Descrio
Button._yscale
Disponibilidade
Flash Player 6.
Uso meu_boto._yscale Descrio
Propriedade; o dimensionamento vertical do boto conforme aplicado do ponto de registro do mesmo, expresso como uma porcentagem. O ponto de registro padro (0,0).
Consulte tambm Button._y, Button._x, Button._xscale
346
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
Nada.
Descrio
Ao obsoleta; executa o script no quadro chamado, sem mover a reproduo para esse quadro. As variveis locais no mais existiro depois da execuo do script.
Consulte tambm function, Function.call()
Classe Camera
Disponibilidade
Flash Player 6.
Descrio
A classe Camera para ser usada, principalmente, com o Macromedia Flash Communication Server, mas pode ser usada, de uma forma limitada, sem o servidor. A classe Camera permite a captura de vdeo de uma cmera de vdeo conectada ao computador que esteja executando o Macromedia Flash Player por exemplo, para monitorar um fluxo de vdeo de uma web camera conectada ao seu sistema local. O Flash fornece recursos semelhantes de udio. Para obter mais informaes, consulte a entrada Classe Microphone. Para criar ou fazer referncia a um objeto Camera, use Camera.get().
Classe Camera
347
Descrio Retornar um objeto Camera padro ou especificado, ou null se a cmera no estiver disponvel. Define aspectos do modo de captura da cmera, incluindo altura, largura e quadros por segundo. Especifica quanto movimento necessrio para chamar Camera.onActivity(true) e quanto tempo deve decorrer sem movimento antes que Camera.onActivity(false) seja chamado. Um inteiro que especifica o valor mximo de largura de banda que um fluxo de sada de vdeo atual pode usar, em bytes por segundo.
Camera.setMode()
Camera.setMotionLevel()
Camera.setQuality()
Descrio A intensidade de movimento que a cmera est detectando. A mxima largura de banda que o fluxo de sada de vdeo atual pode usar, em bytes. A taxa na qual a cmera est capturando dados, em quadros por segundo. A taxa desejada de captura de dados, em quadros por segundo. A altura atual da captura, em pixels. O ndice da cmera, conforme refletido no array retornado por Camera.names. A intensidade de movimento necessria para chamar Camera.onActivity(true). O nmero de milissegundos entre o momento em que a cmera pra de detectar movimento e o momento em que Camera.onActivity(false) chamado. Um valor booleano que especifica se o usurio permitiu ou negou o acesso cmera. O nome da cmera conforme especificado pelo hardware da cmera. Propriedade de classe; um array de seqncias de caracteres que refletem os nomes de todos os dispositivos de captura de vdeo disponveis, incluindo placas de vdeo e cmeras. Um inteiro que especifica o nvel desejado de qualidade de vdeo, determinado pelo nvel de compactao aplicado a cada quadro de vdeo. A largura atual da captura, em pixels.
Camera.currentFps
Camera.motionLevel
Camera.motionTimeOut
Camera.muted
Camera.name Camera.names
Camera.quality
Camera.width
348
Chamado quando a cmera comea ou pra de detectar movimento. Chamado quando o usurio permite ou nega o acesso cmera.
Camera.activityLevel
Disponibilidade
Flash Player 6.
Uso cmera_ativa.activityLevel Descrio
Propriedade somente de leitura; valor numrico que especifica a intensidade de movimento que a cmera est detectando. Os valores vo de 0 (nenhum movimento detectado) a 100 (grande intensidade de movimento detectada). O valor dessa propriedade pode ajud-lo a determinar se necessrio passar uma configurao para Camera.setMotionLevel(). Se a cmera estiver disponvel mas ainda no estiver sendo usada porque Video.attachVideo() no foi chamado, esta propriedade ter o valor -1. Se somente estiver sendo gerado fluxo de vdeo local no compactado, esta propriedade estar definida apenas se uma funo tiver sido atribuda ao manipulador de eventos Camera.onActivity. Do contrrio, ela estar indefinida.
Consulte tambm Camera.motionLevel, Camera.setMotionLevel()
Camera.activityLevel
349
Camera.bandwidth
Disponibilidade
Flash Player 6.
Uso cmera_ativa.bandwidth Descrio
Propriedade somente de leitura; um inteiro que especifica a mxima largura de banda que o fluxo de sada de vdeo atual pode usar, em bytes. O valor 0 significa que o vdeo do Flash pode usar toda a largura de banda necessria para manter a qualidade de quadro desejada. Para definir esta propriedade, use Camera.setQuality().
Exemplo
Se a largura de banda da cmera for de 32 kilobytes ou mais, o exemplo a seguir carregar outro arquivo SWF.
if(minhaCmera.bandwidth >= 32768){ loadMovie("splat.swf",_root.hiddenvar); } Consulte tambm Camera.setQuality()
Camera.currentFps
Disponibilidade
Flash Player 6.
Uso cmera_ativa.currentFps Descrio
Propriedade somente de leitura; a taxa na qual a cmera est capturando dados, em quadros por segundo. Esta propriedade no pode ser definida. No entanto, possvel usar o mtodo Camera.setMode() para definir uma propriedade relacionada Camera.fps que especifica a taxa mxima de quadros desejada para a captura de dados.
Consulte tambm Camera.fps, Camera.setMode()
350
Camera.fps
Disponibilidade
Flash Player 6.
Uso cmera_ativa.fps Descrio
Propriedade somente de leitura; a taxa mxima desejada para a captura de dados, em quadros por segundo. A taxa mxima possvel depende dos recursos da cmera; ou seja, se a cmera no suportar o valor definido aqui, esta taxa de quadros no ser alcanada.
Para definir o valor desejado para esta propriedade, use Camera.setMode(). Para descobrir a taxa na qual a cmera est capturando dados no momento, use a propriedade
Camera.currentFps. Exemplo
O exemplo a seguir define a taxa de quadros por segundo da cmera ativa, minhaCmera.fps, como o valor fornecido pela caixa de texto do usurio, this.config.txt_fps.
if (this.config.txt_fps != undefined) { minhaCmera.setMode(minhaCmera.width, minhaCmera.height, this.config.txt_fps, false); } Observao: A funo setMode no garante a configurao de fps solicitada; ela define a fps solicitada ou a fps mais rpida disponvel. Consulte tambm Camera.currentFps, Camera.setMode()
Camera.fps
351
Camera.get()
Disponibilidade
Flash Player 6.
Uso Camera.get([ndice]) Observao: A sintaxe correta Camera.get(). Para atribuir o objeto Camera a uma varivel, use uma sintaxe como cmera_ativa = Camera.get(). Parmetros ndice
Inteiro opcional que tem zero como base e especifica qual cmera selecionar, seguindo o array retornado pela propriedade Camera.names. Para selecionar a cmera padro (que o recomendvel para a maioria dos aplicativos), omita esse parmetro.
Retorna
Se ndice no estiver especificado, este mtodo retornar uma referncia cmera padro ou,
se ela estiver sendo usada por outro aplicativo, primeira cmera disponvel. Se houver mais de uma cmera instalada, o usurio poder especificar qual a cmera padro no painel Camera Settings (Configuraes de cmera) do Flash Player. Se no houver nenhuma cmera disponvel nem instalada, o mtodo retornar null. Se ndice estiver especificado, este mtodo retornar uma referncia cmera solicitada ou null se ela no estiver disponvel.
Descrio
Mtodo; retorna uma referncia a um objeto Camera para captura de vdeo. Para realmente comear a capturar o vdeo, necessrio conectar o objeto Camera a um objeto Video (consulte Video.attachVideo()). Ao contrrio dos objetos criados com o construtor new, vrias chamadas para Camera.get() fazem referncia mesma cmera. Assim, se o script contiver as linhas cm_1=Camera.get() e cm_2=Camera.get(), tanto cm_1 quanto cm_2 faro referncia mesma cmera (padro). Em geral, no se deve passar um valor para ndice. Simplesmente use Camera.get() para retornar uma referncia cmera padro. Atravs do painel Camera settings, que ser apresentado posteriormente nesta seo, o usurio pode especificar a cmera padro que o Flash deve usar. Se voc passar um valor para ndice, poder estar tentando fazer referncia a uma cmera que no seja a preferida do usurio. O ndice ser usado em poucos casos por exemplo, se o aplicativo estiver capturando vdeo de duas cmeras ao mesmo tempo. Quando um arquivo SWF tenta acessar a cmera retornada por Camera.get(), o Flash Player exibe uma caixa de dilogo Privacy (Privacidade) para que o usurio permita ou negue o acesso cmera. Certifique-se de que o tamanho do Stage (Palco) seja de pelo menos 215 x 138 pixels. Esse o tamanho mnimo de que o Flash necessita para exibir a caixa de dilogo.
352
Quando o usurio responde a esta caixa de dilogo, o manipulador de eventos Camera.onStatus retorna um objeto de informao que indica a resposta do usurio. Para descobrir se o usurio negou ou permitiu acesso cmera sem processar esse manipulador de eventos, use a propriedade Camera.muted. O usurio tambm pode especificar configuraes permanentes de privacidade para determinado domnio clicando com o boto direito do mouse (no Windows) ou pressionando Control e clicando com o mouse (no Macintosh) enquanto um arquivo SWF estiver sendo reproduzido, escolhendo Settings (Configuraes), abrindo o painel Privacy (Privacidade) e selecionando Remember (Lembrar-se).
No possvel usar o ActionScript para definir o valor Allow (Permitir) ou Deny (Proibir) para um usurio. Mas voc pode exibir o painel Privacy para o usurio usando System.showSettings(0). Se o usurio selecionar Remember, o Flash Player no exibir mais a caixa de dilogo Privacy para filmes desse domnio. Se Camera.get retornar null, a cmera est sendo usada por outro aplicativo ou no h cmeras instaladas no sistema. Para descobrir se h cmeras instaladas, use Camera.names.length. Para exibir o painel Camera Settings (Configuraes de cmera) do Flash Player, que permite que o usurio escolha a cmera qual Camera.get() far referncia, use System.showSettings(3).
Lembre-se de que a procura de cmeras no hardware demorada. Depois que o Flash encontrar pelo menos uma cmera, no ser feita uma nova busca no hardware enquanto a instncia do exibidor estiver ativa. Entretanto, se o Flash no encontrar nenhuma cmera, ele ir procurar por uma toda vez que Camera.get for chamado. Isso pode ser til caso um usurio tenha se esquecido de conectar a cmera. Se o arquivo SWF apresentar um boto Try Again (Tentar novamente) que chame Camera.get, o Flash poder localizar a cmera sem que o usurio precise reiniciar o arquivo SWF.
Camera.get()
353
Exemplo
O exemplo a seguir captura e exibe vdeo localmente no Stage (Palco) dentro de um objeto Video denominado meu_vdeo.
var minha_cm = Camera.get(); meu_vdeo.attachVideo(minhaCmera); Consulte tambm Camera.index, Camera.muted, Camera.names, Camera.onStatus, Camera.setMode(), System.showSettings(), Video.attachVideo()
Camera.height
Disponibilidade
Flash Player 6.
Uso cmera_ativa.height Descrio
Propriedade somente de leitura; a altura atual da captura, em pixels. Para definir um valor para essa propriedade, use Camera.setMode().
Exemplo
A linha de cdigo a seguir atualiza uma caixa de texto na interface do usurio com o valor da altura atual.
meu_txt._height = minhaCmera.height;
354
Camera.index
Disponibilidade
Flash Player 6.
Uso cmera_ativa.index Descrio
Propriedade somente de leitura; um inteiro que tem zero como base e especifica o ndice da cmera, seguindo o array retornado por Camera.names.
Exemplo
Camera.motionLevel
Disponibilidade
Flash Player 6.
Uso cmera_ativa.motionLevel Descrio
Propriedade somente de leitura; um valor numrico que especifica a intensidade de movimento necessria para chamar Camera.onActivity(true). O intervalo de valores aceitveis vai de 0 a 100. O valor padro 50. O vdeo pode ser exibido independentemente do valor da propriedade motionLevel. Para obter mais informaes, consulte Camera.setMotionLevel().
Consulte tambm Camera.activityLevel, Camera.onActivity, Camera.onStatus, Camera.setMotionLevel()
Camera.motionLevel
355
Camera.motionTimeOut
Disponibilidade
Flash Player 6.
Uso cmera_ativa.motionTimeOut Descrio
Propriedade somente de leitura; o nmero de milissegundos entre o momento em que a cmera pra de detectar movimento e o momento em que Camera.onActivity(false) chamado. O valor padro 2000 (2 segundos). Para definir este valor, use Camera.setMotionLevel().
Exemplo
O exemplo a seguir define o nmero de milissegundos entre o momento em que a cmera pra de detectar movimento e o momento em que Camera.onActivity(false) chamado em 1000 milissegundos ou um segundo.
if(minha_cm.motionTimeOut >= 1000){ minha_cm.setMotionLevel(minhaCmera.motionLevel, 1000); } Consulte tambm Camera.onActivity, Camera.setMotionLevel()
Camera.muted
Disponibilidade
Flash Player 6.
Uso cmera_ativa.muted Descrio
Propriedade somente de leitura; um valor booleano que especifica se o usurio negou acesso cmera (true) ou permitiu acesso (false) no painel Privacy Settings (Configuraes de privacidade) do Flash Player. Quando este valor alterado, Camera.onStatus chamado. Para obter mais informaes, consulte Camera.get().
Consulte tambm Camera.get(), Camera.onStatus
356
Camera.name
Disponibilidade
Flash Player 6.
Uso cmera_ativa.name Descrio
Propriedade somente de leitura; uma seqncia de caracteres que especifica o nome da cmera atual, como retornado pelo hardware da cmera.
Exemplo
O exemplo a seguir exibe o nome da cmera padro no painel Output (Sada). No Windows, esse nome o mesmo do dispositivo listado na folha de propriedades Scanners and Cameras (Scanners e cmeras).
minha_cm = Camera.get(); trace("O nome da cmera : " + minha_cm.name); Consulte tambm Camera.get(), Camera.names
Camera.name
357
Camera.names
Disponibilidade
Flash Player 6.
Uso Camera.names Observao: A sintaxe correta Camera.names. Para atribuir o valor de retorno a uma varivel, use uma sintaxe do tipo cam_array=Camera.names. Para determinar o nome da cmera atual, use cmera_ativa.name. Descrio
Propriedade de classe somente de leitura; recupera um array de seqncias de caracteres que refletem os nomes de todas as cmeras disponveis sem exibir o painel Privacy Settings (Configuraes de privacidade) do Flash Player. Esse array tem o mesmo comportamento de qualquer outro array do ActionScript: fornece implicitamente o ndice (que inicia em zero) de cada cmera e o nmero de cmeras presentes no sistema (atravs de Camera.names.length). Para obter mais informaes, consulte a entrada da Classe Array. necessrio realizar uma busca extensiva no hardware para chamar a propriedade Camera.names; desta forma, a construo do array pode demorar alguns segundos. Na maioria dos casos, possvel usar diretamente a cmera padro.
Exemplo
O exemplo a seguir usa a cmera padro, a menos que haja mais de uma cmera disponvel. Nesse caso, o usurio poder escolher qual cmera deseja definir como padro.
cam_array = Camera.names; if (cam_array.length == 1){ minha_cm = Camera.get(); } else { System.showSettings(3); minha_cm = Camera.get(); } Consulte tambm Camera.get(), Camera.index, Camera.name
358
Camera.onActivity
Disponibilidade
Flash Player 6.
Uso cmera_ativa.onActivity = function(atividade) { // suas instrues entram aqui } Parmetros atividade
Um valor booleano definido como true quando a cmera comea a detectar movimento e como false quando ela pra. Nada.
Retorna
Descrio
Manipulador de eventos; chamado quando a cmera comea ou pra de detectar movimento. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o valor atividade. Para especificar a intensidade de movimento necessria para chamar Camera.onActivity(true) e a quantidade de tempo que deve decorrer sem atividade antes de chamar Camera.onActivity(false), use Camera.setMotionLevel().
Exemplo
O exemplo a seguir exibe true ou false no painel Output (Sada) quando a cmera comea ou pra de detectar movimento.
// Presume que um objeto Video denominado "meuObjetoVdeo" esteja no Stage // (Palco) minha_cm = Camera.get(); meuObjetoVdeo.attachVideo(minha_cm); minha_cm.setMotionLevel(10, 500); minha_cm.onActivity = function(mode) { trace(mode); } Consulte tambm Camera.onActivity, Camera.setMotionLevel()
Camera.onActivity
359
Camera.onStatus
Disponibilidade
Flash Player 6.
Uso cmera_ativa.onStatus = function(objetoInfo) { // suas instrues entram aqui } Parmetros objetoInfo Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o usurio permite ou nega o acesso cmera. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o objeto de informao gerado pela cmera. Quando um arquivo SWF tenta acessar a cmera, o Flash Player exibe uma caixa de dilogo Privacy (Privacidade) para que o usurio permita ou negue o acesso.
Se o usurio permitir o acesso, a propriedade Camera.muted ser definida como false e esse
manipulador ser chamado com um objeto de informao cuja propriedade code "Camera.Unmuted" e cuja propriedade level "Status". Se o usurio negar o acesso, a propriedade Camera.muted ser definida como true e esse manipulador ser chamado com um objeto de informao cuja propriedade code "Camera.Muted" e cuja propriedade level "Status".
Para descobrir se o usurio negou ou permitiu acesso cmera sem processar esse manipulador de eventos, use a propriedade Camera.muted.
Observao: Se o usurio optar por permitir ou negar o acesso permanentemente para todos os arquivos SWF de um domnio especfico, esse manipulador somente ser chamado para arquivos SWF desse domnio se o usurio alterar posteriormente a configurao de privacidade. Para obter mais informaes, consulte Camera.get().
360
Exemplo
O manipulador de eventos a seguir exibe uma mensagem sempre que o usurio permite ou nega acesso cmera.
minhaCmera = Camera.get(); meuObjetoVdeo.attachVideo(minhaCmera); minhaCmera.onStatus = function(infoMsg) { if(infoMsg.code == "Camera.Muted"){ trace("O usurio probe o acesso cmera"); } else trace("O usurio permite o acesso cmera"); } // Altere o valor Allow (Permitir) ou Deny (Proibir) para chamar a funo // System.showSettings(0); Consulte tambm Camera.get(), Camera.muted
Camera.quality
Disponibilidade
Flash Player 6.
Uso cmera_ativa.quality Descrio
Propriedade somente de leitura; um inteiro que especifica o nvel desejado de qualidade de vdeo, conforme determinado pelo nvel de compactao aplicado a cada quadro de vdeo. Os valores de qualidade aceitveis variam de 1 (menor qualidade, mxima compactao) a 100 (maior qualidade, sem compactao). O valor padro 0, o que significa que a qualidade do vdeo pode variar conforme o necessrio para evitar exceder a largura de banda disponvel.
Consulte tambm Camera.setQuality()
Camera.quality
361
Camera.setMode()
Disponibilidade
Flash Player 6.
Uso cmera_ativa.setMode(largura, altura, qps [,tamFavor]) Parmetros largura altura qps
A largura solicitada da captura, em pixels. O valor padro 160. A altura solicitada da captura, em pixels. O valor padro 120.
A taxa solicitada na qual a cmera deve capturar os dados, em quadros por segundo. O valor padro 15. Opcional: Valor booleano que especifica como manipular a largura, altura e taxa de quadros se a cmera no tiver um modo nativo que corresponda aos requisitos especificados. O valor padro true, o que significa que prefervel que se mantenha o tamanho da captura; o uso desse parmetro seleciona o modo que mais se aproxima dos valores largura e altura, mesmo que isso afete negativamente o desempenho reduzindo a taxa de quadros. Para maximizar a taxa de quadros em detrimento da altura e da largura da cmera, passe false para o parmetro tamFavor.
tamFavor
Retorna
Nada.
Descrio
Mtodo; define o modo de captura da cmera como o modo nativo que melhor corresponda aos requisitos especificados. Se a cmera no tiver um modo nativo que corresponda a todos os parmetros passados, o Flash selecionar um modo de captura que melhor sintetize o modo solicitado. Essa manipulao pode envolver o corte da imagem e a eliminao de quadros. Por padro, o Flash elimina quadros quando necessrio para manter o tamanho da imagem. Para minimizar o nmero de quadros eliminados, mesmo que isso signifique a reduo do tamanho da imagem, passe false para o parmetro tamFavor. Ao escolher um modo nativo, o Flash tenta manter a proporo solicitada sempre que possvel. Por exemplo, se o comando cmera_ativa.setMode(400,400,30) for executado, e os valores mximos de largura e altura disponveis na cmera forem 320 e 288, o Flash definir a largura e a altura como 288. Ao definir essas propriedades com o mesmo valor, o Flash mantm a proporo 1:1 solicitada. Para determinar os valores que sero atribudos a essas propriedades depois que o Flash selecionar o modo que mais se aproximar dos valores solicitados, use Camera.width, Camera.height e Camera.fps.
362
Exemplo
O exemplo a seguir define a largura, altura e qps com base na entrada do usurio se ele clicar no boto. O parmetro opcional tamFavor no foi usado porque o valor padro, true, fornecer as configuraes mais prximas da preferncia do usurio sem prejudicar a qualidade do vdeo, embora o qps possa, assim, ser prejudicado. A interface do usurio , ento, atualizada com as novas configuraes.
on (press) { // Define largura, altura e qps para a entrada do usurio. _root.minhaCmera.setMode(txt_width, meu_txt._height, txt_fps); // Atualiza os campos de texto do usurio com a nova configurao. _root.txt_width = minhaCmera.width; _root.txt_height = minhaCmera.height; _root.txt_fps = minhaCmera.fps; } Consulte tambm Camera.currentFps, Camera.fps, Camera.height, Camera.width
Camera.setMode()
363
Camera.setMotionLevel()
Disponibilidade
Flash Player 6.
Uso cmera_ativa.setMotionLevel(sensibilidade [, tempoLimite]) Parmetros sensibilidade Valor numrico que especifica a intensidade de movimento necessria para chamar Camera.onActivity(true). O intervalo de valores aceitveis vai de 0 a 100. O valor
padro 50.
tempoLimite
Parmetro inteiro opcional que especifica quantos milissegundos devem decorrer sem atividade antes de o Flash considerar que a atividade parou e chamar o manipulador de eventos Camera.onActivity(false). O valor padro 2000 (2 segundos).
Retorna
Nada.
Descrio
Mtodo; especifica quanto movimento necessrio para chamar Camera.onActivity(true). Define opcionalmente o nmero de milissegundos que devem decorrer sem atividade antes de o Flash considerar que o movimento foi interrompido e chamar Camera.onActivity(false).
Observao: O vdeo pode ser exibido independentemente do valor do parmetro sensibilidade. Esse parmetro somente determina quando e sob quais circunstncias Camera.onActivity chamado, no determina se o vdeo est realmente sendo capturado ou exibido.
Para impedir que a cmera detecte qualquer movimento, passe o valor 100 para
sensibilidade; Camera.onActivity
nunca ser chamado. Esse valor provavelmente s ser usado para fazer testes por exemplo, para desativar temporariamente quaisquer aes definidas para ocorrer quando Camera.onActivity for chamado. Para descobrir a intensidade de movimento que a cmera est detectando no momento, use a propriedade Camera.activityLevel.
Os valores de sensibilidade de movimento correspondem diretamente aos valores de atividade. A total falta de movimento possui um valor de atividade 0. O movimento constante possui um valor de atividade 100. O valor de atividade ser menor que o valor de sensibilidade de movimento quando no houver movimento; quando houver movimento, os valores de atividade freqentemente excedero o valor de sensibilidade de movimento. Este mtodo semelhante, na sua finalidade, a Microphone.setSilenceLevel(). Ambos so usados para especificar quando o manipulador de eventos onActivity deve ser chamado. No entanto, esses mtodos tm impacto significativamente diferente na publicao de fluxos:
Microphone.setSilenceLevel() foi criado para otimizar a largura de banda. Quando um fluxo de udio considerado silencioso, nenhum dado de udio enviado. Em vez disso, uma nica mensagem enviada, indicando que o silncio foi iniciado. Camera.setMotionLevel() foi criado para detectar movimento e no afeta o uso da largura de banda. Mesmo que um fluxo de vdeo no detecte movimento, o vdeo enviado.
364
Exemplo
O exemplo a seguir envia mensagens ao painel Output (Sada) quando a atividade de vdeo inicia ou termina. Altere o valor de sensibilidade de movimento de 30 para um nmero maior ou menor para ver como os valores diferentes afetam a deteco de movimento.
// Presume que um objeto Video denominado "meuObjetoVdeo" esteja no Stage // (Palco) c = Camera.get(); x = 0; function motion(mode) { trace(x + ": " + mode); x++; } c.onActivity = function(mode) {motion(mode);}; c.setMotionLevel(30, 500); meuObjetoVdeo.attachVideo(c); Consulte tambm Camera.activityLevel, Camera.motionLevel, Camera.motionTimeOut, Camera.onActivity
Camera.setMotionLevel()
365
Camera.setQuality()
Disponibilidade
Flash Player 6.
Uso cmera_ativa.setQuality(larguraBanda, qlddQuadro) Parmetros larguraBanda
Um inteiro que especifica a mxima largura de banda que o fluxo de sada de vdeo atual pode usar, em bytes por segundo. Para especificar que o vdeo do Flash use a largura de banda necessria para manter o valor de qlddQuadro, passe 0 para larguraBanda. O valor padro 16384.
qlddQuadro
Um inteiro que especifica o nvel desejado de qualidade de vdeo, conforme determinado pelo nvel de compactao aplicado a cada quadro de vdeo. Os valores aceitveis variam de 1 (menor qualidade, mxima compactao) a 100 (maior qualidade, sem compactao). Para especificar que a qualidade do vdeo pode variar conforme a necessidade para evitar exceder a largura de banda, passe 0 para qlddQuadro. O valor padro 0.
Retorna
Nada.
Descrio
Mtodo; define a mxima largura de banda por segundo ou a qualidade de vdeo necessria do fluxo de sada de vdeo atual. Este mtodo ser aplicvel somente se o vdeo estiver sendo transmitido pelo Flash Communication Server. Use este mtodo para especificar qual elemento do fluxo de sada de vdeo mais importante para o seu aplicativo uso de largura de banda ou qualidade de vdeo.
Para indicar que a prioridade a largura de banda, passe um valor para larguraBanda e 0 para
O Flash transmitir vdeo com a melhor qualidade possvel dentro da largura de banda especificada. Se necessrio, o Flash reduzir a qualidade do vdeo para evitar que a largura de banda especificada seja excedida. Em geral, quando o movimento aumenta, a qualidade diminui. Para indicar que a qualidade a prioridade, passe 0 para larguraBanda e um valor numrico para qlddQuadro. O Flash usar a largura de banda necessria para manter a qualidade especificada. Se necessrio, o Flash reduzir a taxa de quadros para manter a qualidade do vdeo. Em geral, quando o movimento aumenta, a largura de banda tambm aumenta. Para especificar que a largura de banda e a qualidade so igualmente importantes, passe valores numricos para ambos os parmetros. O Flash transmitir vdeo que alcance a qualidade especificada e que no exceda a largura de banda especificada. Se necessrio, o Flash reduzir a taxa de quadros para manter a qualidade de vdeo sem exceder a largura de banda especificada.
qlddQuadro.
366
Exemplo
Os exemplos a seguir ilustram como usar este mtodo para controlar o uso de largura de banda e a qualidade de vdeo.
// Garante que no mais de 8192 (8 Kb/segundo) estejam sendo usados para enviar // vdeo cmera_ativa.setQuality(8192,0); // Garante que no mais de 8192 (8 Kb/segundo) estejam sendo usados para enviar // video com uma qualidade mnima de 50 cmera_ativa.setQuality(8192,50); // Garante a qualidade mnima de 50, no importa quanta largura de banda seja // necessria cmera_ativa.setQuality(0,50); Consulte tambm Camera.bandwidth, Camera.quality
Camera.width
Disponibilidade
Flash Player 6.
Uso cmera_ativa.width Descrio
Propriedade somente de leitura; a largura atual da captura, em pixels. Para definir o valor desejado para esta propriedade, use Camera.setMode().
Exemplo
A linha de cdigo a seguir atualiza uma caixa de texto na interface do usurio com o valor da largura atual.
meuTextField.text=minhaCmera.width;
Camera.width
367
case
Disponibilidade
Flash Player 4.
Uso case expresso: instrues Parmetros expresso instrues Retorna
Nada.
Descrio
Instruo; define uma condio para a ao switch. As instrues no parmetro instrues sero executadas se o parmetro expresso subseqente palavra-chave case for igual ao parmetro expresso da ao switch, usando a igualdade estrita (===). O uso da ao case fora de uma instruo switch produz erro e como conseqncia o script no compilado.
Consulte tambm break, default, === (igualdade estrita), switch
368
chr
Disponibilidade
Nada.
Descrio
chr
369
class
Disponibilidade
Flash Player 6.
Uso [dynamic] class nomeClasse [ extends superClasse ] [ implements nomeInterface [, nomeInterface... ] ] { // a definio de classe entra aqui } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros nomeClasse superClasse
O nome totalmente qualificado da classe. Opcional; o nome da classe que nomeClasse estende (da qual herda propriedades Opcional; o nome da interface cujos mtodos nomeClasse deve implementar.
e mtodos).
nomeInterface Descrio
Instruo; define uma classe personalizada que permite instanciar objetos que compartilham mtodos e propriedades definidos por voc. Por exemplo, se estiver desenvolvendo um sistema de controle de faturas, voc poder criar uma classe faturas que defina todos os mtodos e propriedades que todas as faturas devem ter. Em seguida, usaria o comando new invoice() para criar objetos fatura. O nome da classe deve ser igual ao do arquivo externo que a contm. Por exemplo, se voc atribuir o nome Aluno a uma classe, o arquivo que a definir dever ser denominado Aluno.as. O nome da classe deve ser totalmente qualificado dentro do arquivo em que for declarado. Ou seja, ele deve incluir o diretrio em que est armazenado Por exemplo, para criar uma classe denominada ClasseNecessria que est armazenada no diretrio minhasClasses/educao/ currculo, voc deve declarar a classe no arquivo ClasseNecessria.as conforme mostrado a seguir:
class minhasClasses.educao.currculo.ClasseNecessria { }
Por essa razo, recomendvel planejar a sua estrutura de diretrios antes de comear a criar as classes. De outra forma, se voc decidir mover os arquivos das classes depois de cri-los, ser necessrio modificar as instrues de declarao dessas classes para refletir sua nova localizao. No possvel aninhar definies de classe; ou seja, no possvel definir classes adicionais dentro de uma definio de classe. Para indicar que os objetos podem adicionar e acessar propriedades dinmicas durante a execuo, preceda a instruo class com a palavra-chave dynamic. Para criar classes baseadas em interfaces, use a palavra-chave implements. Para criar subclasses de uma classe, use a palavra-chave extends. Uma classe pode estender somente uma classe, mas pode implementar vrias interfaces. possvel usar implements e extends em uma nica instruo.
370
class C implements Interface_i, Interface_j // OK class C extends Class_d implements Interface_i, Interface_j class C extends Class_d, Class_e // no OK
// OK
Para obter mais informaes, consulte Criando e usando classes na pgina 171.
Exemplo
O exemplo a seguir cria uma classe chamada Planta. O construtor requer dois parmetros.
// Nome do arquivo Planta.as class Planta { // Define nomes e tipos de propriedades var tipoFolha:String; var estaoFlor:String; // A linha a seguir um construtor // pois tem o mesmo nome que a classe function Planta (param_tipoFolha:String, param_estaoFlor:String) { // Associa os valores passados s propriedades quando um novo objeto // Planta criado tipoFolha = param_tipoFolha; estaoFlor = param_estaoFlor; } // Cria mtodos para retornar os valores das propriedades, pois as melhores // prticas probem referncias diretas a uma propriedade de uma classe function getTipoFolha():String {return tipoFolha}; function getEstaoFlor():String {return estaoFlor}; }
Em um arquivo de script externo ou no painel Actions, use o operador new para criar um objeto Planta.
var pinheiro:Planta = new Planta("Folha perene","N/A"); // Verifique se os parmetros foram passados corretamente trace(pinheiro.getTipoFolha()); trace(pinheiro.getEstaoFlor()); Consulte tambm dynamic, extends, implements, import, interface, new, Object.registerClass()
class
371
clearInterval()
Disponibilidade
Flash Player 6.
Uso clearInterval( ID_intervalo ) Parmetros ID_intervalo Retorna
Nada.
Descrio
O exemplo a seguir em primeiro lugar define uma chamada de intervalo, depois a limpa:
function callback() { trace("intervalo chamado"); } var ID_intervalo; ID_intervalo = setInterval( callback, 1000 ); // depois de algum tempo clearInterval( ID_intervalo ); Consulte tambm setInterval()
Classe Color
Disponibilidade
Flash Player 5.
Descrio
A classe Color define o valor de cor RGB e a transformao de cor de clipes de filmes e recupera esses valores depois da definio. Use o construtor new Color() para criar um objeto Color antes de chamar seus mtodos.
372
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()
Flash Player 5.
Uso new Color(destino); Parmetros destino Retorna
Nada.
Descrio
Construtor; cria um objeto Color para o clipe de filme especificado pelo parmetro destino. Depois ser possvel usar os mtodos desse objeto Color para alterar a cor de todo o clipe de filme de destino.
Exemplo
O exemplo a seguir cria um objeto Color denominado minha_cor para o clipe de filme meu_mc e define seu valor RGB:
minha_cor = new Color(meu_mc); minha_cor.setRGB(0xff9933);
Classe Color
373
Color.getRGB()
Disponibilidade
Flash Player 5.
Uso minha_cor.getRGB() Parmetros
Nenhum.
Retorna
O cdigo a seguir recupera o valor RGB do objeto Color minha_cor, converte-o em uma seqncia de caracteres hexadecimal e a atribui varivel valor.
valor = minha_cor.getRGB().toString(16); Consulte tambm Color.setRGB()
Color.getTransform()
Disponibilidade
Flash Player 5.
Uso minha_cor.getTransform() Parmetros
Nenhum.
Retorna
Um objeto cujas propriedades contm os valores atuais de deslocamento e de porcentagem da cor especificada.
Descrio
374
Color.setRGB()
Disponibilidade
Flash Player 5.
Uso minha_cor.setRGB(0xRRGGBB) Parmetros 0xRRGGBB
Cor hexadecimal ou RGB a ser definida. RR, GG e BB consistem cada um em dois dgitos hexadecimais que especifiquem o deslocamento de cada componente de cor. A seqncia 0x informa ao compilador do ActionScript que o nmero um valor hexadecimal. Mtodo; especifica uma cor RGB para um objeto Color. Se esse mtodo for chamado, as configuraes anteriores de Color.setTransform() sero substitudas.
Descrio
Retorna
Nada.
Exemplo
Este exemplo define o valor de cor RGB do clipe de filme meu_mc. Para observar o funcionamento deste cdigo, coloque um clipe de filme no Stage (Palco) com nome de instncia meu_mc. Depois, coloque o cdigo a seguir no Frame (Quadro) 1 na Timeline (Linha de tempo) principal e escolha Control (Controlar) > Test Movie (Testar filme).
minha_cor = new Color(meu_mc); minha_cor.setRGB(0x993366); Consulte tambm Color.setTransform()
Color.setRGB()
375
Color.setTransform()
Disponibilidade
Flash Player 5.
Uso minha_cor.setTransform(objTransfCor) Parmetros objTransfCor
Um objeto criado com o construtor new Object. Essa instncia da Classe Object deve ter as seguintes propriedades que especificam valores de transformao de cor: ra, rb, ga, gb, ba, bb, aa, ab. Essas propriedades so explicadas a seguir. Nada.
Retorna
Descrio
Mtodo; define informaes de transformao de cor para um objeto Color. O parmetro objTransfCor um objeto genrico criado a partir do construtor new Object. Ele tem parmetros que especificam os valores de porcentagem e de deslocamento dos componentes vermelho, verde, azul e alfa (transparncia) de uma cor, inseridos no formato 0xRRGGBBAA. Os parmetros de um objeto de transformao de cor correspondem s configuraes estabelecidas na caixa de dilogo Advanced Effect (Efeito avanado) e so definidos da seguinte forma:
a porcentagem do componente vermelho (-100 a 100). rb o deslocamento do componente vermelho (-255 a 255). ga a porcentagem do componente verde (-100 a 100). gb o deslocamento do componente verde (-255 a 255). ba a porcentagem do componente azul (-100 a 100). bb o deslocamento do componente azul (-255 a 255). aa a porcentagem de alfa (-100 a 100). ab o deslocamento de alfa (-255 a 255).
ra
Alm disso, possvel usar a seguinte sintaxe para criar um parmetro objTransfCor:
minhaTransfCor = { ra: 50, rb: 244, ga: 40, gb: 112, ba: 12, bb: 90, aa: 40, ab: 70}
376
Exemplo
Este exemplo cria um novo objeto Color para um arquivo SWF especfico. Alm disso, cria um objeto genrico denominado minhaTransfCor com as propriedades definidas acima e usa o mtodo setTransform() para passar o ObjTransfCor para um objeto Color. Para usar esse cdigo em um documento Flash (FLA), coloque-o no Frame 1 na Timeline (Linha de tempo) principal e coloque um clipe de filme no Stage (Palco) com o nome de instncia meu_mc, como no cdigo a seguir:
// Cria um objeto Color denominado minha_cor no clipe de destino meu_mc minha_cor = new Color(meu_mc); // Cria um objeto de transformao de cor denominado minhaTransfCor usando // o objeto genrico Object minhaTransfCor = new Object(); // Define os valores de minhaTransfCor minhaTransfCor = { ra: '50', rb: '244', ga: '40', gb: '112', ba: '12', bb: '90', aa: '40', ab: '70'}; // Associa o objeto de transformao de cor ao objeto Color // criado para meu_mc minha_cor.setTransform(minhaTransfCor);
Classe ContextMenu
Disponibilidade
Flash Player 7.
Descrio
A classe ContextMenu fornece controle do tempo de execuo sobre os itens do menu de contexto do Flash Player, que aparece quando um usurio clica com o boto direito do mouse (no Windows) ou pressiona Control e clica com o mouse (no Macintosh) no Flash Player. possvel usar os mtodos e propriedades da classe ContextMenu para incluir itens de menu personalizados, controlar a exibio dos itens internos do menu de contexto, por exemplo, Zoom In (Mais zoom) e Print (Imprimir), ou criar cpias de menus. possvel anexar um objeto ContextMenu a um boto, clipe de filme ou objeto de campo de texto especficos, ou a um nvel de filme inteiro. Use a propriedade menu das classes Button, MovieClip ou TextField para fazer isso. Para obter mais informaes sobre a propriedade menu, consulte Button.menu, MovieClip.menu e TextField.menu. Para adicionar novos itens a um objeto ContextMenu, possvel criar um objeto ContextMenuItem e depois adicion-lo ao array ContextMenu.customItems. Para obter mais informaes sobre a criao de itens de menu de contexto, consulte a entrada da Classe ContextMenuItem. O Flash Player possui trs tipos de menus contextuais: o menu padro (que aparece quando voc clica com o boto direito do mouse no Flash Player), o menu de edio (que aparece quando voc clica com o boto direito sobre um campo de texto selecionvel ou editvel) e um menu de erro (que aparece quando um arquivo SWF falhou ao carregar no Flash Player). Somente os menus padro e de edio podem ser modificados com a classe ContextMenu. Os itens de menu personalizados sempre aparecem na parte superior do menu de contexto do Flash Player, acima de quaisquer itens de menu internos visveis; uma barra separadora distingue os itens de menu internos dos personalizados. Um menu de contexto no pode conter mais de 15 itens de menu personalizados.
Classe ContextMenu
377
Use o construtor new ContextMenu() para criar um objeto ContextMenu antes de chamar seus mtodos. Resumo dos mtodos da classe ContextMenu
Mtodo
ContextMenu.copy()
Descrio Um objeto cujos membros correspondem a itens internos do menu de contexto. Um array, indefinido por padro, que contm objetos ContextMenuItem.
ContextMenu.customItems
Flash Player 7.
Uso new ContextMenu ([funoRetorno]) Parmetros funoRetorno Uma referncia a uma funo que chamada quando o usurio clica com o boto direito do mouse, ou pressiona Control e clica com o mouse, antes do menu ser exibido. Este parmetro opcional. Retorna
Nada.
Descrio
Construtor; cria um novo objeto ContextMenu. possvel especificar um identificador para um manipulador de eventos quando o objeto criado. A funo especificada chamada quando o usurio chama o menu de contexto, mas antes que o menu seja realmente exibido. Isso til para a personalizao de contedo do menu com base no estado do aplicativo ou no tipo de objeto (clipe de filme, campo de texto ou boto) em que o usurio clica com o boto direito do mouse ou pressiona Control e clica com o mouse. Para obter um exemplo da criao de um manipulador de eventos, consulte ContextMenu.onSelect.
378
Exemplo
O exemplo a seguir oculta todos os objetos internos no menu de contexto. Entretanto, os itens Settings (Configuraes) e About (Sobre) ainda aparecem, porque no podem ser desativados.
var newMenu = new ContextMenu(); newMenu.hideBuiltInItems(); _root.menu = newMenu;
Neste exemplo, o manipulador de eventos, manipMenu, ativa ou desativa um item de menu personalizado (usando o array ContextMenu.customItems) com base no valor de uma varivel booleana denominada showItem. Se ela for false, o item de menu personalizado ser desativado; do contrrio, ser ativado.
var showItem = false; // Altere para true para ver o efeito meu_cm = new ContextMenu(manipMenu); meu_cm.customItems.push(new ContextMenuItem("Ol", itemHandler)); function manipMenu(obj, menuObj) { if (showItem == false) { menuObj.customItems[0].enabled = false; } else { menuObj.customItems[0].enabled = true; } } function itemHandler(obj, item) { } _root.menu = meu_cm; Consulte tambm Button.menu, ContextMenu.onSelect, ContextMenu.customItems, ContextMenu.hideBuiltInItems(), MovieClip.menu, TextField.menu
Classe ContextMenu
379
ContextMenu.builtInItems
Disponibilidade
Flash Player 7.
Uso meu_cm.builtInItems Descrio
Propriedade; um objeto que possui as seguintes propriedades booleanas: save, zoom, quality, play, loop, rewind, forward_back e print. Se essas variveis forem definidas como false, os itens de menu correspondentes sero removidos do objeto ContextMenu especificado. Essas propriedades so enumerveis e so definidas como true por padro.
Exemplo
Neste exemplo, os itens de menu internos Quality (Qualidade) e Print (Imprimir) esto desativados para o objeto ContextMenu, meu_cm, que est anexado Timeline (Linha de tempo) raiz do arquivo SWF.
var meu_cm = new ContextMenu (); meu_cm.builtInItems.quality=false; meu_cm.builtInItems.print=false; _root.menu = meu_cm;
No prximo exemplo, um loop for..in enumera todos os nomes e valores dos itens de menu internos do objeto ContextMenu, meu_cm.
meu_cm = new ContextMenu(); for(cadaProp in meu_cm.builtInItems) { var nomeProp = cadaProp; var valorProp = meu_cm.builtInItems[nomeProp]; trace(nomeProp + ": " + valorProp); }
380
ContextMenu.copy()
Disponibilidade
Flash Player 7.
Uso meu_cm.copy() Parmetros
Nenhum.
Retorna
Um objeto ContextMenu.
Descrio
Mtodo; cria uma cpia do objeto ContextMenu especificado. A cpia herda todas as propriedades do objeto de menu original.
Exemplo
Este exemplo cria uma cpia do objeto ContextMenu denominado meu_cm cujos itens de menu internos esto ocultos e inclui um item de menu com o texto Salvar.... Ele depois cria uma cpia de meu_cm e a atribui varivel clone_cm, que herda todas as propriedades do menu original.
meu_cm = new ContextMenu(); meu_cm.hideBuiltInItems(); meu_cm.customItems.push(new ContextMenuItem("Salvar...", salvaManipul); function salvaManipul (obj, menuItem) { saveDocument(); // funo personalizada (no exibida) } clone_cm = meu_cm.copy();
ContextMenu.copy()
381
ContextMenu.customItems
Disponibilidade
Flash Player 7.
Uso meu_cm.customItems Descrio
Propriedade; um array com os objetos ContextMenuItem. Cada objeto no array representa um item de menu de contexto definido por voc. Use essa propriedade para incluir, remover ou modificar esses itens de menu personalizados. Para adicionar novos itens de menu, crie primeiramente um novo objeto ContextMenuItem e, em seguida, adicione-o ao array menu_mc.customItems (usando Array.push(), por exemplo). Para obter mais informaes sobre a criao de novos itens de menu, consulte a entrada da Classe ContextMenuItem.
Exemplo
O exemplo a seguir cria um novo item de menu personalizado denominado menuItem_cm com a legenda Enviar e-mail e um manipulador de retorno de chamada denominado manipEmail (no mostrado). O novo item de menu depois includo no objeto ContextMenu, meu_cm, usando o array customItems. E, por fim, o novo menu anexado a um clipe de filme denominado email_mc.
var meu_cm = new ContextMenu(); var menuItem_cm = new ContextMenuItem("Enviar e-mail", manipEmail); meu_cm.customItems.push(menuItem_cm); email_mc.menu = meu_cm; Consulte tambm Button.menu,
382
ContextMenu.hideBuiltInItems()
Disponibilidade
Flash Player 7.
Uso meu_cm.hideBuiltInItems() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; oculta todos os itens de menu internos, exceto Settings (Configurao), no objeto ContextMenu especificado. Se o Flash Debug Player estiver sendo executado, o item de menu Debugging (Depurao) ser exibido. No entanto, no estar disponvel para arquivos SWF em que a depurao remota no esteja ativada. Esse mtodo oculta somente os itens de menu que aparecem no menu de contexto padro; ele no afeta os itens que aparecem nos menus de edio ou de erro. Para obter mais informaes sobre os diferentes tipos de menu, consulte a entrada da Classe ContextMenu. Este mtodo funciona definindo todos os membros booleanos de meu_cm.builtInItems como false. possvel tornar um item interno visvel definindo seu membro correspondente em meu_cm.builtInItems como true (como demonstrado no exemplo a seguir).
Exemplo
O exemplo a seguir cria um novo objeto ContextMenu denominado meu_cm cujos itens de menu internos esto ocultos, exceto para o recurso Print (Imprimir). O objeto de menu anexado Timeline (Linha de tempo) raiz.
meu_cm = new ContextMenu(); meu_cm.hideBuiltInItems(); meu_cm.builtInItems.print = true; _root.menu = meu_cm;
ContextMenu.hideBuiltInItems()
383
ContextMenu.onSelect
Disponibilidade
Flash Player 7.
Uso meu_cm.onSelect = function (item:Object, item_menu:ContextMenu) { // aqui entra o seu cdigo } Parmetros item
Uma referncia ao objeto (clipe de filme, boto ou campo de texto selecionvel) que estava sob o ponteiro do mouse quando o menu de contexto do Flash Player foi chamado e cuja propriedade menu definida como um objeto ContextMenu vlido.
item_menu
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um usurio chama o menu de contexto do Flash Player, mas antes do menu ser realmente exibido. Isso permite que o contedo do menu de contexto seja personalizado com base no estado atual do aplicativo. possvel tambm especificar o manipulador de retorno de chamada para um objeto ContextMenu quando um novo objeto ContextMenu for construdo. Para obter mais informaes, consulte a entrada da Classe ContextMenu.
Exemplo
O exemplo a seguir descobre sobre qual tipo de objeto o menu de contexto foi chamado.
meu_cm = new ContextMenu(); manipMenu = function (obj:Object, menu:ContextMenu) { if(obj instanceof MovieClip) { trace("Clipe de filme: " + obj); } if(obj instanceof TextField) { trace("Campo de texto: " + obj); } if(obj instanceof Button) { trace("Boto: " + obj); } } meu_cm.onSelect = manipMenu;
384
Classe ContextMenuItem
Disponibilidade
Flash Player 7.
Descrio
Use a classe ContextMenuItem para criar itens de menu personalizados para exibio no menu de contexto do Flash Player. Cada objeto ContextMenuItem possui uma legenda (texto) que exibida no menu de contexto e um manipulador de retorno de chamada (uma funo) que chamado quando o item de menu selecionado. Para incluir um novo item em um menu de contexto, inclua-o no array customItems de um objeto ContextMenu. possvel ativar ou desativar itens de menu especficos, tornar os itens visveis ou invisveis ou alterar a legenda ou o manipulador de retorno de chamada associados a um item de menu. Itens de menu personalizados aparecem na parte superior do menu de contexto, acima de todos os itens internos. Uma barra separadora sempre divide itens de menu personalizados de itens internos. possvel incluir, no mximo, 15 itens personalizados no menu de contexto do Flash Player. Cada item deve conter pelo menos um caractere visvel caracteres de controle, newlines e outros caracteres de espao em branco so ignorados. Nenhum item pode ter mais de 100 caracteres de comprimento. Os itens idnticos a qualquer outro item de menu interno, ou outro item personalizado, sero ignorados, estando o item correspondente visvel ou no. A comparao dos itens de menu no considera maisculas e minsculas, pontuao ou espao em branco. Nenhuma das seguintes palavras pode aparecer em um item personalizado: Macromedia, Flash Player ou Configuraes. Resumo dos mtodos da classe ContextMenuItem
Mtodo
ContextMenuItem.copy()
Descrio Especifica o texto exibido no item de menu. Especifica se o item de menu est ativado ou desativado. item de menu.
ContextMenuItem.visible
Classe ContextMenuItem
385
Flash Player 7.
Uso new ContextMenuItem(legenda, funoRetorno, [separadorAntes, [ ativado, [ visvel ] ] ] ) Parmetros legenda
Uma seqncia de caracteres que contm o texto associado ao item de menu. Uma funo que voc define e que chamada quando o item de menu
funoRetorno
selecionado.
separadorAntes Um valor booleano que indica se uma barra separadora deve aparecer acima do item de menu no menu de contexto. Esse parmetro opcional; seu valor padro false. ativado visvel
Um valor booleano que indica se o item de menu est ativado ou desativado no menu de contexto. Esse parmetro opcional; seu valor padro true. Um valor booleano que indica se o item de menu est visvel ou invisvel. Esse parmetro opcional; seu valor padro true.
Retorna
Nada.
Descrio
Construtor; cria um novo objeto ContextMenuItem que pode ser includo no array ContextMenu.customItems.
Exemplo
Este exemplo inclui itens de menu Iniciar e Parar, separados por uma barra, no objeto ContextMenu, meu_cm. A funo startHandler() chamada quando se seleciona Iniciar no menu de contexto; stopHandler() chamada quando Parar selecionado. O objeto ContextMenu aplicado Timeline (Linha de tempo) raiz.
meu_cm = new ContextMenu(); meu_cm.customItems.push(new ContextMenuItem("Iniciar", startHandler)); meu_cm.customItems.push(new ContextMenuItem("Parar", stopHandler, true)); function stopHandler(obj, item) { trace("Parando..."); } function startHandler(obj, item) { trace("Iniciando..."); } _root.menu = meu_cm;
386
ContextMenuItem.caption
Disponibilidade
Flash Player 7.
Uso menuItem_cmi.caption Descrio
Propriedade; uma seqncia de caracteres que especifica a legenda (texto) do item de menu exibida no menu de contexto.
Exemplo
Este exemplo exibe a legenda do item de menu selecionado (Interromper jogo) no painel Output (Sada).
meu_cm = new ContextMenu(); menuItem_cmi = new ContextMenuItem("Interromper jogo", onPause); meu_cm.customItems. function onPause(obj, menuItem) { trace("Voc selecionou: " + menuItem.caption); }
ContextMenuItem.copy()
Disponibilidade
Flash Player 7.
Uso menuItem_cmi.copy(); Retorna
Um objeto ContextMenuItem.
Descrio
Mtodo; cria e retorna uma cpia do objeto ContextMenuItem especificado. A cpia inclui todas as propriedades do objeto original.
Exemplo
Este exemplo cria um novo objeto ContextMenuItem denominado original_cmi com o texto de legenda Pausa e um manipulador de retorno de chamada definido como a funo onPause. O exemplo depois cria uma cpia do objeto ContextMenuItem e a atribui varivel cpia_cmi.
original_cmi = new ContextMenuItem("Pausa", onPause); function onPause(obj, menu) { _root.stop(); } original_cmi.visible = false; cpia_cmi = orig_cmi.copy();
ContextMenuItem.copy()
387
ContextMenuItem.enabled
Disponibilidade
Flash Player 7.
Uso menuItem_cmi.enabled Descrio
Propriedade; um valor booleano que indica se o item de menu especificado est ativado ou desativado. Por padro, essa propriedade true.
Exemplo
O exemplo a seguir cria um novo item de menu de contexto e depois desativa esse item de menu.
var menuItemSalvar = new ContextMenuItem("Salvar...", execSalvar); menuItemSalvar.enabled = false;
ContextMenuItem.onSelect
Disponibilidade
Flash Player 7.
Uso menuItem_cmi.onSelect = function (obj, menuItem) { // suas instrues entram aqui } Parmetros obj
Uma referncia ao clipe de filme ou Timeline (Linha de tempo), boto ou campo de texto selecionvel (editvel) que o usurio clicou com o boto direito do mouse ou pressionou Control e clicou com o mouse. Uma referncia ao objeto ContextMenuItem selecionado.
menuItem Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o item de menu especificado selecionado no menu de contexto do Flash Player. O manipulador de retorno de chamada especificado recebe dois parmetros: obj, uma referncia ao objeto sob o mouse quando o usurio chamou o menu de contexto do Flash Player e menuItem, uma referncia ao objeto ContextMenuItem que representa o item de menu selecionado.
388
Exemplo
O exemplo a seguir atribui uma funo ao manipulador onSelect para um objeto ContextMenuItem denominado start_cmi. A funo exibe a legenda do item de menu selecionado.
start_cmi.onSelect = function (obj, item) { trace("Voc selecionou: " + item.caption); } Consulte tambm ContextMenu.onSelect
ContextMenuItem.separatorBefore
Disponibilidade
Flash Player 7.
Uso menuItem_cmi.separatorBefore Descrio
Propriedade; um valor booleano que indica se uma barra separadora deve aparecer acima do item de menu especificado. Por padro, essa propriedade false.
Observao: Uma barra separadora sempre aparece entre os itens de menu personalizados e os itens de menu internos. Exemplo
Este exemplo cria trs itens de menu rotulados Abrir, Salvar e Imprimir. Uma barra separadora divide os itens Salvar e Imprimir. Os itens de menu so depois includos no array customItems do objeto ContextMenu. E, por fim, o menu anexado Timeline (Linha de tempo) raiz do arquivo SWF.
meu_cm = new ContextMenu(); open_cmi = new ContextMenuItem("Abrir", manipItem); save_cmi = new ContextMenuItem("Salvar", manipItem); print_cmi = new ContextMenuItem("Imprimir", manipItem); print_cmi.separatorBefore = true; meu_cm.customItems.push(open_cmi, save_cmi, print_cmi); function manipItem(obj, menuItem) { trace("Voc selecionou: " + menuItem.caption); }; _root.menu = meu_cm; Consulte tambm ContextMenu.onSelect
ContextMenuItem.separatorBefore
389
ContextMenuItem.visible
Disponibilidade
Flash Player 7.
Uso menuItem_cmi.visible Descrio
Propriedade; um valor booleano que indica se o item de menu especificado estar visvel quando o menu de contexto do Flash Player for exibido. Por padro, essa propriedade true.
continue
Disponibilidade
Flash Player 4.
Uso continue Parmetros
Nenhum.
Retorna
Nada.
Descrio
Instruo; aparece em vrios tipos de instrues de loop e tem um comportamento distinto em cada um desses tipos. Em um loop while, continue faz o interpretador do Flash ignorar o resto do corpo do loop e saltar para o incio do loop, onde a condio testada. Em um loop do...while, continue faz o interpretador do Flash ignorar o resto do corpo do loop e saltar para o fim do loop, onde a condio testada. Em um loop for, continue faz o interpretador do Flash ignorar o resto do corpo do loop e saltar para a avaliao da ps-expresso for do loop. Em um loop for...in, continue faz o interpretador do Flash ignorar o resto do corpo do loop e voltar ao incio do loop, onde o prximo valor na enumerao processado.
Consulte tambm do while, for, for..in, while
390
Classe CustomActions
Disponibilidade
Flash Player 6.
Descrio
Os mtodos da classe CustomActions permitem que um arquivo SWF que esteja sendo executado na ferramenta de criao do Flash gerencie quaisquer aes personalizadas que estejam registradas com a ferramenta de criao. Um arquivo SWF pode instalar e desinstalar aes personalizadas, recuperar a definio XML de uma ao personalizada e recuperar a lista de aes personalizadas registradas. Use esses mtodos para criar arquivos SWF que sejam extenses da ferramenta de criao do Flash. Uma extenso como essa poderia, por exemplo, usar o protocolo do aplicativo Flash para navegar em um repositrio UDDI e fazer download de servios da Web na caixa de ferramentas Actions (Aes). Resumo dos mtodos da classe CustomActions
Mtodo
CustomActions.get()
Descrio L o contedo de um arquivo de definio XML de aes personalizadas. Instala um novo arquivo de definio XML de aes personalizadas. Retorna uma lista de todas as aes personalizadas registradas. Remove um arquivo de definio XML de aes personalizadas.
Classe CustomActions
391
CustomActions.get()
Disponibilidade
Flash Player 6.
Uso CustomActions.get(nomeAesPerso) Parmetros nomeAesPerso Retorna
Caso seja encontrada a definio XML das aes personalizadas, retornar uma seqncia de caracteres; do contrrio, retornar undefined.
Descrio
Mtodo; l o contedo do arquivo de definio XML de aes personalizadas denominado nomeAesPerso. O nome do arquivo de definies deve ser simples, sem a extenso de arquivo .xml e sem qualquer separador de diretrio (:, / ou \). Se o arquivo de definies especificado por nomeAesPerso no puder ser encontrado, ser retornado o valor undefined. Caso seja encontrada a definio XML das aes personalizadas especificada pelo parmetro nomeAesPerso, ela ser lida por inteiro e retornada como uma seqncia de caracteres.
392
CustomActions.install()
Disponibilidade
Flash Player 6.
Uso CustomActions.install(nomeAesPerso, definioXMLPerso) Parmetros nomeAesPerso
O nome da definio de aes personalizadas a ser instalada. O texto da definio XML a ser instalada.
definioXMLPerso Retorna
Um valor booleano false se ocorrer um erro durante a instalao. Caso contrrio, um valor true ser retornado para indicar que a ao personalizada foi instalada com xito.
Descrio
Mtodo; instala um novo arquivo de definio XML de aes personalizadas indicado pelo parmetro nomeAesPerso. O contedo do arquivo especificado pela seqncia de caracteres definioXMLPerso. O nome do arquivo de definies deve ser simples, sem a extenso de arquivo .xml e sem qualquer separador de diretrio (:, / ou \). Se j existir um arquivo de aes personalizadas com o nome nomeAesPerso, ele ser substitudo. Se o diretrio Configuration/ActionsPanel/CustomActions no existir quando esse mtodo for chamado, ele ser criado.
CustomActions.list()
Disponibilidade
Flash Player 6.
Uso CustomActions.list() Parmetros
Nenhum.
Retorna
Um array.
Descrio
Mtodo; retorna um objeto Array que contm os nomes de todas as aes personalizadas registradas na ferramenta de criao do Flash. Os elementos do array so nomes simples, sem a extenso de arquivo .xml e sem nenhum separador de diretrio (por exemplo, :, / ou \). Se no houver nenhuma ao personalizada registrada, list() retornar um array de tamanho zero. Se ocorrer um erro, list() retornar o valor undefined.
CustomActions.list()
393
CustomActions.uninstall()
Disponibilidade
Flash Player 6.
Uso CustomActions.uninstall(nomeAesPerso) Parmetros nomeAesPerso Retorna
Um valor booleano false se no for encontrada nenhuma ao personalizada com o nome nomeAesPerso. Se a remoo das aes personalizadas for bem sucedida, ser retornado o valor true.
Descrio
Mtodo; remove o arquivo de definio XML de aes personalizadas denominado nomeAesPerso. O nome do arquivo de definies deve ser simples, sem a extenso de arquivo .xml e sem qualquer separador de diretrio (:, / ou \).
Classe Date
Disponibilidade
Flash Player 5.
Descrio
A classe Date permite a recuperao dos valores de data e hora relativos hora universal (Hora de Greenwich, agora chamada de hora universal ou UTC) ou ao sistema operacional em que o Flash Player est sendo executado. Os mtodos da classe Date no so estticos, mas se aplicam somente ao objeto Date especificado quando o mtodo chamado. O mtodo Date.UTC() uma exceo; ele esttico. A classe Date trata do horrio de vero de modo diferente, de acordo com o sistema operacional usado e com a verso do Flash Player. O Flash Player 6 e as verses posteriores gerenciam o horrio de vero nos sistemas operacionais a seguir das seguintes maneiras:
394
Mac OS X o objeto Date ajusta automaticamente a sada para horrio de vero. No Mac OS
X, o banco de dados com as informaes de fuso horrio usado para determinar se a diferena de horrio de vero deve ser aplicada a alguma data ou hora atual ou passada. O Flash Player 5 gerencia o horrio de vero nestes sistemas operacionais da seguinte maneira:
Windows as regras americanas para o horrio de vero so sempre aplicadas, o que leva a
mudanas incorretas nos pases da Europa e de outras regies que adotam o horrio de vero com horas de transio diferentes das dos Estados Unidos. O Flash detecta corretamente se o horrio de vero est em vigor no local atual. Para chamar os mtodos da classe Date, necessrio criar primeiro um objeto Date usando o construtor para a classe Date, descrito posteriormente nesta seo. Resumo dos mtodos da classe Date
Mtodo
Date.getDate() Date.getDay() Date.getFullYear() Date.getHours() Date.getMilliseconds() Date.getMinutes() Date.getMonth() Date.getSeconds() Date.getTime()
Descrio Retorna o dia do ms de acordo com a hora local. Retorna o dia da semana de acordo com a hora local. Retorna o ano com quatro dgitos de acordo com a hora local. Retorna a hora de acordo com a hora local. Retorna os milissegundos de acordo com a hora local. Retorna os minutos de acordo com a hora local. Retorna o ms de acordo com a hora local. Retorna os segundos de acordo com a hora local. Retorna o nmero de milissegundos desde a meia-noite de 1 de janeiro de 1970, hora universal. Retorna a diferena, em minutos, entre o a hora local do computador e a hora universal. Retorna o dia (data) do ms de acordo com a hora universal. Retorna o dia da semana de acordo com a hora universal. Retorna o ano com quatro dgitos de acordo com a hora universal. Retorna a hora de acordo com a hora universal. Retorna os milissegundos de acordo com a hora universal. Retorna os minutos de acordo com a hora universal. Retorna o ms de acordo com a hora universal. Retorna os segundos de acordo com a hora universal. Retorna o ano de acordo com a hora local. Define o dia do ms de acordo com a hora local. Retorna a nova hora em milissegundos. Define o ano completo de acordo com a hora local. Retorna a nova hora em milissegundos.
Date.getTimezoneOffset()
Date.getUTCDate() Date.getUTCDay() Date.getUTCFullYear() Date.getUTCHours() Date.getUTCMilliseconds() Date.getUTCMinutes() Date.getUTCMonth() Date.getUTCSeconds() Date.getYear() Date.setDate()
Date.setFullYear()
Classe Date
395
Mtodo
Date.setHours()
Descrio Define a hora de acordo com a hora local. Retorna a nova hora em milissegundos. Define os milissegundos de acordo com a hora local. Retorna a nova hora em milissegundos. Define os minutos de acordo com a hora local. Retorna a nova hora em milissegundos. Define o ms de acordo com a hora local. Retorna a nova hora em milissegundos. Define os segundos de acordo com a hora local. Retorna a nova hora em milissegundos. Define a data em milissegundos. Retorna a nova hora em milissegundos. Define a data de acordo com a hora universal. Retorna a nova hora em milissegundos. Define o ano de acordo com a hora universal. Retorna a nova hora em milissegundos. Define a hora de acordo com a hora universal. Retorna a nova hora em milissegundos. Define os milissegundos de acordo com a hora universal. Retorna a nova hora em milissegundos. Define os minutos de acordo com a hora universal. Retorna a nova hora em milissegundos. Define o ms de acordo com a hora universal. Retorna a nova hora em milissegundos. Define os segundos de acordo com a hora universal. Retorna a nova hora em milissegundos. Define o ano de acordo com a hora local. Retorna uma seqncia de caracteres representando a data e a hora armazenadas no objeto Date especificado. Retorna o nmero de milissegundos entre a meia-noite de 1 de janeiro de 1970, hora universal, e a hora especificada.
Date.setMilliseconds()
Date.setMinutes()
Date.setMonth()
Date.setSeconds()
Date.setTime()
Date.setUTCDate()
Date.setUTCFullYear()
Date.setUTCHours()
Date.setUTCMilliseconds()
Date.setUTCMinutes()
Date.setUTCMonth()
Date.setUTCSeconds()
Date.setYear() Date.toString()
Date.UTC()
396
Flash Player 5.
Uso new Date() new Date(ano [, ms [, data [, hora [, minutos [, segundos [, milissegundos ]]]]]) Parmetros ano
Um valor de 0 a 99 indica 1900 a 1999; caso contrrio, especifique todos os 4 dgitos do Um inteiro entre 0 (janeiro) e 11 (dezembro). Um inteiro de 1 a 31. Este parmetro opcional. Um inteiro entre 0 (meia-noite) e 23 (11 p.m.). Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 999. Este parmetro opcional.
ano.
ms dia hora minutos segundos milissegundos Retorna
Nada.
Descrio
Objeto; constri um objeto new Date que mantm a data e hora atuais ou a data especificada.
Exemplo
O exemplo a seguir cria um novo objeto Date para o dia de nascimento de Beto, 12 de agosto de 1974. Como o parmetro ms comea em zero, o exemplo usa 7 para o ms, no 8.
dataNasc_Beto = new Date (74, 7, 12);
O exemplo a seguir cria um novo objeto Date, concatena os valores retornados por Date.getMonth(), Date.getDate() e Date.getFullYear(), e exibe esses valores no campo de texto especificado pela varivel data_str.
data_hoje = new Date(); data_str = ((data_hoje.getMonth() + 1) + "/" + data_hoje.getDate() + "/" + data_hoje.getFullYear());
Classe Date
397
Date.getDate()
Disponibilidade
Flash Player 5.
Uso minha_data.getDate() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o dia do ms (um inteiro de 1 a 31) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.getDay()
Disponibilidade
Flash Player 5.
Uso minha_data.getDay() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o dia da semana (0 para domingo, 1 para segunda-feira 1, etc.) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
398
Date.getFullYear()
Disponibilidade
Flash Player 5.
Uso minha_data.getFullYear() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o ano completo (um nmero de quatro dgitos, por exemplo, 2000) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Exemplo
O exemplo a seguir usa o construtor para criar um novo objeto Date e enviar o valor retornado pelo mtodo getFullYear() para o painel Output (Sada):
data = new Date(); trace(data.getFullYear());
Date.getFullYear()
399
Date.getHours()
Disponibilidade
Flash Player 5.
Uso minha_data.getHours() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna a hora (um inteiro de 0 a 23) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.getMilliseconds()
Disponibilidade
Flash Player 5.
Uso minha_data.getMilliseconds() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna os milissegundos (um inteiro de 0 a 999) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
400
Date.getMinutes()
Disponibilidade
Flash Player 5.
Uso minha_data.getMinutes() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna os minutos (um inteiro de 0 a 59) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.getMonth()
Disponibilidade
Flash Player 5.
Uso minha_data.getMonth() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o ms (0 para janeiro, 1 para fevereiro, etc.) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.getMonth()
401
Date.getSeconds()
Disponibilidade
Flash Player 5.
Uso minha_data.getSeconds() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna os segundos (um inteiro de 0 a 59) do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.getTime()
Disponibilidade
Flash Player 5.
Uso minha_data.getTime() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o nmero de milissegundos desde a meia-noite de 1 de janeiro de 1970, hora universal, do objeto Date especificado. Use este mtodo para representar um instante especfico no tempo quando comparar dois ou mais objetos Date.
402
Date.getTimezoneOffset()
Disponibilidade
Flash Player 5.
Uso minha_data.getTimezoneOffset() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna a diferena, em minutos, entre a hora local do computador e a hora universal.
Exemplo
O exemplo a seguir retorna a diferena entre o horrio de vero de So Francisco e a hora universal. O horrio de vero ser includo no resultado retornado somente se a data definida no objeto Date constar do perodo do horrio de vero.
trace(new Date().getTimezoneOffset()); // // // // // ser apresentado o valor 420 no painel Output (Sada) (7 horas * 60 minutos/hora = 420 minutos) Este exemplo usa o horrio de vero do Pacfico (PDT (Pacific Daylight Time) GMT-0700). O resultado varia em funo do local e da poca do ano.
Date.getUTCDate()
Disponibilidade
Flash Player 5.
Uso minha_data.getUTCDate() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o dia do ms (um inteiro de 1 a 31) do objeto Date especificado, de acordo com a hora universal.
Date.getUTCDate()
403
Date.getUTCDay()
Disponibilidade
Flash Player 5.
Uso minha_data.getUTCDay() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o dia da semana (0 para domingo, 1 para segunda-feira e assim por diante) do objeto Date especificado, de acordo com a hora universal.
Date.getUTCFullYear()
Disponibilidade
Flash Player 5.
Uso minha_data.getUTCFullYear() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o ano com quatro dgitos do objeto Date especificado, de acordo com a hora universal.
404
Date.getUTCHours()
Disponibilidade
Flash Player 5.
Uso minha_data.getUTCHours() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna a hora do objeto Date especificado, de acordo com a hora universal.
Date.getUTCMilliseconds()
Disponibilidade
Flash Player 5.
Uso minha_data.getUTCMilliseconds() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna os milissegundos do objeto Date especificado, de acordo com a hora universal.
Date.getUTCMilliseconds()
405
Date.getUTCMinutes()
Disponibilidade
Flash Player 5.
Uso minha_data.getUTCMinutes() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna os minutos do objeto Date especificado, de acordo com a hora universal.
Date.getUTCMonth()
Disponibilidade
Flash Player 5.
Uso minha_data.getUTCMonth() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o ms (0 para janeiro, 1 para fevereiro e assim por diante) do objeto Date especificado, de acordo com a hora universal.
406
Date.getUTCSeconds()
Disponibilidade
Flash Player 5.
Uso minha_data.getUTCSeconds() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna os segundos do objeto Date especificado, de acordo com a hora universal.
Date.getYear()
Disponibilidade
Flash Player 5.
Uso minha_data.getYear() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o ano do objeto Date especificado, de acordo com a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado. O ano o ano completo menos 1900. Por exemplo, o ano 2000 representado como 100.
Consulte tambm Date.getFullYear()
Date.getYear()
407
Date.setDate()
Disponibilidade
Flash Player 5.
Uso minha_data.setDate(dia) Parmetros dia Retorna
Um inteiro de 1 a 31.
Um inteiro.
Descrio
Mtodo; define o dia do ms do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.setFullYear()
Disponibilidade
Flash Player 5.
Uso minha_data.setFullYear(ano [, ms [, dia]] ) Parmetros ano
Um nmero de quatro dgitos que especifica um ano. Nmeros de dois dgitos no representam anos; por exemplo, 99 no o ano 1999, mas o ano 99. Um inteiro entre 0 (janeiro) e 11 (dezembro). Este parmetro opcional. Um inteiro de 1 a 31. Este parmetro opcional.
ms dia Retorna
Um inteiro.
Descrio
Mtodo; define o ano do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. Se os parmetros ms e dia forem especificados, tambm sero definidos para a hora local. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado. Quando este mtodo chamado, os outros campos do objeto Date especificado no so modificados, mas Date.getUTCDay() e Date.getDay() podero retornar um novo valor se o dia da semana for alterado em conseqncia da chamada desse mtodo.
408
Date.setHours()
Disponibilidade
Flash Player 5.
Uso minha_data.setHours(hora) Parmetros hora Retorna
Um inteiro.
Descrio
Mtodo; define as horas do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.setMilliseconds()
Disponibilidade
Flash Player 5.
Uso minha_data.setMilliseconds(milissegundos) Parmetros milissegundos Retorna
Um inteiro de 0 a 999.
Um inteiro.
Descrio
Mtodo; define os milissegundos do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.setMilliseconds()
409
Date.setMinutes()
Disponibilidade
Flash Player 5.
Uso minha_data.setMinutes(minutos) Parmetros minutos Retorna
Um inteiro de 0 a 59.
Um inteiro.
Descrio
Mtodo; define os minutos do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.setMonth()
Disponibilidade
Flash Player 5.
Uso minha_data.setMonth(ms [, dia ]) Parmetros ms dia Retorna
Um inteiro.
Descrio
Mtodo; define o ms do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
410
Date.setSeconds()
Disponibilidade
Flash Player 5.
Uso minha_data.setSeconds(segundos) Parmetros segundos Retorna
Um inteiro de 0 a 59.
Um inteiro.
Descrio
Mtodo; define os segundos do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.setTime()
Disponibilidade
Flash Player 5.
Uso minha_data.setTime(milissegundos) Parmetros milissegundos Retorna
Um inteiro.
Descrio
Mtodo; define a data do objeto Date especificado, em milissegundos, desde a meia-noite de 1 de janeiro de 1970, e retorna a nova hora em milissegundos.
Date.setTime()
411
Date.setUTCDate()
Disponibilidade
Flash Player 5.
Uso minha_data.setUTCDate(dia) Parmetros dia Retorna
Um inteiro de 1 a 31.
Um inteiro.
Descrio
Mtodo; define a data do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos. Quando este mtodo chamado, os outros campos do objeto Date especificado no so modificados, mas Date.getUTCDay() e Date.getDay() podero retornar um novo valor se o dia da semana for alterado em conseqncia da chamada desse mtodo.
Date.setUTCFullYear()
Disponibilidade
Flash Player 5.
Uso minha_data.setUTCFullYear(ano [, ms [, dia]] ) Parmetros ano ms dia Retorna
O ano especificado com quatro dgitos completos; por exemplo, 2000. Um inteiro entre 0 (janeiro) e 11 (dezembro). Este parmetro opcional. Um inteiro de 1 a 31. Este parmetro opcional.
Um inteiro.
Descrio
Mtodo; define o ano do objeto Date especificado (minha_data), de acordo com a hora universal, e retorna a nova hora em milissegundos. Opcionalmente, este mtodo tambm pode definir o ms e a data representados pelo objeto Date especificado. Quando este mtodo chamado, os outros campos do objeto Date especificado no so modificados, mas Date.getUTCDay() e Date.getDay() podero retornar um novo valor se o dia da semana for alterado em conseqncia da chamada desse mtodo.
412
Date.setUTCHours()
Disponibilidade
Flash Player 5.
Uso minha_data.setUTCHours(horas [, minutos [, segundos [, milissegundos]]]) Parmetros hora minutos segundos milissegundos Retorna
Um inteiro entre 0 (meia-noite) e 23 (11 p.m.). Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 999. Este parmetro opcional.
Um inteiro.
Descrio
Mtodo; define a hora do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos.
Date.setUTCMilliseconds()
Disponibilidade
Flash Player 5.
Uso minha_data.setUTCMilliseconds(milissegundos) Parmetros milissegundos Retorna
Um inteiro de 0 a 999.
Um inteiro.
Descrio
Mtodo; define os milissegundos do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos.
Date.setUTCMilliseconds()
413
Date.setUTCMinutes()
Disponibilidade
Flash Player 5.
Uso minha_data.setUTCMinutes(minutos [, segundos [, milissegundos]]) Parmetros minutos segundos milissegundos Retorna
Um inteiro de 0 a 59. Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 999. Este parmetro opcional.
Um inteiro.
Descrio
Mtodo; define os minutos do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos.
Date.setUTCMonth()
Disponibilidade
Flash Player 5.
Uso minha_data.setUTCMonth(ms [, data]) Parmetros ms dia Retorna
Um inteiro.
Descrio
Mtodo; define o ms e, opcionalmente, o dia (data), do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos. Quando este mtodo chamado, os outros campos do objeto Date especificado no so modificados, mas Date.getUTCDay() e Date.getDay() podero retornar um novo valor se o dia da semana for alterado em conseqncia da especificao de um valor para o parmetro dia.
414
Date.setUTCSeconds()
Disponibilidade
Flash Player 5.
Uso minha_data.setUTCSeconds(segundos [, milissegundos])) Parmetros segundos
milissegundos Retorna
Um inteiro.
Descrio
Mtodo; define os segundos do objeto Date especificado, de acordo com a hora universal, e retorna a nova hora em milissegundos.
Date.setYear()
Disponibilidade
Flash Player 5.
Uso minha_data.setYear(ano) Parmetros ano
Se ano for um nmero inteiro entre 099, setYear definir o ano como 1900 + ano; caso contrrio, o ano ser o valor do parmetro ano. Um inteiro.
Retorna
Descrio
Mtodo; define o ano do objeto Date especificado, de acordo com a hora local, e retorna a nova hora em milissegundos. A hora local determinada pelo sistema operacional em que o Flash Player est sendo executado.
Date.setYear()
415
Date.toString()
Disponibilidade
Flash Player 5.
Uso minha_data.toString() Parmetros
Nenhum.
Retorna
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());
416
Date.UTC()
Disponibilidade
Flash Player 5.
Uso Date.UTC(ano, ms [, dia [, hora [, minutos [, segundos [, milissegundos ]]]]]); Parmetros ano ms dia hora minutos segundos milissegundos Retorna
Um nmero de quatro dgitos; por exemplo, 2000. Um inteiro entre 0 (janeiro) e 11 (dezembro). Um inteiro de 1 a 31. Este parmetro opcional. Um inteiro entre 0 (meia-noite) e 23 (11 p.m.). Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 59. Este parmetro opcional. Um inteiro de 0 a 999. Este parmetro opcional.
Um inteiro.
Descrio
Mtodo; retorna o nmero de milissegundos entre a meia-noite de 1 de janeiro de 1970, hora universal, e a hora especificada nos parmetros. Este um mtodo esttico chamado pelo construtor do objeto Date, no por um objeto Date especfico. Este mtodo permite criar um objeto Date que assuma uma hora universal, enquanto o construtor de Date assume a hora local.
Exemplo
O exemplo a seguir cria um novo objeto Date dataNasc_Beto, definido de acordo com a hora universal. Esta a variao de hora universal do exemplo usado para o mtodo construtor new Date:
dataNasc_Beto = new Date(Date.UTC(1974, 7, 12));
Date.UTC()
417
default
Disponibilidade
Flash Player 6.
Uso default: instrues Parmetros instrues Retorna
Quaisquer instrues.
Nada.
Descrio
Instruo; define o caso padro de uma ao switch. As instrues sero executadas se o parmetro expresso da ao switch for diferente (usando a igualdade estrita) de todos os parmetros expresso que seguem as palavras-chave de case de uma ao switch. Uma ao switch no precisa ter uma clusula default. O default no precisa ser o ltimo da lista. O uso de uma ao default fora de uma ao switch representa um erro e o script no compilado.
Exemplo
No exemplo a seguir, a expresso A no igual s expresses B e D. Portanto, a instruo que vem aps a palavra-chave default executada e a ao trace() enviada para o painel Output (Sada).
switch ( A ) { case B: C; break; case D: E; break; default: trace ("no foi encontrado nenhum caso especfico"); } Consulte tambm switch, case, break
418
delete
Disponibilidade
Flash Player 5.
Uso delete referncia Parmetros referncia Retorna
Um valor booleano.
Descrio
Operador; eliminar o objeto ou a varivel especificada pelo parmetro referncia e retornar true se o objeto for excludo com xito; do contrrio, retornar false. Este operador til para liberar memria usada pelos scripts. Embora delete seja um operador, normalmente ele usado como uma instruo, como no exemplo a seguir:
delete x;
O operador delete poder falhar e retornar false se o parmetro referncia no existir ou no puder ser excludo. Objetos e propriedades predefinidos e variveis declaradas com var no podem ser excludas. No possvel usar o operador delete para remover clipes de filme.
Exemplo
Uso 1: O exemplo a seguir cria um objeto, usa-o e depois o exclui quando no for mais necessrio.
conta = new Object(); conta.nome = 'Joo'; conta.saldo = 10000; delete account;
delete
419
Se o contedo do parmetro ref1 no tivesse sido copiado para ref2, o objeto teria sido excludo durante a excluso de ref1, pois no haveria referncias a ele. Se o parmetro ref2 for excludo, no haver mais referncias ao objeto; ele ser eliminado e a memria que estava sendo usada ficar disponvel.
Consulte tambm var
420
do while
Disponibilidade
Flash Player 4.
Uso do { instrues } while (condio) Parmetros condio
instrues A(s) instruo(es) a ser(em) executada(s) desde que o parmetro condio seja avaliado como true. Retorna
Nada.
Descrio
Instruo; executa as instrues e, em seguida, avalia a condio do loop e repete todo o processo enquanto a condio for verdadeira.
Consulte tambm break, continue
do while
421
duplicateMovieClip()
Disponibilidade
Flash Player 4.
Uso duplicateMovieClip(destino, novonome, profundidade) Parmetros destino novonome
O caminho de destino do clipe de filme a ser duplicado. Um identificador exclusivo do clipe de filme duplicado.
profundidade
Um nvel de profundidade exclusivo para o clipe de filme duplicado. O nvel de profundidade uma ordem de empilhamento para os clipes de filmes duplicados. Essa ordem de empilhamento muito parecida com a ordem de empilhamento das camadas na Timeline (Linha de tempo); os clipes de filmes com um nvel de profundidade inferior ficam ocultos abaixo de clipes com uma ordem de empilhamento superior. Deve-se atribuir um nvel de profundidade exclusivo para cada clipe de filme duplicado, para evitar que ele substitua arquivos SWF em nveis ocupados.
Retorna
Funo; cria uma instncia de um clipe de filme durante a reproduo do arquivo SWF. A reproduo em clipes de filme duplicados sempre comea pelo Frame (Quadro) 1, independente da posio da reproduo no clipe de filme original (ou pai). As variveis no clipe de filme pai no so copiadas para o clipe de filme duplicado. Se o clipe de filme pai for excludo, o clipe de filme duplicado tambm ser. Use a ao ou mtodo removeMovieClip() para excluir uma instncia de clipe de filme criada com duplicateMovieClip().
Consulte tambm MovieClip.duplicateMovieClip(), removeMovieClip(), MovieClip.removeMovieClip()
422
dynamic
Disponibilidade
Flash Player 6.
Uso dynamic class nomeClasse [ extends superClasse ] [ implements nomeInterface [, nomeInterface... ] ] { // a definio de classe entra aqui } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). Descrio
Palavra-chave; determina que os objetos baseados na classe especificada podem adicionar e acessar propriedades dinmicas durante a execuo. A verificao de tipo em classes dinmicas menos estrita que em classes no-dinmicas, pois os membros acessados na definio de classe e em instncias da classe no so comparados com aqueles definidos no escopo da classe. No entanto, possvel realizar a verificao de tipo das funes de membros de classes para detectar tipo de retorno e tipos de parmetro. Esse comportamento especialmente til ao trabalhar com objetos MovieClip, pois h diversas maneiras de adicionar propriedades e objetos a um clipe de filme dinamicamente, como MovieClip.createEmptyMovieClip() e MovieClip.createTextField(). Subclasses de classes dinmicas tambm sero dinmicas. Para obter mais informaes, consulte Criando classes dinmicas na pgina 184.
Exemplo
No exemplo a seguir, a classe B foi marcada como dinmica. Por isso, chamar nessa classe uma funo no declarada no gerar um erro durante a compilao.
// em B.as dynamic class B extends class_A { function B() { /*este o construtor*/ } function m():Number {return 25;} function o(s:String):Void {trace(s);} } // em C.as class C extends class_A { function C() { /*este o construtor*/ } function m():Number {return 25;} function o(s:String):Void {trace(s);} }
dynamic
423
// em outro script var var1 = B.n(); var var2 = C.n() Consulte tambm class, extends
else
Disponibilidade
Flash Player 4.
Uso if (condio){ instrues; } else (condio){ instrues; } Parmetros condio
Uma expresso que seja avaliada como true ou false. alternativa de instrues a ser executada se a condio especificada na
Nada.
Descrio
Instruo; especifica as instrues que sero executadas se a condio estabelecida pela instruo if retornar false.
Consulte tambm if
424
else if
Disponibilidade
Flash Player 4.
Uso if (condio){ instrues; } else if (condio){ instrues; } Parmetros condio
Uma expresso que seja avaliada como true ou false. alternativa de instrues a ser executada se a condio especificada na
Nada.
Descrio
Instruo; avaliar a condio e especificar as instrues que sero executadas se a condio estabelecida pela instruo if inicial retornar false. Se a condio de else if retornar true, o interpretador Flash executar as instrues entre chaves ({}) que seguem a condio. Se a condio else if for false, o Flash ignorar as instrues entre chaves e executar as instrues aps as chaves. Use a ao else if para criar uma lgica ramificada em seus scripts.
Exemplo
O exemplo a seguir faz uso de aes else if para verificar se cada lado de um objeto est dentro de um limite especfico.
// se o objeto ultrapassar os limites, // envia-o de volta e inverte a velocidade de percurso if (this._x>rightBound) { this._x = rightBound; xInc = -xInc; } else if (this._x<leftBound) { this._x = leftBound; xInc = -xInc; } else if (this._y>bottomBound) { this._y = bottomBound; yInc = -yInc; } else if (this._y<topBound) { this._y = topBound; yInc = -yInc; } Consulte tambm if
else if
425
#endinitclip
Disponibilidade
Flash Player 6.
Uso #endinitclip Parmetros
Nenhum.
Retorna
Nada.
Descrio
Flash Player 4. Este operador foi substitudo no Flash 5 pelo operador == (igualdade).
Uso expresso1 eq expresso2 Parmetros expresso1, expresso2 Retorna
Nada.
Descrio
Operador de comparao; avaliar se duas expresses so iguais e retornar o valor true se a representao da seqncia de caracteres da expresso1 for igual representao da seqncia de caracteres da expresso2; caso contrrio, a operao retornar o valor false.
Consulte tambm == (igualdade)
426
Classe Error
Disponibilidade
Flash Player 7.
Descrio
Contm informaes sobre um erro que ocorreu em um script. possvel criar um objeto Error usando a funo construtora Error. Em geral, um novo objeto Error gerado (throw) a partir de um bloco de cdigo try e depois capturado por um bloco de cdigo catch ou finally. possvel tambm criar uma subclasse da classe Error e lanar instncias dessa subclasse. Resumo dos mtodos da classe Error
Mtodo
Error.toString()
Descrio 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
Flash Player 7.
Uso new Error([mensagem]) Parmetros mensagem Retorna
Nada.
Descrio
Construtor; cria um novo objeto Error. Se mensagem for especificada, seu valor ser atribudo propriedade Error.message do objeto.
Classe Error
427
Exemplo
No exemplo a seguir, uma funo lanar um erro (com uma mensagem especificada) se as duas seqncias de caracteres passadas para ela no forem idnticas.
function compareStrings(string_1, string_2) { if(string_1 != string_2) { throw new Error("As seqncias de caracteres no coincidem."); } } try { compareStrings("Co","co"); } catch (e) { trace(e.toString()); } Consulte tambm throw, try..catch..finally
Error.message
Disponibilidade
Flash Player 7.
Uso meuErro.message Descrio
Propriedade; contm a mensagem associada ao objeto Error. O valor padro desta propriedade "Error". possvel dar um valor para a propriedade message ao criar um novo objeto Error, passando a seqncia de caracteres de erro para a funo construtora Error.
Consulte tambm throw, try..catch..finally
Error.name
Disponibilidade
Flash Player 7.
Uso meuErro.name Descrio
Propriedade; contm o nome do objeto Error. O valor padro desta propriedade "Error".
Consulte tambm throw, try..catch..finally
428
Error.toString()
Disponibilidade
Flash Player 7.
Uso meuErro.toString() Retorna
Mtodo; retornar por padro a seqncia de caracteres "Error" ou o valor contido em Error.message, se definido.
Consulte tambm Error.message, throw, try..catch..finally
escape
Disponibilidade
Flash Player 5.
Uso escape(expresso) Parmetros expresso
URL.
Retorna
Nada.
Descrio
Funo; converte o parmetro em uma seqncia de caracteres e o codifica em um formato de cdigo URL, onde todos os caracteres no-alfanumricos so substitudos por seqncias hexadecimais de %.
Exemplo
escape
429
eval()
Disponibilidade
Flash Player 5 ou verso posterior com funcionalidade completa. Voc pode usar a funo eval() ao exportar para o Flash Player 4, mas deve usar a notao de barra e s pode acessar variveis, mas no propriedades ou objetos.
Uso eval(expresso) Parmetros expresso Uma seqncia de caracteres que contm o nome de uma varivel, propriedade, objeto ou clipe de filme a ser recuperado. Retorna
Funo; acessa variveis, propriedades, objetos ou clipes de filmes por nome. Se expresso for uma varivel ou propriedade, ser retornado o valor da varivel ou propriedade. Se expresso for um objeto ou clipe de filme, ser retornada uma referncia ao objeto ou clipe de filme. Se no for possvel encontrar o elemento citado na expresso, ser retornado o valor undefined. No Flash 4, eval() era usada para simular arrays; no Flash 5 ou posterior, recomenda-se o uso da classe Array para esse fim. No Flash 4, tambm possvel usar eval() para definir e recuperar de forma dinmica o valor de uma varivel ou um nome de instncia. Porm, tambm possvel executar essa tarefa atravs do operador de acesso a arrays ([]). No Flash 5 e verses posteriores, no possvel usar eval() para definir e recuperar dinamicamente o valor de uma varivel ou nome de instncia porque no possvel usar eval() no lado esquerdo de uma equao. Por exemplo, substitua o cdigo
eval ("var" + i) = "primeiro";
por este:
this["var"+i] = "primeiro"
ou este:
set ("var" + i, "primeiro"); Exemplo
O exemplo a seguir usa eval() para determinar o valor da expresso "trecho" + x. Como o resultado um nome de varivel, trecho3, eval() retorna o valor da varivel e o atribui a y:
trecho3 = "perigoso"; x = 3; y = eval("trecho" + x); trace(y); // Sada: perigoso Consulte tambm
Classe Array
430
extends
Disponibilidade
Flash Player 6.
Uso class nomeClasse extends outroNomeClasse {} interface nomeInterface extends outroNomeInterface {} Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de scripts externos, no em scripts escritos no painel Actions (Aes). Parmetros nomeClasse
O nome da classe que voc est definindo. O nome da classe em que nomeClasse se baseia. O nome da interface que voc est definindo. O nome da interface em que nomeInterface se baseia.
outroNomeClasse nomeInterface
outroNomeInterface Descrio
Palavra-chave; define uma classe ou interface como subclasse de outra classe ou interface; a ltima a superclasse. A subclasse herda todos os mtodos, propriedades, funes e tudo o que for definido na superclasse. Para obter mais informaes, consulte Criando subclasses na pgina 173.
Exemplo
Na classe B definida abaixo, ser inserida automaticamente uma chamada para o superconstrutor da classe A, como a primeira instruo da funo construtora de B, pois ainda no existe uma chamada nela. Ou seja, ela aparece como comentrio no exemplo.
class B extends class A { function B() { // este o construtor // super(); // opcional; ser inserida durante a compilao se tiver sido // omitida } function m():Number {return 25;} function o(s:String):Void {trace(s);} } Consulte tambm class, implements, interface
extends
431
false
Disponibilidade
Flash Player 5.
Uso false Descrio
_focusrect
Disponibilidade
Flash Player 4.
Uso _focusrect = Booleano; Descrio
Propriedade (global); define se exibido um retngulo amarelo em volta do boto ou clipe de filme que possui foco de teclado. O valor padro, true, faz exibir um retngulo amarelo em volta do boto ou clipe de filme com foco no momento em que o usurio pressiona a tecla Tab para navegar pelos objetos em um arquivo SWF. Especifique false se voc no desejar exibir o retngulo amarelo. Essa uma propriedade global que pode ser cancelada para instncias especficas.
Consulte tambm Button._focusrect, MovieClip._focusrect
432
for
Disponibilidade
Flash Player 5.
Uso for(incio; condio; prxima) { instrues; } Parmetros incio Uma expresso a ser avaliada antes do incio da seqncia de loop, geralmente uma expresso de atribuio. A instruo var tambm permitida para este parmetro. condio Uma expresso que seja avaliada como true ou false. A condio avaliada antes de cada iterao do loop; o loop termina quando a condio avaliada como false. prxima
Uma expresso que avaliada aps cada iterao do loop; geralmente uma expresso de atribuio com os operadores ++ (incremento) ou -- (decremento). Uma ou mais instrues a serem executadas no corpo do loop.
instrues Descrio
Instruo; uma estrutura de loop (repetio) que avalia uma vez a expresso incio (inicializao) e depois comea uma seqncia de repetio pela qual, enquanto condio for true, as instrues sero executadas e a expresso prxima ser avaliada. Algumas propriedades no podem ser enumeradas pelas aes for nem for..in. Por exemplo, os mtodos internos da classe Array, como Array.sort() e Array.reverse(), no so includos na enumerao de um objeto Array e as propriedades de clipe de filme, como _x e _y, no so enumeradas. Em arquivos de classe externos, os membros de instncia no so enumerveis. Apenas os membros dinmicos e estticos so enumerveis.
Exemplo
for
433
O exemplo a seguir mostra o uso de for para executar a mesma ao repetidamente. No cdigo a seguir, o loop for soma os nmeros de 1 a 100.
var soma = 0; for (var i=1; i<=100; i++) { soma = soma + i; } Consulte tambm ++ (incremento), (decremento), for..in, var
for..in
Disponibilidade
Flash Player 5.
Uso for(varivelIterao in objeto){ instrues; } Parmetros varivelIterao objeto
O nome de uma varivel que age como iterando, fazendo referncia a cada propriedade de um objeto ou elemento de um array. O nome de um objeto a ser repetido. Instrues a serem executadas a cada iterao.
instrues Retorna
Nada.
Descrio
Instruo; realiza uma passagem pelas propriedades de um objeto ou elemento de um array e executa as instrues para cada propriedade de um objeto. Algumas propriedades no podem ser enumeradas pelas aes for nem for..in. Por exemplo, os mtodos internos da classe Array, como Array.sort() e Array.reverse(), no so includos na enumerao de um objeto Array e as propriedades de clipe de filme, como _x e _y, no so enumeradas. Em arquivos de classe externos, os membros de instncia no so enumerveis. Apenas os membros dinmicos e estticos so enumerveis. A instruo for..in faz a iterao das propriedades de objetos na cadeia prottipo do objeto iterado. Se o prottipo do filho for pai, a iterao das propriedades do filho com for..in tambm far a iterao das propriedades do pai. A ao for..in enumera todos os objetos na cadeia prottipo de um objeto. As propriedades do objeto so enumeradas primeiro, a seguir, as propriedades de seu prottipo imediato, a seguir, as propriedades do prottipo do prottipo e assim por diante. A ao for..in no enumera o mesmo nome de propriedade duas vezes. Caso o objeto filho tenha um pai prottipo e ambos possuam a propriedade prop, a ao for..in iniciada sobre o filho enumerar prop a partir do filho, mas ignorar a que est no pai.
434
Exemplo
O exemplo a seguir mostra o uso de for..in para iterao das propriedades de um objeto:
meuObjeto = { nome:'Sara', idade:27, cidade:'So Francisco' }; for (nome in meuObjeto) { trace ("meuObjeto." + nome + " = " + meuObjeto[nome]); }
O exemplo a seguir mostra o uso do operador typeof com for..in para iterar um tipo especfico de filho:
for (nome in meu_mc) { if (typeof (meu_mc[nome]) = "movieclip") { trace ("Eu tenho um clipe denominado " + nome); } }
O exemplo a seguir enumera os filhos de um clipe de filme e envia cada um para o Frame (Quadro) 2 de suas respectivas Timelines (Linhas de tempo). O clipe de filme RadioButtonGroup pai de vrios filhos, _RedRadioButton_, _GreenRadioButton_ e _BlueRadioButton.
for (var nome in RadioButtonGroup) { RadioButtonGroup[nome].gotoAndStop(2); }
for..in
435
fscommand()
Disponibilidade
Flash Player 3.
Uso fscommand("comando", "parmetros") Parmetros comando Uma seqncia de caracteres passada ao aplicativo host para qualquer uso ou um comando passado ao Flash Player. parmetros
Uma seqncia de caracteres passada ao aplicativo host para qualquer uso ou um valor passado ao Flash Player.
Retorna
Nada.
Descrio
Funo; permite que o arquivo SWF se comunique com o Flash Player ou com o programa que hospeda o Flash Player, como um navegador da Web. Voc tambm pode usar a ao fscommand para passar mensagens para o Macromedia Director ou para o Visual Basic, Visual C++ e outros programas que possam hospedar controles ActiveX. Uso 1: Para enviar uma mensagem ao Flash Player, voc deve usar comandos e parmetros predefinidos. A tabela a seguir mostra os valores que podem ser especificados para os parmetros comando e parmetros da ao fscommand para controlar um arquivo SWF reproduzido no Flash Players (incluindo projetores):
Comando
quit fullscreen
Parmetros
Nenhum true ou false
Objetivo Fecha o projetor. A especificao de true define o Flash Player no modo de tela cheia. A especificao de false retorna o exibidor para a exibio normal de menu. O valor false define o exibidor para que ele sempre desenhe o arquivo SWF em seu tamanho original e nunca redimensionado. O valor true fora o arquivo SWF a ser redimensionado para a escala de 100% do exibidor. A especificao de true ativa o conjunto completo de itens do menu de contexto. A especificao de false torna esmaecidos todos os itens do menu de contexto, exceto o About Flash Player (Sobre o Flash Player). Executa um aplicativo no projetor. A especificao de true envia todos os eventos de teclas, incluindo as teclas de acelerao, para o manipulador onClipEvent(keyDown/keyUp) no Flash Player.
allowscale
true ou false
showmenu
true ou false
exec trapallkeys
436
O comando exec s pode conter os caracteres AZ, az, 09, ponto (.) e sublinhado (_). O comando exec executado somente no subdiretrio fscommand. Em outras palavras, se voc usar o comando fscommand exec para chamar um aplicativo, o aplicativo dever residir em um subdiretrio com o nome fscommand. Uso 2: Para usar a ao fscommand para enviar uma mensagem para uma linguagem de script, como JavaScript, em um navegador da Web, voc pode passar dois valores quaisquer nos parmetros comando e parmetros. Esses parmetros podem ser seqncias de caracteres ou expresses e sero usados em uma funo JavaScript que captura, ou manipula, a ao fscommand. Em um navegador da Web, a ao fscommand chama a funo JavaScript na pgina HTML que contm o filme Flash. O nomefilme o nome do Flash Player conforme atribudo pelo atributo NAME da marca EMBED ou pela propriedade ID da marca OBJECT. Se o nome atribudo ao Flash Player for meuDocumento, a funo JavaScript chamada ser meuDocumento_DoFSCommand.
nomefilme_DoFScommand
Uso 3: A ao fscommand pode enviar mensagens ao Macromedia Director que so interpretadas pelo Lingo como seqncias de caracteres, eventos ou cdigo Lingo executvel. Se a mensagem for uma seqncia de caracteres ou um evento, voc dever criar o cdigo Lingo para receb-la a partir da ao fscommand e executar uma ao no Director. Para obter mais informaes, consulte o Director Support Center (Centro de suporte do Director) em www.macromedia.com/support/ director. Uso 4: No Visual Basic, Visual C++ e em outros programas que podem hospedar controles ActiveX, fscommand envia um evento VB com duas seqncias de caracteres que podem ser manipuladas na linguagem de programao do ambiente. Para obter mais informaes, use as palavras-chave Flash method e faa uma pesquisa no Flash Support Center (Centro de suporte do Flash) em www.macromedia.com/go/flash_support_br.
Exemplo
Uso 1: No exemplo a seguir, a ao fscommand faz o Flash Player dimensionar o arquivo SWF para o tamanho de tela cheia quando o usurio solta o boto.
on (release) { fscommand("fullscreen", true); }
Uso 2: O exemplo abaixo usa a ao fscommand aplicada a um boto no Flash para abrir uma caixa de mensagem JavaScript em uma pgina HTML. A mensagem em si enviada para JavaScript como o parmetro de fscommand. Voc deve incluir uma funo na pgina HTML que contm o arquivo SWF. Essa funo, meuDocumento_DoFSCommand, ficar situada na pgina HTML e aguardar uma ao fscommand no Flash. Quando fscommand ativado no Flash (por exemplo, quando um usurio pressiona o boto), as seqncias de caracteres comando e parmetros so passadas para a funo meuDocumento_DoFSCommand. Voc pode usar as seqncias de caracteres passadas no seu cdigo JavaScript ou VBScript da maneira que desejar. Neste exemplo, a funo contm uma instruo condicional if que verifica se a seqncia de caracteres de comando caixaMensagem. Se for o caso, ser aberta uma caixa de alerta JavaScript (ou caixa de mensagem) que exibir o contedo da seqncia de caracteres parmetros.
fscommand()
437
Voc tambm pode usar expresses para a ao fscommand e seus parmetros, como no seguinte exemplo:
fscommand("caixaMensagem", "Ol, " + name + ", bem-vindo ao nosso site!")
Para testar o filme, escolha File (Arquivo) > Publish Preview (Visualizar Publicao) > HTML.
Observao: Na publicao do arquivo SWF que usa o Flash com o modelo FSCommand na caixa de dilogo HTML Publish Settings (Configuraes de publicao HTML), a funo meuDocumento_DoFSCommand inserida automaticamente. Os atributos NAME e ID do arquivo SWF sero o nome do arquivo. Por exemplo, para o arquivo meuDocumento.fla, os atributos sero definidos como meuDocumento.
function
Disponibilidade
Flash Player 5.
Uso function nomeFuno ([parmetro0, parmetro1,...parmetroN]){ instrues } function ([parmetro0, parmetro1,...parmetroN]){ instrues } Parmetros nomeFuno
parmetro Um identificador que representa um parmetro a ser passado para a funo. Esses parmetros so opcionais. instrues Retorna
Nada.
Descrio
Instruo; um conjunto de instrues que voc define para realizar determinada tarefa. Voc pode declarar, ou definir, uma funo em um local e cham-la de diferentes scripts em um arquivo SWF. Quando voc define uma funo, tambm pode especificar parmetros para ela. Os parmetros so espaos reservados para valores sobre os quais a funo far suas operaes. Voc pode passar parmetros diferentes para uma funo todas as vezes que cham-la. Isso permite reutilizar uma funo em diversas situaes diferentes.
438
Use a ao return nas instrues de uma funo para fazer a funo retornar, ou gerar, um valor. Uso 1: Declarao de function com o nomeFuno, os parmetros e as instrues especificadas. Quando uma funo chamada, a declarao da funo chamada. No permitido repassar uma referncia; na mesma lista de aes, uma funo pode ser declarada aps ser chamada. Uma declarao de funo substitui qualquer declarao anterior da mesma funo. possvel usar esta sintaxe sempre que se permita uma instruo. Uso 2: Criao de uma funo annima e retorno. Esta sintaxe usada em expresses e particularmente til para a instalao de mtodos em objetos.
Exemplo
Uso 1: O exemplo abaixo define a funo sqr, que aceita um parmetro e retorna o quadrado (sqr (x*x)) do parmetro. Se a funo for declarada e usada no mesmo script, a declarao da funo poder aparecer aps o uso da funo.
y=sqr(3); function sqr(x) { return x*x; }
A instruo a seguir define uma funo annima que calcula a rea de um crculo e anexa-a ao objeto Circle como um mtodo:
Circle.prototype.area = function () {return Math.PI * this.radius * this.radius}
Classe Function
Disponibilidade
Descrio Ativa o cdigo ActionScript para chamar uma funo. Chama a funo representada por um objeto Function.
Classe Function
439
Function.apply()
Disponibilidade
Flash Player 6.
Uso minhaFuno.apply(esteObjeto, objetoArgumentos) Parmetros esteObjeto
O objeto ao qual minhaFuno aplicada. Um array cujos elementos so passados como parmetros para
Mtodo; especifica o valor de this para ser usado em qualquer funo que ActionScript chame. Esse mtodo tambm especifica os parmetros a serem passados a qualquer funo chamada. Como apply() um mtodo da classe Function, tambm um mtodo de todo objeto Function no ActionScript. Os parmetros so especificados como um objeto Array. Em geral, isso til quando o nmero de parmetros a serem passados s conhecido quando o script realmente executado.
Exemplo
Voc pode construir um arquivo SWF com campos de entrada que permitem que o usurio insira o nome de uma funo a ser chamada e zero ou mais parmetros a serem passados para a funo. O boto Chamar usaria ento o mtodo apply para chamar a funo, especificando os parmetros. No exemplo, o usurio especifica um nome de funo em um campo de texto de entrada denominado nomeFuno. A quantidade de parmetros especificada em um campo de texto de entrada denominado nmParmetros. At 10 parmetros so especificados em campos de texto denominados parmetro1, parmetro2, at parmetro10.
440
on (release) { callTheFunction(); } ... function callTheFunction() { var theFunction = eval(nomeFuno.text); var n = Number(nmParmetros); var parmetros = []; for (var i = 0; i < n; i++) { parmetros.push(eval("parmetro" + i)); } theFunction.apply(null, parmetros); }
Function.call()
Disponibilidade
Flash Player 6.
Uso minhaFuno.call(esteObjeto, parmetro1, ..., parmetroN) Parmetros esteObjeto parmetro1
Especifica o valor de this no corpo da funo. Um parmetro a ser passado a minhaFuno. Voc pode especificar zero ou mais
parmetros.
parmetroN Retorna
Nada.
Descrio
Mtodo; chama a funo representada por um objeto Function. Toda funo em ActionScript representada por um objeto Function para que todas as funes ofeream suporte a esse mtodo. Em quase todos os casos, o operador de chamada de funo (()) pode ser usado no lugar desse mtodo. O operador de chamada de funo produz um cdigo conciso e de fcil leitura. Esse mtodo til principalmente quando o parmetro this da chamada da funo precisa ser explicitamente controlado. Normalmente, se uma funo for chamada como um mtodo de um objeto, no corpo da funo, this ser definido como meuObjeto como no exemplo a seguir
meuObjeto.meuMtodo(1, 2, 3);
Em algumas situaes, pode ser prefervel que this aponte para algum outro lugar, por exemplo, nos casos em que uma funo tiver que ser chamada como um mtodo de um objeto, mas sem estar realmente armazenada como um mtodo desse objeto.
meuObjeto.meuMtodo.call(meuOutroObjeto, 1, 2, 3);
Voc pode passar o valor null para o parmetro esteObjeto para chamar uma funo como uma funo regular e no como um mtodo de um objeto. Por exemplo, as seguintes chamadas de funo so equivalentes:
Function.call()
441
Este exemplo usa o mtodo Function.call() para fazer uma funo se comportar como um mtodo de outro objeto, sem armazenar a funo no objeto.
function MeuObjeto() { } function MeuMtodo(obj) { trace("this == obj? " + (this == obj)); } var obj = new MeuObjeto(); MeuMtodo.call(obj, obj);
Function.prototype
Disponibilidade
Flash Player 5. Se voc estiver usando o ActionScript 2.0, no precisar usar essa propriedade. Ela reflete a implementao da herana no ActionScript 1.
Uso minhaFuno.prototype Descrio
Propriedade; em uma funo construtora do ActionScript 1, a propriedade prototype refere-se a um objeto que o prottipo da classe construda. Cada instncia da classe que criada pela funo construtora herda todas as propriedades e mtodos do objeto prottipo.
442
Flash Player 4. Este operador foi substitudo no Flash 5 pelo operador >= (maior que ou igual a).
Uso expresso1 ge expresso2 Parmetros expresso1, expresso2 Retorna
Nada.
Descrio
Operador (comparao); far uma comparao da representao em seqncia de caracteres de expresso1 com a representao em seqncia de caracteres de expresso2 e retornar true se expresso1 for maior ou igual a expresso2; caso contrrio, retornar false.
Consulte tambm >= (maior que ou igual a)
443
get
Disponibilidade
Flash Player 6.
Uso function get propriedade() { // suas instrues entram aqui } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros propriedade
A palavra que voc deseja usar para se referir propriedade acessada por get. Esse valor deve ser igual quele usado no comando set correspondente. O valor da propriedade especificada por nomePropriedade.
Retorna
Descrio
Palavra-chave; permite a obteno (get) implcita de propriedades associadas a objetos baseados em classes que voc definiu em arquivos de classe externos. O uso de mtodos get implcitos permite acessar as propriedades dos objetos sem acess-los diretamente. Os mtodos get/set implcitos so abreviaes sintticas do mtodo Object.addProperty() do ActionScript 1. Para obter mais informaes, consulte Mtodos get/set implcitos na pgina 183.
Consulte tambm Object.addProperty(), set
444
getProperty
Disponibilidade
Flash Player 4.
Uso getProperty(meu_mc, propriedade) Parmetros meu_mc
O nome da instncia de um clipe de filme da qual a propriedade est sendo recuperada. Uma propriedade de um clipe de filme.
propriedade Retorna
O exemplo a seguir recupera a coordenada do eixo horizontal (_x) do clipe de filme meu_mc e a atribui varivel meu_mc_x:
meu_mc_x = getProperty(_root.meu_mc, _x);
getTimer
Disponibilidade
Flash Player 4.
Uso getTimer() Parmetros
Nenhum.
Retorna
Funo; retorna o nmero de milissegundos decorridos desde o incio da reproduo do arquivo SWF.
getTimer
445
getURL()
Disponibilidade
Flash 2. As opes GET e POST s esto disponveis no Flash Player 4 e verses posteriores.
Uso getURL(url [, janela [, "variveis"]]) Parmetros url
janela Um parmetro opcional que especifica a janela ou quadro HTML em que o documento deve ser carregado. Voc pode inserir o nome de uma janela especfica ou escolher um dos seguintes nomes de destino reservados:
especifica o quadro atual na janela atual. especifica uma nova janela. _parent especifica a origem do quadro atual. _top especifica o quadro de nvel superior na janela atual.
_self _blank
variveis Um mtodo GET ou POST para envio de variveis. Caso no haja variveis, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado com longas seqncias de caracteres. Retorna
Nada.
Descrio
Funo; carrega um documento de um URL especfico em uma janela ou passa variveis para outro aplicativo em um URL definido. Para testar esta ao, certifique-se de que o arquivo a ser carregado esteja no local especificado. Para usar um URL absoluto (por exemplo, http://www.meuservidor.com), voc precisa de uma conexo de rede.
Exemplo
Este exemplo carrega um novo URL em uma janela em branco do navegador. A ao getURL() utiliza a varivel incomingAd como o parmetro url, para que voc possa alterar o URL carregado sem ter que editar o arquivo SWF. O valor da varivel incomingAd passado para o Flash no incio do arquivo SWF usando a ao loadVariables().
on (release) { getURL(incomingAd, "_blank"); } Consulte tambm loadVariables(), XML.send(), XML.sendAndLoad(), XMLSocket.send()
446
getVersion
Disponibilidade
Flash Player 5.
Uso getVersion() Parmetros
Nenhum.
Retorna
Uma seqncia de caracteres contendo informaes sobre a verso e a plataforma do Flash Player.
Descrio
Funo; retorna uma seqncia de caracteres contendo informaes sobre a verso e a plataforma do Flash Player. A funo getVersion s retorna informaes do Flash Player 5 ou verses posteriores.
Exemplo
O exemplo a seguir mostra uma seqncia de caracteres apresentada como resposta pela funo getVersion.
WIN 5,0,17,0
Esta seqncia indica que a plataforma Windows e que a verso principal do Flash Player a 5 e a verso secundria a 17 (5.0r17).
Consulte tambm System.capabilities.os, System.capabilities.version
getVersion
447
Objeto _global
Disponibilidade
Flash Player 6.
Uso _global.identificador Parmetros
Nenhum.
Retorna
Uma referncia ao objeto global que possui as principais classes ActionScript, como String, Object, Math e Array.
Descrio
Identificador; cria variveis globais, objetos ou classes. Por exemplo, voc poderia criar uma biblioteca que exposta como um objeto global ActionScript, muito parecido com o objeto Math ou Date. Ao contrrio das funes e variveis declaradas localmente ou na Timeline (Linha de tempo), as variveis e funes globais so visveis para todas as Timelines e escopos em um arquivo SWF, desde que no sejam encobertas por identificadores com nomes idnticos em escopos internos.
Exemplo
Este exemplo cria a funo de alto nvel factorial(), disponvel para todas as linhas de tempo e escopos em um arquivo SWF:
_global.factorial = function (n) { if (n <= 1) { return 1; } else { return n * factorial(n-1); } } Consulte tambm var, set variable
448
gotoAndPlay()
Disponibilidade
Flash 2.
Uso gotoAndPlay([cena] quadro) Parmetros cena
Seqncia de caracteres opcional que especifica o nome da cena para a qual a reproduo seguir.
quadro
Um nmero que representa o nmero do quadro, ou uma seqncia de caracteres que representa o rtulo do quadro, para o qual a reproduo seguir.
Retorna
Nada.
Descrio
Funo; desloca a reproduo para o quadro especificado em uma cena e reproduz a partir desse quadro. Se no for especificada uma cena, a reproduo seguir para o quadro definido na cena atual.
Exemplo
Quando o usurio clicar em um boto que tem a funo gotoAndPlay() associada, a reproduo ser deslocada ao Frame 16 (Quadro 16) da cena atual e ser iniciada.
on (release) { gotoAndPlay(16); } Consulte tambm MovieClip.gotoAndPlay()
gotoAndPlay()
449
gotoAndStop()
Disponibilidade
Flash 2.
Uso gotoAndStop([cena,] quadro) Parmetros cena
Seqncia de caracteres opcional que especifica o nome da cena para a qual a reproduo seguir.
quadro
Um nmero que representa o nmero do quadro, ou uma seqncia de caracteres que representa o rtulo do quadro, para o qual a reproduo seguir.
Retorna
Nada.
Descrio
Funo; desloca a reproduo para o quadro especificado em uma cena e a interrompe. Se no for especificada uma cena, a reproduo seguir para o quadro definido na cena atual.
Exemplo
Quando o usurio clica em um boto ao qual gotoAndStop() est associada, a reproduo deslocada ao Frame 5 (Quadro 5) da cena atual e a reproduo do arquivo SWF interrompida.
on (release) { gotoAndStop(5); } Consulte tambm stop()
450
Flash Player 4. Este operador foi substitudo no Flash 5 pelo novo operador > (maior que).
Uso expresso1 gt expresso2 Parmetros expresso1, expresso2 Descrio
Operador (comparao); far uma comparao da representao em seqncia de caracteres da expresso1 com a representao em seqncia de caracteres da expresso2 e retornar true se a expresso1 for maior que a expresso2; caso contrrio, retornar false.
Consulte tambm > (maior que)
_highquality
Disponibilidade
Propriedade obsoleta (global); especifica o nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Especifique 2 (melhor qualidade) para aplicar alta qualidade com a suavizao de bitmap sempre ativada. Especifique 1 (alta qualidade) para aplicar o recurso de eliminao de serrilhado. Isso suavizar os bitmaps se o arquivo SWF no tiver animao. Especifique 0 (baixa qualidade) para impedir a eliminao de serrilhado.
Exemplo _highquality = 1; Consulte tambm _quality, toggleHighQuality()
_highquality
451
if
Disponibilidade
Flash Player 4.
Uso if(condio) { instrues; } Parmetros condio instrues Retorna
Uma expresso que seja avaliada como true ou false. As instrues que sero executadas se ou quando a condio for avaliada como true.
Nada.
Descrio
Instruo; avalia uma condio para determinar a prxima ao em um arquivo SWF. Se a condio for true, o Flash executar as instrues que estiverem dentro das chaves ({}) aps a condio. Se a condio for false, o Flash ignorar as instrues contidas nas chaves e executar as posteriores a elas. Use a ao if para criar lgica ramificada em seus scripts.
Exemplo
No exemplo a seguir, a condio entre parnteses avaliar a varivel nome para verificar se ela tem o valor literal Erica. Se tiver, ser executada a ao play() entre chaves.
if(nome == "Erica"){ play(); }
O exemplo abaixo utiliza uma ao if para avaliar quando o usurio solta um objeto arrastvel no arquivo SWF. Se o objeto tiver sido liberado menos de 300 milissegundos depois de arrastado, a condio ser avaliada como true e as instrues entre chaves sero executadas. Essas instrues definem variveis para armazenar informaes tais como a nova posio do objeto, a fora e a velocidade com que ele foi lanado. A varivel tempoPressionado tambm recebe o valor 0. Se o objeto tiver sido liberado mais de 300 milissegundos depois de arrastado, a condio ser avaliada como false e nenhuma instruo ser executada.
if (getTimer() < tempoPressionado+300) { // se a condio for true, // o objeto ter sido jogado. // qual ser a nova posio deste objeto? xNewLoc = this._x; yNewLoc = this._y; // qual a fora do lanamento? xTravel = xNewLoc-xLoc; yTravel = yNewLoc-yLoc; // definindo a velocidade do objeto, // dependendo de quanto ele viajou xInc = xTravel/2; yInc = yTravel/2; tempoPressionado = 0; }
452
ifFrameLoaded
Disponibilidade
Flash Player 3. A ao ifFrameLoaded foi substituda no Flash 5. A Macromedia recomenda o uso da propriedade MovieClip._framesloaded.
Uso ifFrameLoaded([cena,] quadro) { instrues; } Parmetros cena
Seqncia de caracteres opcional que especifica o nome da cena que deve ser carregada.
quadro O nmero ou rtulo de um quadro que deve ser carregado antes da execuo da prxima instruo. instrues
As instrues que sero executadas se uma determinada cena (ou cena e quadro) for
carregada.
Retorna
Nada.
Descrio
Ao substituda; verifica se o contedo de um quadro especfico est disponvel localmente. Use ifFrameLoaded para iniciar a reproduo de uma animao simples durante o download do restante do arquivo SWF no computador local. A diferena entre o uso de _framesloaded e ifFrameLoaded que _framesloaded permite que voc adicione suas prprias instrues if ou else.
Consulte tambm MovieClip._framesloaded
ifFrameLoaded
453
implements
Disponibilidade
Flash Player 6.
Uso minhaClasse implements interface01 [, interface02, ...] Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Descrio
Palavra-chave; define uma classe que deve fornecer implementao para todos os mtodos definidos nas interfaces que esto sendo implementadas. Para obter mais informaes, consulte Interfaces como tipos de dados na pgina 178.
Exemplo
Consulte interface.
Consulte tambm class, extends, interface
454
import
Disponibilidade
Flash Player 6.
Uso import nomeClasse import nomePacote.* Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa instruo suportada no painel Actions (Aes) e em arquivos de classe externos. Parmetros nomeClasse
O nome totalmente qualificado de uma classe que voc definiu em um arquivo de Um diretrio em que voc armazenou arquivos de classe relacionados.
classe externo.
nomePacote Descrio
Palavra-chave; permite acessar classes sem especificar seus nomes totalmente qualificados. Por exemplo, se voc quiser usar a classe macr.util.users.UserClass.as em um script, dever fazer referncia a ela pelo nome totalmente qualificado ou import-la. Se voc a importar, poder ento fazer referncia a ela pelo nome de classe:
// antes da importao var meuUsurio:UserClass = new macr.util.users.UserClass(); // aps a importao import macr.util.users.UserClass; var meuUsurio:UserClass = new UserClass();
Se houver vrios arquivos de classe no diretrio a ser acessado, voc poder importar todos em uma nica instruo:
import macr.util.users.*;
Voc deve emitir a instruo import antes de tentar acessar a classe importada sem especificar seu nome completo. Se voc importar uma classe, mas no a usar no script, a classe no ser exportada como parte do arquivo SWF. Isso significa que voc pode importar pacotes grandes sem se preocupar com o tamanho do arquivo SWF. O bytecode associado a uma classe ser includo em um arquivo SWF somente se a classe for realmente usada. A instruo import aplica-se apenas ao script atual (quadro ou objeto) no qual ela chamada. Por exemplo, suponha que voc importe todas as classes do pacote macr.util no Frame 1 (Quadro 1) de um documento do Flash. Nesse quadro, voc pode fazer referncia s classes desse pacote por seus nomes simples.
import
455
Em outro script do quadro, entretanto, voc precisar fazer referncia s classes desse pacote por seus nomes totalmente qualificados (var meuFoo:foo = new macr.util.foo();) ou adicionar uma instruo import ao outro quadro que importe as classes desse pacote. Para obter mais informaes, consulte Importando classes na pgina 182 e Usando pacotes na pgina 181.
#include
Disponibilidade
Flash Player 4.
Uso #include "[caminho] nomearq.as" Observao: No coloque ponto-e-vrgula (;) no final da linha que contm a instruo #include. Parmetros [caminho] nomearq.as o nome do arquivo e o caminho (opcional) do script que ser includo no painel Actions (Aes); .as a extenso de arquivo recomendada. Retorna
Nada.
Descrio
Diretiva de compilador; inclui o contedo do arquivo especificado, como se os comandos presentes no arquivo fossem parte do prprio script. A diretiva #include chamada no momento da compilao. Portanto, se voc fizer qualquer alterao em um arquivo externo, ser preciso salv-lo e recompilar os arquivos FLA que o utilizam. Se voc usar o boto Check Syntax (Verificar sintaxe) em um script que contenha instrues #include, a sintaxe dos arquivos includos tambm ser verificada. Voc pode usar o #include em arquivos FLA e em arquivos de script externos, mas no em arquivos de classe ActionScript 2.0. Voc pode especificar um caminho relativo, um caminho absoluto ou nenhum caminho para o arquivo a ser includo.
456
Exemplo
Os exemplos abaixo mostram vrias maneiras de especificar um caminho para um arquivo a ser includo no script.
// Note que as instrues #include no terminam com um ponto-e-vrgula (;) // O arquivo AS est no mesmo diretrio do arquivo FLA ou do script #include "init_script.as" // O arquivo AS est em um subdiretrio do diretrio // que contm o arquivo FLA ou o script // O subdiretrio chama-se "FLA_includes" #include "FLA_includes/init_script.as" // O arquivo AS est em um diretrio no mesmo nvel do arquivo FLA ou do script // O diretrio chama-se "ALL_includes" #include "../ALL_includes/init_script.as" // O arquivo AS definido por um caminho absoluto no Windows // Note que se usam barras e no barras invertidas #include "C:/Flash_scripts/init_script.as" // O arquivo AS definido por um caminho absoluto no Macintosh #include "Mac HD:Flash_scripts:init_script.as" Consulte tambm import
Infinity
Disponibilidade
Flash Player 5.
Uso Infinity Descrio
Constante; especifica o valor IEEE-754 que representa o infinito positivo. O valor dessa constante o mesmo de Number.POSITIVE_INFINITY.
-Infinity
Disponibilidade
Flash Player 5.
Uso -Infinity Descrio
Constante; especifica o valor IEEE-754 que representa o infinito negativo. O valor dessa constante o mesmo de Number.NEGATIVE_INFINITY.
-Infinity
457
#initclip
Disponibilidade
Flash Player 6.
Uso #initclip ordem Parmetros ordem Um nmero inteiro que especifica a ordem de execuo de blocos de cdigo #initclip. Este um parmetro opcional. Descrio
Diretiva de compilador; indica o incio de um bloco de aes de inicializao. Quando vrios clipes so inicializados ao mesmo tempo, voc pode usar o parmetro ordem para especificar a inicializao que ocorrer primeiro. As aes de inicializao so executadas quando definido um smbolo de clipe de filme. Se o clipe de filme for um smbolo exportado, as aes de inicializao sero executadas antes das aes do Frame (Quadro) 1 do arquivo SWF. Caso contrrio, elas sero executadas imediatamente antes das aes do quadro que contm a primeira instncia do smbolo de clipe de filme associado. As aes de inicializao so executadas apenas uma vez durante a reproduo de um SWF. Use-as para inicializaes realizadas somente uma vez, como a definio e o registro de classes.
Consulte tambm #endinitclip
458
instanceof
Disponibilidade
Flash Player 6.
Uso objeto instanceof classe Parmetros objeto classe Retorna
Um objeto ActionScript. Uma referncia a uma funo construtora ActionScript, como String ou Date.
Se o objeto for uma instncia de classe, instanceof retornar true; caso contrrio, instanceof retornar false. Alm disso, _global instanceof Object retorna false.
Descrio
Operador; determina se um objeto pertence a determinada classe. Verifica se o objeto uma instncia de classe. O operador instanceof no converte tipos primitivos em objetos envoltrios. Por exemplo, o cdigo a seguir retorna true:
new String("Ol") instanceof String;
instanceof
459
int
Disponibilidade
Nada.
Descrio
460
interface
Disponibilidade
Flash Player 6.
Uso interface nomeInterface {} interface nomeInterface [extends nomeInterface [, nomeInterface ...] {} Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Descrio
Palavra-chave; define uma interface. Interfaces so semelhantes s classes, com as seguintes diferenas relevantes:
Para obter mais informaes, consulte Criando e usando interfaces na pgina 177.
Exemplo
interface
461
// nome do arquivo Ib.as interface Ib { function o():Void; } class D implements Ia, Ib { function k():Number {return 15;} function n(x:Number):Number {return x*x;} function o():Void {trace("o");} } // script externo ou painel Actions mvar = new D(); trace(D.k()); // 15 trace(D.n(7)); // 49 trace(D.o()); // "o" interface Ic extends Ia { function p():Void; } class E implements Ib, Ic { function k():Number {return 25;} function n(x:Number):Number {return x+5;} function o():Void {trace("o");} function p():Void {trace("p");} } Consulte tambm class, extends, implements
462
isFinite
Disponibilidade
Flash Player 5.
Uso isFinite(expresso) Parmetros expresso Retorna
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
isFinite
463
isNaN()
Disponibilidade
Flash Player 5.
Uso isNaN(expresso) Parmetros expresso Retorna
Um valor booleano.
Descrio
Funo; avaliar o parmetro e retornar true se o valor no for um nmero (NaN), o que indicar a presena de erros matemticos.
Exemplo
Classe Key
Disponibilidade
Flash Player 6.
Descrio
A classe Key uma classe do nvel mais alto cujos mtodos e propriedades podem ser usados sem lanar um construtor. Use os mtodos da classe Key para criar uma interface que possa ser controlada por um usurio com um teclado padro. As propriedades da classe Key so constantes que representam as teclas mais comumente usadas para controlar jogos. Para obter a lista completa dos valores de cdigos de teclas, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 911.
464
Descrio Registra um objeto para receber a notificao quando os mtodos onKeyDown e onKeyUp so chamados. Retorna o valor ASCII da ltima tecla pressionada. Retorna o cdigo de tecla virtual da ltima tecla pressionada. Retornar true caso se pressione a tecla especificada no parmetro. Retornar true caso a tecla Num Lock ou Caps Lock esteja ativada.
Resumo das propriedades da classe Key Todas as propriedades da classe Key so constantes.
Propriedade
Key.BACKSPACE Key.CAPSLOCK Key.CONTROL Key.DELETEKEY Key.DOWN Key.END Key.ENTER Key.ESCAPE Key.HOME Key.INSERT Key.LEFT
Descrio Constante associada ao cdigo da tecla Backspace (8). Constante associada ao cdigo da tecla Caps Lock (20). Constante associada ao cdigo da tecla Control (17). Constante associada ao cdigo da tecla Delete (46). Constante associada ao valor do cdigo da tecla de seta para baixo (40). Constante associada ao valor do cdigo da tecla End (35). Constante associada ao valor do cdigo da tecla Enter (13). Constante associada ao valor do cdigo da tecla Escape (27). Constante associada ao valor do cdigo da tecla Home (36). Constante associada ao valor do cdigo da tecla Insert (45). Constante associada ao valor do cdigo da tecla de seta para esquerda (37). Constante associada ao valor do cdigo da tecla Page Down (34). Constante associada ao valor do cdigo da tecla Page Up (33). Constante associada ao valor do cdigo da tecla de seta para direita (39). Constante associada ao valor do cdigo da tecla Shift (16). Constante associada ao valor do cdigo da tecla Barra de espaos (32). Constante associada ao valor do cdigo da tecla Tab (9). Constante associada ao valor do cdigo da tecla de seta para cima (38).
Classe Key
465
Descrio Notificado quando uma tecla pressionada. Notificado quando uma tecla liberada
Key.addListener()
Disponibilidade
Flash Player 6.
Uso Key.addListener (novoOuvinte) Parmetros novoOuvinte Retorna
Nada.
Descrio
Mtodo; registra um objeto para receber a notificao onKeyDown e onKeyUp. Quando uma tecla pressionada ou liberada, independentemente do foco de entrada, todos os objetos ouvintes registrados com addListener() tm o mtodo onKeyDown ou onKeyUp chamado. Vrios objetos podem ouvir notificaes de teclado. Se o ouvinte novoOuvinte j estiver registrado, nenhuma alterao ocorrer.
Exemplo
O exemplo a seguir cria um novo objeto ouvinte e define uma funo para onKeyDown e onKeyUp. A ltima linha usa o addListener() para registrar o ouvinte com o objeto Key, de forma a poder receber notificaes dos eventos de tecla pressionada e de tecla liberada.
meuOuvinte = new Object(); meuOuvinte.onKeyDown = function () { trace ("Voc pressionou uma tecla."); } meuOuvinte.onKeyUp = function () { trace ("Voc liberou uma tecla."); } Key.addListener(meuOuvinte);
O exemplo a seguir atribui o atalho de teclado Control+7 a um boto com nome de instncia meuBoto e disponibiliza informaes sobre o atalho para o leitor de tela (consulte _accProps). Neste exemplo, quando voc pressiona Control+7, a funo myOnPress exibe o texto ol no painel Output (Sada). No seu arquivo, voc criaria uma funo que faria algo mais significativo.
466
function myOnPress() { trace( "ol" ); } function myOnKeyDown() { if (Key.isDown(Key.CONTROL) && Key.getCode() == 55) // 55 o cdigo da // tecla 7 { Selection.setFocus( meuBoto ); meuBoto.onPress } } var meuOuvinte = new Object(); meuOuvinte.onKeyDown = myOnKeyDown; Key.addListener( meuOuvinte ); meuBoto.onPress = myOnPress; meuBoto._accProps.shortcut = "Ctrl+7" Accessibility.updateProperties(); Consulte tambm Key.getCode(), Key.isDown(), Key.onKeyDown, Key.onKeyUp, Key.removeListener()
Key.BACKSPACE
Disponibilidade
Flash Player 5.
Uso Key.BACKSPACE Descrio
Key.CAPSLOCK
Disponibilidade
Flash Player 5.
Uso Key.CAPSLOCK Descrio
Key.CAPSLOCK
467
Key.CONTROL
Disponibilidade
Flash Player 5.
Uso Key.CONTROL Descrio
Key.DELETEKEY
Disponibilidade
Flash Player 5.
Uso Key.DELETEKEY Descrio
Key.DOWN
Disponibilidade
Flash Player 5.
Uso Key.DOWN Descrio
Propriedade; constante associada ao valor do cdigo da tecla de seta para baixo (40).
Key.END
Disponibilidade
Flash Player 5.
Uso Key.END Descrio
Propriedade; constante associada com o valor do cdigo de chave da tecla End (35).
468
Key.ENTER
Disponibilidade
Flash Player 5.
Uso Key.ENTER Descrio
Key.ESCAPE
Disponibilidade
Flash Player 5.
Uso Key.ESCAPE Descrio
Key.getAscii()
Disponibilidade
Flash Player 5.
Uso Key.getAscii(); Parmetros
Nenhum.
Retorna
Mtodo; retorna o cdigo ASCII da ltima tecla pressionada ou liberada. Os valores ASCII retornados correspondem aos valores do teclado ingls. Se, por exemplo, voc pressionar Shift+2, o mtodo Key.getAscii() retornar @ tanto em um teclado japons, quanto em um teclado ingls.
Key.getAscii()
469
Key.getCode()
Disponibilidade
Flash Player 5.
Uso Key.getCode(); Parmetros
Nenhum.
Retorna
Mtodo; retorna o valor do cdigo de tecla da ltima tecla pressionada. Para que o valor do cdigo de tecla retornado coincida com a tecla de um teclado padro, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 911.
Key.HOME
Disponibilidade
Flash Player 5.
Uso Key.HOME Descrio
Key.INSERT
Disponibilidade
Flash Player 5.
Uso Key.INSERT Descrio
470
Key.isDown()
Disponibilidade
Flash Player 5.
Uso Key.isDown(cdTecla) Parmetros cdTecla
Valor do cdigo de tecla atribudo a uma determinada tecla ou a uma propriedade da classe Key associada a uma tecla especfica. Para que o valor do cdigo de tecla retornado coincida com a tecla de um teclado padro, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 911.
Retorna
Um valor booleano.
Descrio
Mtodo; retornar true, caso a tecla especificada em cdTecla esteja pressionada ou false, caso no esteja. No Macintosh, os valores do cdigo de tecla das teclas Caps Lock e Num Lock so idnticos.
Exemplo
Key.isToggled()
Disponibilidade
Flash Player 5.
Uso Key.isToggled(cdTecla) Parmetros cdTecla Retorna
Um valor booleano.
Descrio
Mtodo; retornar true, se a tecla Caps Lock ou Num Lock estiver ativada (alternada) ou false, se no estiver. No Macintosh, os valores do cdigo de tecla das teclas Caps Lock e Num Lock so idnticos.
Key.isToggled()
471
Key.LEFT
Disponibilidade
Flash Player 5.
Uso Key.LEFT Descrio
Propriedade; constante associada ao valor do cdigo da tecla de seta para esquerda (37).
Key.onKeyDown
Disponibilidade
Flash Player 6.
Uso umOuvinte.onKeyDown Descrio
Ouvinte; notificado quando uma tecla pressionada. necessrio criar um objeto ouvinte para usar onKeyDown. Em seguida, possvel definir uma funo para onKeyDown e usar o addListener() para registrar o ouvinte junto ao objeto Key, como abaixo:
umOuvinte = new Object(); umOuvinte.onKeyDown = function () { ... }; Key.addListener(umOuvinte);
Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Key.addListener()
472
Key.onKeyUp
Disponibilidade
Flash Player 6.
Uso umOuvinte.onKeyUp Descrio
Ouvinte; notificado quando uma tecla liberada. necessrio criar um objeto ouvinte para usar onKeyUp. Em seguida, possvel definir uma funo para onKeyUp e usar o addListener() para registrar o ouvinte junto ao objeto Key, como abaixo:
umOuvinte = new Object(); umOuvinte.onKeyUp = function () { ... }; Key.addListener(umOuvinte);
Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Key.addListener()
Key.PGDN
Disponibilidade
Flash Player 5.
Uso Key.PGDN Descrio
Propriedade; constante associada ao valor do cdigo de tecla para a tecla Page Down (34).
Key.PGUP
Disponibilidade
Flash Player 5.
Uso Key.PGUP Descrio
Key.PGUP
473
Key.removeListener()
Disponibilidade
Flash Player 6.
Uso Key.removeListener (ouvinte) Parmetros ouvinte Retorna
Um objeto.
Se o ouvinte tiver sido removido com xito, o mtodo retornar true. Caso o ouvinte no tenha sido removido com xito, por exemplo, se o ouvinte no estava na lista de ouvintes do objeto Key, o mtodo retornar false.
Descrio
Key.RIGHT
Disponibilidade
Flash Player 5.
Uso Key.RIGHT Descrio
Propriedade; constante associada ao valor do cdigo da tecla de seta para direita (39).
Key.SHIFT
Disponibilidade
Flash Player 5.
Uso Key.SHIFT Descrio
474
Key.SPACE
Disponibilidade
Flash Player 5.
Uso Key.SPACE Descrio
Key.TAB
Disponibilidade
Flash Player 5.
Uso Key.TAB Descrio
Key.UP
Disponibilidade
Flash Player 5.
Uso Key.UP Descrio
Propriedade; constante associada ao valor do cdigo da tecla de seta para cima (38).
Key.UP
475
Flash Player 4. Este operador foi substitudo no Flash 5 pelo operador <= (menor que ou igual a).
Uso expresso1 le expresso2 Parmetros expresso1, expresso2 Retorna
Nada.
Descrio
Operador (comparao); comparar expresso1 com expresso2 e retornar um valor true se expresso1 for menor ou igual a expresso2; caso contrrio, retornar um valor false.
Consulte tambm <= (menor que ou igual a)
476
length
Disponibilidade
Flash Player 4. Esta funo, assim como todas as funes de seqncia de caracteres, foi substituda no Flash 5. A Macromedia recomenda o uso dos mtodos da classe String e da propriedade String.length para a realizao das mesmas operaes.
Uso length(expresso) length(varivel) Parmetros expresso varivel Retorna
Funo de seqncia de caracteres; retorna o comprimento da seqncia de caracteres ou do nome da varivel especificada.
Exemplo
O resultado 3.
Consulte tambm " " (delimitador de seqncia de caracteres),
length
477
_level
Disponibilidade
Flash Player 4.
Uso _levelN Descrio
Identificador; uma referncia Timeline (Linha de tempo) raiz de _levelN. preciso usar loadMovieNum() para carregar arquivos SWF no Flash Player, antes de usar a propriedade _level para especific-los. Tambm possvel utilizar _levelN para especificar um arquivo SWF carregado no nvel atribudo por N. O arquivo SWF inicial carregado em uma instncia do Flash Player carregado automaticamente em _level0. O arquivo SWF em _level0 define a taxa de quadros, a cor de fundo e o tamanho do quadro para todos os arquivos SWF que forem carregados em seguida. Os arquivos SWF so ento empilhados em nveis superiores acima do arquivo SWF em _level0. necessrio atribuir um nvel para cada arquivo SWF carregado no Flash Player com possvel atribuir nveis em qualquer ordem. Se voc atribuir um nvel que j contenha um arquivo SWF (inclusive _level0), o arquivo SWF nesse nvel ser descarregado e substitudo pelo novo arquivo SWF.
loadMovieNum(). Exemplo
O exemplo abaixo interrompe a reproduo da Timeline (Linha de tempo) principal do arquivo SWF em _level9.
_level9.stop();
O exemplo a seguir desloca a reproduo da Timeline principal do arquivo SWF em _level4 para o Frame 5 (Quadro 5). O arquivo SWF em _level4 dever ter sido carregado anteriormente com uma ao loadMovieNum().
_level4.gotoAndStop(5); Consulte tambm loadMovie(), MovieClip.swapDepths()
478
loadMovie()
Disponibilidade
Flash Player 3.
Uso loadMovie("url",destino [, mtodo]) Parmetros url
O URL absoluto ou relativo do arquivo SWF ou JPEG a ser carregado. Um caminho relativo deve ser relacionado ao arquivo SWF no nvel 0. Os URLs absolutos devem incluir a referncia de protocolo, como http:// ou file:///. Um caminho para um clipe de filme de destino. O clipe de filme de destino ser substitudo pela imagem ou arquivo SWF carregado.
destino
mtodo Parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna
Nada.
Descrio
Funo; carrega um arquivo SWF ou JPEG no Flash Player durante a reproduo do arquivo SWF original.
Dica: Se voc quiser monitorar o andamento do download, use MovieClipLoader.loadClip(), em vez desta funo.
A funo loadMovie() permite exibir vrios arquivos SWF de uma vez e alternar entre eles sem carregar outro documento HTML. Sem a funo loadMovie(), o Flash Player exibe um nico arquivo SWF e encerrado em seguida. Se quiser carregar um arquivo SWF ou JPEG em um determinado nvel, use loadMovieNum() em vez de loadMovie(). Se um SWF for carregado em um clipe de filme de destino, use o caminho de destino desse clipe para especificar o arquivo SWF carregado. Um arquivo SWF ou imagem carregada em um destino herda as propriedades de posio, rotao e dimensionamento do clipe de filme de destino. O canto superior esquerdo da imagem ou arquivo SWF carregado se alinha com o ponto de registro do clipe de filme de destino. Como alternativa, se o destino for a Timeline (Linha de tempo) _root, o canto superior esquerdo da imagem ou do arquivo SWF se alinhar com o canto superior esquerdo do Stage (Palco). Use unloadMovie() para remover arquivos SWF carregados com loadMovie().
loadMovie()
479
Exemplo
A instruo loadMovie() a seguir anexada a um boto de navegao chamado Products (Produtos). H um clipe de filme invisvel no Stage (Palco) com o nome de instncia dropZone. A funo loadMovie() usa esse clipe de filme como parmetro de destino para carregar os produtos no arquivo SWF, na posio correta no Stage.
on (release) { loadMovie("products.swf",_root.dropZone); }
O exemplo a seguir carrega uma imagem JPEG do mesmo diretrio do arquivo SWF que chama a funo loadMovie():
loadMovie("image45.jpeg", "nosso_clipe_de_filme"); Consulte tambm _level, loadMovieNum(), MovieClipLoader.loadClip(), unloadMovie()
loadMovieNum()
Disponibilidade
Flash Player 4. Os arquivos do Flash 4, abertos no Flash 5 ou verso posterior, so convertidos para que usem a sintaxe correta.
Uso loadMovieNum("url",nvel [, variveis]) Parmetros url O URL absoluto ou relativo do arquivo SWF ou JPEG a ser carregado. Um caminho relativo deve ser relacionado ao arquivo SWF no nvel 0. Para que sejam usados no Flash Player independente ou no modo de teste de filme, no aplicativo de criao Flash, todos os arquivos SWF devem ser armazenados na mesma pasta e os nomes dos arquivos no podem incluir especificaes da pasta ou da unidade de disco. nvel
Um inteiro que especifica o nvel em que o arquivo SWF ser carregado no Flash Player.
variveis Um parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna
Nada.
Descrio
Funo; carrega um arquivo SWF ou JPEG em um nvel do Flash Player durante a reproduo do arquivo SWF carregado originalmente.
Dica: Se voc quiser monitorar o andamento do download, use MovieClipLoader.loadClip(), em vez desta funo.
480
Normalmente, o Flash Player exibe um nico arquivo SWF e, em seguida, encerrado. A ao loadMovieNum() permite exibir vrios arquivos SWF de uma vez e alternar entre eles sem carregar outro documento HTML. Se quiser especificar um destino em vez de um nvel, use loadMovie() em vez de loadMovieNum(). O Flash Player tem uma ordem de empilhamento de nveis que comea no nvel 0. Esses nveis so como folhas de transparncias: eles so transparentes, a no ser pelos objetos presentes em cada nvel. Ao usar loadMovieNum(), necessrio especificar um nvel do Flash Player em que o arquivo SWF ser carregado. Depois que um arquivo SWF carregado em um nvel, possvel usar a sintaxe _levelN, onde N o nmero do nvel, para especificar o arquivo SWF. Quando carrega um arquivo SWF, voc pode especificar qualquer nmero de nvel e carregar arquivos SWF em um nvel em que um arquivo SWF j tenha sido carregado. Se voc fizer isso, o novo arquivo SWF substituir o existente. Se voc carregar um arquivo SWF no nvel 0, todos os nveis do Flash Player sero descarregados e o nvel 0 ser substitudo pelo novo arquivo. O arquivo SWF no nvel 0 define a taxa de quadros, a cor de fundo e o tamanho do quadro de todos os outros arquivos SWF carregados. A ao loadMovieNum() tambm permite carregar arquivos JPEG em um arquivo SWF durante a reproduo do mesmo. No caso de imagens e arquivos SWF, o canto superior esquerdo da imagem alinhado com o canto superior esquerdo do Stage (Palco) durante o carregamento do arquivo. Alm disso, nos dois casos, o arquivo carregado herda a rotao e o dimensionamento e o contedo original substitudo. Use unloadMovieNum() loadMovieNum().
Exemplo
loadMovieNum()
481
loadVariables()
Disponibilidade
variveis Um parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna
Nada.
Descrio
Funo; l os dados de um arquivo externo, como um arquivo de texto ou um texto gerado por um script CGI, ASP (Active Server Pages), PHP ou script Perl, e define os valores das variveis em um clipe de filme de destino. Essa ao tambm pode ser usada para atualizar variveis no arquivo SWF ativo com novos valores. O texto no URL especificado deve estar no formato MIME padro aplicativo/x-www-formurlencoded (um formato padro usado por scripts CGI). Qualquer nmero de variveis pode ser especificado. Por exemplo, a frase abaixo define diversas variveis:
empresa=Macromedia&endereo=600+Townsend&cidade=San+Francisco&zip=94103
Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Se quiser carregar variveis em um nvel especfico, use loadVariablesNum() em vez de
loadVariables().
482
Exemplo
Este exemplo carrega informaes de um arquivo de texto em campos de texto no clipe de filme varTarget da Timeline (Linha de tempo) principal . Os nomes das variveis dos campos de texto devem corresponder aos nomes das variveis no arquivo data.txt.
on (release) { loadVariables("data.txt", "_root.varTarget"); } Consulte tambm loadVariablesNum(), loadMovie(), loadMovieNum(), getURL(), MovieClip.loadMovie(), MovieClip.loadVariables()
loadVariablesNum()
Disponibilidade
Flash Player 4. Os arquivos Flash 4 abertos no Flash 5 ou verso posterior sero convertidos para que usem a sintaxe correta. O comportamento foi modificado no Flash Player 7.
Uso loadVariablesNum ("url" ,nvel [, variveis]) Parmetros url Um URL absoluto ou relativo no qual as variveis esto localizadas. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir. nvel
variveis Um parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna
Nada.
Descrio
Funo; l os dados de um arquivo externo, como um arquivo de texto ou um texto gerado por um script CGI, Active Server Pages (ASP), PHP ou script Perl, e define os valores das variveis em um nvel do Flash Player. Voc tambm pode usar esta funo para atualizar variveis no arquivo SWF ativo com novos valores. O texto no URL especificado deve estar no formato MIME padro aplicativo/x-www-formurlencoded (um formato padro usado por scripts CGI). Qualquer nmero de variveis pode ser especificado. Por exemplo, a frase abaixo define diversas variveis:
company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103
loadVariablesNum()
483
Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Se quiser carregar variveis em um MovieClip de destino, use loadVariables() em vez de
loadVariablesNum(). Exemplo
Este exemplo carrega informaes de um arquivo de texto em campos de texto na Timeline (Linha de tempo) principal do SWF, no nvel 0 do Flash Player. Os nomes das variveis dos campos de texto devem corresponder aos nomes das variveis no arquivo data.txt.
on (release) { loadVariablesNum("data.txt", 0); } Consulte tambm getURL(), loadMovie(), loadMovieNum(), loadVariables(), MovieClip.loadMovie(), MovieClip.loadVariables()
Classe LoadVars
Disponibilidade
Flash Player 6.
Descrio
A classe LoadVars uma alternativa funo loadVariables() para transferncia de variveis entre um aplicativo Flash e um servidor. Voc pode usar a classe LoadVars para obter a verificao de carregamento de dados adequado, indicaes de progresso e fluxo de dados durante o download. A classe LoadVars funciona de maneira muito semelhante Classe XML. Ela utiliza os mtodos load(), send() e sendAndLoad() para se comunicar com um servidor. A diferena principal entre a classe LoadVars e a XML que a primeira transfere pares de nome e valor ActionScript, em vez da rvore DOM XML armazenada no objeto XML. A classe LoadVars segue as mesmas restries de segurana da classe XML.
484
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.toString()
Descrio Indica um tipo de dados MIME. Um valor booleano que indica se foi realizada uma operao load ou sendAndLoad.
Descrio Chamado quando o download de dados do servidor totalmente concludo ou quando ocorre um erro durante o download. Chamado quando uma operao load ou sendAndLoad concluda.
LoadVars.onLoad
Flash Player 6.
Uso new LoadVars() Parmetros
Nenhum.
Retorna
Nada.
Classe LoadVars
485
Descrio
Construtor; cria um objeto LoadVars. Em seguida, voc pode usar os mtodos desse objeto LoadVars para enviar e carregar dados.
Exemplo
LoadVars.addRequestHeader()
Disponibilidade
Flash Player 6.
Uso meu_lv.addRequestHeader(nomeCabealho, valorCabealho) meu_lv.addRequestHeader(["nomeCabealho_1", "valorCabealho_1" ... "nomeCabealho_n", "valorCabealho_n"]) Parmetros nomeCabealho valorCabealho Retorna
Nada.
Descrio
Mtodo; adiciona ou altera os cabealhos de solicitao HTTP (como Content-Type ou SOAPAction) enviados com aes POST. No primeiro uso, duas seqncias de caracteres so passadas para o mtodo: nomeCabealho e valorCabealho. No segundo uso, passa-se um array de seqncias de caracteres, que alterna nomes e valores de cabealho. Se forem feitas vrias chamadas para a definio do mesmo nome de cabealho, cada valor sucessivo substituir o valor definido na chamada anterior. Os seguintes cabealhos HTTP padro no podem ser includos nem alterados com este mtodo:
Accept-Ranges, Age, Allow, Allowed, Connection, Content-Length, Content-Location, Content-Range, ETag, Host, Last-Modified, Locations, Max-Forwards, ProxyAuthenticate, Proxy-Authorization, Public, Range, Retry-After, Server, TE, Trailer, Transfer-Encoding, Upgrade, URI, Vary, Via, Warning e WWW-Authenticate.
486
Exemplo
Este exemplo acrescenta ao objeto meu_lv um cabealho HTTP personalizado, denominado SOAPAction, com o valor Foo.
meu_lv.addRequestHeader("SOAPAction", "'qualquer");
O seguinte exemplo cria um array denominado cabealhos que contm dois cabealhos HTTP alternados com seus respectivos valores. O array passado como argumento para addRequestHeader().
var headers = ["Content-Type", "text/plain", "X-ClientAppVersion", "2.0"]; meu_lv.addRequestHeader(cabealhos); Consulte tambm XML.addRequestHeader()
LoadVars.contentType
Disponibilidade
Flash Player 6.
Uso meu_lv.contentType Descrio
Propriedade; o tipo MIME enviado ao servidor quando voc chama LoadVars.send() ou LoadVars.sendAndLoad(). O padro application/x-www-form-urlencoded.
Consulte tambm LoadVars.send(), LoadVars.sendAndLoad()
LoadVars.getBytesLoaded()
Disponibilidade
Flash Player 6.
Uso meu_lv.getBytesLoaded() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna a quantidade de bytes descarregada por LoadVars.load() ou LoadVars.sendAndLoad(). Este mtodo retornar undefined se no houver nenhuma operao de carregamento em execuo ou se ainda no tiver sido iniciada.
LoadVars.getBytesLoaded()
487
LoadVars.getBytesTotal()
Disponibilidade
Flash Player 6.
Uso meu_lv.getBytesTotal() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna a quantidade total de bytes descarregada por LoadVars.load() ou LoadVars.sendAndLoad(). Este mtodo retornar undefined se no houver nenhuma operao de carregamento em execuo ou se ainda no tiver sido iniciada. Este mtodo tambm retornar undefined se no for possvel determinar o nmero total de bytes, por exemplo, quando o download tiver sido iniciado, mas o servidor no tiver transmitido um elemento content-length de HTTP.
488
LoadVars.load()
Disponibilidade
Mtodo; faz download de variveis do URL especificado, analisa os dados da varivel e coloca as variveis resultantes em meu_lv. As propriedades de meu_lv com o mesmo nome de variveis descarregadas so substitudas. As propriedades de meu_lv com nomes diferentes das variveis descarregadas no so excludas. Esta uma ao assncrona. Os dados descarregados devem estar codificados com o tipo de contedo MIME application/xwww-form-urlencoded. Este o mesmo formato usado por loadVariables(). Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Alm disso, em arquivos publicados para o Flash Player 7, a distino entre maisculas e minsculas (consulte Distino entre maisculas e minsculas na pgina 32) suportada para variveis externas carregadas com LoadVars.load(). Este mtodo semelhante a XML.load().
LoadVars.load()
489
LoadVars.loaded
Disponibilidade
Flash Player 6.
Uso meu_lv.loaded Descrio
Propriedade; indefinida por padro. Quando iniciada a operao LoadVars.load() ou LoadVars.sendAndLoad(), a propriedade loaded definida como false; quando a operao concluda, a propriedade loaded definida como true. Se a operao ainda no tiver sido concluda ou se tiver apresentado erros, a propriedade loaded permanecer definida como false. Esta propriedade semelhante a XML.loaded.
LoadVars.onData
Disponibilidade
Flash Player 6.
Uso meu_lv.onData = function(fonte) { // suas instrues entram aqui } Parmetros fonte Dados brutos (no analisados) LoadVars.sendAndLoad(). Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o download de dados do servidor estiver totalmente concludo ou se ocorrer um erro durante o download de dados de um servidor. Este manipulador chamado antes da anlise dos dados e, portanto, pode ser usado para chamar uma rotina de anlise personalizada em vez da anlise incorporada ao Flash Player. O valor do parmetro fonte passado para a funo associada a LoadVars.onData pode ser undefined ou uma seqncia de caracteres que contenha os pares de valores de nome com codificao URL descarregados do servidor. Se o valor retornado for undefined, ter ocorrido um erro durante o download dos dados do servidor. A implementao padro de LoadVars.onData chama LoadVars.onLoad. Voc pode substituir a implementao padro atribuindo uma funo personalizada a LoadVars.onData, porm LoadVars.onLoad no ser mais chamado, a menos que voc o chame na implementao de LoadVars.onData.
490
LoadVars.onLoad
Disponibilidade
Flash Player 6.
Uso meu_lv.onLoad = function(sucesso) { // suas instrues entram aqui } Parmetros sucesso O parmetro indica se a operao de carregamento foi concluda com xito (true) ou no (false). Retorna
Um valor booleano.
Descrio
Manipulador de eventos; chamado quando uma operao LoadVars.load() ou LoadVars.sendAndLoad() concluda. Se a operao tiver sido bem sucedida, meu_lv ser preenchida com variveis descarregadas pela operao, que ficaro disponveis quando este manipulador for chamado. Este manipulador indefinido por padro. Este mtodo semelhante a XML.onLoad().
LoadVars.onLoad
491
LoadVars.send()
Disponibilidade
Flash Player 6.
Uso meu_lv.send(url [,destino, mtodo]) Parmetros url
O URL no qual as variveis devem ser carregadas. A janela de quadro do navegador na qual as respostas sero exibidas. O mtodo GET ou POST do protocolo HTTP.
Mtodo; envia as variveis do objeto meu_lv para o URL especificado. Todas as variveis enumerveis de meu_lv so concatenadas em uma seqncia de caracteres no formato application/ x-www-form-urlencoded, por padro, e a seqncia de caracteres enviada para o URL usando o mtodo HTTP POST. Este o mesmo formato usado pela ao loadVariables(). O tipo de contedo MIME enviado nos cabealhos de solicitao HTTP o valor de meu_lv.contentType ou o padro application/x-www-form-urlencoded. usado o mtodo POST, a menos que seja especificado GET. Se o parmetro destino for especificado, a resposta do servidor ser exibida na janela de quadro do navegador chamada destino. Se o parmetro destino for omitido, a resposta do servidor ser descartada. Este mtodo semelhante a XML.send().
492
LoadVars.sendAndLoad()
Disponibilidade
O URL no qual as variveis devem ser carregadas. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir. O objeto LoadVars que recebe as variveis descarregadas. O mtodo GET ou POST do protocolo HTTP.
Mtodo; envia variveis do objeto meu_lv para o URL especificado. A resposta do servidor descarregada e analisada como dados variveis. As variveis resultantes so colocadas no objeto objetoDestino. As variveis so enviadas da mesma maneira que em LoadVars.send(). As variveis so descarregadas em objetoDestino da mesma maneira que em LoadVars.load(). Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Este mtodo semelhante a XML.sendAndLoad().
LoadVars.sendAndLoad()
493
LoadVars.toString()
Disponibilidade
Flash Player 6.
Uso meu_lv.toString() Parmetros
Nenhum.
Retorna
Mtodo; retorna uma seqncia de caracteres que contm todas as variveis enumerveis de meu_lv, na codificao de contedo MIME application/x-www-form-urlencoded.
Exemplo var minhasVars = new LoadVars(); minhasVars.nome = Beto; minhasVars.idade = 26; trace (minhasVars.toString()); //geraria a sada //nome=Beto&idade=26
Classe LocalConnection
Disponibilidade
Flash Player 6.
Descrio
A classe LocalConnection permite desenvolver arquivos SWF que possam enviar instrues uns para os outros sem usar fscommand() ou JavaScript. Objetos LocalConnection s podem se comunicar entre arquivos SWF em execuo na mesma mquina cliente, porm podem ser executados em dois aplicativos diferentes por exemplo, um arquivo SWF em execuo em um navegador e um arquivo SWF em execuo em um projetor. Os objetos LocalConnection podem ser usados para enviar e receber dados em um nico arquivo SWF, mas essa no uma implementao padro. Todos os exemplos desta seo ilustram a comunicao entre diferentes arquivos SWF.
LocalConnection.connect().
Os principais mtodos usados para enviar e receber dados so LocalConnection.send() e No modo mais simples, o cdigo implementar os comandos a seguir. Observe que tanto o comando LocalConnection.send() quanto o LocalConnection.connect() especificam o mesmo nome de conexo, lc_nome:
// Cdigo no filme receptor recebe_lc = new LocalConnection(); recebe_lc.mtodoAExecutar = function(param1, param2) { // Cdigo a executar }
494
recebe_lc.connect("lc_nome"); // Cdigo no filme emissor emissor_lc = new LocalConnection(); envia_lc.send("lc_nome", "mtodoAExecutar", dado1, dado2)
A maneira mais simples de usar um objeto LocalConnection permitindo a comunicao somente entre objetos LocalConnection localizados no mesmo domnio, pois voc no ter de cuidar de questes relativas segurana. Entretanto, se for necessrio permitir a comunicao entre domnios, voc ter vrias maneiras de implementar medidas de segurana. Para obter mais informaes, consulte a descrio do parmetro nomeConexo em LocalConnection.send(), alm das entradas LocalConnection.allowDomain e LocalConnection.domain(). Resumo dos mtodos da classe LocalConnection
Mtodo
LocalConnection.close() LocalConnection.connect()
Descrio Fecha (desconecta) o objeto LocalConnection. Prepara o objeto LocalConnection para receber comandos de um comando LocalConnection.send(). Retorna uma seqncia de caracteres que representa o domnio superior do local do arquivo SWF atual. Chama um mtodo de um objeto LocalConnection especfico.
LocalConnection.domain()
LocalConnection.send()
Descrio Chamado sempre que o objeto LocalConnection (receptor) atual recebe uma solicitao para chamar um mtodo de um objeto LocalConnection emissor. Chamado sempre que o objeto LocalConnection atual (receptor), que um arquivo SWF hospedado em um domnio que usa um protocolo seguro (HTTPS), recebe uma solicitao para chamar um mtodo de um objeto LocalConnection emissor contido em um arquivo SWF que est hospedado com um protocolo no-seguro. Chamado depois que um objeto LocalConnection emissor tenta enviar um comando para um objeto LocalConnection receptor.
LocalConnection.allowInsecureDomain
LocalConnection.onStatus
Classe LocalConnection
495
Flash Player 6.
Uso new LocalConnection() Parmetros
Nenhum.
Retorna
Nada.
Descrio
O exemplo a seguir mostra como o envio e recebimento de arquivos SWF cria objetos LocalConnnection. Observe que os dois arquivo SWF podem usar o mesmo nome ou nomes diferentes para os respectivos objetos LocalConnection. Neste exemplo, eles usam o mesmo nome meu_lc.
// Cdigo do SWF receptor meu_lc = new LocalConnection(); meu_lc.umMtodo = function() { // Suas instrues entram aqui } meu_lc.connect("nomeConexo"); // Cdigo do SWF emissor meu_lc = new LocalConnection(); meu_lc.send("nomeConexo", "umMtodo"); Consulte tambm LocalConnection.connect(), LocalConnection.send()
496
LocalConnection.allowDomain
Disponibilidade
Um parmetro opcional que especifica o domnio do arquivo SWF que contm o objeto LocalConnection emissor. Nada.
Retorna
Descrio
Manipulador de eventos; chamado sempre que recebe_lc recebe uma solicitao para chamar um mtodo de um objeto LocalConnection emissor. O Flash espera que o cdigo implementado neste manipulador retorne um valor booleano true ou false. Se o manipulador no retornar true, a solicitao do objeto emissor ser ignorada e o mtodo no ser chamado. Use este comando para permitir explicitamente que objetos LocalConnection dos domnios especificados ou de qualquer domnio executem mtodos do objeto LocalConnection receptor. Se voc no declarar o parmetro domnioEmissor, presume-se que deseja aceitar comandos de qualquer domnio. Nesse caso, o cdigo do seu manipulador ser simplesmente return true. Caso declare domnioEmissor, presume-se que deseja comparar o valor de domnioEmissor com domnios dos quais deseja aceitar comandos. Os exemplos a seguir mostram essas implementaes. Em arquivos executados no Flash Player 6, o parmetro domnioEmissor contm o domnio superior do emissor da chamada. Em arquivos executados no Flash Player 7 ou verses posteriores, o parmetro domnioEmissor contm o domnio exato do emissor da chamada. No ltimo caso, para permitir o acesso dos arquivos SWF hospedados em www.domnio.com ou store.domnio.com, voc deve permitir explicitamente o acesso a partir dos dois domnios.
// Para o Flash Player 6 recebe_lc.allowDomain = function(domnioEmissor) { return(domnioEmissor=="domnio.com"); } // Os comandos correspondentes que permitem acesso a arquivos SWF // executados no Flash Player 7 ou verses posteriores recebe_lc.allowDomain = function(domnioEmissor) { return(domnioEmissor=="www.domnio.com" || domnioEmissor=="store.domnio.com"); }
Alm disso, para arquivos executados no Flash Player 7 ou verses posteriores, no possvel usar esse mtodo para permitir que arquivos SWF hospedados com protocolo seguro (HTTPS) permitam o acesso de arquivos SWF hospedados em protocolos no-seguros. Voc deve usar o manipulador de eventos LocalConnection.allowInsecureDomain.
LocalConnection.allowDomain
497
Exemplo
O exemplo a seguir mostra como um objeto LocalConnection de um arquivo SWF receptor pode permitir que arquivos SWF de qualquer domnio chame seus mtodos. Compare com o exemplo em LocalConnection.connect(), no qual somente arquivos SWF do mesmo domnio podem chamar o mtodo Trace no arquivo SWF receptor. Para obter uma descrio do uso do sublinhado (_) no nome da conexo, consulte LocalConnection.send().
var umaConexLocal = new LocalConnection(); umaConexLocal.Trace = function(umaSeqCaract) { umCampoTexto = umCampoTexto + umaSeqCaract + newline; } umaConexLocal.allowDomain = function() { // Qualquer domnio pode chamar mtodos deste objeto LocalConnection return true; } umaConexLocal.connect("_trace");
No exemplo a seguir, o arquivo SWF receptor aceita comandos somente de arquivos SWF localizados em esteDomnio.com ou em aqueleDomnio.com.
var umaConexLocal = new LocalConnection(); umaConexLocal.Trace = function(umaSeqCaract) { umCampoTexto = umCampoTexto + umaSeqCaract + newline; } umaConexLocal.allowDomain = function(domnioEmissor) { return(domnioEmissor=="esteDomnio.com" || domnioEmissor=="aqueleDomnio.com"); } umaConexLocal.connect("_trace"); Consulte tambm LocalConnection.connect(), LocalConnection.domain(), LocalConnection.send()
498
LocalConnection.allowInsecureDomain
Disponibilidade
Flash Player 7.
Uso recebe_lc.allowInsecureDomain = function([domnioEmissor]) { // Suas instrues que entram aqui retornam true ou false } Parmetros domnioEmissor
Um parmetro opcional que especifica o domnio do arquivo SWF que contm o objeto LocalConnection emissor. Nada.
Retorna
Descrio
Manipulador de eventos; chamado sempre que recebe_lc, contido em um arquivo SWF hospedado em um domnio que usa um protocolo seguro (HTTPS), recebe uma solicitao para chamar um mtodo de um objeto LocalConnection emissor contido em um arquivo SWF hospedado em um protocolo no-seguro. O Flash espera que o cdigo implementado neste manipulador retorne um valor booleano true ou false. Se o manipulador no retornar true, a solicitao do objeto emissor ser ignorada e o mtodo no ser chamado. Por padro, os arquivos SWF hospedados com protocolo HTTPS somente podem ser acessados por outros arquivos SWF hospedados com o protocolo HTTPS. Essa implementao mantm a integridade proporcionada pelo protocolo HTTPS. No recomendado usar esse mtodo para substituir o comportamento padro, pois isso comprometeria a segurana do HTTPS. No entanto, talvez isso seja necessrio, por exemplo, se voc precisar permitir o acesso a arquivos HTTPS publicados para o Flash Player 7 ou verso posterior a partir de arquivos HTTP publicados para o Flash Player 6. Um arquivo SWF publicado para o Flash Player 6 pode usar o manipulador de eventos LocalConnection.allowDomain para permitir o acesso de HTTP para HTTPS. No entanto, como a segurana implementada de maneira diferente no Flash Player 7, voc deve usar o mtodo LocalConnection.allowInsecureDomain() para permitir esse acesso em arquivos SWF publicados para o Flash Player 7 ou verso posterior.
Consulte tambm LocalConnection.allowDomain, LocalConnection.connect()
LocalConnection.allowInsecureDomain
499
LocalConnection.close()
Disponibilidade
Flash Player 6.
Uso recebe_lc.close Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; fecha (desconecta) um objeto LocalConnection. Utilize este comando quando no quiser mais que o objeto aceite comandos por exemplo, quando quiser emitir um comando LocalConnection.connect() usando o mesmo parmetro nomeConexo em outro arquivo SWF.
Consulte tambm LocalConnection.connect()
500
LocalConnection.connect()
Disponibilidade
Flash Player 6.
Uso recebe_lc.connect(nomeConexo) Parmetros nomeConexo
Uma seqncia de caracteres que correspondente ao nome da conexo especificada no comando LocalConnection.send(), que deve estabelecer comunicao com recebe_lc.
Retorna
O valor booleano true, se no houver outro processo em execuo na mesma mquina cliente que j tenha emitido este comando com o mesmo valor para o parmetro nomeConexo. Caso contrrio, o valor ser false.
Descrio
Mtodo; prepara um objeto LocalConnection para receber comandos de um comando LocalConnection.send() (denominado objeto LocalConnection emissor). O objeto usado com este comando chamado objeto LocalConnection receptor. Os objetos receptor e emissor devem estar em execuo na mesma mquina cliente. importante definir os mtodos anexados a recebe_lc antes de chamar este mtodo, conforme mostrado em todos os exemplos desta seo. Por padro, o Flash Player converte nomeConexo em um valor no formato "domnio_superior:nomeConexo", onde domnio_superior o domnio superior do arquivo SWF que contm o comando LocalConnection.connect(). Se, por exemplo, o arquivo SWF que contm o objeto LocalConnection receptor estiver localizado no endereo www.umDomnio.com, nomeConexo corresponder a "umDomnio.com:nomeConexo". Se um arquivo SWF estiver localizado na mquina cliente, o valor atribudo a domnio_superior ser "localhost". Tambm como padro, o Flash Player permite que o objeto LocalConnection receptor aceite comandos apenas dos objetos LocalConnection emissores cujos nomes de conexo tambm correspondam a "domnio_superior:nomeConexo". Dessa forma, o Flash torna muito simples a comunicao entre os arquivos SWF localizados no mesmo domnio. Se voc estiver implementando comunicao somente entre arquivos SWF do mesmo domnio, especifique uma seqncia de caracteres para nomeConexo que no comece com um sublinhado (_) e que no especifique um nome de domnio (por exemplo, "meuDomnio:nomeConexo"). Use a mesma seqncia de caracteres no comando LocalConnection.connect(nomeConexo). Se voc estiver implementando a comunicao entre arquivos SWF localizados em domnios diferentes, consulte a descrio de nomeConexo em LocalConnection.send() e tambm as entradas LocalConnection.allowDomain e LocalConnection.domain().
LocalConnection.connect()
501
Exemplo
O exemplo a seguir mostra como um arquivo SWF em determinado domnio pode chamar um mtodo denominado Trace em um arquivo SWF receptor do mesmo domnio. O arquivo SWF receptor funciona como uma janela de controle do arquivo SWF emissor. Ele contm dois mtodos que podem ser chamados por outros arquivos SWF Trace e Clear. Pressionar botes nos arquivos SWF emissores chama esses mtodos com os parmetros especificados.
// SWF receptor var umaConexLocal = new LocalConnection(); umaConexLocal.Trace = function(umaSeqCaract) { umCampoTexto = umCampoTexto + umaSeqCaract + newline; } umaConexLocal.Clear = function() { umCampoTexto = ""; } umaConexLocal.connect("trace"); stop();
O SWF 1 contm o seguinte cdigo anexado a um boto com o rtulo PushMe (Pressione). Ao pressionar o boto, voc ver a frase O boto foi pressionado no arquivo SWF receptor.
on (press) { var lc = new LocalConnection(); lc.send("trace", "Trace", "O boto foi pressionado."); delete lc; }
O SWF 2 contm uma caixa de texto de entrada com um nome de varivel meuTexto e o seguinte cdigo anexado a um boto com o rtulo Copy (Copiar). Ao digitar um texto e pressionar o boto, voc ver o texto que digitou no arquivo SWF receptor.
on (press) { _parent.lc.send("trace", "Trace", _parent.meuTexto); _parent.meuTexto = ""; }
O SWF 3 contm o seguinte cdigo anexado a um boto com o rtulo Clear (Limpar). Ao pressionar o boto, voc limpa (apaga) o contedo da janela de controle do arquivo SWF receptor.
on (press) { var lc = new LocalConnection(); lc.send("trace", "Clear"); delete lc; } Consulte tambm LocalConnection.send()
502
LocalConnection.domain()
Disponibilidade
Nenhum.
Retorna
Uma seqncia de caracteres que representa o domnio da localizao do arquivo SWF atual. Para obter mais detalhes, consulte Descrio, a seguir.
Descrio
Mtodo; retorna uma seqncia de caracteres que representa o domnio do local do arquivo SWF atual. Em arquivos SWF publicados para o Flash Player 6, a seqncia de caracteres retornada o domnio superior do arquivo SWF atual. Se, por exemplo, o arquivo SWF estiver localizado no endereo www.macromedia.com, esse comando retornar "macromedia.com". Em arquivos SWF publicados para o Flash Player 7 ou verso posterior, a seqncia de caracteres retornada o domnio exato do arquivo SWF atual. Se, por exemplo, o arquivo SWF estiver localizado no endereo www.macromedia.com, esse comando retornar "www.macromedia.com". Se o arquivo SWF atual for um arquivo local residente na mquina cliente, esse comando retornar "localhost". A maneira mais comum de usar esse comando incluindo o nome de domnio do objeto LocalConnection emissor como um parmetro para o mtodo que voc pretende chamar no objeto LocalConnection receptor, ou em conjunto com LocalConnection.allowDomain para aceitar comandos de determinado domnio. Se estiver ativando a comunicao somente entre objetos LocalConnection localizados no mesmo domnio, voc provavelmente no precisar usar este comando.
Exemplo
No exemplo a seguir, o arquivo SWF receptor somente aceita comandos de outros arquivos SWF localizados no mesmo domnio ou em macromedia.com.
meu_lc = new LocalConnection(); meu_lc.allowDomain = function(domnioEmissor) { return (domnioEmissor==este.domnio() || domnioEmissor=="macromedia.com"); }
Neste exemplo, um arquivo SWF localizado em seudomnio.com chama um mtodo de um arquivo SWF receptor localizado em meudomnio.com. O arquivo SWF emissor inclui seu nome de domnio como um parmetro para o mtodo que chama. Dessa forma, o arquivo SWF receptor pode retornar um valor de resposta para um objeto LocalConnection no domnio correto. O arquivo SWF emissor tambm especifica que aceitar comandos somente dos arquivos SWF de meudomnio.com.
LocalConnection.domain()
503
O arquivo SWF receptor prepara-se para receber comandos em uma conexo denominada
"soma" (linha 11). O Flash Player resolve o nome dessa conexo como "meudomnio.com:soma" (consulte LocalConnection.connect()).
O arquivo SWF emissor prepara-se para receber uma resposta no objeto LocalConnection
denominado "resultado" (linha 58). E tambm especifica que aceitar comandos somente de arquivos SWF de meudomnio.com (linhas 51 a 53). O arquivo SWF chama o mtodo aSum de uma conexo denominada "meudomnio.com:soma" (linha 59) e passa os seguintes parmetros: seu domnio (lc.domain()), o nome da conexo para recebimento da resposta ("resultado") e os valores que devem ser usados por aSum (123 e 456). O mtodo aSum (linha 6) chamado com os seguintes valores: sender="meudomnio.com:resultado", replyMethod="aResult", n1=123, and n2=456. Portanto, ele executa a seguinte linha de cdigo:
this.send("meudomnio.com:result", "aResult", (123 + 456));
O mtodo aResult (linha 54) exibe o valor retornado por aSum (579).
// O SWF receptor em http://www.meudomnio.com/folder/movie.swf // contm o seguinte cdigo 1 2 3 4 5 6 7 8 9 10 11 var aLocalConnection = new LocalConnection(); aLocalConnection.allowDomain = function() { // Permite conexes de qualquer domnio return true; } aLocalConnection.aSum = function(sender, replyMethod, n1, n2) { this.send(sender, replyMethod, (n1 + n2)); } aLocalConnection.connect("soma");
// O SWF emissor em http://www.seudomnio.com/folder/movie.swf // contm o seguinte cdigo 50 51 52 53 54 55 56 57 58 59 var lc = new LocalConnection(); lc.allowDomain = function(aDomain) { // Permite conexes somente de meudomnio.com return (aDomain == "meudomnio.com"); } lc.aResult = function(aParam) { trace("A soma " + aParam); } lc.connect("result"); lc.send("meudomnio.com:sum", "aSum", lc.domain() + ':' + "result", "aResult", 123, 456);
504
LocalConnection.onStatus
Disponibilidade
Flash Player 6.
Uso emissor_lc.onStatus = function(objetoInfo) { // suas instrues entram aqui } Parmetros objetoInfo
Um parmetro definido de acordo com a mensagem de status. Para obter informaes sobre esse parmetro, consulte Descrio, a seguir.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado depois que um objeto LocalConnection emissor tenta enviar um comando para um objeto LocalConnection receptor. Se quiser responder a este manipulador de eventos, voc precisar criar uma funo para processar o objeto de informaes enviado pelo objeto LocalConnection. Se a propriedade level do objeto de informao retornado por esse manipulador de eventos apresentar o valor "Status", o Flash ter tido sucesso no envio do comando para um objeto LocalConnection receptor. Isto no significa que o Flash chamou com xito o mtodo especfico do objeto LocalConnection receptor, mas significa apenas que o Flash conseguiu enviar o comando. Por exemplo, o mtodo no ser chamado se o objeto LocalConnection receptor no permitir conexes do domnio emissor ou se no for um mtodo existente. A nica maneira de saber sem dvidas se o mtodo foi chamado fazendo com que o objeto receptor envie uma resposta ao objeto emissor. Se a propriedade level do objeto de informao retornado por esse manipulador de eventos apresentar o valor "Error", o Flash no ter conseguido enviar o comando para um objeto LocalConnection receptor, muito provavelmente porque no h nenhum objeto LocalConnection receptor conectado cujo nome corresponda ao nome especificado no comando emissor_lc.send() que chamou esse manipulador. Alm desse manipulador onStatus, o Flash oferece uma superfuno denominada System.onStatus. Se onStatus for chamado para determinado objeto e no houver funo atribuda para resposta, o Flash processar uma funo atribuda a System.onStatus, se esta existir. Na maioria dos casos, voc implementar este manipulador somente para responder s condies de erro, conforme mostrado no exemplo abaixo.
LocalConnection.onStatus
505
Exemplo
O exemplo a seguir exibe informaes sobre uma conexo interrompida no painel Output (Sada):
emissor_lc = new LocalConnection(); emissor_lc.onStatus = function(objetoInfo) { if (objetoInfo.level == "Error") { trace("No foi possvel conectar."); } } emissor_lc.send("recebe_lc", "nomeMtodo"); Consulte tambm LocalConnection.send(), System.onStatus
LocalConnection.send()
Disponibilidade
Flash Player 6.
Uso emissor_lc.send (nomeConexo, mtodo [, p1,...,pN]) Parmetros nomeConexo Uma seqncia de caracteres que corresponde ao nome de conexo especificado no comando LocalConnection.connect() que precisa se comunicar com emissor_lc. mtodo Seqncia de caracteres que especifica o nome do mtodo a ser chamado no objeto LocalConnection receptor. Os seguintes nomes de mtodos causam falha do comando: send, connect, close, domain, onStatus e allowDomain. p1,...pN Retorna
O valor booleano true, se o Flash puder executar a solicitao; caso contrrio, o valor ser false.
Observao: O valor de retorno true no significa necessariamente que o Flash conectou-se com xito a um objeto LocalConnection receptor, mas que o comando est sintaticamente correto. Para determinar se a conexo foi bem-sucedida, consulte LocalConnection.onStatus. Descrio
Mtodo; chama o mtodo de nome mtodo em uma conexo aberta com o comando LocalConnection.connect(nomeConexo) (chamado objeto LocalConnection receptor). O objeto usado com este comando chamado objeto LocalConnection emissor. Os arquivos SWF que contm os objetos emissor e receptor devem estar em execuo na mesma mquina cliente. H um limite para o volume de dados que pode ser passado como parmetro para este comando. Se o comando retornar false, mas a sintaxe estiver correta, tente dividir as solicitaes LocalConnection.send() em vrios comandos.
506
Conforme analisado na entrada LocalConnection.connect(), como padro, o Flash adiciona o domnio superior atual a nomeConexo. Se estiver implementando a comunicao entre domnios diferentes, voc precisar definir nomeConexo nos objetos LocalConnection emissor e receptor, de tal maneira que o Flash no adicione o domnio superior atual a nomeConexo. H duas maneiras de fazer isso:
Observao: Voc no pode especificar um domnio superior de nomeConexo no objeto LocalConnection receptor, mas somente no objeto LocalConnection emissor. Exemplo
Para obter um exemplo da comunicao entre objetos LocalConnection localizados no mesmo domnio, consulte LocalConnection.connect(). Para obter um exemplo da comunicao entre objetos LocalConnection localizados em qualquer domnio, consulte LocalConnection.allowDomain. Para obter um exemplo da comunicao entre objetos LocalConnection localizados em domnios especficos, consulte LocalConnection.allowDomain e LocalConnection.domain().
Consulte tambm LocalConnection.allowDomain, LocalConnection.connect(), LocalConnection.domain(), LocalConnection.onStatus
Flash Player 4. Este operador foi substitudo no Flash 5 pelo novo operador < (menor que).
Uso expresso1 lt expresso2 Parmetros expresso1, expresso2 Descrio
Operador (comparao); comparar a expresso1 com a expresso2 e retornar true se expresso1 for menor do que expresso2; caso contrrio, retornar false.
Consulte tambm < (menor que)
507
Classe Math
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Descrio
A classe Math uma classe do nvel mais alto, cujos mtodos e propriedades podem ser usados sem um construtor. Use os mtodos e propriedades desta classe para acessar e manipular constantes e funes matemticas. Todas as propriedades e mtodos da classe Math so estticas e devem ser chamadas com a sintaxe Math.mtodo(parmetro) ou Math.constante. Em ActionScript, as constantes so definidas com a preciso mxima de nmeros de ponto flutuante IEEE-754 de dupla preciso. Vrios mtodos da classe Math usam o radiano de um ngulo como parmetro. Voc pode usar a equao abaixo para calcular os valores radianos ou simplesmente passar a equao (inserindo um valor para graus) para o parmetro radiano. Para calcular um valor radiano, use esta frmula:
radiano = Math.PI/180 * grau
O exemplo a seguir mostra a passagem de uma equao como um parmetro para calcular o seno de um ngulo de 45 graus:
Math.SIN(Math.PI/180 * 45)
A classe Math totalmente suportada no Flash Player 5. No Flash Player 4, podem ser usados mtodos da classe Math, mas eles so emulados com aproximaes e podem no ser to precisos como as funes matemticas no emuladas suportadas pelo Flash Player 5. Resumo dos mtodos da classe Math
Mtodo
Math.abs() Math.acos() Math.asin() Math.atan() Math.atan2() Math.ceil() Math.cos() Math.exp() Math.floor() Math.log() Math.max()
Descrio Calcula um valor absoluto. Calcula um arco cosseno. Calcula um arco seno. Calcula um arco tangente. Calcula um ngulo do eixo x ao ponto. Arredonda um nmero para o inteiro mais prximo Calcula um cosseno. Calcula um valor exponencial. Arredonda um nmero para o inteiro mais prximo Calcula um logaritmo natural. Retorna o maior de dois inteiros.
508
Mtodo
Math.min() Math.pow() Math.random() Math.round() Math.sin() Math.sqrt() Math.tan()
Descrio Retorna o menor de dois inteiros. Calcula x elevado potncia de y. Retorna um nmero pseudo-aleatrio entre 0.0 e 1.0. Arredonda para o inteiro mais prximo. Calcula um seno. Calcula uma raiz quadrada. Calcula uma tangente.
Resumo das propriedades da classe Math Todas as propriedades da classe Math so constantes.
Propriedade
Math.E Math.LN2 Math.LOG2E Math.LN2 Math.LOG10E Math.PI
Descrio Constante de Euler e a base de logaritmos naturais (aproximadamente 2,718). O logaritmo natural de 2 (aproximadamente 0,693). O logaritmo de base 2 de e (aproximadamente 1,442). O logaritmo natural de10 (aproximadamente 2,302). O logaritmo de base 10 de e (aproximadamente 0,434). A razo entre a circunferncia de um crculo e o seu dimetro (aproximadamente 3,14159). O inverso da raiz quadrada de 1/2 (aproximadamente 0,707). A raiz quadrada de 2 (aproximadamente 1,414).
Math.SQRT1_2 Math.SQRT2
Math.abs()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.abs(x) Parmetros x
Um nmero.
Retorna
Um nmero.
Descrio
Math.abs()
509
Math.acos()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.acos(x) Parmetros x
Retorna
Nada.
Descrio
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
Retorna
Um nmero.
Descrio
510
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
Retorna
Um nmero.
Descrio
Mtodo; calcula e retorna o valor, em radianos, do ngulo cuja tangente especificada no parmetro x. O valor de retorno est entre o pi negativo dividido por 2 e o pi positivo dividido por 2.
Consulte tambm Math.atan2(), Math.tan()
Math.atan2()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.atan2(y, x) Parmetros y x
Um nmero que especifica a coordenada y do ponto. Um nmero que especifica a coordenada x do ponto.
Retorna
Um nmero.
Descrio
Mtodo; calcula e retorna o ngulo do ponto y/x em radianos, quando medido no sentido anti-horrio a partir do eixo X de um crculo (onde 0,0 representa o centro do crculo). O valor de retorno est entre pi positivo e pi negativo.
Consulte tambm Math.atan(), Math.tan()
Math.atan2()
511
Math.ceil()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.ceil(x) Parmetros x
Um nmero ou expresso.
Retorna
Um nmero.
Descrio
Mtodo; retorna o teto do nmero ou expresso especificada. O teto de um nmero o nmero inteiro mais prximo que maior que ou igual ao nmero.
Math.cos()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.cos(x) Parmetros x
Retorna
Um nmero.
Descrio
Mtodo; retorna o cosseno (um valor de -1,0 a 1,0) do ngulo especificado pelo parmetro x. O ngulo x deve ser especificado em radianos. Use as informaes descritas na entrada Classe Math para calcular um radiano.
512
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
Retorna
Um nmero.
Descrio
Mtodo; retorna o valor de base do logaritmo natural (e) elevado potncia do exponente especificado no parmetro x. A constante Math.E pode fornecer o valor de e.
Math.exp()
513
Math.floor()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.floor(x) Parmetros x
Um nmero ou expresso.
Retorna
Um nmero.
Descrio
Mtodo; retorna o piso do nmero ou expresso especificada no parmetro x. O piso o inteiro mais prximo menor ou igual ao nmero ou expresso especificada.
Exemplo
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
Retorna
Um nmero.
Descrio
514
Math.LN2
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.LN2 Parmetros
Nenhum.
Retorna
Nada.
Descrio
Constante; uma constante matemtica do logaritmo natural de 2, expressa como loge2, com um valor aproximado de 0,69314718055994528623.
Math.LN10
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.LN10 Parmetros
Nenhum.
Retorna
Nada.
Descrio
Constante; uma constante matemtica do logaritmo natural de 10, expressa como loge10, com um valor aproximado de 2,3025850929940459011.
Math.LN10
515
Math.LOG2E
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.LOG2E Parmetros
Nenhum.
Retorna
Nada.
Descrio
Constante; uma constante matemtica do logaritmo de base 2 da constante e (Math.E), expressa como log2e, com um valor aproximado de 1,442695040888963387.
Math.LOG10E
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.LOG10E Parmetros
Nenhum.
Retorna
Nada.
Descrio
Constante; uma constante matemtica do logaritmo de base 10 da constante e (Math.E), expressa como log10e, com um valor aproximado de 0,43429448190325181667.
516
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
Retorna
Um nmero.
Descrio
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
Retorna
Um nmero.
Descrio
Math.min()
517
Math.PI
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.PI Parmetros
Nenhum.
Retorna
Nada.
Descrio
Constante; uma constante matemtica da razo entre a circunferncia de um crculo e o seu dimetro expressa como pi, com um valor de 3,14159265358979.
Math.pow()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.pow(x , y) Parmetros x y
Um nmero a ser elevado a uma potncia. Um nmero que especifica a potncia qual o parmetro x elevado.
Retorna
Um nmero.
Descrio
518
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
Math.round()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.round(x) Parmetros x
Um nmero.
Retorna
Um nmero.
Descrio
Mtodo; arredonda o valor do parmetro x para cima ou para baixo para o inteiro mais prximo e retorna esse valor.
Math.round()
519
Math.sin()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.sin(x) Parmetros x
Retorna
Mtodo; calcula e retorna o seno do ngulo especificado em radianos. Use as informaes descritas na entrada da Classe Math para calcular um radiano.
Math.sqrt()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.sqrt(x) Parmetros x
Retorna
Um nmero.
Descrio
520
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
Math.SQRT2
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.SQRT2 Parmetros
Nenhum.
Retorna
Nada.
Descrio
Constante; uma constante matemtica para a raiz quadrada de 2, com um valor aproximado de 1,414213562373.
Math.SQRT2
521
Math.tan()
Disponibilidade
Flash Player 5. No Flash Player 4, os mtodos e propriedades da classe Math so emulados com aproximaes e podem no ser to precisos quanto as funes matemticas no emuladas suportadas pelo Flash Player 5.
Uso Math.tan(x) Parmetros x
Retorna
Um nmero.
Descrio
Mtodo; calcula e retorna a tangente do ngulo especificado. Para calcular um radiano, use as informaes apresentadas na introduo da Classe Math.
Consulte tambm Math.atan()
maxscroll
Disponibilidade
Propriedade (somente de leitura); uma propriedade obsoleta que indica o nmero da linha visvel mais acima do texto em um campo quando a linha mais inferior desse campo tambm est visvel. A propriedade maxscroll funciona em conjunto com a propriedade scroll para controlar a exibio de informaes em um campo de texto. Esta propriedade pode ser recuperada, mas no modificada.
Consulte tambm TextField.maxscroll, TextField.scroll
522
mbchr
Disponibilidade
Funo de seqncia de caracteres; converte um nmero de cdigo ASCII em um caractere de vrios bytes.
Consulte tambm String.fromCharCode()
mblength
Disponibilidade
Um nmero.
Descrio
mblength
523
mbord
Disponibilidade
Um nmero.
Descrio
mbsubstring
Disponibilidade
O nmero de caracteres a ser includo na seqncia de caracteres extrada, sem incluir o caractere ndice.
Retorna
Funo de seqncia de caracteres; extrai uma nova seqncia de caracteres de vrios bytes de uma seqncia de caracteres de vrios bytes.
Consulte tambm String.substr()
524
Classe Microphone
Disponibilidade
Flash Player 6.
Descrio
A classe Microphone permite que voc capture udio de um microfone conectado ao computador que esteja executando o Flash Player. A classe Microphone serve, basicamente, para o Flash Communication Server, porm, pode ser usada de maneira limitada sem o servidor. Por exemplo, para transmitir som do microfone para os alto-falantes no seu sistema local. Para criar ou fazer referncia a um objeto Microphone, use o mtodo Microphone.get(). Resumo dos mtodos da classe Microphone
Mtodo
Microphone.get()
Descrio Retornar um objeto Microphone padro ou especificado, ou null, se o microfone no estiver disponvel. Especifica quanto aumento de intensidade deve ser aplicado ao sinal do microfone. Especifica a taxa na qual o microfone deve capturar som, em kHz. Especifica a intensidade de som necessria para ativar o microfone. do codec de udio.
Microphone.setGain()
Microphone.setRate()
Microphone.setSilenceLevel()
Descrio O nvel de som que o microfone est detectando. O aumento de intensidade que o microfone aplica ao sinal antes de transmiti-lo. O ndice do microfone atual. Um valor booleano que indica se o usurio permitiu ou negou acesso ao microfone. O nome do dispositivo atual de captura de som, de acordo com o retorno do hardware de captura de som. Propriedade da classe: um array de seqncias de caracteres que refletem os nomes de todos os dispositivos de captura de som disponveis, inclusive placas de som e microfones. A taxa de captura de som, em kHz.
Microphone.index Microphone.muted
Microphone.name
Microphone.names
Microphone.rate
Classe Microphone
525
Descrio A intensidade de som necessria para ativar o microfone. O nmero de milissegundos entre o momento em que o microfone pra de detectar som e o momento em que Microphone.onActivity(false) chamado. Um valor booleano que especifica se a supresso de eco est sendo usada.
Microphone.useEchoSuppression()
Descrio Chamado quando o microfone inicia ou pra de detectar som. Chamado quando o usurio permite ou nega acesso ao microfone.
Microphone.onStatus
Microphone.activityLevel
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.activityLevel Descrio
Propriedade somente de leitura; valor numrico que especifica o nvel do som que o microfone est detectando. Intervalo de valores de 0 (nenhum som est sendo detectado) a 100 (est sendo detectado som muito alto). O valor desta propriedade pode ajudar voc a determinar um bom valor para passar para o mtodo Microphone.setSilenceLevel(). Se o microfone estiver disponvel, mas ainda no estiver sendo usado porque Microphone.get() no foi chamado, esta propriedade ter o valor -1.
Exemplo
O exemplo abaixo atribui varivel level o nvel da atividade do microfone atual, meuMic.activityLevel.
var nvel = meuMic.activityLevel; Consulte tambm Microphone.setGain()
526
Microphone.gain
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.gain Descrio
Propriedade somente de leitura; o aumento de intensidade que o microfone aplica ao sinal. Os valores vlidos so de 0 a 100. O valor padro 50.
Exemplo
O exemplo abaixo anexado ponta de uma barra deslizante. Quando este clipe for carregado, o Flash verificar o valor meuMic.gain e fornecer um valor padro, caso este valor esteja indefinido. A posio _x usada para definir o ganho do microfone de acordo com a preferncia do usurio.
onClipEvent(load){ if (_root.meuMic.gain == undefined) { _root.meuMic.setGain = 75; } this._x = _root.meuMic.gain; _root.txt_micgain = this._x; esq = this._x; dir = esq+50; topo = this._y; base = topo; } on(press){ startDrag(this, false, esq, topo, dir, base); this._xscale = 100; this._yscale = 100; } on (release, releaseOutside) { stopDrag(); g = (this._x-50)*2; _root.meuMic.setGain(g); _root.txt_micgain = g; this._xscale = 100; this._yscale = 100; } Consulte tambm Microphone.setGain()
Microphone.gain
527
Microphone.get()
Disponibilidade
Flash Player 6.
Uso Microphone.get([ndice]) Observao: A sintaxe correta Microphone.get(). Para atribuir o objeto Microphone a uma varivel, use uma sintaxe como active_mic=Microphone.get(). Parmetros ndice Um inteiro opcional que tem zero como base e que especifica o microfone a ser obtido, determinado a partir do array contido em Microphone.names. Para obter o microfone padro (que o recomendvel para a maioria dos aplicativos), omita esse parmetro. Retorna
Se ndice no for especificado, este mtodo retornar uma referncia ao microfone padro ou,
se ele no estiver disponvel, ao primeiro microfone disponvel. Se no houver nenhum microfone disponvel nem instalado, o mtodo retornar null. Se ndice for especificado, este mtodo retornar uma referncia ao microfone solicitado ou null, caso este no esteja disponvel.
Descrio
Mtodo; retorna uma referncia a um objeto Microphone para captura de udio. Para comear realmente a capturar udio, voc deve associar o objeto Microphone a um objeto MovieClip (consulte MovieClip.attachAudio()). Diferentemente dos objetos criados com o construtor new, vrias chamadas a Microphone.get() fazem referncia ao mesmo microfone. Desta maneira, se seu script contiver as linhas mic1=Microphone.get() e mic2=Microphone.get(), tanto mic1 como mic2 faro referncia ao mesmo microfone (padro). Em geral, voc no deve passar um valor para ndice. Simplesmente use Microphone.get() para obter uma referncia ao microfone padro. Por meio do painel de configuraes Microphone (Microfone) (descrito posteriormente nesta seo), o usurio pode especificar o microfone padro que o Flash deve usar. Se voc passar um valor para ndice, poder estar tentando fazer referncia a um microfone que no o preferido do usurio. O ndice ser usado em poucos casos por exemplo, se o aplicativo estiver capturando udio de dois microfones ao mesmo tempo. Quando um arquivo SWF tenta acessar o microfone retornado pelo mtodo Microphone.get(), por exemplo, quando voc emite MovieClip.attachAudio(), o Flash Player exibe uma caixa de dilogo Privacy (Privacidade) que permite ao usurio determinar se vai permitir ou negar acesso ao microfone. Certifique-se de que o tamanho do Stage (Palco) seja de pelo menos 215 x 138 pixels. Esse o tamanho mnimo que o Flash necessita para exibir a caixa de dilogo.
528
Quando o usurio responde a esta caixa de dilogo, o manipulador de eventos Microphone.onStatus retorna um objeto de informao que indica a resposta do usurio. Para descobrir se o usurio negou ou permitiu acesso cmera sem processar este manipulador de eventos, use Microphone.muted. O usurio tambm pode especificar configuraes permanentes de privacidade para determinado domnio clicando com o boto direito do mouse (no Windows) ou pressionando Control e clicando com o mouse (no Macintosh) enquanto um arquivo SWF estiver sendo reproduzido, escolhendo Settings (Configuraes), abrindo o painel Privacy e selecionando Remember (Lembrar-se).
Se Microphone.get() retornar null, o microfone estar sendo usado por outro aplicativo ou no h microfones instalados no sistema. Para descobrir se h microfones instalados, use Microphones.names.length. Para exibir o painel Flash Player Microphone Settings (Configuraes de microfone do Flash Player), que permite ao usurio escolher o microfone ao qual Microphone.get() deve fazer referncia, use System.showSettings(2).
Exemplo
O exemplo abaixo permite que o usurio especifique o microfone padro; em seguida captura udio e o reproduz localmente. Para evitar microfonia, talvez seja conveniente testar este cdigo enquanto estiver com os fones de ouvido.
System.showSettings(2); meuMic = Microphone.get(); _root.attachAudio(meuMic); Consulte tambm Microphone.index, Microphone.muted, Microphone.names, Microphone.onStatus, MovieClip.attachAudio()
Microphone.get()
529
Microphone.index
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.ndice Descrio
Propriedade somente de leitura; um inteiro que tem zero como base e que especifica o ndice do microfone, de acordo com o array retornado por Microphone.names.
Consulte tambm Microphone.get(), Microphone.names
Microphone.muted
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.muted Descrio
Propriedade somente de leitura; um valor booleano que especifica se o usurio negou (true) ou permitiu (false) o acesso ao microfone. Quando se modifica esse valor, Microphone.onStatus chamado. Para obter mais informaes, consulte Microphone.get().
Exemplo
No exemplo abaixo, se o microfone no estiver mudo, quando o usurio clicar no boto, o Flash publicar e reproduzir um fluxo ao vivo.
on (press) { // Se o usurio colocar o microfone em mudo, o programa exibir a informao // de desconectado. // Seno, publicar e reproduzir um fluxo ao vivo a partir do microfone. // if(meuMic.muted) { _root.debugWindow+="Microfone desconectado." + newline; } else { // Publica os dados do microfone chamando // a funo pubLive() de root. _root.pubLive(); // Reproduz o que estiver sendo publicado chamando // a funo playLive() de root. _root.playLive(); } } Consulte tambm Microphone.get(), Microphone.onStatus
530
Microphone.name
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.name Descrio
Propriedade somente de leitura; uma seqncia de caracteres que especifica o nome do dispositivo atual de captura de som, como informado pelo hardware de captura de som.
Exemplo
Microphone.name
531
Microphone.names
Disponibilidade
Flash Player 6.
Uso Microphone.names Observao: A sintaxe correta Microphone.names. Para atribuir o valor de retorno a uma varivel, use a sintaxe mic_array = Microphone.names. Para descobrir o nome do microfone atual, use microfoneAtivo.name. Descrio
Propriedade de classe somente de leitura; recupera um array de seqncias de caracteres que contm os nomes de todos os dispositivos de captura de sons disponveis sem exibir o painel Privacy Settings (Configuraes de privacidade) do Flash Player. Este array comporta-se da mesma forma que qualquer outro array do ActionScript, fornecendo implicitamente o ndice, que comea por zero, de cada dispositivo de captura de som e a quantidade de dispositivos de captura de som do sistema (atravs de Microphone.names.length). Para obter mais informaes, consulte a entrada da Classe Array. Chamar Microphone.names exige uma anlise detalhada do hardware e o array poder levar alguns segundos para ser criado. Na maioria dos casos, possvel usar diretamente o microfone padro.
Exemplo
532
Microphone.onActivity
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.onActivity = function(atividade) { // suas instrues entram aqui } Parmetros atividade Um valor booleano definido como true quando o microfone comea a detectar som e false quando pra. Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o microfone comea ou pra de detectar som. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o valor atividade. Para especificar a intensidade de som necessria para chamar Microphone.onActivity(true) e o tempo que deve decorrer sem som antes que Microphone.onActivity(false) seja chamado, use Microphone.setSilenceLevel().
Exemplo
O exemplo abaixo exibe true ou false no painel Output (Sada) quando o microfone comea ou pra de detectar som.
m = Microphone.get(); _root.attachAudio(m); m.onActivity = function(mode) { trace(mode); }; Consulte tambm Microphone.onActivity, Microphone.setSilenceLevel()
Microphone.onActivity
533
Microphone.onStatus
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.onStatus = function(objetoInfo) { // suas instrues entram aqui } Parmetros objetoInfo Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o usurio permite ou nega acesso ao microfone. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o objeto de informao gerado pelo microfone. Quando um arquivo SWF tenta acessar o microfone, o Flash Player exibe uma caixa de dilogo Privacy (Privacidade) para que o usurio permita ou proba o acesso.
Para descobrir se o usurio proibiu ou permitiu acesso ao microfone sem processar este manipulador de eventos, use Microphone.muted.
Observao: Se o usurio optar por permanentemente permitir ou negar acesso para todos os arquivos SWF de um domnio especfico, esse mtodo no ser chamado para arquivos SWF desse domnio, a menos que o usurio altere posteriormente a configurao de privacidade. Para obter mais informaes, consulte Microphone.get(). Exemplo
534
Microphone.rate
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.rate Descrio
Propriedade somente de leitura; a taxa na qual o microfone est capturando som, em kHz. O valor padro ser de 8 kHz se seu dispositivo de captura de som suportar esse valor. Caso contrrio, o valor padro ser o prximo nvel de captura disponvel acima de 8 kHz suportado pelo seu dispositivo de captura de som, que geralmente de 11 kHz. Para definir este valor, use Microphone.setRate().
Exemplo
Microphone.rate
535
Microphone.setGain()
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.setGain(ganho) Parmetros ganho
Um inteiro que especifica qual o aumento de intensidade deve ser aplicado ao sinal do microfone. Os valores vlidos so de 0 a 100. O valor padro 50. Entretanto, o usurio pode alterar este valor no painel Microphone Settings (Configuraes de microfone) do Flash Player).
Retorna
Nada.
Descrio
Mtodo; define o ganho do microfone, ou seja, o valor pelo qual o microfone deve multiplicar o sinal antes de transmiti-lo. Um valor 0 diz ao Flash para multiplicar por 0, ou seja, o microfone no transmitir nenhum som. Voc pode considerar esta configurao como um boto de volume em um aparelho de som: 0 especifica que est sem volume e 50 o volume normal; os nmeros abaixo de 50 especificam volumes abaixo do normal, ao passo que nmeros acima de 50 especificam volumes acima do normal.
Exemplo
O exemplo abaixo garante que a configurao de ganho do microfone seja menor ou igual a 55.
var meuMic = Microphone.get(); if (meuMic.gain > 55){ meuMic.setGain(55); } Consulte tambm Microphone.gain, Microphone.setUseEchoSuppression()
536
Microphone.setRate()
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.setRate(kHz) Parmetros kHz A taxa na qual o microfone deve capturar som, em kHz. Os valores aceitveis so 5, 8, 11, 22 e 44. O valor padro ser 8 kHz se seu dispositivo de captura de som suportar este valor. Caso contrrio, o valor padro ser o prximo nvel de captura disponvel acima de 8 kHz suportado pelo seu dispositivo de captura de som, que geralmente de 11 kHz. Retorna
Nada.
Descrio
O exemplo abaixo definir a taxa do microfone segundo a preferncia do usurio (que foi atribuda por voc na varivel taxaUsurio), se ela for um dos seguintes valores: 5, 8, 11, 22 ou 44. Caso no seja, o valor ser arredondado para o valor aceitvel mais prximo que o dispositivo de captura de som suporta.
meuMic.setRate(taxaUsurio); Consulte tambm Microphone.rate
Microphone.setRate()
537
Microphone.setSilenceLevel()
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.setSilenceLevel(nvel [, tempoLimite]) Parmetros nvel Um inteiro que especifica o nvel do som necessrio para ativar o microfone e chamar Microphone.onActivity(true). O intervalo de valores aceitveis vai de 0 a 100. O valor padro
10. Um parmetro inteiro opcional que especifica quantos milissegundos devem decorrer sem atividade antes do Flash considerar que o som parou e chamar Microphone.onActivity(false). O valor padro 2000 (2 segundos).
tempoLimite Retorna
Nada.
Descrio
Mtodo; define o nvel de entrada mnimo que deve ser considerado como som e (opcionalmente) quanto tempo de silncio deve transcorrer para assumir que o silncio realmente comeou.
Para evitar que o microfone detecte qualquer som, passe o valor 100 para nvel; assim
Microphone.onActivity
Para descobrir o nvel de som que o microfone est detectando no momento, use
Microphone.activityLevel.
A deteco de atividade a capacidade de detectar quando os nveis de udio sugerem que h uma pessoa falando. Quando no houver ningum falando, a largura de banda pode ser economizada porque no h necessidade de enviar fluxo de udio associado. Esta informao tambm pode ser usada para resposta visual de forma que os usurios saibam que eles (ou outros) esto silenciosos. Os valores de silncio correspondem diretamente a valores de atividade. O silncio completo um valor de atividade 0. O barulho alto constante (to alto quanto possa ser registrado com base na configurao de ganho atual) um valor de atividade 100. Depois de adequadamente ajustado o ganho, o valor da sua atividade ser menor que o valor do seu silncio quando voc no estiver falando; e quando estiver falando, o valor da atividade exceder o valor do silncio. Esse mtodo semelhante, na sua finalidade, a Camera.setMotionLevel(). Ambos so usados para especificar quando o manipulador de eventos onActivity deve ser chamado. No entanto, esses mtodos tm impacto significativamente diferente na publicao de fluxos:
foi criado para detectar movimento e no afeta o uso da largura de banda. Mesmo que um fluxo de vdeo no detecte movimento, o vdeo ainda assim enviado. Microphone.setSilenceLevel() foi criado para otimizar a largura de banda. Quando um fluxo de udio considerado silencioso, nenhum dado de udio enviado. Em vez disso, uma nica mensagem enviada, indicando que o silncio foi iniciado.
Camera.setMotionLevel()
538
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); }
Microphone.setSilenceLevel()
539
Microphone.setUseEchoSuppression()
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.setUseEchoSuppression(supresso) Parmetros supresso
Um valor booleano que indica se a supresso de eco deve ser usada (true) ou no
(false).
Retorna
Nada.
Descrio
Mtodo; especifica se para usar o recurso de supresso de eco do codec de udio. O valor padro false, a menos que o usurio tenha selecionado Reduce Echo (Reduzir eco) no painel Microphone Settings (Configuraes de microfone) do Flash Player. A supresso de eco um esforo para reduzir os efeitos de microfonia, que causado quando o som que sai do alto-falante capturado pelo microfone do mesmo computador. Isso diferente do cancelamento de eco, que remove totalmente a resposta. Geralmente, a supresso de eco aconselhvel quando o som que est sendo capturado reproduzido pelos alto-falantes, e no pelo fone de ouvido, no mesmo computador. Se seu arquivo SWF permitir que os usurios especifiquem o dispositivo de sada de som, talvez seja conveniente chamar Microphone.setUseEchoSuppression(true), caso eles informem que esto usando alto-falantes e que tambm usaro o microfone. Os usurios tambm podem ajustar essas configuraes no painel Microphone Settings do Flash Player.
Exemplo
540
Microphone.silenceLevel()
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.silenceLevel Descrio
Propriedade somente de leitura; um inteiro que especifica o nvel do som necessrio para ativar o microfone e chamar Microphone.onActivity(true). O valor padro 10.
Exemplo
Microphone.silenceTimeout()
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.silenceTimeout Descrio
Propriedade somente de leitura; um valor numrico que representa o tempo em milissegundos entre o momento em que o microfone pra de detectar som e o momento em que Microphone.onActivity(false) chamado. O valor padro 2000 (2 segundos). Para definir esse valor, use Microphone.setSilenceLevel().
Exemplo
Microphone.silenceTimeout()
541
Microphone.useEchoSuppression()
Disponibilidade
Flash Player 6.
Uso microfoneAtivo.useEchoSuppression Descrio
Propriedade somente de leitura; um valor booleano true se a supresso de eco for ativada e false se no for. O valor padro false, a menos que o usurio tenha selecionado Reduce Echo (Reduzir eco) no painel Microphone Settings (Configuraes de microfone) do Flash Player.
Exemplo
542
MMExecute()
Disponibilidade
Flash Player 7.
Uso MMExecute("comando Flash JavaScript API;") Parmetros comando Flash JavaScript API
Funo; permite emitir comandos de API do Flash JavaScript no ActionScript. A JSAPI (Flash JavaScript API) oferece vrios objetos, mtodos e propriedades para duplicar ou emular comandos que um usurio pode inserir no ambiente de criao. Com a JSAPI, voc pode criar scripts que ampliam os recursos do Flash de vrias maneiras: adicionando comandos a menus, manipulando objetos no Stage (Palco), repetindo seqncias de comandos, etc. Em geral, um usurio executa um script JSAPI selecionando Commands (Comandos) > Run Command (Executar comando). No entanto, voc pode usar essa funo em um script do ActionScript para chamar um comando JSAPI diretamente. Se voc usar MMExecute() em um script no Frame 1 (Quadro 1) do arquivo, o comando ser executado quando o arquivo SWF for carregado. Para obter mais informaes sobre a JSAPI, consulte www.macromedia.com/go/jsapi_info_en.
Exemplo
MMExecute()
543
Classe Mouse
Disponibilidade
Flash Player 5.
Descrio
A classe Mouse uma classe do nvel mais alto, cujas propriedades e mtodos podem ser acessados sem uso de um construtor. Voc pode usar os mtodos da classe Mouse para ocultar e mostrar o ponteiro do mouse (cursor) no arquivo SWF. Por padro, o ponteiro do mouse fica visvel, mas possvel ocult-lo e implementar um ponteiro personalizado usando um clipe de filme. (consulte Criando um ponteiro de mouse personalizado na pgina 100). Resumo dos mtodos da classe Mouse
Mtodo
Mouse.addListener()
Descrio Registra um objeto para receber as notificaes onMouseDown, onMouseMove e onMouseUp. Oculta o ponteiro do mouse no arquivo SWF. Remove um objeto que foi registrado com addListener(). Exibe o ponteiro do mouse no arquivo SWF.
Descrio Notificado quando o boto do mouse pressionado. Notificado quando o boto do mouse movido. Notificado quando o boto do mouse liberado. Notificado quando o usurio rola a roda do mouse.
544
Mouse.addListener()
Disponibilidade
Flash Player 6.
Uso Mouse.addListener (novoOuvinte) Parmetros novoOuvinte Retorna
Um objeto.
Nada.
Descrio
Mtodo; registra um objeto para receber notificaes dos ouvintes onMouseDown, onMouseMove e onMouseUp. O parmetro novoOuvinte deve conter um objeto com mtodos definidos para os ouvintes onMouseDown, onMouseMove e onMouseUp. Quando o mouse pressionado, movido ou liberado, independentemente do foco de entrada, todos os objetos ouvintes registrados com este mtodo tm seu mtodo onMouseDown, onMouseMove ou onMouseUp chamado. Vrios objetos podem ouvir notificaes de mouse. Se o ouvinte novoOuvinte j estiver registrado, nenhuma alterao ocorrer.
Consulte tambm Mouse.onMouseDown, Mouse.onMouseMove, Mouse.onMouseUp
Mouse.addListener()
545
Mouse.hide()
Disponibilidade
Flash Player 5.
Uso Mouse.hide() Parmetros
Nenhum.
Retorna
Um valor booleano: true se o ponteiro estiver visvel e false se o ponteiro estiver invisvel.
Descrio
Mtodo; oculta o ponteiro em um arquivo SWF. Por padro, o cursor fica visvel.
Exemplo
O cdigo a seguir, associado a um clipe de filme na Timeline (Linha de tempo) principal, oculta o ponteiro padro e define as posies x e y da instncia do clipe de filme customPointer_mc como as posies x e y do mouse na Timeline principal.
onClipEvent(enterFrame){ Mouse.hide(); customPointer_mc._x = _root._xmouse; customPointer_mc._y = _root._ymouse; } Consulte tambm Mouse.show(), MovieClip._xmouse, MovieClip._ymouse
546
Mouse.onMouseDown
Disponibilidade
Flash Player 6.
Uso umOuvinte.onMouseDown Parmetros
Nenhum.
Retorna
Nada.
Descrio
Ouvinte; notificado quando o mouse pressionado. Para usar o ouvinte onMouseDown, necessrio criar um objeto ouvinte. Em seguida, voc pode definir uma funo para onMouseDown e usar o mtodo addListener() para registrar o ouvinte com o objeto Mouse, como mostrado no cdigo a seguir:
umOuvinte = new Object(); umOuvinte.onMouseDown = function () { ... }; Mouse.addListener(umOuvinte);
Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Mouse.addListener()
Mouse.onMouseDown
547
Mouse.onMouseMove
Disponibilidade
Flash Player 6.
Uso umOuvinte.onMouseMove Parmetros
Nenhum.
Retorna
Nada.
Descrio
Ouvinte; notificado quando o mouse movido. Para usar o ouvinte onMouseMove, necessrio criar um objeto ouvinte. Em seguida, possvel definir uma funo para onMouseMove e usar o mtodo addListener() para registrar o ouvinte com o objeto Mouse, como mostrado no cdigo a seguir:
umOuvinte = new Object(); umOuvinte.onMouseMove = function () { ... }; Mouse.addListener(umOuvinte);
Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Mouse.addListener()
548
Mouse.onMouseUp
Disponibilidade
Flash Player 6.
Uso umOuvinte.onMouseUp Parmetros
Nenhum.
Retorna
Nada.
Descrio
Ouvinte; notificado quando o mouse liberado. Para usar o ouvinte onMouseUp, necessrio criar um objeto ouvinte. Em seguida, voc pode definir uma funo para onMouseUp e usar o mtodo addListener() para registrar o ouvinte com o objeto Mouse, como mostrado no cdigo a seguir:
umOuvinte = new Object(); umOuvinte.onMouseUp = function () { ... }; Mouse.addListener(umOuvinte);
Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Mouse.addListener()
Mouse.onMouseUp
549
Mouse.onMouseWheel
Disponibilidade
Um nmero opcional que indica quantas linhas devem ser roladas para cada ponto rolado na roda do mouse pelo usurio. Um valor delta positivo indica uma rolagem para cima; um valor negativo indica uma rolagem para baixo. Os valores geralmente vo de 1 a 3, ao passo que uma rolagem mais rpida pode resultar em valores maiores. Se voc no desejar especificar um valor para delta, mas quiser especificar um valor para passe null para delta. A instncia de clipe de filme que estava posicionada mais acima sob o mouse quando a roda do mouse rolou.
scrollTarget, scrollTarget
Retorna
Nada.
Descrio
Ouvinte; notificado quando o usurio rola a roda do mouse. Para usar o ouvinte onMouseWheel, necessrio criar um objeto ouvinte. Em seguida, voc pode definir uma funo para onMouseWheel e usar addListener() para registrar o ouvinte com o objeto Mouse.
Observao: Os ouvintes de eventos do Mouse esto disponveis somente nas verses Windows do Flash Player. Exemplo
O exemplo abaixo mostra como criar um objeto ouvinte que responda aos eventos do mouse. Neste exemplo, a coordenada x de um objeto de clipe de filme chamado clip_mc (no mostrado) ser alterada sempre que o usurio rolar a roda do mouse.
ouvinteMouse = new Object(); ouvinteMouse.onMouseWheel = function(delta) { clip_mc._x += delta; } Mouse.addListener(ouvinteMouse); Consulte tambm Mouse.addListener(), TextField.mouseWheelEnabled
550
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
Mouse.show()
Disponibilidade
Flash Player 5.
Uso Mouse.show() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; exibe o ponteiro do mouse em um arquivo SWF. Por padro, o cursor fica visvel.
Consulte tambm Mouse.show(), MovieClip._xmouse, MovieClip._ymouse
Mouse.show()
551
Classe MovieClip
Disponibilidade
Flash Player 3.
Descrio
Os mtodos da classe MovieClip oferecem a mesma funcionalidade que as aes em relao a clipes de filme de destino. Tambm existem mtodos adicionais que no tm aes equivalentes na caixa de ferramentas Actions (Aes) do painel Actions. Voc no precisa usar um mtodo construtor para chamar os mtodos da classe MovieClip. Em vez disso, faa referncia s instncias do clipe de filme por nome, usando a seguinte sintaxe:
meu_mc.play(); meu_mc.gotoAndPlay(3);
Descrio Captura e reproduz udio local no microfone. Anexa um arquivo SWF biblioteca.
Cria um campo de texto vazio. Duplica o clipe de filme especificado. Retorna as coordenadas x e y mnimas e mximas de um arquivo SWF em um espao de coordenadas especificado. Retorna o nmero de bytes carregados do clipe de filme especificado. Retorna o tamanho do clipe de filme, em bytes. Retorna a profundidade de um clipe de filme. Especifica se uma determinada profundidade j est ocupada por um clipe de filme. Especifica o valor de profundidade que pode ser passado para outros mtodos, para assegurar que o Flash renderize o clipe de filme na frente de todos os outros objetos do atual clipe de filme. Retorna um inteiro que indica a verso do Flash Player em que o clipe de filme foi publicado. Retorna um objeto TextSnapshot que contm o texto dos campos de texto estticos no clipe de filme especificado. Recupera um documento de um URL. Converte o objeto Ponto das coordenadas do Stage (Palco) nas coordenadas locais do clipe de filme especificado.
MovieClip.getBytesLoaded()
MovieClip.getNextHighestDepth()
MovieClip.getSWFVersion()
MovieClip.getTextSnapshot()
MovieClip.getURL() MovieClip.globalToLocal()
552
Mtodo
MovieClip.gotoAndPlay()
Descrio Envia a reproduo para um quadro especfico no clipe de filme e reproduz o arquivo SWF. Envia a reproduo para um quadro especfico no clipe de filme e interrompe o arquivo SWF. Retornar true se houver interseo entre a caixa delimitadora do clipe de filme especificado e a caixa delimitadora do clipe de filme de destino. Carrega o arquivo SWF especificado no clipe de filme. Carrega variveis de um URL ou de outro local para o clipe de filme. Converte um objeto Point de coordenadas locais do clipe de filme em coordenadas globais do Stage (Palco). Envia a reproduo para o prximo quadro do clipe de filme. Reproduz o clipe de filme especificado. Envia a reproduo para o quadro anterior do clipe de filme. Remove o clipe de filme da Timeline (Linha de tempo) caso tenha sido criado com duplicateMovieClip(), MovieClip.duplicateMovieClip() ou MovieClip.attachMovie(). Especifica um clipe de filme como uma mscara para outro clipe de filme. Especifica um clipe de filme como arrastvel e comea a arrast-lo. Encerra o arquivo SWF que est sendo reproduzido. Pra de arrastar qualquer clipe de filme que esteja sendo arrastado. Troca o nvel de profundidade de dois arquivos SWF. Remove o arquivo SWF que foi carregado com loadMovie().
MovieClip.gotoAndStop()
MovieClip.hitTest()
MovieClip.loadMovie() MovieClip.loadVariables()
MovieClip.localToGlobal()
MovieClip.setMask()
MovieClip.startDrag()
MovieClip.stop() MovieClip.stopDrag()
MovieClip.swapDepths() MovieClip.unloadMovie()
Classe MovieClip
553
Descrio Comea a desenhar um preenchimento no Stage. Comea a desenhar um preenchimento de gradiente no Stage. Remove todos os comandos de desenho associados a uma instncia de clipe de filme. Desenha uma curva utilizando o ltimo estilo de linha. Conclui o preenchimento especificado por beginFill() ou beginGradientFill(). Define o trao das linhas criadas com os mtodos lineTo() e curveTo(). Desenha uma linha utilizando o estilo de linha atual. Move a posio do desenho atual especificado para determinadas coordenadas.
MovieClip.clear()
MovieClip.curveTo() MovieClip.endFill()
MovieClip.lineStyle()
MovieClip.lineTo() MovieClip.moveTo()
Descrio O valor de transparncia de uma instncia de clipe de filme. O nmero do quadro no qual a reproduo est localizada no momento. O caminho absoluto em notao de sintaxe de barra da instncia do clipe de filme na qual um clipe de filme arrastvel foi solto. Indica se um clipe de filme tipo boto est ativado. Permite que um clipe de filme receba o foco. Indica se um clipe de filme focalizado tem um retngulo amarelo ao seu redor. O nmero de quadros que foram carregados de um arquivo SWF em fluxo. A altura de uma instncia de clipe de filme em pixels. Designa outro clipe de filme para atuar como rea de um clipe de filme tipo boto sensvel a cliques. Define a qualidade de renderizao de arquivos SWF. Associa um objeto ContextMenu a um clipe de filme. O nome da instncia de um clipe de filme. Uma referncia ao clipe de filme que inclui outro clipe de filme. O grau de rotao de uma instncia de clipe de filme.
MovieClip._droptarget
MovieClip._framesloaded
MovieClip._height MovieClip.hitArea
554
Propriedade
MovieClip._soundbuftime
Descrio O nmero de segundos decorridos antes de um som comear a ser reproduzido. Indica se os filhos de um clipe de filme so includos na ordenao de tabulao automtica. Indica se um clipe de filme includo na ordenao de tabulao. Indica a ordem de tabulao de um objeto. O caminho de destino de uma instncia de clipe de filme. O nmero total de quadros de uma instncia de clipe de filme. Indica se outros botes podem receber eventos de liberao de mouse. O URL do arquivo SWF a partir do qual um clipe de filme foi descarregado. Determina se exibida uma mo quando o usurio rola o cursor do mouse sobre um clipe de filme tipo boto. Um valor booleano que determina se uma instncia de clipe de filme est oculta ou visvel. A largura de uma instncia de clipe de filme em pixels. A coordenada x de uma instncia de clipe de filme. A coordenada x do ponteiro do mouse em uma instncia de clipe de filme. O valor que especifica a porcentagem para o dimensionamento horizontal de um clipe de filme. A coordenada y de uma instncia de clipe de filme. A coordenada y do ponteiro do mouse em uma instncia de clipe de filme. O valor que especifica a porcentagem para o dimensionamento vertical de um clipe de filme.
MovieClip.tabChildren
MovieClip.tabEnabled
MovieClip._url
MovieClip.useHandCursor
MovieClip._visible
MovieClip._xscale
MovieClip._y MovieClip._ymouse
MovieClip._yscale
Classe MovieClip
555
Descrio Chamado quando todos os dados so carregados em um clipe de filme. Chamado enquanto o ponteiro est fora do boto, o boto do mouse pressionado no interior e rola para fora da rea do boto. Chamado enquanto o ponteiro est sobre o boto, o boto do mouse foi pressionado, rolado para fora do boto e, a seguir, rolado de volta sobre o boto. Chamado continuamente na taxa de quadros do arquivo SWF. As aes associadas ao evento de clipe enterFrame so processadas antes de qualquer ao de quadro que tenha sido anexada aos quadros afetados. Chamado quando uma tecla pressionada. Use os mtodos Key.getCode() e Key.getAscii() para recuperar informaes sobre a ltima tecla pressionada. Chamado quando uma tecla pressionada. Chamado quando o foco removido de um boto. Chamado quando o clipe de filme criado e aparece na Timeline (Linha de tempo). Chamado quando o boto esquerdo do mouse pressionado. Chamado sempre que o mouse movido. Chamado quando o boto esquerdo do mouse liberado. Chamado quando o mouse pressionado enquanto o ponteiro est sobre um boto. Chamado quando o mouse liberado enquanto o ponteiro est sobre um boto. Chamado na liberao do mouse enquanto o ponteiro estiver fora do boto depois de pressionar o boto enquanto o ponteiro estiver dentro do boto. Chamado quando o ponteiro rola para fora da rea de um boto. Chamado quando o ponteiro do mouse rola sobre um boto. Chamado quando um boto tiver foco de entrada e uma tecla for liberada. Chamado no primeiro quadro aps a remoo do clipe de filme da Timeline. As aes associadas ao evento Unload do clipe de filme so processadas antes que as aes sejam anexadas ao quadro atingido.
MovieClip.onDragOut
MovieClip.onDragOver
MovieClip.onEnterFrame
MovieClip.onKeyDown
MovieClip.onRelease
MovieClip.onReleaseOutside
MovieClip.onRollOut
MovieClip.onRollOver MovieClip.onSetFocus
MovieClip.onUnload
556
MovieClip._alpha
Disponibilidade
Flash Player 4.
Uso meu_mc._alpha Descrio
Propriedade; o valor de transparncia alfa do clipe de filme especificado por meu_mc. A faixa de valores vlidos vai de 0 (totalmente transparente) a 100 (totalmente opaco). O valor padro 100. Os objetos em um clipe de filme com _alpha definido como 0 esto ativos, mesmo que estejam invisveis. Por exemplo, ainda ser possvel clicar em um boto do clipe de filme cuja propriedade _alpha esteja definida como 0.
Exemplo
O cdigo a seguir define como 30% a propriedade _alpha de um clipe de filme chamado star_mc quando o boto clicado:
on (release) { star_mc._alpha = 30; } Consulte tambm Button._alpha, TextField._alpha
MovieClip._alpha
557
MovieClip.attachAudio()
Disponibilidade
Flash Player 6; a capacidade de anexar udio de arquivos FLV (Flash Video) foi includa no Flash Player 7.
Uso meu_mc.attachAudio(fonte) Parmetros fonte O objeto que contm o udio a ser reproduzido. Os valores vlidos so um objeto Microphone, um objeto NetStream que est executando um arquivo FLV e false (interrompe a reproduo do udio). Retorna
Nada.
Descrio
Mtodo; especifica a origem de udio a ser reproduzida. Para interromper a reproduo da origem de udio, passe falso para fonte.
Exemplo
O exemplo a seguir mostra como voc pode usar um objeto Sound para controlar o som associado a um arquivo FLV.
// Clipe o nome da instncia do clipe de filme // que contm o objeto vdeo "meu_vdeo". _root.Clipe.meu_vdeo.attachVideo(_root.meuNetStream); _root.Clipe.attachAudio(_root.meuNetStream); var snd = new Sound("_root.Clipe"); //Para ajustar o udio: _root.snd.setVolume(100); Consulte tambm
558
MovieClip.attachMovie()
Disponibilidade
Flash Player 5.
Uso meu_mc.attachMovie(nomeId, novoNome, profundidade [, objetoInic]) Parmetros nomeId
O nome de vinculao do smbolo do clipe de filme na biblioteca a ser anexada a um clipe de filme no Stage (Palco). o nome inserido no campo Identifier (Identificador) na caixa de dilogo Linkage Properties (Propriedades de vinculao).
novoNome
Um nome de instncia nico para o clipe de filme que est sendo anexado ao clipe de Um inteiro que especifica o nvel de profundidade em que o arquivo SWF
filme.
profundidade
colocado.
objetoInic
(Suportado pelo Flash Player 6 e posteriores) Objeto que contm as propriedades com as quais se deve preencher o clipe de filme recm-anexado. Este parmetro permite que os clipes de filme criados dinamicamente recebam parmetros de clipe. Se objetoInic no for um objeto, ele ser ignorado. Todas as propriedades de objetoInic so copiadas na nova instncia. As propriedades especificadas com objetoInic esto disponveis para a funo construtora. Este parmetro opcional.
Retorna
Mtodo; pega um smbolo na biblioteca e o anexa ao arquivo SWF no Stage especificado por meu_mc. Use removeMovieClip() ou unloadMovie() para remover um arquivo SWF anexado com attachMovie().
Exemplo
O exemplo a seguir anexa o smbolo com o identificador de vinculao crculo instncia de clipe de filme localizada no Stage do arquivo SWF.
on (release) { coisa.attachMovie( "crculo", "crculo1", 2 ); } Consulte tambm MovieClip.removeMovieClip(), MovieClip.unloadMovie(), Object.registerClass(), removeMovieClip()
MovieClip.attachMovie()
559
MovieClip.beginFill()
Disponibilidade
Flash Player 6.
Uso meu_mc.beginFill([rgb[, alfa]]) Parmetro rgb
Um valor de cor hexadecimal (por exemplo, vermelho corresponde a 0xFF0000, azul a 0x0000FF e assim por diante). Caso este valor no seja fornecido ou esteja indefinido, nenhum preenchimento ser criado. Um nmero inteiro entre 0 e 100 que especifica o valor alfa do preenchimento. Se este valor no for informado, a opo 100 (slido) ser usada. Se o valor for menor que 0, o Flash usar 0. Se for maior que 100, o Flash usar 100.
alfa
Retorna
Nada.
Descrio
Mtodo; indica o incio de um novo caminho de desenho. Se houver um caminho aberto, isto , se a posio do desenho atual no for igual posio anterior especificada em um mtodo moveTo() e se houver um preenchimento associado a ele, este caminho ser fechado com uma linha e preenchido em seguida. Trata-se de um processo semelhante ao que ocorre quando se chama o mtodo endFill(). Se atualmente no houver nenhum preenchimento associado ao caminho, endFill() dever ser chamado para aplicar o preenchimento.
Consulte tambm MovieClip.beginGradientFill(), MovieClip.endFill()
560
MovieClip.beginGradientFill()
Disponibilidade
Flash Player 6.
Uso meu_mc.beginGradientFill(tipoPreenchimento, cores, alfas, propores, matriz) Parmetro tipoPreenchimento
cores Um array de valores de cores hexadecimais RGB a ser utilizado no gradiente (por exemplo, vermelho corresponde a 0xFF0000, azul a 0x0000FF e assim por diante). alfas
Array de valores alfa com as cores correspondentes s do array cores; os valores vlidos vo de 0 a 100. Se o valor for menor que 0, o Flash usar 0. Se for maior que 100, o Flash usar 100.
propores
Array com as taxas de distribuio de cor; os valores vlidos vo de 0 a 255. Esse parmetro define a porcentagem da largura em que a cor amostrada a 100 por cento.
matriz Uma matriz de transformao que um objeto com um destes dois conjuntos de propriedades:
O exemplo a seguir usa um mtodo beginGradientFill() com um parmetro matriz que um objeto com essas propriedades.
_root.createEmptyMovieClip( "grad", 1 ); with ( _root.grad ) { cores = [ 0xFF0000, 0x0000FF ]; alfas = [ 100, 100 ]; propores = [ 0, 0xFF ]; matriz = { a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1 }; beginGradientFill( "linear", cores, alfas, propores, matriz ); moveto(100.100); lineto(100.300); lineto(300,300); lineto(300,100); lineto(100.100); endFill(); }
MovieClip.beginGradientFill()
561
Se no houver nenhuma propriedade matrixType, todos os outros parmetros sero necessrios. A funo falhar se faltar qualquer parmetro. Esta matriz dimensiona, traslada, gira e inclina o gradiente da unidade, que definido em (-1,-1) e (1,1).
matrixType, x, y, w, h, r. Estas propriedades indicam o seguinte: matrixType a seqncia de caracteres "box", x a posio horizontal relativa ao ponto de registro do clipe pai do canto superior esquerdo do gradiente, y a posio vertical relativa ao ponto de registro do clipe pai do canto superior esquerdo do gradiente, w a largura do gradiente, h a altura e r a rotao em radianos. O exemplo a seguir usa um mtodo beginGradientFill() com um parmetro matriz que um objeto com essas propriedades. _root.createEmptyMovieClip( "grad", 1 ); with ( _root.grad ) { cores = [ 0xFF0000, 0x0000FF ]; alfas = [ 100, 100 ]; propores = [ 0, 0xFF ]; matriz = { matrixType:"box", x:100, y:100, w:200, h:200, r:(45/ 180)*Math.PI }; beginGradientFill( "linear", cores, alfas, propores, matriz ); moveto(100.100); lineto(100.300); lineto(300.300); lineto(300,100); lineto(100.100); endFill(); }
Se houver uma propriedade matrixType, ela dever ser igual a "box" e todos os outros parmetros sero necessrios. A funo falhar se uma dessas condies no for atendida.
562
Retorna
Nada.
Descrio
Mtodo; indica o incio de um novo caminho de desenho. Se o primeiro parmetro for undefined, ou se nenhum parmetro tiver sido passado, o caminho no ter preenchimento. Se houver um caminho aberto, isto , se a posio do desenho atual no for igual posio anterior especificada em um mtodo moveTo() e se houver um preenchimento associado a ele, este caminho ser fechado com uma linha e preenchido em seguida. Trata-se de um processo semelhante ao que ocorre quando voc chama o mtodo endFill(). Este mtodo falhar se qualquer uma das condies a seguir for encontrada:
O nmero de itens nos parmetros cores, alfas e propores no for igual. O parmetro tipoPreenchimento no for linear ou radial. Um dos campos no objeto para o parmetro matriz est ausente ou invlido.
Exemplo
O cdigo a seguir usa os dois mtodos para desenhar dois retngulos empilhados, com um preenchimento de gradiente vermelho-azul e um trao slido verde de 5 pontos.
_root.createEmptyMovieClip("goober",1); with ( _root.goober ) { cores = [ 0xFF0000, 0x0000FF ]; alfas = [ 100, 100 ]; propores = [ 0, 0xFF ]; lineStyle( 5, 0x00ff00 ); matriz = { a:500,b:0,c:0,d:0,e:200,f:0,g:350,h:200,i:1}; beginGradientFill( "linear", cores, alfas, propores, matriz ); moveto(100.100); lineto(100.300); lineto(600.300); lineto(600.100); lineto(100.100); endFill(); matriz = { matrixType:"box", x:100, y:310, w:500, h:200, r:(0/180)*Math.PI }; beginGradientFill( "linear", cores, alfas, propores, matriz ); moveto(100.310); lineto(100.510); lineto(600.510); lineto(600.310); lineto(100.310);
MovieClip.beginGradientFill()
563
endFill(); }
MovieClip.clear()
Disponibilidade
Flash Player 6.
Uso meu_mc.clear() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; remove todos os grficos criados durante a execuo, usando os mtodos de desenho de clipe de filme, inclusive os estilos de linha especificados com MovieClip.lineStyle(). Formas e linhas manualmente desenhadas em tempo de criao (com as ferramentas de desenho do Flash) no so afetadas.
Consulte tambm MovieClip.lineStyle()
564
MovieClip.createEmptyMovieClip()
Disponibilidade
Flash Player 6.
Uso meu_mc.createEmptyMovieClip(nomeInstncia, profundidade) Parmetros nomeInstncia
de filme.
profundidade Retorna
Mtodo; cria um clipe de filme vazio como filho de outro clipe de filme existente. Este mtodo apresenta um comportamento semelhante ao do mtodo attachMovie(), s que no preciso fornecer um nome de vinculao externo para o novo clipe de filme. O ponto de registro de um clipe de filme vazio recm-criado o canto superior esquerdo. Este mtodo falhar se estiver faltando um dos parmetros.
Consulte tambm MovieClip.attachMovie()
MovieClip.createEmptyMovieClip()
565
MovieClip.createTextField()
Disponibilidade
Flash Player 6.
Uso meu_mc.createTextField(nomeInstncia, profundidade, x, y, largura, altura) Parmetros nomeInstncia
Uma seqncia de caracteres que identifica o nome da instncia do novo Um inteiro positivo que especifica a profundidade do novo campo de texto.
campo de texto.
profundidade x y
Um inteiro que especifica a coordenada x do novo campo de texto. Um inteiro que especifica a coordenada y do novo campo de texto. Um inteiro positivo que especifica a largura do novo campo de texto. Um inteiro positivo que especifica a altura do novo campo de texto.
Nada.
Descrio
Mtodo; cria um novo campo de texto vazio como filho do clipe de filme especificado pelo parmetro meu_mc. Voc pode usar createTextField() para criar campos de texto enquanto o arquivo SWF reproduzido. O campo de texto posicionado em (x, y) com as dimenses de largura por altura. Os parmetros x e y so relativos ao clipe de filme recipiente; esses parmetros correspondem s propriedades _x e _y do campo de texto. Os parmetros largura e altura correspondem s propriedades _width e _height do campo de texto. As propriedades padro de um campo de texto so as seguintes:
type = "dynamic" border = false background = false password = false multiline = false html = false embedFonts = false variable = null maxChars = null
566
Um campo de texto criado com createTextField() recebe o seguinte objeto TextFormat padro:
font = "Times New Roman" size = 12 textColor = 0x000000 bold = false italic = false underline = false url = "" target = "" align = "left" leftMargin = 0 rightMargin = 0 indent = 0 leading = 0 bullet = false tabStops = [] (empty array) Exemplo
O exemplo a seguir cria um campo de texto com uma largura de 300, uma altura de 100, uma coordenada x de 100, uma coordenada y de 100, sem borda, com texto vermelho e sublinhado.
_root.createTextField("meutexto",1,100,100,300,100); meutexto.multiline = true; meutexto.wordWrap = true; meutexto.border = false; meuformato = new TextFormat(); meuformato.color = 0xff0000; meuformato.bullet = false; meuformato.underline = true; meutexto.text = "este o meu primeiro texto do campo de teste"; meutexto.setTextFormat(meuformato); Consulte tambm
Classe TextFormat
MovieClip.createTextField()
567
MovieClip._currentframe
Disponibilidade
Flash Player 4.
Uso meu_mc._currentframe Descrio
Propriedade (somente de leitura); retorna o nmero do quadro no qual a reproduo est localizada na Timeline (Linha de tempo) especificada por meu_mc.
Exemplo
O exemplo a seguir usa a propriedade _currentframe para direcionar a reproduo de actionClip_mc do clipe de filme para avanar cinco quadros em relao sua posio atual.
actionClip_mc.gotoAndStop(_currentframe + 5);
568
MovieClip.curveTo()
Disponibilidade
Flash Player 6.
Uso meu_mc.curveTo(controleX, controleY, ncoraX, ncoraY) Parmetros controleX Um inteiro que especifica uma posio horizontal relativa ao ponto de registro do clipe de filme pai do ponto de controle. controleY Um inteiro que especifica uma posio vertical relativa ao ponto de registro do clipe de filme pai do ponto de controle. ncoraX ncoraY
Um inteiro que especifica uma posio horizontal relativa ao ponto de registro do clipe de filme pai do prximo ponto de ancoragem. Um inteiro que especifica uma posio vertical relativa ao ponto de registro do clipe de filme pai do prximo ponto de ancoragem.
Retorna
Nada.
Descrio
Mtodo; desenha uma curva, utilizando o estilo de linha atual da posio do desenho at (ncoraX, ncoraY), com o ponto de controle definido por (controleX, controleY). Em seguida, a posio do desenho atual ser definida por (ncoraX, ncoraY). Se o contedo do clipe de filme em criao tiver sido elaborado com as ferramentas de desenho do Flash, as chamadas para curveTo() sero desenhadas sob os critrios desse contedo. Se voc chamar curveTo() antes de moveTo(), a posio atual do desenho ser predefinida como (0, 0). Se faltar algum parmetro, o mtodo falhar e a posio atual do desenho no ser alterada.
Exemplo
O exemplo a seguir desenha um crculo com uma linha azul slida e fina, e um preenchimento vermelho slido.
_root.createEmptyMovieClip( "crculo", 1 ); with ( _root.circle ) { lineStyle( 0, 0x0000FF, 100 ); beginFill( 0xFF0000 ); moveTo( 500, 500 ); curveTo( 600, 500, 600, 400 ); curveTo( 600, 300, 500, 300 ); curveTo( 400, 300, 400, 400 ); curveTo( 400, 500, 500, 500 ); endFill(); } Consulte tambm MovieClip.beginFill(), MovieClip.createEmptyMovieClip(), MovieClip.endFill(), MovieClip.lineStyle(), MovieClip.lineTo(), MovieClip.moveTo()
MovieClip.curveTo()
569
MovieClip._droptarget
Disponibilidade
Flash Player 4.
Uso meu_mc._droptarget Descrio
Propriedade (somente de leitura); retorna o caminho absoluto, em notao de sintaxe de barra, da instncia do clipe de filme em que meu_mc foi solto. A propriedade _droptarget sempre retorna um caminho iniciado com uma barra (/). Para comparar a propriedade _droptarget de uma instncia com uma referncia, use a funo eval() para converter o valor retornado da sintaxe de barra em uma referncia de sintaxe de ponto.
Observao: Voc dever executar essa converso se estiver usando o ActionScript 2.0, que no suporta sintaxe de barra. Exemplo
O exemplo a seguir avalia a propriedade _droptarget da instncia de clipe de filme garbage e usa eval() para convert-la de sintaxe de barra em uma referncia de sintaxe de ponto. A referncia garbage , ento, comparada com a referncia instncia do clipe de filme trash. Se as duas referncias forem equivalentes, a visibilidade de garbage ser definida como false. Se no forem equivalentes, a instncia de garbage ser redefinida para sua posio original.
if (eval(garbage._droptarget) == _root.trash) { garbage._visible = false; } else { garbage._x = x_pos; garbage._y = y_pos; }
As variveis x_pos e y_pos so definidas no quadro 1 do arquivo SWF com o seguinte script:
x_pos = garbage._x; y_pos = garbage._y; Consulte tambm startDrag()
570
MovieClip.duplicateMovieClip()
Disponibilidade
Flash Player 5.
Uso meu_mc.duplicateMovieClip(novonome, profundidade [,objetoInic]) Parmetros novonome
profundidade objetoInic
Um nmero exclusivo que especifica o nvel de profundidade em que o arquivo SWF deve ser colocado.
(Suportado pelo Flash Player 6 e posterior.) Um objeto que contm propriedades com as quais se deve preencher o clipe de filme duplicado. Este parmetro permite que os clipes de filme criados dinamicamente recebam parmetros de clipe. Se objetoInic no for um objeto, ele ser ignorado. Todas as propriedades de objetoInic so copiadas na nova instncia. As propriedades especificadas com objetoInic esto disponveis para a funo construtora. Este parmetro opcional.
Retorna
Mtodo; cria uma instncia do clipe de filme especificado enquanto o arquivo SWF est sendo reproduzido. A reproduo dos clipes de filme duplicados sempre comeam no quadro 1, independentemente de em qual quadro o clipe de filme original esteja quando o mtodo duplicateMovieClip() chamado. As variveis no clipe de filme pai no so copiadas para o clipe de filme duplicado. Os clipes de filme criados com o mtodo duplicateMovieClip() no sero duplicados se voc chamar duplicateMovieClip() a partir de seus pais. Se o clipe de filme pai for excludo, o clipe de filme duplicado tambm o ser.
Consulte tambm duplicateMovieClip(), MovieClip.removeMovieClip()
MovieClip.duplicateMovieClip()
571
MovieClip.enabled
Disponibilidade
Flash Player 6.
Uso meu_mc.enabled Descrio
Propriedade; um valor booleano que indica se um clipe de filme tipo boto est ativado. O valor padro de enabled true. Se for atribudo o valor false para enabled, os mtodos de retorno de chamada do clipe de filme tipo boto e os manipuladores de evento onAction no sero mais chamados. Alm disso, os quadros Over (Sobre), Down (Para baixo) e Up (Para cima) sero desativados. A propriedade enabled no afeta a Timeline (Linha de tempo) do clipe de filme tipo boto; se um clipe de filme estiver sendo reproduzido, esse processo no ser interrompido. O clipe de filme continuar a receber eventos do clipe de filme (por exemplo, mouseDown, mouseUp, keyDown e keyUp). A propriedade enabled regula apenas as propriedades de boto de um clipe de filme tipo boto. possvel alterar a propriedade enabled a qualquer momento; o clipe de filme tipo boto modificado ativado ou desativado imediatamente. possvel ler a propriedade enabled de um objeto prottipo. Se enabled estiver definida como false, o objeto no ser includo na ordenao de tabulao automtica.
MovieClip.endFill()
Disponibilidade
Flash Player 6.
Uso meu_mc.endFill() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; aplica um preenchimento s linhas e curvas includas desde a ltima chamada ao mtodo beginFill() ou beginGradientFill(). O Flash usa o preenchimento especificado na chamada anterior a beginFill() ou beginGradientFill(). Se a posio do desenho atual no for igual posio anterior especificada em um mtodo moveTo() e se um preenchimento tiver sido definido, o caminho ser fechado com uma linha e preenchido em seguida.
572
MovieClip.focusEnabled
Disponibilidade
Flash Player 6.
Uso meu_mc.focusEnabled Descrio
Propriedade; se o seu valor for undefined ou false, um clipe de filme no poder receber o foco de entrada, a menos que ele seja um clipe de filme tipo boto. Se o valor da propriedade focusEnabled for true, um clipe de filme poder receber foco de entrada mesmo que no seja um clipe de tipo boto.
MovieClip._focusrect
Disponibilidade
Flash Player 6.
Uso meu_mc._focusrect Descrio
Propriedade; um valor booleano que especifica se um clipe de filme apresentar um retngulo amarelo ao seu redor quando tiver o foco do teclado. Esta propriedade pode prevalecer sobre a propriedade global _focusrect.
MovieClip._focusrect
573
MovieClip._framesloaded
Disponibilidade
Flash Player 4.
Uso meu_mc._framesloaded Descrio
Propriedade (somente de leitura); o nmero de quadros que foram carregados de um arquivo SWF em fluxo. Esta propriedade til para determinar se o contedo de um determinado quadro e de todos os quadros anteriores a ele foram carregados e se esto disponveis localmente no navegador. Esta propriedade til para monitorar o processo de download de arquivos SWF grandes. Por exemplo, voc pode exibir uma mensagem para os usurios indicando que o arquivo SWF est sendo carregado at que determinado quadro do arquivo SWF seja carregado.
Exemplo
O exemplo a seguir usa a propriedade _framesloaded para iniciar um arquivo SWF quando todos os quadros esto carregados. Se nem todos os quadros tiverem sido carregados, a propriedade _xscale da instncia do clipe de filme carregador ser aumentada proporcionalmente para criar uma barra de progresso.
if (_framesloaded >= _totalframes) { gotoAndPlay ("Cena 1", "start"); } else { _root.carregador._xscale = (_framesloaded/_totalframes)*100; } Consulte tambm
Classe MovieClipLoader
574
MovieClip.getBounds()
Disponibilidade
Flash Player 5.
Uso meu_mc.getBounds(espaoCoordenadasDestino) Parmetros espaoCoordenadasDestino O caminho de destino da Timeline (Linha de tempo) cujo sistema de coordenadas voc deseja usar como ponto de referncia. Retorna
Mtodo; retorna as propriedades correspondentes aos valores mnimos e mximos de coordenadas x e y da instncia especificada por meu_mc para o parmetro espaoCoordenadasDestino.
Observao: Use MovieClip.localToGlobal() e MovieClip.globalToLocal() para converter as coordenadas locais do clipe de filme em coordenadas do Stage (Palco), ou coordenadas do Stage em coordenadas locais, respectivamente. Exemplo
No exemplo a seguir, o objeto retornado por getBounds() atribudo ao identificador limitesClipe. Em seguida, possvel acessar os valores de cada propriedade e utiliz-los em um script. Outra instncia de clipe de filme, chamada clipe2, colocada junto de clipe neste script.
limitesClipe = clipe.getBounds(_root); clipe2._x = limitesClipe.xMax; Consulte tambm MovieClip.globalToLocal(), MovieClip.localToGlobal()
MovieClip.getBounds()
575
MovieClip.getBytesLoaded()
Disponibilidade
Flash Player 5.
Uso meu_mc.getBytesLoaded() Parmetros
Nenhum.
Retorna
Mtodo; retorna a quantidade de bytes j carregados (transmitidos) do clipe de filme especificado por meu_mc. Este valor pode ser comparado com o valor retornado por MovieClip.getBytesTotal() para determinar a porcentagem j carregada do clipe de filme.
Consulte tambm MovieClip.getBytesTotal()
MovieClip.getBytesTotal()
Disponibilidade
Flash Player 5.
Uso meu_mc.getBytesTotal() Parmetros
Nenhum.
Retorna
Mtodo; retorna o tamanho em bytes do clipe de filme especificado por meu_mc. No caso de clipes de filme externos (o arquivo SWF raiz ou um clipe de filme que esteja sendo carregado em um destino ou nvel), o valor de retorno ser o tamanho do arquivo SWF.
Consulte tambm MovieClip.getBytesLoaded()
576
MovieClip.getDepth()
Disponibilidade
Flash Player 6.
Uso meu_mc.getDepth() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna a profundidade de uma instncia de clipe de filme. Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 137.
Consulte tambm MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth(), MovieClip.swapDepths()
MovieClip.getInstanceAtDepth()
Disponibilidade
Flash Player 7.
Uso meu_mc.getInstanceAtDepth(profundidade) Parmetros profundidade Retorna
Uma referncia instncia MovieClip localizada na profundidade especificada, ou undefined se no houver nenhum clipe de filme nessa profundidade.
Descrio
Mtodo; permite determinar se uma profundidade especfica j est ocupada por um clipe de filme. Use esse mtodo antes de usar MovieClip.attachMovie(), MovieClip.duplicateMovieClip() ou MovieClip.createEmptyMovieClip() para descobrir se o parmetro profundidade que voc deseja passar para qualquer um desses mtodos j contm um clipe de filme. Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 137.
Consulte tambm MovieClip.getDepth(), MovieClip.getNextHighestDepth(), MovieClip.swapDepths()
MovieClip.getInstanceAtDepth()
577
MovieClip.getNextHighestDepth()
Disponibilidade
Flash Player 7.
Uso meu_mc.getNextHighestDepth() Parmetros
Nenhum.
Retorna
Um inteiro que reflete o prximo ndice de profundidade disponvel que seria renderizado acima de todos os outros objetos no mesmo nvel e camada em meu_mc.
Descrio
Mtodo; permite determinar um valor de profundidade que pode ser passado para MovieClip.attachMovie(), MovieClip.duplicateMovieClip() ou MovieClip.createEmptyMovieClip(), a fim de assegurar que o Flash renderize o clipe de filme na frente de todos os outros objetos do mesmo nvel e da mesma camada no clipe de filme atual. O valor retornado 0 ou maior (ou seja, nmeros negativos no so retornados). Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 137.
Consulte tambm MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.swapDepths()
MovieClip.getSWFVersion()
Disponibilidade
Flash Player 7.
Uso meu_mc.getSWFVersion() Parmetros
Nenhum.
Retorna
Um inteiro que especifica a verso do Flash Player que foi identificada quando o arquivo SWF carregado em meu_mc foi publicado.
Descrio
Mtodo; retorna um inteiro que indica a verso do Flash Player em que meu_mc foi publicado. Se meu_mc for um arquivo JPEG ou se ocorrer um erro e o Flash no puder descobrir a verso SWF de meu_mc, -1 ser retornado.
578
MovieClip.getTextSnapshot()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou posterior.
Uso meu_mc.getTextSnapshot(); Parmetros
Nenhum.
Retorna
Um objeto TextSnapshot que contm o texto esttico de meu_mc ou uma seqncia de caracteres vazia, caso meu_mc no contenha nenhum texto esttico.
Descrio
Mtodo; retorna um objeto TextSnapshot que contm o texto de todos os campos de texto estticos no clipe de filme especificado. O texto de clipes de filme-filho no includo. O Flash concatena o texto e o coloca no objeto TextSnapshot em uma ordem que reflete a ordem de ndice de tabulao dos campos de texto estticos no clipe de filme. Os campos de texto que no tm valores de ndice de tabulao so colocados em uma ordem aleatria no objeto, e precedem o texto dos campos que tm valores de ndice de tabulao. A ausncia de quebras de linha ou formatao indica onde o fim de um campo e o incio de outro.
Observao: No possvel especificar um valor de ndice de tabulao para texto esttico no Flash. No entanto, outros produtos permitem isso, como, por exemplo, o Macromedia FlashPaper.
O contedo do objeto TextSnapshot no dinmico. Ou seja, se o clipe de filme for movido para outro quadro ou for alterado de alguma forma (por exemplo, se os objetos do clipe de filme forem adicionados ou removidos), possvel que o objeto TextSnapshot no represente o texto atual do clipe de filme. Para garantir que o contedo do objeto atual, emita novamente esse comando conforme necessrio.
Consulte tambm
Objeto TextSnapshot
MovieClip.getTextSnapshot()
579
MovieClip.getURL()
Disponibilidade
Flash Player 5.
Uso meu_mc.getURL(URL [,janela, variveis]) Parmetros url
janela Um parmetro opcional que especifica o nome, o quadro ou a expresso que determina a janela ou o quadro HTML em que o documento foi carregado. Tambm possvel usar um dos seguintes nomes de destino reservados: _self especifica o quadro atual na janela atual, _blank especifica uma nova janela, _parent especifica o pai do quadro atual e _top especifica o quadro de alto nvel na janela atual. variveis Um parmetro opcional que especifica um mtodo de envio de variveis associado ao filme a ser carregado. Se no houver nenhuma varivel, omita esse parmetro; caso contrrio, especifique se deseja carregar as variveis usando um mtodo GET ou POST. GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. POST envia as variveis em um cabealho HTTP em separado e usado para maiores seqncias de caracteres de variveis. Retorna
Nada.
Descrio
Mtodo; carrega um documento do URL especificado na janela especificada. O mtodo getURL tambm pode ser usado para passar variveis para outro aplicativo definido no URL usando o mtodo GET ou POST.
Consulte tambm getURL()
580
MovieClip.globalToLocal()
Disponibilidade
Flash Player 5.
Uso meu_mc.globalToLocal(ponto) Parmetros ponto
O nome ou identificador de um objeto criado com o Classe Object genrico. O objeto especifica as coordenadas x e y como coordenadas.
Retorna
Nada.
Descrio
Mtodo; converte o objeto ponto das coordenadas (globais) do Stage (Palco) em coordenadas (locais) do clipe de filme.
Exemplo
O exemplo a seguir converte as coordenadas x e y globais do objeto ponto em coordenadas locais do clipe de filme.
onClipEvent(mouseMove) { point = new object(); ponto.x = _root._xmouse; ponto.y = _root._ymouse; globalToLocal(ponto); trace(_root._xmouse + " " + _root._ymouse); trace(ponto.x + " " + ponto.y); updateAfterEvent(); } Consulte tambm MovieClip.getBounds(), MovieClip.localToGlobal()
MovieClip.globalToLocal()
581
MovieClip.gotoAndPlay()
Disponibilidade
Flash Player 5.
Uso meu_mc.gotoAndPlay(quadro) Parmetros quadro
Um nmero que representa o nmero do quadro, ou uma seqncia de caracteres que representa o rtulo do quadro, para o qual a reproduo seguir.
Retorna
Nada.
Descrio
Mtodo; comea a reproduzir o arquivo SWF no quadro especificado. Se voc quiser especificar uma cena e um quadro, use gotoAndPlay().
MovieClip.gotoAndStop()
Disponibilidade
Flash Player 5.
Uso meu_mc.gotoAndStop(quadro) Parmetros quadro Retorna
Nada.
Descrio
Mtodo; envia a reproduo para o quadro especificado do clipe de filme e a interrompe nessa posio.
Consulte tambm gotoAndStop()
582
MovieClip._height
Disponibilidade
Flash Player 4.
Uso meu_mc._height Descrio
O exemplo de cdigo a seguir define a altura e a largura de um clipe de filme quando o usurio clica com o boto do mouse.
onClipEvent(mouseDown) { _width=200; _height=200; }
MovieClip._highquality
Disponibilidade
Flash Player 6.
Uso meu_mc._highquality Descrio
Propriedade (global); especifica o nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Especifique 2 (melhor qualidade) para aplicar alta qualidade com a suavizao de bitmap sempre ativada. Especifique 1 (alta qualidade) para aplicar o recurso de eliminao de serrilhado. Isso suavizar os bitmaps se o arquivo SWF no tiver animao. Especifique 0 (baixa qualidade) para impedir a eliminao de serrilhado. Esta propriedade pode substituir a propriedade global _highquality.
Exemplo meu_mc._highquality = 2; Consulte tambm _quality
MovieClip._highquality
583
MovieClip.hitArea
Disponibilidade
Flash Player 6.
Uso meu_mc.hitArea Retorna
Propriedade; designa outro clipe de filme para atuar como rea de um clipe de filme tipo boto sensvel a cliques. Se no houver nenhuma propriedade hitArea ou se ela for null ou undefined, o prprio clipe de filme tipo boto ser usado como rea sensvel a cliques. O valor da propriedade hitArea pode ser uma referncia para um objeto de clipe de filme. possvel alterar a propriedade hitArea a qualquer momento; o clipe de filme tipo boto modificado assumir imediatamente o comportamento da nova rea sensvel a cliques. O clipe de filme designado como rea sensvel a cliques no precisa ficar visvel; sua forma grfica testada mesmo que esteja invisvel. possvel ler a propriedade hitArea de um objeto prottipo.
MovieClip.hitTest()
Disponibilidade
Flash Player 5.
Uso meu_mc.hitTest(x, y, formato) meu_mc.hitTest(destino) Parmetros x y
A coordenada x da rea sensvel a cliques, no Stage (Palco). A coordenada y da rea sensvel a cliques, no Stage.
O caminho de destino da rea sensvel a cliques que pode entrar em interseo ou sobreposio com a instncia especificada por meu_mc. Normalmente, destino representa um boto ou um campo de entrada de texto.
formato
Um valor booleano que determina se ser avaliada a forma completa da instncia especificada (true) ou apenas a caixa delimitadora (false). Esse parmetro s poder ser especificado se a rea sensvel a cliques for identificada pelos parmetros de coordenadas x e y.
Retorna
Um valor booleano true, se meu_mc for sobreposto rea sensvel a cliques especificada, caso contrrio, false.
584
Descrio
Mtodo; avalia a instncia especificada por meu_mc para ver se ela se sobrepe ou entra em interseo com a rea sensvel a cliques identificada por destino ou pelos parmetros de coordenadas x e y. Uso 1: Compara as coordenadas x e y com a forma ou com a caixa delimitadora da instncia especificada, de acordo com a definio de formato. Se o valor de formato for true, somente a rea realmente ocupada pela instncia no Stage ser avaliada e, se x e y se sobrepuserem em algum ponto, um valor true ser retornado. Isso til para determinar se o clipe de filme est dentro de uma rea sensvel a cliques ou de um ponto ativo especificado. Uso 2: Avaliar as caixas delimitadoras de destino e da instncia especificada e retornar true caso elas se sobreponham ou entrem em interseo em algum ponto.
Exemplo
O exemplo a seguir usa hitTest() com as propriedades x_mouse e y_mouse para determinar se o ponteiro do mouse est sobre a caixa delimitadora de destino:
if (hitTest( _root._xmouse, _root._ymouse, false));
O exemplo a seguir usa hitTest() para determinar se o clipe de filme bola se sobrepe ou entra em interseo com o clipe de filme quadrado:
if(_root.bola.hitTest(_root.quadrado)){ trace("bola faz interseo com quadrado"); } Consulte tambm MovieClip.getBounds(), MovieClip.globalToLocal(), MovieClip.localToGlobal()
MovieClip.hitTest()
585
MovieClip.lineStyle()
Disponibilidade
Flash Player 6.
Uso meu_mc.lineStyle ([espessura[, rgb[, alfa]]]) Parmetros espessura Um inteiro que indica a espessura da linha, em pontos. Os valores vlidos vo de 0 a 255. Se um nmero no for especificado ou se o parmetro for undefined, nenhuma linha ser desenhada. Se um valor menor que 0 for passado, o Flash usar 0. O valor 0 indica espessura fina; a espessura mxima 255. Se um valor maior que 255 for passado, o interpretador do Flash usar 255. rgb
Um valor de cor hexadecimal da linha (por exemplo, vermelho corresponde a 0xFF0000, azul corresponde a 0x0000FF e assim por diante). Se nenhum valor for indicado, o Flash usar 0x000000 (preto). Um inteiro que indica o valor alfa da cor da linha; os valores vlidos vo de 0 a 100. Se nenhum valor for indicado, o Flash usar 100 (slido). Se o valor for menor do que 0, o Flash usar 0 e se for maior do que 100, o Flash usar 100.
alfa
Retorna
Nada.
Descrio
Mtodo; especifica um estilo de linha que ser usado pelo Flash para as chamadas subseqentes aos mtodos lineTo() e curveTo() at que lineStyle() seja chamado com parmetros diferentes. possvel chamar o mtodo lineStyle() durante o desenho de um caminho para especificar estilos diferentes para segmentos de linha distintos em um caminho.
Observao: As chamadas para clear redefinem o mtodo lineStyle() como undefined. Exemplo
O cdigo a seguir desenha um tringulo com uma linha magenta slida de 5 pontos e sem preenchimento.
_root.createEmptyMovieClip( "tringulo", 1 ); with ( _root.tringulo ) { lineStyle( 5, 0xff00ff, 100 ); moveTo( 200, 200 ); lineTo( 300,300 ); lineTo( 100, 300 ); lineTo( 200, 200 ); } Consulte tambm MovieClip.beginFill(), MovieClip.beginGradientFill(), MovieClip.clear(), MovieClip.curveTo(), MovieClip.lineTo(), MovieClip.moveTo()
586
MovieClip.lineTo()
Disponibilidade
Flash Player 6.
Uso meu_mc.lineTo(x, y) Parmetros x y
Um inteiro que indica a posio horizontal relativa ao ponto de registro do clipe de filme pai. Um inteiro que indica a posio vertical relativa ao ponto de registro do clipe de filme pai.
Retorna
Nada.
Descrio
Mtodo; desenha uma linha utilizando o estilo atual a partir da posio atual do desenho em (x, y). A posio atual do desenho ento definida como (x, y). Se o clipe de filme em que voc est desenhando apresentar contedo criado com as ferramentas de desenho do Flash, as chamadas para lineTo() sero feitas sob os critrios desse contedo. Se voc chamar lineTo() antes do mtodo moveTo(), a posio padro do desenho atual ser (0, 0). Se faltar algum parmetro, o mtodo falhar e a posio atual do desenho no ser alterada.
Exemplo
O exemplo a seguir desenha um tringulo sem nenhuma linha e um preenchimento azul parcialmente transparente.
_root.createEmptyMovieClip ("tringulo", 1); with (_root.tringulo){ beginFill (0x0000FF, 50); lineStyle (5, 0xFF00FF, 100); moveTo (200, 200); lineTo (300, 300); lineTo (100, 300); lineTo (200, 200); endFill(); } Consulte tambm MovieClip.beginFill(), MovieClip.createEmptyMovieClip(), MovieClip.endFill(), MovieClip.lineStyle(), MovieClip.moveTo()
MovieClip.lineTo()
587
MovieClip.loadMovie()
Disponibilidade
Flash Player 5.
Uso meu_mc.loadMovie("url" [,variveis]) Parmetros url
O URL absoluto ou relativo do arquivo SWF ou JPEG a ser carregado. Um caminho relativo deve ser relacionado ao arquivo SWF no nvel 0. Os URLs absolutos devem incluir a referncia de protocolo, como http:// ou file:///.
variveis Um parmetro opcional que especifica um mtodo HTTP para o envio ou carregamento de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis. Retorna
Nada.
Descrio
Mtodo; carrega arquivos SWF ou JPEG em um clipe de filme no Flash Player durante a reproduo do arquivo SWF original.
Dica: Se voc quiser monitorar o andamento do download, use MovieClipLoader.loadClip(), em vez desta funo.
Sem o mtodo loadMovie(), o Flash Player exibe um nico arquivo SWF e, em seguida, encerrado. O mtodo loadMovie() permite que voc exiba vrios arquivos SWF de uma s vez e alterne entre os arquivos SWF sem carregar outro documento HTML. Um arquivo SWF ou uma imagem carregada em um clipe de filme herda as propriedades de posio, rotao e dimensionamento do clipe de filme. Use o caminho de destino do clipe de filme para especificar o arquivo SWF carregado.
loadMovie().
Use o mtodo unloadMovie() para remover arquivos SWF ou imagens carregadas com o mtodo Use o mtodo loadVariables() para manter o arquivo SWF ativo e atualizar as variveis com os novos valores.
588
MovieClip.loadVariables()
Disponibilidade
O URL absoluto ou relativo para o arquivo externo que contm as variveis a serem carregadas. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir.
variveis Um parmetro opcional que especifica um mtodo HTTP para o envio de variveis. O parmetro deve ser a seqncia de caracteres GET ou POST. Se no houver nenhuma varivel a ser enviada, omita esse parmetro. O mtodo GET anexa as variveis ao final do URL e usado para pequenos nmeros de variveis. O mtodo POST envia as variveis em um cabealho HTTP separado e usado para seqncias de caracteres maiores de variveis.
Retorna
Nada.
Descrio
Mtodo; l dados de um arquivo externo e define os valores das variveis em meu_mc. O arquivo externo pode ser um arquivo de texto gerado por script CGI, Active Server Pages (ASP) ou PHP, e pode conter qualquer nmero de variveis. Esse mtodo tambm pode ser usado para atualizar variveis no clipe de filme ativo com novos valores. O mtodo precisa que o texto do URL esteja no formato MIME padro: application/x-www-formurlencoded (formato de script CGI). Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203.
Consulte tambm loadMovie(), loadVariables(), loadVariablesNum(), MovieClip.unloadMovie()
MovieClip.loadVariables()
589
MovieClip.localToGlobal()
Disponibilidade
Flash Player 5.
Uso meu_mc.localToGlobal(ponto) Parmetros ponto O nome ou identificador de um objeto criado com a classe Classe Object, especificando as coordenadas x e y como propriedades. Retorna
Nada.
Descrio
Mtodo; converte as coordenadas (locais) do clipe de filme do objeto ponto em coordenadas (globais) do Stage (Palco).
Exemplo
O exemplo a seguir converte as coordenadas x e y do objeto ponto de coordenadas (locais) do clipe de filme em coordenadas (globais) do Stage. As coordenadas x e y locais so especificadas com as propriedades _xmouse e _ymouse para recuperar as coordenadas x e y da posio do ponteiro do mouse.
onClipEvent(mouseMove) { ponto = new object(); ponto.x = _xmouse; ponto.y = _ymouse; _root.out3 = ponto.x + " === " + ponto.y; _root.out = _root._xmouse + " === " + _root._ymouse; localToGlobal(ponto); _root.out2 = ponto.x + " === " + ponto.y; updateAfterEvent(); } Consulte tambm MovieClip.globalToLocal()
590
MovieClip._lockroot
Disponibilidade
Flash Player 7.
Uso meu_mc._lockroot Descrio
Propriedade; especifica o que est sendo apontado por _root no momento em que um arquivo SWF carregado no clipe de filme. O valor padro da propriedade _lockroot undefined. possvel definir essa propriedade no arquivo SWF que est sendo carregado ou no manipulador que est carregando o clipe de filme. Por exemplo, vamos supor que voc tenha um documento chamado Games.fla, que permite que o usurio escolha um jogo e carregue-o (por exemplo, Chess.swf ) no clipe de filme game_mc. Voc gostaria de ter certeza de que, se _root for usado em Chess.swf, este ainda far referncia a _root do Chess.swf aps ter sido carregado em Games.swf. Se tiver acesso a Chess.fla e public-lo no Flash Player 7 ou posterior, voc poder incluir nele essa instruo:
this._lockroot = true;
Se no tiver acesso a Chess.fla (por exemplo, se o estiver carregando a partir do site de outra pessoa), ao carreg-lo voc poder definir a propriedade _lockroot, conforme mostrado abaixo. Nesse caso, Chess.swf poder ser publicado em qualquer verso do Flash Player desde que Games.swf seja publicado no Flash Player 7 ou posterior.
onClipEvent (load) { this._lockroot = true; } game_mc.loadMovie ("Chess.swf");
Se a instruo this._lockroot = true no tiver sido usada em nenhum dos arquivos SWF, _root de Chess.swf vai se referir a _root de Games.swf depois que Chess.swf tiver sido carregado em Games.swf.
Consulte tambm _root, MovieClip.attachMovie(), MovieClip.loadMovie()
MovieClip._lockroot
591
MovieClip.menu
Disponibilidade
Flash Player 7.
Uso meu_mc.menu = menuContexto Parmetros menuContexto Descrio
Um objeto ContextMenu.
Propriedade; associa o objeto ContextMenu especificado ao clipe de filme meu_mc. A classe ContextMenu permite modificar o menu de contexto que aparece quando o usurio clica com o boto direito do mouse (Windows) ou com a tecla Control pressionada (Macintosh) no Flash Player.
Exemplo
O exemplo a seguir atribui o objeto ContextMenu menu_cm ao clipe de filme content_mc. O objeto ContextMenu contm um item de menu personalizado Imprimir... com um manipulador de retorno de chamada associado denominado doPrint().
var menu_cm = new ContextMenu(); menu_cm.customItems.push(new ContextMenuItem("Imprimir...", doPrint)); function doPrint(menu, obj) { // Aqui vai o cdigo de "Imprimir" } content_mc.menu = menu_cm; Consulte tambm Button.menu, Classe ContextMenu, Classe ContextMenuItem, TextField.menu
592
MovieClip.moveTo()
Disponibilidade
Flash Player 6.
Uso meu_mc.moveTo(x, y) Parmetros x y
Um inteiro que indica a posio horizontal relativa ao ponto de registro do clipe de filme pai. Um inteiro que indica a posio vertical relativa ao ponto de registro do clipe de filme pai.
Retorna
Nada.
Descrio
Mtodo; move a posio atual do desenho para (x, y). Se faltar algum parmetro, o mtodo falhar e a posio atual do desenho no ser alterada.
Exemplo
Este exemplo desenha um tringulo com linhas magenta slidas de 5 pontos, sem preenchimento. A primeira linha cria um clipe de filme vazio para o desenho. Define-se um tipo de linha dentro da instruo with; em seguida, a posio inicial do desenho indicada pelo mtodo moveTo().
_root.createEmptyMovieClip( "tringulo", 1 ); with ( _root.tringulo ) { lineStyle( 5, 0xff00ff, 100 ); moveTo( 200, 200 ); lineTo( 300,300 ); lineTo( 100, 300 ); lineTo( 200, 200 ); } Consulte tambm MovieClip.createEmptyMovieClip(), MovieClip.lineStyle(), MovieClip.lineTo()
MovieClip._name
Disponibilidade
Flash Player 4.
Uso meu_mc._name Descrio
MovieClip._name
593
MovieClip.nextFrame()
Disponibilidade
Flash Player 5.
Uso meu_mc.nextFrame() Parmetros
Nenhum.
Retorna
Nada.
Descrio
MovieClip.onData
Disponibilidade
Flash Player 6.
Uso meu_mc.onData = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um clipe de filme recebe dados de uma chamada loadVariables() ou loadMovie(). necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado. Esse manipulador poder ser usado somente com clipes de filme para os quais voc tenha um smbolo em biblioteca associada a uma classe. Se desejar que um manipulador de eventos seja chamado quando um clipe de filme especfico receber dados, use onClipEvent(data) em vez deste manipulador. Este manipulador ser chamado quando qualquer clipe de filme receber dados.
594
Exemplo
MovieClip.onData
595
MovieClip.onDragOut
Disponibilidade
Flash Player 6.
Uso meu_mc.onDragOut = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o boto do mouse pressionado e o ponteiro rola para fora da rea do objeto. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onDragOut que envia uma ao trace() ao painel Output (Sada).
meu_mc.onDragOut = function () { trace ("onDragOut chamado"); }; Consulte tambm MovieClip.onDragOver
596
MovieClip.onDragOver
Disponibilidade
Flash Player 6.
Uso meu_mc.onDragOver = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o ponteiro arrastado fora e, em seguida, para cima do clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onDragOver que envia uma ao trace() ao painel Output (Sada).
meu_mc.onDragOver = function () { trace ("onDragOver chamado"); }; Consulte tambm MovieClip.onDragOut
MovieClip.onDragOver
597
MovieClip.onEnterFrame
Disponibilidade
Flash Player 6.
Uso meu_mc.onEnterFrame = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado continuamente na mesma taxa de quadros do arquivo SWF. As aes associadas ao evento de clipe enterFrame so processadas antes de qualquer ao de quadro que tenha sido anexada aos quadros afetados. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onEnterFrame que envia uma ao trace() ao painel Output (Sada).
meu_mc.onEnterFrame = function () { trace ("onEnterFrame chamado"); };
598
MovieClip.onKeyDown
Disponibilidade
Flash Player 6.
Uso meu_mc.onKeyDown = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um clipe de filme tem o foco de entrada e uma tecla pressionada. O manipulador de eventos onKeyDown chamado sem nenhum parmetro. Use os mtodos Key.getAscii() e Key.getCode() para determinar qual tecla foi pressionada. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado. O manipulador de eventos onKeyDown s funcionar se o clipe de filme estiver com o foco de entrada ativado e definido. Primeiro, a propriedade focusEnabled deve ser definida como true para o clipe de filme. Em seguida, preciso dar foco ao clipe. Para isso, use Selection.setFocus() ou ento acione a tecla Tab para navegar at o clipe. Se Selection.setFocus() for utilizado, o caminho do clipe de filme dever ser passado para Selection.setFocus(). muito fcil para outros elementos retomarem o foco depois que o mouse movido.
Exemplo
O exemplo a seguir define uma funo para o mtodo onKeyDown() que envia uma ao trace() ao painel Output (Sada).
meu_mc.onKeyDown = function () { trace ("onKeyDown chamado"); };
MovieClip.onKeyDown
599
MovieClip.onKeyUp
Disponibilidade
Flash Player 6.
Uso meu_mc.onKeyUp = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando uma tecla liberada. O manipulador de eventos onKeyUp chamado sem nenhum parmetro. Use os mtodos Key.getAscii() e Key.getCode() para determinar qual tecla foi pressionada. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado. O manipulador de eventos onKeyUp s funcionar se o clipe de filme estiver com o foco de entrada ativado e definido. Primeiro, a propriedade focusEnabled deve ser definida como true para o clipe de filme. Em seguida, preciso dar foco ao clipe. Para isso, use Selection.setFocus() ou ento acione a tecla Tab para navegar at o clipe. Se Selection.setFocus() for utilizado, o caminho do clipe de filme dever ser passado para Selection.setFocus(). muito fcil para outros elementos retomarem o foco depois que o mouse movido.
Exemplo
O exemplo a seguir define uma funo para o mtodo onKeyUp que envia uma ao trace() ao painel Output (Sada).
meu_mc.onKeyUp = function () { trace ("onKeyUp chamado"); };
600
MovieClip.onKillFocus
Disponibilidade
Flash Player 6.
Uso meu_mc.onKillFocus = function (novoFoco) { // suas instrues entram aqui } Parmetros novoFoco Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um clipe de filme perde o foco do teclado. O mtodo onKillFocus recebe um parmetro, novoFoco, que um objeto representando o novo objeto a receber o foco. Se nenhum objeto receber o foco, novoFoco conter o valor null.
MovieClip.onLoad
Disponibilidade
Flash Player 6.
Uso meu_mc.onLoad = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o clipe de filme criado e aparece na Timeline (Linha de tempo). necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado. Esse manipulador poder ser usado somente com clipes de filme para os quais voc tenha um smbolo em biblioteca associada a uma classe. Se desejar que um manipulador de eventos seja chamado quando um clipe de filme especfico for carregado (por exemplo, ao usar MovieClip.loadMovie() para carregar dinamicamente um arquivo SWF), voc dever usar onClipEvent(load) em vez deste manipulador. Este manipulador ser chamado quando qualquer clipe de filme for carregado.
MovieClip.onLoad
601
Exemplo
602
MovieClip.onMouseDown
Disponibilidade
Flash Player 6.
Uso meu_mc.onMouseDown = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o boto do mouse pressionado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onMouseDown que envia uma ao trace() ao painel Output (Sada).
meu_mc.onMouseDown = function () { trace ("onMouseDown chamado"); }
MovieClip.onMouseDown
603
MovieClip.onMouseMove
Disponibilidade
Flash Player 6.
Uso meu_mc.onMouseMove = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o mouse movido. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onMouseMove que envia uma ao trace() ao painel Output (Sada).
meu_mc.onMouseMove = function () { trace ("onMouseMove chamado"); };
604
MovieClip.onMouseUp
Disponibilidade
Flash Player 6.
Uso meu_mc.onMouseUp = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o boto do mouse liberado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onMouseUp que envia uma ao trace() ao painel Output (Sada).
meu_mc.onMouseUp = function () { trace ("onMouseUp chamado"); };
MovieClip.onMouseUp
605
MovieClip.onPress
Disponibilidade
Flash Player 6.
Uso meu_mc.onPress = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o usurio clica no mouse enquanto o ponteiro permanece sobre um clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onPress que envia uma ao trace() ao painel Output (Sada).
meu_mc.onPress = function () { trace ("onPress chamado"); };
606
MovieClip.onRelease
Disponibilidade
Flash Player 6.
Uso meu_mc.onRelease = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um clipe de filme tipo boto liberado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onPress que envia uma ao trace() ao painel Output (Sada).
meu_mc.onRelease = function () { trace ("onRelease chamado"); };
MovieClip.onRelease
607
MovieClip.onReleaseOutside
Disponibilidade
Flash Player 6.
Uso meu_mc.onReleaseOutside = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o mouse liberado enquanto o ponteiro est fora do clipe de filme, depois que o boto do mouse foi pressionado dentro do clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onReleaseOutside que envia uma ao trace() ao painel Output (Sada).
meu_mc.onReleaseOutside = function () { trace ("onReleaseOutside chamado"); };
608
MovieClip.onRollOut
Disponibilidade
Flash Player 6.
Uso meu_mc.onRollOut = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o ponteiro se move para fora da rea do clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo onRollOut que envia uma ao trace() ao painel Output (Sada).
meu_mc.onRollOut = function () { trace ("onRollOut chamado"); };
MovieClip.onRollOver
Disponibilidade
Flash Player 6.
Uso meu_mc.onRollOver = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o ponteiro se move para cima da rea do clipe de filme. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
MovieClip.onRollOver
609
Exemplo
O exemplo a seguir define uma funo para o mtodo onRollOver que envia uma ao trace() ao painel Output (Sada).
meu_mc.onRollOver = function () { trace ("onRollOver chamado"); };
MovieClip.onSetFocus
Disponibilidade
Flash Player 6.
Uso meu_mc.onSetFocus = function(focoAnterior){ // suas instrues entram aqui } Parmetros focoAnterior Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um clipe de filme recebe o foco do teclado. O parmetro focoAnterior o objeto que perde o foco. Por exemplo, se o usurio pressionar a tecla Tab para mover o foco de entrada de um clipe de filme para um campo de texto, focoAnterior conter a instncia do clipe de filme. Se nenhum objeto possua o foco anteriormente, focoAnterior conter um valor null.
610
MovieClip.onUnload
Disponibilidade
Flash Player 6.
Uso meu_mc.onUnload = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado no primeiro quadro aps a remoo do clipe de filme da Timeline (Linha de tempo). O Flash processa as aes associadas ao manipulador de eventos onUnload antes de anexar qualquer ao ao quadro afetado. necessrio definir uma funo que seja executada quando o manipulador de eventos for chamado.
Exemplo
O exemplo a seguir define uma funo para o mtodo MovieClip.onUnload que envia uma ao trace() ao painel Output (Sada).
meu_mc.onUnload = function () { trace ("onUnload chamado"); };
MovieClip._parent
Disponibilidade
Flash Player 5.
Uso meu_mc._parent.propriedade _parent.propriedade Descrio
Propriedade; uma referncia ao clipe de filme ou objeto que contm o clipe de filme ou objeto atual. O objeto atual o que contm o cdigo ActionScript que faz referncia a _parent. Use a propriedade _parent para especificar um caminho relativo para clipes de filme ou objetos que estiverem acima do clipe de filme ou objeto atual. possvel usar _parent para subir vrios nveis na lista de exibio, conforme mostrado a seguir:
_parent._parent._alpha = 20; Consulte tambm Button._parent, _root, targetPath, TextField._parent
MovieClip._parent
611
MovieClip.play()
Disponibilidade
Flash Player 5.
Uso meu_mc.play() Parmetros
Nenhum.
Retorna
Nada.
Descrio
MovieClip.prevFrame()
Disponibilidade
Flash Player 5.
Uso meu_mc.prevFrame() Parmetros
Nenhum.
Retorna
Nada.
Descrio
612
MovieClip.removeMovieClip()
Disponibilidade
Flash Player 5.
Uso meu_mc.removeMovieClip() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; remove uma instncia de clipe de filme criada com duplicateMovieClip(), MovieClip.duplicateMovieClip() ou MovieClip.attachMovie().
MovieClip._rotation
Disponibilidade
Flash Player 4.
Uso meu_mc._rotation Descrio
Propriedade; a rotao do clipe de filme, em graus, a partir da orientao original. Os valores de 0 a 180 representam a rotao no sentido horrio. E os valores de 0 a -180 representam a rotao no sentido anti-horrio. Os valores fora desse intervalo so somados a 360 ou subtrados de 360 para que seja obtido um valor contido no intervalo. Por exemplo, a instruo meu_mc._rotation = 450 igual a meu_mc._rotation = 90.
Consulte tambm Button._rotation, TextField._rotation
MovieClip._rotation
613
MovieClip.setMask()
Disponibilidade
Flash Player 6.
Uso meu_mc.setMask(mscara_mc) Parmetros meu_mc
O nome de instncia de um clipe de filme a ser mascarado. O nome de instncia de um clipe de filme que ser uma mscara.
mscara_mc Retorna
Nada.
Descrio
Mtodo; transforma o clipe de filme no parmetro mscara_mc em uma mscara que revela o clipe de filme especificado pelo parmetro meu_mc. Esse mtodo permite que clipes de filme com vrios quadros e contedo complexo em diversas camadas atuem como mscaras. possvel ativar e desativar mscaras em tempo de execuo. Entretanto, voc no pode usar a mesma mscara para vrios itens com mscara (o que possvel com camadas de mscara). Se houver fontes de dispositivo em um clipe de filme mascarado, elas sero identificadas, mas no mascaradas. No possvel definir um clipe de filme de modo que ele seja sua prpria mscara, por exemplo, meu_mc.setMask(meu_mc). Se voc criar uma camada de mscara que contenha um clipe de filme e, em seguida, aplicar o mtodo setMask() a ele, a chamada setMask() ter prioridade e no ser possvel reverter esse quadro. Por exemplo, se houver um clipe de filme em uma camada de mscara chamada UIMask, esta mascarar a outra camada que contm outro clipe de filme chamado UIMaskee. Se, medida que o arquivo SWF for reproduzido, voc chamar UIMask.setMask(UIMaskee), UIMask ser mascarado por UIMaskee desse ponto em diante.
setMask().
Para cancelar uma mscara criada com ActionScript, passe o valor null para o mtodo O cdigo a seguir cancela a mscara sem afetar a camada da mscara na Timeline (Linha de tempo).
UIMask.setMask(null); Exemplo
O cdigo a seguir usa o clipe de filme circleMask_mc para mascarar o clipe de filme theMaskee_mc.
theMaskee_mc.setMask(circleMask_mc);
614
MovieClip._soundbuftime
Disponibilidade
Flash Player 6.
Uso meu_mc._soundbuftime Descrio
Propriedade (global); um inteiro que especifica o nmero de segundos em que um som armazenado em pr-buffer antes de comear a fluir.
MovieClip.startDrag()
Disponibilidade
Flash Player 5.
Uso meu_mc.startDrag([bloqueio, [esquerdo, superior, direito, inferior]]) Parmetros bloqueio Um valor booleano que especifica se o clipe de filme a ser arrastado est bloqueado no centro da posio do mouse (true) ou no ponto onde o usurio clicou nele pela primeira vez (false). Este parmetro opcional. esquerdo, superior, direito, inferior
Valores relativos s coordenadas do pai do clipe de filme que especificam um retngulo de restrio para o clipe de filme. Esses parmetros so opcionais.
Retorna
Nada.
Descrio
Mtodo; permite que o usurio arraste o clipe de filme especificado. O clipe de filme permanecer arrastvel at que essa caracterstica seja cancelada explicitamente por uma chamada a MovieClip.stopDrag() ou at que outro clipe de filme se torne arrastvel. Somente um clipe de filme arrastvel de cada vez.
Consulte tambm MovieClip._droptarget, startDrag(), MovieClip.stopDrag()
MovieClip.startDrag()
615
MovieClip.stop()
Disponibilidade
Flash Player 5.
Uso meu_mc.stop() Parmetros
Nenhum.
Retorna
Nada.
Descrio
MovieClip.stopDrag()
Disponibilidade
Flash Player 5.
Uso meu_mc.stopDrag() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; finaliza um mtodo MovieClip.startDrag(). Um clipe de filme que adquire a caracterstica de arrastvel com esse mtodo permanece assim at que o mtodo stopDrag() seja adicionado ou at que outro clipe de filme se torne arrastvel. Somente um clipe de filme arrastvel de cada vez.
Consulte tambm MovieClip._droptarget, MovieClip.startDrag(), stopDrag()
616
MovieClip.swapDepths()
Disponibilidade
Flash Player 5.
Uso meu_mc.swapDepths(profundidade) meu_mc.swapDepths(destino) Parmetros profundidade
colocado.
destino Uma seqncia de caracteres que especifica a instncia de clipe de filme cuja profundidade trocada pela instncia especificada por meu_mc. As duas instncias devem ter o mesmo clipe de filme pai. Retorna
Nada.
Descrio
Mtodo; troca a ordem de empilhamento ou ordem z (nvel de profundidade) da instncia especificada (meu_mc) com o clipe de filme determinado pelo parmetro destino ou com o clipe de filme que ocupa atualmente o nvel de profundidade indicado no parmetro profundidade. Os dois clipes de filme devem ter o mesmo clipe de filme pai. Trocar o nvel de profundidade de clipes de filme tem o efeito de mover um clipe de filme para frente ou para trs de outro. Se quando esse mtodo for chamado, um clipe de filme estiver realizando uma interpolao, a interpolao ser encerrada. Para obter mais informaes, consulte Gerenciando profundidades do clipe de filme na pgina 137.
Consulte tambm _level, MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth()
MovieClip.swapDepths()
617
MovieClip.tabChildren
Disponibilidade
Flash Player 6.
Uso meu_mc.tabChildren Descrio
Propriedade; undefined por padro. Se tabChildren for undefined ou true, os filhos de um clipe de filme sero includos na ordenao de tabulao automtica. Se o valor de tabChildren for false, os filhos de um clipe de filme no sero includos na ordenao de tabulao automtica.
Exemplo
Um dispositivo de IU de caixa de listagem criado como um clipe de filme contm vrios itens. O usurio pode clicar em cada item para selecion-lo, pois cada item um boto. Todavia, somente a prpria caixa de listagem deve ser considerada uma interrupo de tabulao. Os itens contidos na caixa de listagem devem ser excludos da ordenao de tabulao. Para fazer isso, defina a propriedade tabChildren da caixa de listagem como false. A propriedade tabChildren no ter nenhum efeito se a propriedade tabIndex for utilizada. A propriedade tabChildren s afeta a ordenao de tabulao automtica.
Consulte tambm Button.tabIndex, MovieClip.tabEnabled, MovieClip.tabIndex, TextField.tabIndex
618
MovieClip.tabEnabled
Disponibilidade
Flash Player 6.
Uso meu_mc.tabEnabled Descrio
Propriedade; especifica se meu_mc est includo na ordenao de tabulao automtica. A opo undefined utilizada por padro. Se tabEnabled for undefined, o objeto ser includo na ordenao de tabulao automtica somente se definir pelo menos um manipulador de boto, como MovieClip.onRelease. Se tabEnabled for true, o objeto ser includo na ordenao de tabulao automtica. Se a propriedade tabIndex tambm estiver definida com determinado valor, o objeto tambm ser includo na ordenao de tabulao personalizada. Se tabEnabled for false, o objeto no ser includo nem na ordenao de tabulao automtica nem na personalizada, ainda que a propriedade tabIndex seja definida. No entanto, se MovieClip.tabChildren for true, os filhos do clipe de filme ainda podero ser includos na ordenao de tabulao automtica, mesmo se tabEnabled for false.
Consulte tambm Button.tabEnabled, MovieClip.tabChildren, MovieClip.tabIndex, TextField.tabEnabled
MovieClip.tabEnabled
619
MovieClip.tabIndex
Disponibilidade
Flash Player 6.
Uso meu_mc.tabIndex Descrio
Propriedade; permite personalizar a ordenao de tabulao dos objetos em um filme. A propriedade tabIndex undefined por padro. Voc pode definir tabIndex em um boto, clipe de filme ou instncia de campo de texto. Se um objeto em um arquivo SWF tiver uma propriedade tabIndex, a ordenao de tabulao automtica ser desativada. Nesse caso, a ordenao calculada com base nas propriedades tabIndex dos objetos no arquivo SWF. A ordenao de tabulao personalizada inclui apenas os objetos que tm propriedades tabIndex. A propriedade tabIndex deve ser um inteiro positivo. Os objetos so ordenados de acordo com suas propriedades tabIndex, em ordem ascendente. Um objeto cujo tabIndex tenha valor 1 precede um objeto com tabIndex com valor 2. A ordenao de tabulao personalizada ignora os relacionamentos hierrquicos dos objetos em um arquivo SWF. Todos os objetos contidos no arquivo SWF que tiverem propriedades tabIndex sero colocados na ordem de tabulao. Voc no deve usar o mesmo valor de tabIndex para vrios objetos.
Consulte tambm Button.tabIndex, TextField.tabIndex
MovieClip._target
Disponibilidade
Flash Player 4.
Uso meu_mc._target Descrio
Propriedade (somente de leitura); retorna o caminho de destino da instncia de clipe de filme especificada por meu_mc.
620
MovieClip._totalframes
Disponibilidade
Flash Player 4.
Uso meu_mc._totalframes Descrio
Propriedade (somente de leitura); retorna o nmero total de quadros na instncia de clipe de filme especificada no parmetro MovieClip.
MovieClip.trackAsMenu
Disponibilidade
Flash Player 6.
Uso meu_mc.trackAsMenu Descrio
Propriedade; uma propriedade booleana que indica se outros botes ou clipes de filme podem ou no receber eventos de liberao de mouse. Permite a criao de menus. Voc pode definir a propriedade trackAsMenu em qualquer boto ou objeto de clipe de filme. Se a propriedade trackAsMenu no existir, o comportamento padro ser false. Voc pode alterar a propriedade trackAsMenu a qualquer momento; o clipe de filme tipo boto modificado adquire imediatamente o novo comportamento.
Consulte tambm Button.trackAsMenu
MovieClip.trackAsMenu
621
MovieClip.unloadMovie()
Disponibilidade
Flash Player 5.
Uso meu_mc.unloadMovie() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; retorna o contedo de uma instncia de clipe de filme. As propriedades de instncia e os manipuladores de clipe permanecem. Para remover a instncia, inclusive suas propriedades e seus manipuladores de clipe, use MovieClip.removeMovieClip().
Consulte tambm MovieClip.attachMovie(), MovieClip.loadMovie(), unloadMovie(), unloadMovieNum()
MovieClip._url
Disponibilidade
Flash Player 4.
Uso meu_mc._url Descrio
Propriedade (somente de leitura); recupera o URL do arquivo SWF do qual o clipe de filme foi descarregado.
622
MovieClip.useHandCursor
Disponibilidade
Flash Player 6.
Uso meu_mc.useHandCursor Descrio
Propriedade; um valor booleano que indica se o cursor em forma de mo (mo indicadora) exibido quando o mouse rola sobre um clipe de filme tipo boto. O valor padro de useHandCursor true. Se useHandCursor for definido como true, o cursor em forma de mo ser exibido quando o mouse rolar sobre um clipe de filme tipo boto. Se useHandCursor for false, ser usado o cursor em forma de seta. Voc pode alterar a propriedade useHandCursor a qualquer momento; o clipe de filme tipo boto modificado adquire imediatamente o comportamento do novo cursor. possvel ler a propriedade useHandCursor de um objeto prottipo.
MovieClip._visible
Disponibilidade
Flash Player 4.
Uso meu_mc._visible Descrio
Propriedade; um valor booleano que indica se o clipe de filme especificado por meu_mc fica visvel. Os clipes de filme que no so visveis (propriedade _visible definida como false) so desativados. Por exemplo, no possvel clicar em um boto em um clipe de filme com a propriedade _visible definida como false.
Consulte tambm Button._visible, TextField._visible
MovieClip._visible
623
MovieClip._width
Disponibilidade
O exemplo de cdigo a seguir define a altura e a largura das propriedades de um clipe de filme quando o usurio clica com o mouse.
onclipEvent(mouseDown) { _width=200; _height=200; } Consulte tambm MovieClip._height
MovieClip._x
Disponibilidade
Flash Player 3.
Uso meu_mc._x Descrio
Propriedade; um inteiro que define a coordenada x de um clipe de filme em relao s coordenadas locais do clipe de filme pai. Se um clipe de filme estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o clipe de filme estiver dentro de outro clipe de filme que tenha transformaes, ele estar no sistema de coordenadas local do clipe de filme no qual est contido. Assim, para um clipe de filme girado 90 graus no sentido anti-horrio, os filhos do clipe de filme herdam um sistema de coordenadas que girado 90 graus no sentido anti-horrio. As coordenadas do clipe de filme referem-se posio do ponto de registro.
Consulte tambm MovieClip._xscale, MovieClip._y, MovieClip._yscale
624
MovieClip._xmouse
Disponibilidade
Flash Player 5.
Uso meu_mc._xmouse Descrio
MovieClip._xscale
Disponibilidade
Flash Player 4.
Uso meu_mc._xscale Descrio
Propriedade; determina o dimensionamento horizontal (porcentagem) do clipe de filme como aplicado do ponto do registro do clipe de filme. O ponto de registro padro (0,0). Dimensionar o sistema de coordenadas local afeta as configuraes da propriedade _x e _y, que so definidas em pixels. Por exemplo, se o clipe de filme pai for dimensionado em 50%, a definio da propriedade _x mover um objeto no clipe de filme pela metade do nmero de pixels, como se o filme tivesse sido definido em 100%.
Consulte tambm MovieClip._x, MovieClip._y, MovieClip._yscale
MovieClip._xscale
625
MovieClip._y
Disponibilidade
Flash Player 3.
Uso meu_mc._y Descrio
Propriedade; define a coordenada y de um clipe de filme relativa s coordenadas locais do clipe de filme pai. Se um clipe de filme estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o clipe de filme estiver dentro de outro clipe de filme que tenha transformaes, ele estar no sistema de coordenadas local do clipe de filme no qual est contido. Assim, para um clipe de filme girado 90 graus no sentido anti-horrio, os filhos do clipe de filme herdam um sistema de coordenadas que girado 90 graus no sentido anti-horrio. As coordenadas do clipe de filme referem-se posio do ponto de registro.
Consulte tambm MovieClip._x, MovieClip._xscale, MovieClip._yscale
MovieClip._ymouse
Disponibilidade
Flash Player 5.
Uso meu_mc._ymouse Descrio
626
MovieClip._yscale
Disponibilidade
Flash Player 4.
Uso meu_mc._yscale Descrio
Propriedade; define a escala vertical (porcentagem) do clipe de filme conforme aplicado do ponto de registro do clipe de filme. O ponto de registro padro (0,0). Dimensionar o sistema de coordenadas local afeta as configuraes da propriedade _x e _y, que so definidas em pixels. Por exemplo, se o clipe de filme pai for dimensionado em 50%, a definio da propriedade _x mover um objeto no clipe de filme pela metade do nmero de pixels, como se o filme tivesse sido dimensionado em 100%.
Consulte tambm MovieClip._x, MovieClip._xscale, MovieClip._y
Classe MovieClipLoader
Disponibilidade
Flash Player 7.
Descrio
Esta classe permite implementar retornos de chamada de ouvinte que fornecem informaes de status enquanto os arquivos SWF ou JPEG esto sendo carregados (por download) em clipes de filme. Para usar recursos MovieClipLoader, use MovieClipLoader.loadClip(), em vez de loadMovie() ou MovieClip.loadMovie(), para carregar arquivos SWF. Quando voc emite o comando MovieClipLoader.loadClip(), os seguintes eventos ocorrem na ordem indicada:
ser chamado.
Quando MovieClipLoader.onLoadInit() for chamado, voc poder definir propriedades, usar mtodos e interagir com o filme carregado.
MovieClipLoader.onLoadError()
Classe MovieClipLoader
627
Descrio Registra um objeto para receber notificao quando um manipulador de eventos MovieClipLoader for chamado. Retorna o nmero de bytes carregados e o nmero total de bytes de um arquivo que est sendo carregado com MovieClipLoader.loadClip(). Carrega um arquivo SWF ou JPEG em um clipe de filme no Flash Player durante a reproduo do filme original. Apaga um objeto que foi registrado com o MovieClipLoader.addListener(). Remove um clipe de filme que foi carregado por meio do MovieClipLoader.loadClip().
MovieClipLoader.getProgress()
MovieClipLoader.loadClip()
MovieClipLoader.removeListener()
MovieClipLoader.unloadClip()
Descrio Chamado quando um arquivo carregado com MovieClipLoader.loadClip() totalmente descarregado. Chamado quando ocorre uma falha e um arquivo carregado com MovieClipLoader.loadClip() no carregado. Chamado quando as aes do primeiro quadro do clipe carregado so executadas. Chamado sempre que o contedo do carregamento gravado no disco durante o processo de carregamento. Chamado quando uma chamada a MovieClipLoader.loadClip() comea a descarregar um arquivo.
MovieClipLoader.onLoadError()
MovieClipLoader.onLoadInit()
MovieClipLoader.onLoadProgress()
MovieClipLoader.onLoadStart()
Flash Player 7.
Uso new MovieClipLoader() Parmetros
Nenhum.
Retorna
Nada.
628
Descrio
Construtor; cria um objeto MovieClipLoader, que voc pode usar para implementar vrios ouvintes para responder a eventos enquanto um arquivo SWF ou JPEG est sendo descarregado.
Exemplo
Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.addListener()
MovieClipLoader.addListener()
Disponibilidade
Flash Player 7.
Uso meu_mcl.addListener(objetoOuvinte) Parmetros objetoOuvinte
Um objeto que ouve uma notificao de retorno de chamada dos manipuladores de eventos MovieClipLoader. Nada.
Retorna
Descrio
Mtodo; registra um objeto para receber notificao quando um manipulador de eventos MovieClipLoader for chamado.
Exemplo
Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.onLoadComplete(), MovieClipLoader.onLoadError(), MovieClipLoader.onLoadInit(), MovieClipLoader.onLoadProgress(), MovieClipLoader.onLoadStart(), MovieClipLoader.removeListener()
MovieClipLoader.addListener()
629
MovieClipLoader.getProgress()
Disponibilidade
Flash Player 7.
Uso meu_mcl.getProgress(destino_mc) Parmetros destino_mc Um arquivo SWF ou MovieClipLoader.loadClip(). Retorna
Mtodo; retorna o nmero de bytes carregados e o nmero total de bytes de um arquivo que est sendo carregado por meio de MovieClipLoader.loadClip(). Para filmes compactados, reflete o nmero de bytes compactados. Este mtodo permite solicita explicitamente essas informaes, em vez de (ou alm de) criar uma funo de ouvinte MovieClipLoader.onLoadProgress().
Exemplo
Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.onLoadProgress()
630
MovieClipLoader.loadClip()
Disponibilidade
Flash Player 7.
Uso meu_mcl.loadClip("url", destino ) Parmetros url
O URL absoluto ou relativo do arquivo SWF ou JPEG a ser carregado. Um caminho relativo deve ser relacionado ao arquivo SWF no nvel 0. Os URLs absolutos devem incluir a referncia de protocolo, como http:// ou file:///. Os nomes de arquivo no podem conter especificaes de unidade de disco. O caminho de destino de um clipe de filme ou um inteiro que especifica o nvel no Flash Player em que o filme ser carregado. O clipe de filme de destino ser substitudo pela imagem ou filme carregado.
destino
Retorna
Nada.
Descrio
Mtodo; carrega um arquivo SWF ou JPEG em um clipe de filme no Flash Player durante a reproduo do filme original. Esse mtodo permite que voc exiba vrios filmes de uma vez e alterne entre os filmes sem carregar outro documento HTML. O uso desse mtodo, em vez de loadMovie() ou MovieClip.loadMovie(), apresenta diversas vantagens:
Um filme ou imagem carregada em um clipe de filme herda as propriedades de posio, rotao e dimensionamento do clipe de filme. Use o caminho de destino do clipe de filme para especificar o filme carregado. Voc pode usar esse mtodo para carregar um ou mais arquivos em um nico clipe de filme ou nvel. Os objetos ouvinte MovieClipLoader so passados para a instncia de clipe de filme como um parmetro. Se preferir, voc pode criar um objeto MovieClipLoader para cada arquivo que carregar. Use MovieClipLoader.unloadClip() para remover filmes ou imagens carregadas com esse mtodo ou cancelar uma operao de carregamento que esteja em andamento.
MovieClipLoader.loadClip()
631
Exemplo
632
// carrega em _level1 meu_mcl.loadClip("file:///C:/mdia/imagens/umaFigura.jpg", 1); // Segundo conjunto de ouvintes var outro_mcl = new MovieClipLoader(); meuOuvinte2 = new Object(); meuOuvinte2.onLoadStart = function (destino_mc) { meuTrace("*********Segunda instncia de meu_mcl*********"); meuTrace ("Seu carregamento comeou no clipe de filme 22 . = " + destino_mc); var loadProgress = meu_mcl.getProgress(destino_mc); meuTrace(loadProgress.bytesLoaded + " = bytes carregados no incio" ); meuTrace(loadProgress.bytesTotal + " = total de bytes no incio"); } meuOuvinte2.onLoadComplete = function (destino_mc) { meuTrace ("*********Segunda instncia de meu_mcl*********"); meuTrace ("Seu carregamento feito no clipe de filme = " + destino_mc); var loadProgress = meu_mcl.getProgress(destino_mc); meuTrace(loadProgress.bytesLoaded + " = bytes carregados no final"); meuTrace(loadProgress.bytesTotal + " = total de bytes no final" ); } meuOuvinte2.onLoadError = function (destino_mc, errorCode) { meuTrace ("*********Segunda instncia de meu_mcl*********"); meuTrace ("CDIGO DE ERRO = " + errorCode); meuTrace ("Seu carregamento falhou no clipe de filme = " + destino_mc + "\n"); } outro_mcl.addListener(meuOuvinte2); // Agora carregue os arquivos em seus destinos (usando a segunda instncia de // MovieClipLoader) outro_mcl.loadClip("http://www.umdomnio.umlocal.com/umTerceiroArquivo.jpg", _root.meuMC4); // Emita as instrues a seguir aps a concluso do download // e aps a chamada a meu_mcl.onLoadInit. // meu_mcl.removeListener(meuOuvinte) // meu_mcl.removeListener(meuOuvinte2) Consulte tambm MovieClipLoader.unloadClip()
MovieClipLoader.loadClip()
633
MovieClipLoader.onLoadComplete()
Disponibilidade
Flash Player 7.
Uso objetoOuvinte.onLoadComplete() = function(destino_mc) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc Retorna
Nada.
Descrio
Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.addListener(), MovieClipLoader.onLoadStart(), MovieClipLoader.onLoadError()
634
MovieClipLoader.onLoadError()
Disponibilidade
Flash Player 7.
Uso objetoOuvinte.onLoadError() = function(destino_mc, errorCode) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc errorCode Retorna
O clipe de filme carregado por um mtodo MovieClipLoader.loadClip(). Uma seqncia de caracteres que explica o motivo da falha.
Ouvinte; chamado quando ocorre uma falha no carregamento de um arquivo carregado com MovieClipLoader.loadClip(). A seqncia de caracteres URLNotFound ser retornada se o ouvinte MovieClipLoader.onLoadStart() ou MovieClipLoader.onLoadComplete() for chamado. Por exemplo, se um servidor estiver desativado ou se o arquivo no for encontrado, esses ouvintes no sero chamados. A seqncia de caracteres LoadNeverCompleted ser retornada se
MovieClipLoader.onLoadStart() for chamado, mas MovieClipLoader.onLoadComplete() no for chamado. Por exemplo, se MovieClipLoader.onLoadStart() for chamado, mas o
download for interrompido em decorrncia, por exemplo, de a uma sobrecarga ou falha no servidor, MovieClipLoader.onLoadComplete() no ser chamado.
Exemplo
Consulte MovieClipLoader.loadClip().
MovieClipLoader.onLoadError()
635
MovieClipLoader.onLoadInit()
Disponibilidade
Flash Player 7.
Uso objetoOuvinte.onLoadInit() = function(destino_mc) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc Retorna
Nada.
Descrio
Ouvinte; chamado quando as aes no primeiro quadro do clipe carregado so executadas. Quando esse ouvinte chamado, voc pode definir propriedades, usar mtodos e interagir com o filme carregado.
Exemplo
Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.onLoadStart()
636
MovieClipLoader.onLoadProgress()
Disponibilidade
Flash Player 7.
Uso objetoOuvinte.onLoadProgress() = function(destino_mc [, loadedBytes [, totalBytes ] ] ) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc loadedBytes totalBytes Retorna
O clipe de filme carregado por um mtodo MovieClipLoader.loadClip(). O nmero de bytes que foram carregados quando o ouvinte foi chamado. O nmero total de bytes do arquivo que est sendo carregado.
Nada.
Descrio
Ouvinte; chamado sempre que o contedo do carregamento gravado no disco durante o processo de carregamento (ou seja, entre MovieClipLoader.onLoadStart() e MovieClipLoader.onLoadComplete()). Voc pode usar esse mtodo para exibir informaes sobre o andamento do download, usando os parmetros loadedBytes e totalBytes.
Exemplo
Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.getProgress()
MovieClipLoader.onLoadProgress()
637
MovieClipLoader.onLoadStart()
Disponibilidade
Flash Player 7.
Uso objetoOuvinte.onLoadStart() = function(destino_mc) { // suas instrues entram aqui } Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). destino_mc Retorna
Nada.
Descrio
Consulte MovieClipLoader.loadClip().
Consulte tambm MovieClipLoader.onLoadError(), MovieClipLoader.onLoadInit(), MovieClipLoader.onLoadComplete()
MovieClipLoader.removeListener()
Disponibilidade
Flash Player 7.
Uso meu_mcl.removeListener(objetoOuvinte) Parmetros objetoOuvinte Um objeto ouvinte MovieClipLoader.addListener(). Retorna
Nada.
638
Descrio
Mtodo; exclui um objeto que foi usado para receber uma notificao quando um manipulador de eventos MovieClipLoader foi chamado.
Exemplo
Consulte MovieClipLoader.loadClip().
MovieClipLoader.unloadClip()
Disponibilidade
Flash Player 7.
Uso meu_mcl.unloadClip(destino) Parmetros destino A seqncia meu_mcl.loadClip(). Retorna
Nada.
Descrio
Mtodo; remove um clipe de filme que foi carregado por meio de MovieClipLoader.loadClip(). Se voc emitir esse comando enquanto um filme estiver sendo carregado, MovieClipLoader.onLoadError() ser chamado.
Consulte tambm MovieClipLoader.loadClip()
MovieClipLoader.unloadClip()
639
NaN
Disponibilidade
Flash Player 5.
Uso NaN Descrio
Varivel; uma varivel predefinida com o valor IEEE 754 para NaN (Not a Number No-nmero). Para determinar se um nmero NaN, use isNaN().
Consulte tambm isNaN(), Number.NaN
Um valor booleano.
Descrio
Operador (comparao); comparar a expresso1 com a expresso2 e retornar true se a expresso1 no for igual expresso2; caso contrrio, retornar false.
Consulte tambm != (diferena)
640
Classe NetConnection
Disponibilidade
Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Descrio
A classe NetConnection fornece os meios para reproduzir arquivos FLV de fluxo a partir de uma unidade local ou de um endereo HTTP. Para obter mais informaes sobre reproduo de vdeo, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211. Resumo dos mtodos da classe NetConnection
Mtodo
NetConnection.connect()
Descrio Abre uma conexo local por meio da qual possvel reproduzir arquivos de vdeo (FLV) a partir de um endereo HTTP ou do sistema de arquivos local.
Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso new NetConnection() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Construtor; cria um objeto NetConnection, que voc pode usar em conjunto com um objeto NetStream para reproduzir arquivos de vdeo de fluxo (FLV) locais. Aps criar o objeto NetConnection, use NetConnection.connect() para estabelecer a conexo real. A reproduo de arquivos FLV oferece diversas vantagens em relao incorporao de vdeo em um documento do Flash, como melhor gerenciamento de desempenho e memria, alm de taxas de quadros de vdeo e do Flash independentes. Para obter mais informaes, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211.
Consulte tambm
Classe NetConnection
641
NetConnection.connect()
Disponibilidade
Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_nc.connect(null); Parmetros
Nada.
Descrio
Construtor; abre uma conexo local por meio da qual possvel reproduzir arquivos de vdeo (FLV) a partir de um endereo HTTP ou do sistema de arquivos local.
Consulte tambm
Classe NetStream
Classe NetStream
Disponibilidade
Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Descrio
A classe NetStream fornece mtodos e propriedades para reproduzir arquivos Flash Video (FLV) no sistema de arquivos local ou em um endereo HTTP. Use um objeto NetStream para transmitir vdeo em fluxo por meio de um objeto NetConnection. A reproduo de arquivos FLV oferece diversas vantagens em relao incorporao de vdeo em um documento do Flash, como melhor gerenciamento de desempenho e memria, alm de taxas de quadros de vdeo e do Flash independentes. Essa classe oferece vrios mtodos e propriedades, que voc pode usar para acompanhar o andamento do arquivo medida que ele carregado e reproduzido, e fornecer ao usurio o controle sobre a reproduo (para parar, fazer pausa, etc.). Para obter mais informaes sobre reproduo de vdeo, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211.
642
Resumo dos mtodos da classe NetStream Os mtodos e propriedades a seguir das classes NetConnection e NetStream so usados para controlar a reproduo de FLV.
Mtodo
NetStream.close() NetStream.pause() NetStream.play() NetStream.seek()
Objetivo Fecha o fluxo mas no limpa o objeto de vdeo. Faz pausa ou continua a reproduo de um fluxo. Comea a reproduo de um arquivo de vdeo (FLV) externo. Busca uma posio especfica no arquivo FLV. buffer antes de o fluxo comear a ser exibido.
Descrio O nmero de segundos de dados que esto armazenados no buffer no momento. Somente leitura: o nmero de segundos atribudos ao buffer por NetStream.setBufferTime(). Somente leitura; o nmero de bytes de dados que foram carregados no exibidor. Somente leitura; o tamanho total em bytes do arquivo que est sendo carregado no exibidor. O nmero de quadros por segundo que esto sendo exibidos. Somente leitura; a posio da reproduo, em segundos.
NetStream.bufferTime
NetStream.bytesLoaded
NetStream.bytesTotal
NetStream.currentFps NetStream.time
Descrio Chamado sempre que uma alterao de status ou um erro for enviado ao objeto NetStream.
Flash Player 7.
Observao: Essa classe tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso new NetStream(meu_nc)
Classe NetStream
643
Um objeto NetConnection.
Nada.
Descrio
Construtor; cria um fluxo que pode ser usado para reproduzir arquivos FLV por meio do objeto NetConnection especificado.
Exemplo
O cdigo a seguir constri primeiramente um novo objeto NetConnection, meu_nc, e o usa para construir um novo objeto NetStream, denominado fluxoVdeo_ns.
meu_nc = new NetConnection(); meu_nc.connect(null); fluxoVdeo_ns = new NetStream(meu_nc); Consulte tambm
NetStream.bufferLength
Disponibilidade
Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.bufferLength Descrio
Propriedade somente de leitura; o nmero de segundos de dados armazenados no buffer no momento. Use essa propriedade em conjunto com NetStream.bufferTime para avaliar o percentual de utilizao do buffer por exemplo, para exibir uma resposta para um usurio que esteja esperando os dados serem carregados no buffer.
Consulte tambm NetStream.bytesLoaded
644
NetStream.bufferTime
Disponibilidade
Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meuStream.bufferTime Descrio
Propriedade somente de leitura; o nmero de segundos atribudos ao buffer por NetStream.setBufferTime(). O valor padro 0,1 (um dcimo de segundo). Para determinar o nmero de segundos que esto armazenados no buffer no momento, use NetStream.bufferLength.
Consulte tambm NetStream.time
NetStream.bytesLoaded
Disponibilidade
Flash Player 7.
Uso meu_ns.bytesLoaded Descrio
Propriedade somente de leitura; o nmero de bytes de dados que foram carregados no exibidor. Use esse mtodo em conjunto com NetStream.bytesTotal para avaliar o percentual de utilizao do buffer por exemplo, para exibir uma resposta para um usurio que esteja esperando os dados serem carregados no buffer.
Consulte tambm NetStream.bufferLength
NetStream.bytesLoaded
645
NetStream.bytesTotal
Disponibilidade
Flash Player 7.
Uso meu_ns.bytesLoaded Descrio
Propriedade somente de leitura; o tamanho total em bytes do arquivo que est sendo carregado no exibidor.
Consulte tambm NetStream.bytesLoaded, NetStream.bufferTime
NetStream.close()
Disponibilidade
Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.close() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; pra de reproduzir todos os dados do fluxo, define a propriedade NetStream.time como 0 e torna o fluxo disponvel para outro uso. Esse comando tambm exclui a cpia local de um arquivo FLV que foi descarregado por meio do HTTP.
646
Exemplo
A funo onDisconnect() a seguir fecha uma conexo e excluir a cpia temporria de umArquivo.flv que estava armazenada no disco local.
meu_nc = new NetConnection(); meu_nc.connect(null); meu_ns = new NetStream(meu_nc); meu_ns.play("http://www.umDomnio.com/vdeos/umArquivo.flv"); function onDisconnect() { meu_ns.close(); } Consulte tambm NetStream.pause(), NetStream.play()
NetStream.currentFps
Disponibilidade
Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.currentFps Descrio
Propriedade somente de leitura; o nmero de quadros por segundo que esto sendo exibidos. Se voc estiver exportando arquivos FLV para serem reproduzidos em diversos sistemas, poder verificar esse valor durante o teste para ajudar a determinar o percentual de compactao a ser aplicado durante a exportao do arquivo.
NetStream.currentFps
647
NetStream.onStatus
Disponibilidade
Flash Player 7.
Observao: Esse manipulador tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.onStatus = function(objetoInfo) { // aqui entra o seu cdigo } Parmetros objetoInfo
Um parmetro definido de acordo com a mensagem de status ou de erro. Para obter mais informaes sobre esse parmetro, consulte Descrio, a seguir.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado sempre que uma alterao de status ou um erro enviado para o objeto NetStream. Caso deseje responder a esse manipulador de eventos, ser necessrio criar uma funo para processar o objeto de informao. O objeto de informao tem uma propriedade code que contm uma seqncia de caracteres que descreve o resultado do manipulador onStatus e uma propriedade level que contm uma seqncia de caracteres "Status" ou "Error". Alm desse manipulador onStatus, o Flash oferece uma superfuno denominada System.onStatus. Se onStatus for chamado para determinado objeto e no houver funo atribuda para resposta, o Flash processar uma funo atribuda a System.onStatus, se esta existir. Os eventos a seguir avisam quando ocorrem determinadas atividades de NetStream.
Propriedade Code
NetStream.Buffer.Empty
Significado Os dados no esto sendo recebidos com rapidez suficiente para preencher o buffer. O fluxo de dados ficar interrompido at que o buffer seja preenchido novamente, quando uma mensagem NetStream.Buffer.Full ser enviada e o fluxo recomear a ser reproduzido. O buffer est completo e o fluxo comear a ser reproduzido. A reproduo comeou.
NetStream.Buffer.Full
Status Status
NetStream.Play.Start
648
Propriedade Code
NetStream.Play.Stop NetStream.Play.StreamNotFound
Significado A reproduo parou. O FLV passado para o mtodo play() no foi encontrado.
Exemplo
NetStream.pause()
Disponibilidade
Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.pause( [ pausaContinuar ] ) Parmetros pausaContinuar Opcional: um valor booleano que especifica se deve ser feita uma pausa na reproduo (true) ou se a reproduo deve continuar (false). Se voc omitir esse parmetro, NetStream.pause() funcionar como uma chave de alternncia: na primeira vez em que for
chamado em um fluxo, ele far uma pausa na reproduo. E, na prxima vez em que for chamado, continuar a reproduo.
Retorna
Nada.
Descrio
Mtodo; faz uma pausa ou continua a reproduo de um fluxo. Na primeira vez em que voc chamar esse mtodo (sem enviar um parmetro), ele far uma pausa na reproduo; na prxima vez, ele continuar a reproduo. Voc pode anexar esse mtodo a um boto que o usurio pressiona para fazer uma pausa ou reiniciar a reproduo.
NetStream.pause()
649
Exemplo
NetStream.play()
Disponibilidade
Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.play("nomeArquivo"); Parmetros nomeArquivo
O nome de um arquivo FLV a ser reproduzido, entre aspas. Os formatos http:// e file:// so suportados. O local file:// sempre relativo ao local do arquivo SWF.
Retorna
Nada.
Descrio
Mtodo; comea a reproduo de um arquivo de vdeo (FLV) externo. Para exibir dados de vdeo, voc deve chamar um mtodo Video.attachVideo(). O udio que est sendo transmitido com o vdeo, ou um arquivo FLV que contenha apenas udio, reproduzido automaticamente. Se voc quiser controlar o udio associado a um arquivo FLV, poder usar MovieClip.attachAudio() para rotear o udio para um clipe de filme. Em seguida, poder criar um objeto Sound para controlar alguns aspectos do udio. Para obter mais informaes, consulte MovieClip.attachAudio(). Se o arquivo FLV no for encontrado, o manipulador de eventos NetStream.onStatus ser chamado. Se voc quiser interromper um fluxo que esteja sendo reproduzido no momento, use NetStream.close(). Voc pode reproduzir arquivos FLV locais que estejam armazenados no mesmo diretrio que o arquivo SWF ou em um subdiretrio. No possvel navegar at um diretrio de nvel superior. Por exemplo, se o arquivo SWF estiver localizado em um diretrio denominado /treinamento e voc quiser reproduzir um vdeo armazenado em /treinamento/vdeos, dever usar a seguinte sintaxe:
meu_ns.play("file://vdeos/nomeVdeo.flv");
650
Para reproduzir um vdeo armazenado no diretrio /treinamento, voc dever usar a seguinte sintaxe: meu_ns.play("file://nomeVdeo.flv");
Exemplo
NetStream.play()
651
NetStream.seek()
Disponibilidade
Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.seek(nmeroDeSegundos) Parmetros nmeroDeSegundos
O valor de tempo aproximado, em segundos, a ser movido para um arquivo FLV. A reproduo avana para o quadro-chave mais prximo a nmeroDeSegundos.
Para voltar ao incio do fluxo, passe 0 para nmeroDeSegundos. Para fazer uma busca para a frente a partir do incio do fluxo, passe o nmero de segundos que
voc deseja avanar. Por exemplo, para posicionar a reproduo em 15 segundos a partir do incio, use meuStream.seek(15). Para fazer uma busca em relao posio atual, passe meustream.time + n ou meustream.time - n para fazer uma busca de n segundos para a frente ou para trs, respectivamente, a partir da posio atual. Por exemplo, para retroceder 20 segundos a partir da posio atual, use meu_ns.seek(meu_ns.time - 20).
Retorna
Nada.
Descrio
Mtodo; faz a busca do quadro-chave mais prximo ao nmero de segundos especificado a partir do incio do fluxo. O fluxo continua a ser reproduzido quando alcana o local especificado no fluxo.
Exemplo
652
NetStream.setBufferTime()
Disponibilidade
Flash Player 7.
Observao: Esse mtodo tambm suportado pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.setBufferTime(nmeroDeSegundos) Parmetros nmeroDeSegundos
O nmero de segundos de dados a serem armazenados no buffer antes de o Flash comear a exibir dados. O valor padro 0,1 (um dcimo de segundo).
Descrio
Mtodo; especifica por quanto tempo as mensagens devem ser armazenadas no buffer de o fluxo comear a ser exibido. Por exemplo, se voc quiser ter certeza de que os 15 primeiros segundos do fluxo sero reproduzidos sem interrupo, defina nmeroDeSegundos como 15. O Flash comea a reproduzir o fluxo somente 15 segundos depois de os dados serem armazenados no buffer.
Consulte tambm NetStream.bufferTime
NetStream.time
Disponibilidade
Flash Player 7.
Observao: Essa propriedade tambm suportada pelo Flash Player 6 quando usado com o Flash Communication Server. Para obter mais informaes, consulte a documentao do Flash Communication Server. Uso meu_ns.time Descrio
NetStream.time
653
new
Disponibilidade
Flash Player 5.
Uso new construtor() Parmetros construtor Uma funo seguida por parmetros opcionais em parnteses. Normalmente, a funo o nome do tipo de objeto (por exemplo, Array, Number ou Object) a ser criado. Retorna
Nada.
Descrio
Operador; cria um novo objeto, inicialmente annimo, e chama a funo identificada pelo parmetro construtor. O operador new passa funo quaisquer parmetros opcionais em parnteses, bem como o objeto recm-criado, que referenciado com a palavra-chave this. Dessa forma, a funo construtora pode usar this para definir as variveis do objeto.
Exemplo
O exemplo a seguir cria a funo Book() e, em seguida, usa o operador new para criar os objetos book1 e book2.
function Book(nome, preo){ this.nome = nome; this.preo = preo; } book1 = new Book("Confederacy of Dunces", 19.95); book2 = new Book("The Floating Opera", 10.95); Exemplo
O exemplo a seguir usa o operador new para criar um objeto Array com 18 elementos:
golfCourse_array = new Array(18); Consulte tambm [] (acesso de array), {} (inicializador de objeto)
654
newline
Disponibilidade
Flash Player 4.
Uso newline Parmetros
Nenhum.
Retorna
Nada.
Descrio
Constante; insere um caractere de retorno de carro (\n) que gera uma linha em branco na sada de texto criada por seu cdigo. Use newline para aumentar o espao para informaes recuperadas por uma funo ou ao em seu cdigo.
Exemplo
O exemplo a seguir mostra como newline exibe a sada da ao trace() em vrias linhas.
var meuNome:String = "Lisa", minhaIdade:Number = 30; trace(meuNome + minhaIdade); trace(meuNome + newline + minhaIdade);
nextFrame()
Disponibilidade
Flash 2.
Uso nextFrame() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Neste exemplo, quando o usurio clica no boto, a reproduo passa para o prximo quadro e encerrada.
on (release) { nextFrame(); }
nextFrame()
655
nextScene()
Disponibilidade
Flash 2.
Uso nextScene() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Neste exemplo, quando o usurio libera o boto, a reproduo enviada para o Frame 1 da prxima cena.
on (release) { nextScene(); } Consulte tambm prevScene()
not
Disponibilidade
Flash Player 4. Esse operador foi substitudo pelo operador ! (NOT lgico).
Uso not expresso Parmetros expresso Descrio
656
null
Disponibilidade
Flash Player 5.
Uso Null Parmetros
Nenhum.
Retorna
Nada.
Descrio
Constante; um valor especial que poder ser atribudo a variveis ou retornado por uma funo caso nenhum dado seja fornecido. Voc pode usar null para representar os valores ausentes ou os que no tm um tipo de dados definido.
Exemplo
Em contexto numrico, null avaliado como 0. Testes de igualdade podem ser realizados com null. Nesta instruo, um n de rvore binrio no tem filho esquerda; por isso, o campo do filho esquerda pode ser definido como null.
if (tree.left == null) { tree.left = new TreeNode(); }
Classe Number
Disponibilidade
Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio
A classe Number um objeto envoltrio simples para o tipo de dados Number. possvel manipular valores numricos primitivos, usando mtodos e propriedades associados classe Number. Essa classe idntica classe Number de JavaScript. necessrio usar um construtor para chamar os mtodos de um objeto Number, mas no preciso utiliz-lo durante a chamada s propriedades deste objeto. Os exemplos a seguir especificam a sintaxe para chamar mtodos e propriedades do objeto Number. O exemplo a seguir chama o mtodo toString() do objeto Number, que retorna a seqncia de caracteres 1234.
meuNmero = new Number (1234); meuNmero.toString();
Este exemplo chama a propriedade MIN_VALUE (tambm denominada constante) do objeto Number:
menor = Number.MIN_VALUE
Classe Number
657
Descrio Retorna o objeto Number representado por uma seqncia de caracteres. Retorna o valor primitivo do objeto Number.
Number.valueOf()
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.
Flash Player 5.
Uso new Number(valor) Parmetros valor
O valor numrico do objeto Number que est sendo criado ou um valor a ser convertido em nmero.
Retorna
Nada.
Descrio
Construtor; cria um novo objeto Number. Voc dever usar o construtor Number ao usar Number.toString() e Number.valueOf(). No use um construtor quando estiver usando as propriedades do objeto Number. O construtor new Number usado, basicamente, como um espao reservado. O objeto Number no o mesmo que a funo Number(), a qual converte um parmetro em um valor primitivo.
658
Exemplo
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
Number.NaN
659
Number.NEGATIVE_INFINITY
Disponibilidade
Flash Player 5.
Uso Number.NEGATIVE_INFINITY Descrio
Propriedade; especifica o valor IEEE 754 que representa o infinito negativo. O valor dessa propriedade o mesmo valor da constante -Infinity. O infinito negativo um valor numrico especial que retornado quando uma operao ou funo matemtica retorna um valor negativo maior do que pode ser representado.
Number.POSITIVE_INFINITY
Disponibilidade
Flash Player 5.
Uso Number.POSITIVE_INFINITY Descrio
Propriedade; especifica o valor IEEE 754 que representa o infinito positivo. O valor dessa propriedade o mesmo valor da constante Infinity. O infinito positivo um valor numrico especial retornado quando uma operao ou funo matemtica retorna um valor maior do que pode ser representado.
660
Number.toString()
Disponibilidade
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
Mtodo; retorna o objeto Number especificado (meuNmero) representado por uma seqncia de caracteres. Se meuNmero for indefinido, o valor de retorno ser o seguinte:
Em arquivos publicados para Flash Player 6 ou verses anteriores, o resultado 0. Em arquivos publicados para Flash Player 7 ou verses posteriores, o resultado NaN.
Exemplo
O exemplo a seguir usa 2 e 8 para o parmetro raiz e retorna uma seqncia de caracteres que contm a representao correspondente do nmero 9.
meuNmero = new Number (9); trace(meuNmero.toString(2)); / 1001 trace(meuNmero.toString(8)); / 11 Consulte tambm NaN
Number.valueOf()
Disponibilidade
Flash Player 5.
Uso meuNmero.valueOf() Parmetros
Nenhum.
Retorna
Um nmero.
Descrio
Number.valueOf()
661
Number()
Disponibilidade
Um nmero ou NaN.
Descrio
Se expresso for um nmero, o valor de retorno ser expresso. Se a expresso for um valor booleano, o valor de retorno ser 1, caso a expresso seja true
ou 0, caso a expresso seja false. Se expresso for uma seqncia de caracteres, a funo tentar analisar expresso como um nmero decimal com um exponente inicial opcional, isto , 1,57505e-3. Se expresso for undefined, o valor de retorno ser o seguinte: Em arquivos publicados para Flash Player 6 ou verses anteriores, o resultado 0. Em arquivos publicados para Flash Player 7 ou verses posteriores, o resultado NaN.
Essa funo usada para converter os arquivos do Flash 4 com operadores obsoletos que so importados no ambiente de criao do Flash 5 ou verso posterior. Para obter mais informaes, consulte & (operador AND bit a bit).
Consulte tambm NaN,
Classe Number
Classe Object
Disponibilidade
Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio
A classe Object est na raiz da hierarquia de classes do ActionScript. Essa classe contm um pequeno subconjunto de recursos fornecido pela classe Object do JavaScript.
662
Descrio Cria uma propriedade getter/setter (apanhador/definidor) em um objeto. Associa um smbolo de clipe de filme a uma classe de objeto do ActionScript. Converte o objeto especificado em uma seqncia de caracteres e o retorna. Remove o ponto de controle criado por Object.watch(). Retorna o valor primitivo de um objeto. Registra um manipulador de eventos a ser chamado quando uma propriedade especificada de um objeto ActionScript alterada.
Object.toString()
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
Classe Object
663
Object.addProperty()
Disponibilidade
Flash Player 6. Em arquivos de classe externos, voc pode usar get ou set, em vez deste mtodo.
Uso meuObjeto.addProperty(prop, funGet, funSet) Parmetros prop
funGet A funo chamada para recuperar o valor da propriedade; este parmetro um objeto de funo. funSet A funo chamada para definir o valor da propriedade; este parmetro um objeto de funo. Se voc passar o valor null para este parmetro, a propriedade ser do tipo somente de leitura. Retorna
Retornar um valor true, se a propriedade for criada com xito; caso contrrio, retornar false.
Descrio
Mtodo; cria uma propriedade getter/setter (que se pode ler e escrever). Quando o Flash l uma propriedade getter/setter (apanhador/definidor), chama a funo get e o valor de retorno da funo torna-se um valor de prop. Quando o Flash escreve em uma propriedade getter/setter, chama a funo set e passa a ela o novo valor como um parmetro. Se j houver uma propriedade com o mesmo nome, a nova propriedade a substituir. Uma funo get no tem nenhum parmetro. Seu valor de retorno pode ser de qualquer tipo. Seu tipo pode ser alterado entre as chamadas. O valor de retorno tratado como o valor atual da propriedade. A funo set recebe um nico parmetro, que o novo valor da propriedade. Por exemplo, se for atribudo um valor para a propriedade x pela instruo x = 1, ser passado o parmetro 1 do tipo Number para a funo set. O valor de retorno da funo set ser ignorado. possvel adicionar propriedades getter/setter aos objetos prottipo. Se voc adicionar uma propriedade getter/setter a um objeto prottipo, todas as instncias de objeto que herdam o objeto prottipo tambm herdaro essa propriedade. Isso torna possvel adicionar uma propriedade getter/setter em um nico local, o objeto prottipo, e fazer com que ela seja propagada para todas as instncias de uma classe (muito semelhante adio de mtodos a objetos prottipo). Se uma funo get/set for chamada para uma propriedade getter/setter em um objeto prottipo herdado, a referncia passada funo get/set ser o objeto referenciado originalmente e no o objeto prottipo. Se chamado incorretamente, Object.addProperty() poder apresentar erro. A tabela a seguir descreve os erros que podem ocorrer:
664
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
Uso 1: Um objeto tem dois mtodos internos, setQuantity() e getQuantity(). Uma propriedade, bookcount, pode ser usada para chamar esses mtodos quando definida ou recuperada. Um terceiro mtodo interno, getTitle(), retorna um valor somente de leitura que est associado propriedade bookname:
function Book() { this.setQuantity = function(numBooks) { this.books = numBooks; } this.getQuantity = function() { return this.books; } this.getTitle = function() { return "Catcher in the Rye"; } this.addProperty("bookcount", this.getQuantity, this.setQuantity); this.addProperty("bookname", this.getTitle, null); } myBook = new Book(); myBook.bookcount = 5; order = "Voc encomendou " + myBook.bookcount + " cpias de myBook.bookname;
" +
Quando um script recupera o valor de myBook.bookcount, o interpretador do ActionScript automaticamente chama myBook.getQuantity(). Quando um script modifica o valor de myBook.bookcount, o interpretador chama myObject.setQuantity(). A propriedade bookname no especifica uma funo set, portanto, as tentativas feitas para modificar bookname so ignoradas. Uso 2: O exemplo acima de bookcount e bookname funciona, mas as propriedades bookcount e bookname so adicionadas a cada instncia do objeto Book. Isso significa que o custo para estabelecer as propriedades de dois slots de propriedades para cada instncia do objeto. Se houver muitas propriedades como bookcount e bookname em uma classe, elas possivelmente consumiro muita memria. Uma alternativa adicionar as propriedades a Book.prototype:
function Book () {} Book.prototype.setQuantity = function(numBooks) { this.books = numBooks; } Book.prototype.getQuantity = function() { return this.books; } Book.prototype.getTitle = function() { return "Catcher in the Rye"; }
Object.addProperty()
665
Book.prototype.addProperty("bookcount", Book.prototype.getQuantity, Book.prototype.setQuantity); Book.prototype.addProperty("bookname", Book.prototype.getTitle, null); myBook = new Book(); myBook.bookcount = 5; order = "Voc encomendou "+myBook.bookcount+" cpias de "+myBook.bookname;
Agora as propriedades bookcount e bookname existem somente em um nico local: no objeto Book.prototype. O efeito, porm, o mesmo efeito do cdigo no Uso 1, o qual adicionou bookcount e bookname diretamente a cada instncia. Se bookcount ou bookname forem acessadas em uma instncia de Book, a cadeia de prottipos ser percorrida para cima e a propriedade getter/setter em Book.prototype ser encontrada. Uso 3: As propriedades internas TextField.scroll e TextField.maxscroll so propriedades getter/setter. O objeto TextField possui os mtodos internos getScroll(), setScroll() e getMaxScroll(). O construtor TextField cria as propriedades getter/setter e as aponta para os mtodos get/set internos, como mostrado a seguir:
this.addProperty("scroll", this.getScroll, this.setScroll); this.addProperty("maxscroll", this.getMaxScroll, null);
Quando um script recupera o valor de meuCampoTexto.scroll, o interpretador do ActionScript automaticamente chama meuCampoTexto.getScroll(). Quando um script modifica o valor de meuCampoTexto.scroll, o interpretador chama meuCampoTexto.setScroll(). A propriedade maxscroll no especifica uma funo set, portanto, as tentativas feitas para modificar maxscroll so ignoradas. Uso 4: Embora as propriedades internas TextField.scroll e TextField.maxscroll funcionem no exemplo de Uso 3, as propriedades scroll e maxscroll so adicionadas a cada instncia do objeto TextField. Isso significa que o custo para estabelecer as propriedades de dois slots de propriedades para cada instncia do objeto. Se houver muitas propriedades como scroll e maxscroll em uma classe, possvel que elas consumam muita memria. Nesse caso, voc pode adicionar as propriedades scroll e maxscroll a TextField.prototype:
TextField.prototype.addProperty("scroll", this.getScroll, this.setScroll); TextField.prototype.addProperty("maxscroll", this.getMaxScroll, null);
Agora as propriedades scroll e maxscroll existem somente em um nico local: no objeto TextField.prototype. Entretanto, o efeito o mesmo do cdigo anterior que adicionou scroll e maxscroll diretamente a todas as instncias. Se scroll ou maxscroll for acessada em uma instncia de TextField, a cadeia de prottipos ser percorrida para cima e a propriedade getter/setter de TextField.prototype ser encontrada.
666
Object.__proto__
Disponibilidade
Flash Player 5.
Uso meuObjeto.__proto__ Parmetros
Nenhum.
Descrio
Propriedade; uma referncia propriedade prototype da funo construtora que criou meuObjeto. A propriedade __proto__ atribuda automaticamente a todos os objetos durante sua criao. O interpretador do ActionScript usa a propriedade __proto__ para acessar a propriedade prototype da funo construtora do objeto e, assim, descobrir quais propriedades e mtodos o objeto herda de sua classe.
Object.__proto__
667
Object.registerClass()
Disponibilidade
Flash Player 6. Se voc estiver usando arquivos de classe externos, poder usar o campo ActionScript 2.0 Class (Classe ActionScript 2.0) da caixa de dilogo Linkage Properties (Propriedades de vinculao) ou Symbol Properties (Propriedades do smbolo) para associar um objeto a uma classe, em vez de usar este mtodo.
Uso Object.registerClass(IDSmbolo, aClasse) Parmetros IDSmbolo O identificador de vinculao do smbolo de clipe de filme ou o identificador da classe do ActionScript. aClasse Uma referncia funo construtora da classe do ActionScript ou null para cancelar o registro do smbolo. Retorna
Se o registro da classe for bem-sucedido, ser retornado um valor de true; caso contrrio, false ser retornado.
Descrio
Mtodo; associa um smbolo de clipe de filme a uma classe de objeto do ActionScript. Se no houver nenhum smbolo, o Flash criar uma associao entre um identificador e uma classe de objeto. Quando uma instncia do smbolo de clipe de filme especificado for colocada pela Timeline (Linha de tempo), ela ser registrada na classe indicada pelo parmetro aClasse e no na classe MovieClip. Quando uma instncia do smbolo de clipe de filme especificado criada por meio de
MovieClip.attachMovie() ou MovieClip.duplicateMovieClip(), ela registrada para a classe especificada por aClasse e no pela classe MovieClip. Se aClasse for null, esse mtodo
remover qualquer definio de classe do ActionScript associada ao smbolo de clipe de filme ou identificador de classe especificado. No caso de smbolos de clipe de filme, qualquer instncia existente do clipe de filme permanecer inalterada, mas as novas instncias do smbolo sero associadas classe MovieClip padro. Se um smbolo j estiver registrado para a classe, esse mtodo ir substitu-lo por um novo registro. Quando uma instncia de clipe de filme colocada pela Timeline ou criada com attachMovie() ou duplicateMovieClip(), o ActionScript chama o construtor da classe apropriada com a palavra-chave this apontando para o objeto. A funo construtora chamada sem nenhum parmetro.
668
Ao usar este mtodo para registrar um clipe de filme com uma classe ActionScript diferente de MovieClip, o smbolo do clipe de filme no herdar os mtodos, propriedades e eventos da classe interna MovieClip, a menos que a classe MovieClip seja includa na cadeia de prottipos da nova classe. O cdigo a seguir cria uma nova classe ActionScript denominada aClasse que herda as propriedades da classe MovieClip:
aClasse.prototype = new MovieClip(); Consulte tambm MovieClip.attachMovie(), MovieClip.duplicateMovieClip()
Object.toString()
Disponibilidade
Flash Player 5.
Uso meuObjeto.toString() Parmetros
Nenhum.
Retorna
Object.unwatch()
Disponibilidade
Flash Player 6.
Uso meuObjeto.unwatch (prop) Parmetros prop
O nome da propriedade de objeto que no dever mais ser observada, como uma seqncia de caracteres.
Retorna
Um valor booleano.
Descrio
Mtodo; remove um ponto de controle criado por Object.watch(). Este mtodo retornar um valor de true se o ponto de controle tiver sido removido com xito; caso contrrio, retornar false.
Object.unwatch()
669
Object.valueOf()
Disponibilidade
Flash Player 5.
Uso meuObjeto.valueOf() Parmetros
Nenhum.
Retorna
Mtodo; retorna o valor primitivo do objeto especificado. Se o objeto no tiver um valor primitivo, o prprio objeto ser retornado.
Object.watch()
Disponibilidade
Flash Player 6.
Uso meuObjeto.watch( prop, retorno [, dadosUsurio] ) Parmetros prop
Uma seqncia de caracteres que indica o nome da propriedade do objeto a ser observada.
A funo a ser chamada quando a propriedade observada alterada. Este parmetro um objeto de funo e no um nome de funo como uma seqncia de caracteres. O formato de retorno retorno(prop, valAnt, valNovo, dadosUsurio).
retorno dadosUsurio Uma parte arbitrria dos dados de ActionScript passada ao mtodo retorno. Se o parmetro dadosUsurio for omitido, undefined ser passado ao mtodo de retorno. Este parmetro opcional. Retorna
O valor true se o ponto de controle for criado com xito; caso contrrio, retorna o valor false.
Descrio
Mtodo; registra um manipulador de eventos para ser chamado quando uma propriedade especificada de um objeto ActionScript for alterada. Quando a propriedade alterada, o manipulador de eventos chamado com meuObjeto como o objeto recipiente. preciso retornar o novo valor a partir do mtodo Object.watch() ou, propriedade do objeto observado, ser atribudo um valor undefined.
670
Um ponto de controle pode filtrar (ou anular) a atribuio de valor retornando um valNovo modificado (ou valAnt). Se voc excluir uma propriedade para a qual tenha sido definido um ponto de controle, este ponto no desaparecer. Se, posteriormente, voc recriar a propriedade, o ponto de controle ainda estar valendo. Para remover o ponto de controle, use o mtodo Object.unwatch. Apenas um nico ponto de controle pode ser registrado em uma propriedade. As chamadas subseqentes a Object.watch() na mesma propriedade substituem o ponto de controle original. O mtodo Object.watch() apresenta um comportamento semelhante funo Object.watch() no Netscape JavaScript 1.2 ou posterior. A diferena principal o parmetro dadosUsurio, que uma incluso do Flash ao Object.watch() no suportado pelo Netscape Navigator. Voc pode passar o parmetro dadosUsurio para o manipulador de eventos, onde poder us-lo. O mtodo Object.watch() no pode observar propriedades getter/setter. As propriedades getter/setter funcionam atravs de avaliao preguiosa o valor da propriedade no determinado at que ela seja realmente consultada. Com freqncia, a avaliao preguiosa eficiente porque a propriedade no atualizada constantemente; assim, ela avaliada quando necessrio. Entretanto, Object.watch() precisa avaliar uma propriedade para ento acionar pontos de controle sobre ela. Para funcionar com uma propriedade getter/setter, o Object.watch() precisa avali-la constantemente, o que um processo ineficaz. Geralmente, as propriedades predefinidas de ActionScript, como _x, _y, _width e _height, so propriedades getter/setter e, portanto, no podem ser observadas com Object.watch().
Consulte tambm Object.addProperty(), Object.unwatch()
Object()
Disponibilidade
Flash Player 5
Uso Object( [ valor ] ) Parmetros valor Retorna
Um objeto.
Descrio
Funo de converso; cria um novo objeto vazio ou converte o nmero, seqncia de caracteres ou valor booleano especificado em um objeto. Esse comando equivale criao de um objeto usando o construtor Object (consulte Construtor da classe Object na pgina 663).
Object()
671
on()
Disponibilidade
Um mouseEvent um disparador chamado evento. Quando ocorrer o evento, sero executadas as instrues entre chaves que seguem a definio do evento. Qualquer um dos valores a seguir pode ser especificado pelo parmetro mouseEvent:
O boto do mouse pressionado enquanto o ponteiro est sobre o boto. release O boto do mouse liberado enquanto o ponteiro est sobre o boto. releaseOutside O boto do mouse liberado enquanto o ponteiro est fora do boto, depois que o boto foi pressionado enquanto o ponteiro estava dentro do boto. rollOut O ponteiro rola fora da rea do boto. rollOver O ponteiro do mouse rola sobre o boto. dragOut Enquanto o ponteiro est sobre o boto, o boto do mouse pressionado e rolado para fora da rea do boto. dragOver Com o ponteiro sobre o boto, o boto do mouse pressionado, rolado para fora do boto e, a seguir, rolado de volta sobre o boto. keyPress ("tecla") A tecla especificada pressionada. Para a parte do parmetro que se refere tecla, especifique um cdigo ou uma constante de tecla. Para obter a lista dos cdigos de teclas associados s teclas de um teclado padro, consulte Apndice C, Teclas do teclado e valores de cdigos de teclas, na pgina 911; para obter a lista das constantes de teclas, consulte Resumo das propriedades da classe Key na pgina 465.
press
Descrio
Manipulador de eventos; especifica o evento do mouse ou o pressionamento de tecla que dispara uma ao.
672
Exemplo
No script a seguir, a ao startDrag() executada quando o mouse pressionado; o script condicional executado quando o mouse liberado e o objeto solto.
on(press){ startDrag("rabbit"); } on (release) { trace(_root.rabbit._y); trace(_root.rabbit._x); stopDrag(); } Consulte tambm onClipEvent()
onClipEvent()
Disponibilidade
Flash Player 5.
Uso onClipEvent(movieEvent){ // suas instrues entram aqui } Parmetros movieEvent
um disparador chamado de evento. Quando ocorrer o evento, sero executadas as instrues entre chaves depois dela. Quaisquer dos seguintes valores podem ser especificados pelo parmetro movieEvent:
A ao iniciada assim que o clipe de filme criado e aparece na Timeline (Linha de tempo). unload A ao iniciada no primeiro quadro aps a remoo do clipe de filme da Timeline. As aes associadas ao evento Unload do clipe de filme so processadas antes que as aes sejam anexadas ao quadro atingido. enterFrame A ao ativada continuamente taxa de quadros do clipe de filme. As aes associadas ao evento de clipe enterFrame so processadas antes de qualquer ao de quadro que tenha sido anexada aos quadros afetados. mouseMove A ao iniciada toda vez que o mouse movido. Use as propriedades _xmouse e _ymouse para determinar a posio do mouse atual. mouseDown A ao iniciada quando o boto esquerdo do mouse pressionado. mouseUp A ao iniciada quando o boto esquerdo do mouse liberado. keyDown A ao iniciada quando uma tecla pressionada. Use Key.getCode() para recuperar informaes sobre a ltima tecla pressionada.
load
onClipEvent()
673
keyUp A ao iniciada quando uma tecla liberada. Use o mtodo Key.getCode() para recuperar informaes sobre a ltima tecla pressionada. data A ao iniciada quando os dados so recebidos em uma ao loadVariables() ou loadMovie(). Se for especificado com uma ao loadVariables(), o evento data ocorrer somente uma vez, quando a ltima varivel for carregada. Quando especificado com uma ao loadMovie, o evento data ocorre repetidamente, medida que cada seo de dados recuperada.
Descrio
Manipulador de eventos; dispara aes definidas por uma instncia especfica de um clipe de filme.
Exemplo
A instruo a seguir inclui o script de um arquivo externo quando o arquivo SWF exportado; as aes no script includo so executadas quando o clipe de filme ao qual elas esto anexadas carregado:
onClipEvent(load){ #include "myScript.as" }
O exemplo a seguir usa onClipEvent() com o evento de filme keyDown. Normalmente, o evento de filme keyDown usado juntamente com um ou mais mtodos e propriedades do objeto Key. O script a seguir usa Key.getCode() para descobrir qual tecla foi pressionada pelo usurio. Se a tecla pressionada corresponder propriedade Key.RIGHT, o filme ser enviado ao quadro seguinte; se corresponder propriedade Key.LEFT, o filme ser enviado ao quadro anterior.
onClipEvent(load) { if (Key.getCode() == Key.RIGHT) { _parent.nextFrame(); } else if (Key.getCode() == Key.LEFT){ _parent.prevFrame(); } }
O exemplo a seguir usa onClipEvent() com o evento de filme mouseMove. As propriedades _xmouse e _ymouse controlam a posio do mouse sempre que ele movido.
onClipEvent(mouseMove) { stageX=_root._xmouse; stageY=_root._ymouse; } Consulte tambm
674
onUpdate
Disponibilidade
Flash Player 6.
Uso function onUpdate() { ...instrues...; } Parmetros
Nenhum
Retorna
Nada.
Descrio
Manipulador de eventos; onUpdate definida para um filme Live Preview (Visualizao ao vivo) usado com um componente. Quando uma instncia de componente no Stage (Palco) tem um filme com Live Preview, a ferramenta de criao chamar a funo onUpdate do filme com Live Preview sempre que houver modificaes nos parmetros de componente da instncia do componente. A funo onUpdate chamada pela ferramenta de criao sem nenhum parmetro e o valor de retorno ignorado. A funo onUpdate deve ser declarada na Timeline (Linha de tempo) principal do filme com Live Preview. Definir uma funo onUpdate em um filme com Live Preview opcional. Para obter mais informaes sobre filmes com Live Preview, consulte Using Components (Usando Componentes).
Exemplo
A funo onUpdate proporciona ao filme com Live Preview a oportunidade de atualizar sua aparncia, a fim de corresponder aos novos valores dos parmetros de componente. Quando o usurio altera um valor de parmetro no inspetor Properties (Propriedades) dos componentes ou no painel Component Parameters (Parmetros de componentes), onUpdate chamada. A funo onUpdate executar alguma ao para atualizar a si mesma. Por exemplo, se o componente incluir um parmetro cor, a funo onUpdate poder alterar a cor de um clipe de filme dentro do Live Preview para refletir o novo valor de parmetro. Alm disso, poder tambm armazenar a nova cor em uma varivel interna. Aqui est um exemplo de utilizao da funo onUpdate para passar valores a um clipe de filme vazio no filme com Live Preview. Vamos supor que voc tenha o componente de um boto rotulado com uma varivel corRtulo, que especifica a cor do rtulo de texto. O cdigo a seguir est no primeiro quadro da Timeline principal do filme do componente:
//Define o parmetro textColor para especificar a cor do texto do rtulo do //boto. buttonLabel.textColor = corRtulo;
Coloque um clipe de filme vazio chamado xch no filme com Live Preview. Em seguida, coloque o seguinte cdigo no primeiro quadro do filme com Live Preview. Adicione xch ao caminho da varivel corRtulo para passar a varivel ao clipe de filme meu_mc:
onUpdate
675
//Escreve uma funo onUpdate, adicionando "meu_mc." aos nomes de variveis: function onUpdate (){ buttonLabel.textColor = meu_mc.corRtulo; }
or
Disponibilidade
Nada.
Descrio
Operador; avaliar condio1 e condio2 e, se alguma das expresses for true, toda a expresso ser true.
Consulte tambm || (OR lgico), | (OR bit a bit)
ord
Disponibilidade
Flash Player 4. Essa funo foi substituda por mtodos e propriedades da classe String.
Uso ord(caractere) Parmetros caractere Retorna
Nada.
Descrio
Classe String
676
_parent
Disponibilidade
Flash Player 5.
Uso _parent.propriedade _parent._parent.propriedade Descrio
Identificador; especifica ou retorna uma referncia ao clipe de filme ou objeto que contm o clipe de filme ou objeto atual. O objeto atual o que contm o cdigo ActionScript que faz referncia a _parent. Use _parent para especificar um caminho relativo para clipes de filme ou objetos que estiverem acima do clipe de filme ou objeto atual.
Exemplo
No exemplo a seguir, o clipe de filme carteira um filho do clipe de filme sala_de_aula. Quando o script a seguir executado dentro do clipe de filme carteira, a reproduo salta para o Frame 10 (Quadro 10) na Timeline (Linha de tempo) do clipe de filme sala_de_aula.
_parent.gotoAndStop(10); Consulte tambm _root, targetPath
_parent
677
parseFloat()
Disponibilidade
Flash Player 5.
Uso parseFloat(seqncia_de_caracteres) Parmetros seqncia_de_caracteres
ponto flutuante.
Retorna
Um nmero ou NaN.
Descrio
Funo; converte uma seqncia de caracteres em um nmero de ponto flutuante. A funo l ou analisa e retorna os nmeros em uma seqncia de caracteres at alcanar um caractere que no seja parte do nmero inicial. Se a seqncia de caracteres no comear com um nmero que possa ser analisado, parseFloat retornar NaN. O espao em branco que precede os inteiros vlidos ignorado, pois so caracteres precedentes no numricos.
Exemplo
O exemplo a seguir usa a funo parseFloat para avaliar vrios tipos de nmeros.
parseFloat("-2")
retorna -2 retorna 2,5 retorna 3,5e6 ou 3500000 retorna NaN retorna 3,75 retorna 0
parseFloat("2.5")
parseFloat("3.5e6")
retorna 5,1
678
parseInt
Disponibilidade
Flash Player 5.
Uso parseInt(expresso [, raiz]) Parmetros expresso raiz
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
parseInt
679
play()
Disponibilidade
Flash 2.
Uso play() Parmetros
Nenhum.
Retorna
Nada.
Descrio
O cdigo a seguir usa uma instruo if para verificar o valor de um nome inserido pelo usurio. Se o usurio inserir Steve, a ao play() ser chamada e a reproduo se mover para frente na Timeline. Se o usurio inserir qualquer coisa diferente de Steve, o arquivo SWF no ser reproduzido e um campo de texto com o nome de varivel alert ser exibido.
stop(); if (name == "Steve") { play(); } else { alert="Voc no Steve!"; }
680
prevFrame()
Disponibilidade
Flash 2.
Uso prevFrame() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Funo; envia a reproduo para o prximo quadro e faz uma interrupo. Se o quadro atual for o Frame 1 (Quadro) 1, a reproduo no ser movida.
Exemplo
Quando o usurio clica em um boto que tem o manipulador a seguir anexado, a reproduo enviada ao quadro anterior.
on (release) { prevFrame(); } Consulte tambm MovieClip.prevFrame()
prevScene()
Disponibilidade
Flash 2.
Uso prevScene() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Funo; envia a reproduo para o quadro 1 da prxima cena e faz uma interrupo.
Consulte tambm nextScene()
prevScene()
681
print()
Disponibilidade
O nome da instncia do clipe de filme a ser impresso. Por padro, todos os quadros na instncia de destino so impressos. Se voc quiser imprimir quadros especficos do clipe de filme, atribua um rtulo #p a esses quadros.
Caixa delimitadora Um modificador que define a rea de impresso do clipe de filme. Coloque esse parmetro entre aspas e especifique um dos seguintes valores:
bmovie Indica a caixa delimitadora de um quadro especfico em um filme como a rea de impresso de todos os quadros imprimveis no filme. Atribua um rtulo #b ao quadro cuja caixa delimitadora voc deseja usar como a rea de impresso. bmax Indica uma composio de todas as caixas delimitadoras, de todos os quadros imprimveis, como a rea de impresso. Especifique bmax quando os quadros imprimveis em seu filme variarem em tamanho. bframe Indica que a caixa delimitadora de cada quadro imprimvel deve ser usada como a rea de impresso do quadro. Isso altera a rea de impresso de cada quadro e dimensiona os objetos para caberem na rea de impresso. Use bframe se voc tiver objetos de tamanhos diferentes em cada quadro e desejar que cada objeto ocupe toda a pgina impressa.
Retorna
Nenhum.
Descrio
Funo; imprime o clipe de filme de destino de acordo com os limites especificados no parmetro (bmovie, bmax ou bframe). Para imprimir quadros especficos do clipe de filme de destino, anexe um rtulo #p a esses quadros. Embora a funo print() produza impresses de melhor qualidade que printAsBitmap(), ela no pode ser usada para imprimir clipes de filme que usem transparncia alfa ou efeitos de cor especiais. Se voc usar bmovie para a Caixa delimitadora, mas no atribuir um rtulo #b a um quadro, a rea de impresso ser determinada pelo tamanho do Stage (Palco) do filme carregado. O filme carregado no herda o tamanho do Stage do filme principal. Todos os elementos imprimveis em um filme devem ser totalmente carregados para que a impresso possa comear. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.
682
Exemplo
O exemplo a seguir imprime todos os quadros imprimveis no clipe de filme meu_mc com a rea de impresso definida pela caixa delimitadora do quadro que tem anexado o rtulo de quadro #b:
print(meu_mc,"bmovie");
O exemplo a seguir imprime todos os quadros imprimveis em meu_mc com uma rea de impresso definida pela caixa delimitadora de cada quadro:
print(meu_mc,"bframe"); Consulte tambm printAsBitmap(), printAsBitmapNum(),
printAsBitmap()
Disponibilidade
bmovie Indica a caixa delimitadora de um quadro especfico em um filme como a rea de impresso de todos os quadros imprimveis no filme. Atribua um rtulo #b ao quadro cuja caixa delimitadora voc deseja usar como a rea de impresso. bmax Indica uma composio de todas as caixas delimitadoras, de todos os quadros imprimveis, como a rea de impresso. Especifique o parmetro bmax quando os quadros imprimveis em seu filme variarem em tamanho. bframe Indica que a caixa delimitadora de cada quadro imprimvel deve ser usada como a rea de impresso do quadro. Isso altera a rea de impresso de cada quadro e dimensiona os objetos para caberem na rea de impresso. Use bframe se voc tiver objetos de tamanhos diferentes em cada quadro e desejar que cada objeto ocupe toda a pgina impressa.
Retorna
Nada.
printAsBitmap()
683
Descrio
Funo; imprime o clipe de filme de destino de acordo com os limites especificados no parmetro (bmovie, bmax ou bframe). Use printAsBitmap() para imprimir filmes contendo quadros com objetos que usem transparncia ou efeitos de cor. A ao printAsBitmap() imprime na resoluo mais alta disponvel da impressora para manter a melhor definio e qualidade possvel. Se o filme no contm transparncias alfa ou efeitos de cor, a Macromedia recomenda o uso de print() para obter melhores resultados em termos de qualidade. Se voc usar bmovie para a Caixa delimitadora, mas no atribuir um rtulo #b a um quadro, a rea de impresso ser determinada pelo tamanho do Stage (Palco) do filme carregado. O filme carregado no herda o tamanho do Stage do filme principal. Todos os elementos imprimveis em um filme devem ser totalmente carregados para que a impresso possa comear. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.
Consulte tambm print(), printAsBitmapNum(),
printAsBitmapNum()
Disponibilidade
Flash Player 5.
Observao: Na criao para Flash Player 7 ou verses posteriores, possvel criar um objeto PrintJob, o que permite que voc, assim como o usurio, tenha mais controle sobre o processo de impresso. Para obter mais informaes, consulte a entrada da Classe PrintJob. Uso printAsBitmapNum(nvel, "Caixa delimitadora") Parmetros nvel O nvel a ser impresso no Flash Player. Por padro, todos os quadros do nvel so impressos. Para imprimir quadros especficos do nvel, atribua um rtulo #p a esses quadros. Caixa delimitadora Um modificador que define a rea de impresso do filme. Coloque esse parmetro entre aspas e especifique um dos seguintes valores:
bmovie Indica a caixa delimitadora de um quadro especfico em um filme como a rea de impresso de todos os quadros imprimveis no filme. Atribua um rtulo #b ao quadro cuja caixa delimitadora voc deseja usar como a rea de impresso. bmax Indica uma composio de todas as caixas delimitadoras, de todos os quadros imprimveis, como a rea de impresso. Especifique o parmetro bmax quando os quadros imprimveis em seu filme variarem em tamanho. bframe Indica que a caixa delimitadora de cada quadro imprimvel deve ser usada como a rea de impresso do quadro. Isso altera a rea de impresso de cada quadro e dimensiona os objetos para caberem na rea de impresso. Use bframe se voc tiver objetos de tamanhos diferentes em cada quadro e desejar que cada objeto ocupe toda a pgina impressa.
684
Retorna
Nenhum.
Descrio
Funo; imprime um nvel no Flash Player como um bitmap de acordo com os limites especificados no parmetro (bmovie, bmax ou bframe). Use printAsBitmapNum() para imprimir filmes contendo quadros com objetos que usem transparncia ou efeitos de cor. A ao printAsBitmapNum() imprime na resoluo mais alta disponvel da impressora para manter definio e qualidade as mais altas possveis. Para calcular o tamanho do arquivo imprimvel de um quadro indicado para ser impresso como um bitmap, multiplique a largura do pixel pela altura do pixel pela resoluo da impressora. Se o filme no contm transparncias alfa ou efeitos de cor, recomenda-se o uso de printNum() para obter melhores resultados em termos de qualidade. Se voc usar bmovie para a Caixa delimitadora, mas no atribuir um rtulo #b a um quadro, a rea de impresso ser determinada pelo tamanho do Stage (Palco) do filme carregado. O filme carregado no herda o tamanho do Stage do filme principal. Todos os elementos imprimveis em um filme devem ser totalmente carregados para que a impresso possa comear. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.
Consulte tambm print(), printAsBitmap(),
Classe PrintJob
Disponibilidade
Flash Player 7.
Descrio
A classe PrintJob permite criar contedo e imprimi-lo em uma ou mais pginas. Alm de oferecer aprimoramentos funcionalidade de impresso propiciada pelo mtodo print(), essa classe permite renderizar contedo dinmico fora da tela, orientar usurios com uma nica caixa de dilogo de impresso, e imprimir um documento no dimensionado com propores mapeadas s propores do contedo. Essa capacidade especialmente til na renderizao e impresso de contedo dinmico externo, como contedo de banco de dados e texto dinmico. Alm disso, com as propriedades preenchidas por PrintJob.start(), o documento pode acessar as configuraes de impressora do usurio, como altura da pgina, largura e orientao, e voc pode configurar seu documento para que ele formate dinamicamente o contedo Flash da maneira apropriada s configuraes da impressora.
Classe PrintJob
685
Resumo dos mtodos da classe PrintJob Voc deve usar os mtodos da classe PrintJob na ordem indicada na tabela a seguir.
Mtodo
PrintJob.start()
Descrio Exibe as caixas de dilogo de impresso do sistema operacional e d incio ao processo de spool. Adiciona uma pgina ao dispositivo de spool de impresso. Envia as pginas colocadas em spool para a impressora.
PrintJob.addPage() PrintJob.send()
Flash Player 7.
Uso meu_pj = new PrintJob() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Construtor; cria um objeto PrintJob que voc pode usar para imprimir uma ou mais pginas. Para implementar um trabalho de impresso, use estes mtodos na seqncia mostrada:
// cria o objeto PrintJob meu_pj = new PrintJob(); // exibe a caixa de dilogo de impresso meu_pj.start(); // instancia o objeto // inicia o trabalho de impresso
// adiciona a rea especificada ao trabalho de impresso // repete uma vez para cada pgina a ser impressa meu_pj.addPage([params]); // envia as pginas para o spooler meu_pj.addPage([params]); meu_pj.addPage([params]); meu_pj.addPage([params]); // envia as pginas do spooler para a impressora meu_pj.send(); // imprime as pginas // limpa delete meu_pj; // exclui o objeto
Ao implementar objetos PrintJob, verifique os valores de retorno de PrintJob.start() e PrintJob.addPage() antes de continuar a impresso. Consulte os exemplos de PrintJob.addPage().
686
Somente possvel criar outro objeto PrintJob quando aquele que voc j tiver criado no estiver mais ativo (ou seja, tiver sido concludo com xito ou falhado). Se voc tentar criar um segundo objeto PrintJob (chamando new PrintJob()) enquanto o primeiro ainda estiver ativo, o segundo objeto PrintJob no ser criado.
Exemplo
Consulte PrintJob.addPage().
Consulte tambm PrintJob.addPage(), PrintJob.send(), PrintJob.start()
PrintJob.addPage()
Disponibilidade
Flash Player 7.
Uso meu_pj.addPage(destino [, reaImpresso] [, opes ] [, nmQuadro]) Parmetros destino
O nvel ou nome de instncia do clipe de filme a ser impresso. Passe um nmero para especificar o nvel (por exemplo, 0 corresponde ao filme _root) ou a seqncia de caracteres (entre aspas) para especificar o nome de instncia de um clipe de filme.
reaImpresso
As coordenadas especificadas para reaImpresso representam os pixels de tela relativos ao ponto de registro do filme _root (se destino=0) ou do nvel ou clipe de filme especificado por destino. Voc deve fornecer todas as quatro coordenadas. A largura (xMax-xMin) e a altura (yMax-yMin) devem ser maiores que 0. Pontos so unidades de medida de impresso e pixels so unidades de medida de tela; um ponto igual, em tamanho, a um pixel. Voc pode usar as equivalncias a seguir para converter polegadas ou centmetros em twips, pixels ou pontos (um twip 1/20 de um pixel):
1 pixel = 1 ponto = 1/72 polegada = 20 twips 1 polegada = 72 pixels = 72 pontos = 1440 twips 1 cm = 567 twips
Observao: Se tiver usado print(), printAsBitmap(), printAsBitmapNum() ou printNum() anteriormente para imprimir no Flash, o rtulo de quadro #b ter sido usado para especificar a rea a ser impressa. Ao usar o mtodo addPage(), voc dever usar o parmetro reaImpresso para especificar a rea de impresso; os rtulos de quadro #b sero ignorados.
Se o parmetro reaImpresso for omitido ou se ele for passado de maneira incorreta, toda a rea do Stage (Palco) de destino ser impressa. Se no desejar especificar um valor para reaImpresso, mas quiser especificar um valor para opes ou nmQuadro, passe null para a reaImpresso.
PrintJob.addPage()
687
opes Um parmetro opcional que determina se a impresso ser como vetor ou como bitmap, no seguinte formato: {printAsBitmap:Boolean}
Por padro, pginas so impressas no formato vetorial. Para imprimir o destino como bitmap, passe true para printAsBitmap. O valor padro false, representando uma solicitao de impresso vetorial. Lembre-se das seguintes sugestes ao determinar os valores a serem usados:
de qualidade. Se o parmetro opes for omitido ou passado de maneira incorreta, ser executada a impresso vetorial. Se no desejar especificar um valor para opes, mas quiser especificar um valor para nmQuadro, passe null para opes.
nmQuadro Um nmero opcional que permite especificar o quadro a ser impresso. Nenhum ActionScript do quadro chamado. Se omitir esse parmetro, o quadro atual em destino ser impresso. Observao: Se tiver usado print(), printAsBitmap(), printAsBitmapNum() ou printNum() anteriormente para imprimir no Flash, talvez o rtulo #p tenha sido usado em vrios quadros para especificar as pginas a serem impressas. Para usar PrintJob.addPage() para imprimir vrios quadros, preciso emitir um comando PrintJob.addPage() para cada quadro; os rtulos de quadro #p so ignorados. Para consultar um modo de fazer isso por programao, verifique o exemplo mais adiante nesta entrada. Retorna
Um valor booleano true se a pgina tiver sido enviada com xito para o dispositivo de spool de impresso, caso contrrio, false.
Descrio
Mtodo; envia o nvel ou clipe de filme especificado como uma nica pgina a ser impressa pelo dispositivo de spool. Antes de usar esse mtodo, use PrintJob.start(); depois de chamar PrintJob.addPage() uma ou mais vezes para um trabalho de impresso, use PrintJob.send() para enviar as pginas colocadas em spool para a impressora. Se esse mtodo retornar false (por exemplo, caso voc no tenha chamado PrintJob.start() ou o usurio tenha cancelado o trabalho de impresso), todas as chamadas subseqentes para PrintJob.addPage() no tero xito. Entretanto, se chamadas anteriores a PrintJob.addPage() tiverem tido xito, o comando de concluso PrintJob.send() enviar para a impressora todas as pginas que tiverem tido xito ao serem colocadas em spool. Se tiver passado um valor para a reaImpresso, as coordenadas xMin e yMin faro o mapeamento para o canto superior esquerdo (coordenadas 0,0) da rea imprimvel na pgina; a rea imprimvel determinada pelas propriedades pageHeight e pageWidth definidas por PrintJob.start(). Como a impresso alinhada ao canto superior esquerdo da rea imprimvel na pgina, a impresso ser cortada direita e/ou na parte inferior se a rea definida em reaImpresso for maior que a rea imprimvel na pgina. Se voc no tiver passado um valor para reaImpresso e o Stage for maior que a rea imprimvel, o mesmo tipo de corte ocorrer.
688
Se desejar dimensionar um clipe de filme antes de imprimi-lo, defina as propriedades MovieClip._xscale e MovieClip._yscale antes de chamar esse mtodo. Em seguida, defina-as outra vez com os valores originais. O dimensionamento de um clipe de filme no est relacionado reaImpresso. Ou seja, se voc especificar que deseja imprimir uma rea de 50 x 50 pixels, sero impressos 2500 pixels. Se voc tiver dimensionado o clipe de filme, os mesmos 2500 sero impressos, mas no tamanho dimensionado. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.
Exemplo
PrintJob.addPage()
689
dana_mc._xscale = 50; dana_mc._yscale = 50; if (meu_pj.addPage("dana_mc", {xMin:0,xMax:400,yMin:0,yMax:600},null, 3)) { pageCount++; } dana_mc._xscale = x; dana_mc._yscale = y; } } } } } } if (pageCount) { meu_pj.send(); } delete meu_pj; } Consulte tambm PrintJob.send(), PrintJob.start()
PrintJob.send()
Disponibilidade
Flash Player 7.
Uso meu_pj.send() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; usado aps PrintJob.start() e PrintJob.addPage() para enviar para a impressora as pginas colocadas em spool.
Exemplo
Consulte PrintJob.addPage().
Consulte tambm PrintJob.addPage(), PrintJob.start()
690
PrintJob.start()
Disponibilidade
Flash Player 7.
Uso meu_pj.start() Parmetros
Nenhum.
Retorna
Um valor booleano true se o usurio clicar em OK quando as caixas de dilogo de impresso forem exibidas, ou false se o usurio clicar em Cancel (Cancelar) ou ocorrer um erro.
Descrio
Mtodo; exibe as caixas de dilogo de impresso do sistema operacional e inicia o processo de spool. As caixas de dilogo de impresso oferecem ao usurio a oportunidade de alterar as configuraes de impresso e, em seguida, preencher as seguintes propriedades somente de leitura (observe que 1 ponto equivale a 1 pixel de tela):
Propriedade
PrintJob.paperHeight PrintJob.paperWidth PrintJob.pageHeight
Unidades Observaes Pontos Pontos Pontos Altura geral do papel Largura geral do papel Altura da rea imprimvel real da pgina; as margens definidas pelo usurio sero ignoradas Largura da rea imprimvel real da pgina; as margens definidas pelo usurio sero ignoradas Portrait (Retrato) ou landscape (Paisagem)
PrintJob.pageWidth
Number
Pontos
PrintJob.orientation
String
N/A
O exibidor inicia o processo de enviar o trabalho de impresso no spool para o sistema operacional aps o usurio clicar em OK na caixa de dilogo. Voc deve emitir comandos ActionScript que afetem a impresso e, em seguida, usar comandos PrintJob.addPage() para comear a enviar pginas para o spooler. Se desejar, use as propriedades de altura, largura e orientao retornadas por este mtodo para determinar como formatar a impresso. Como o usurio v informaes como Printing page 1 (Imprimindo pgina 1) imediatamente aps clicar em OK, voc deve chamar os comandos PrintJob.addPage() e PrintJob.send() logo que possvel. Se esse mtodo retornar false (por exemplo, se o usurio clicar em Cancel (Cancelar) em vez de em OK), todas as chamadas subseqentes para PrintJob.addPage() e PrintJob.send() no tero xito. No entanto, mesmo que voc teste esse valor de retorno e no envie comandos PrintJob.addPage() como resultado, ainda assim poder excluir o objeto PrintJob para assegurar que o spooler de impresso esteja limpo, como mostrado a seguir.
PrintJob.start()
691
var meu_pj = new PrintJob(); var meuResult = meu_pj.start(); if(meuResult) { // as instrues addPage() e send() entram aqui } delete meu_pj; Exemplo
Consulte PrintJob.addPage().
Consulte tambm PrintJob.addPage(), PrintJob.send()
printNum()
Disponibilidade
Flash Player 5.
Observao: Na criao para Flash Player 7 ou verses posteriores, possvel criar um objeto PrintJob, o que permite que voc, assim como o usurio, tenha mais controle sobre o processo de impresso. Para obter mais informaes, consulte a entrada da Classe PrintJob. Uso printNum (nvel, "Caixa delimitadora") Parmetros nvel O nvel a ser impresso no Flash Player. Por padro, todos os quadros do nvel so impressos. Para imprimir quadros especficos do nvel, atribua um rtulo #p a esses quadros. Caixa delimitadora Um modificador que define a rea de impresso do filme. Coloque esse parmetro entre aspas e especifique um dos seguintes valores:
bmovie Indica a caixa delimitadora de um quadro especfico em um filme como a rea de impresso de todos os quadros imprimveis no filme. Atribua um rtulo #b ao quadro cuja caixa delimitadora voc deseja usar como a rea de impresso. bmax Indica uma composio de todas as caixas delimitadoras, de todos os quadros imprimveis, como a rea de impresso. Especifique o parmetro bmax quando os quadros imprimveis em seu filme variarem em tamanho. bframe Indica que a caixa delimitadora de cada quadro imprimvel deve ser usada como a rea de impresso do quadro. Isso altera a rea de impresso de cada quadro e dimensiona os objetos para caberem na rea de impresso. Use bframe se voc tiver objetos de tamanhos diferentes em cada quadro e desejar que cada objeto ocupe toda a pgina impressa.
Retorna
Nada.
692
Descrio
Funo; imprime o nvel no Flash Player de acordo com os limites especificados no parmetro Caixa delimitadora ("bmovie", "bmax", "bframe"). Para imprimir quadros especficos do filme de destino, necessrio anexar um rtulo #p a esses quadros. Embora a ao printNum() oferea impresses de qualidade superior s da ao printAsBitmapNum(), no possvel usar printNum() para imprimir filmes com transparncias alfa ou efeitos de cor especiais. Se voc usar bmovie para a Caixa delimitadora, mas no atribuir um rtulo #b a um quadro, a rea de impresso ser determinada pelo tamanho do Stage (Palco) do filme carregado. O filme carregado no herda o tamanho do Stage do filme principal. Todos os elementos imprimveis em um filme devem ser totalmente carregados para que a impresso possa comear. O recurso de impresso do Flash Player suporta as impressoras PostScript e no-PostScript. As impressoras no-PostScript convertem vetores em bitmaps.
Consulte tambm print(), printAsBitmap(), printAsBitmapNum(),
Classe PrintJob
private
Disponibilidade
Flash Player 6.
Uso class umNomeClasse{ private var nome; private function nome() { // suas instrues entram aqui } } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros nome
Descrio
Palavra-chave; determina que uma varivel ou funo est disponvel apenas para a classe que a declara ou define ou para subclasses dessa classe. Por padro, uma varivel ou funo est disponvel para qualquer classe que a chama. Use esta palavra-chave se quiser restringir o acesso a uma varivel ou funo. Para obter mais informaes, consulte Controlando o acesso de membros na pgina 174. Esta palavra-chave pode ser usada somente em definies de classe, no em definies de interface.
Consulte tambm public, static
private
693
public
Flash Player 6.
Uso class umNomeClasse{ public var nome; public function nome() { // suas instrues entram aqui } } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros nome
Descrio
Palavra-chave; determina que uma varivel ou funo estar disponvel para qualquer classe que a chamar. Como as variveis e funes so pblicas por padro, esta palavra-chave usada principalmente por razes estilsticas. Por exemplo, voc pode us-la por razes de uniformidade em um bloco de cdigo que tambm contm variveis privadas ou estticas.
Exemplo
Para obter mais informaes, consulte Controlando o acesso de membros na pgina 174.
Consulte tambm private, static
694
_quality
Disponibilidade
Flash Player 5.
Uso _quality Descrio
Propriedade (global); define ou recupera a qualidade de renderizao usada para um filme. As fontes de dispositivo so sempre serrilhadas, sendo assim no so afetadas pela propriedade _quality. A propriedade _quality pode ser definida com os seguintes valores:
"LOW" Qualidade de renderizao baixa. Os grficos no so apresentados sem serrilhado, os bitmaps no so suavizados. "MEDIUM" Qualidade de renderizao mdia. Os grficos so apresentados sem serrilhado usando uma grade de 2 x 2, em pixels, mas os bitmaps no so suavizados. Adequado para filmes que no contm texto. "HIGH" Qualidade de renderizao alta. Os grficos so apresentados sem serrilhado usando uma grade de 4 x 4, em pixels, e os bitmaps so suavizados quando o filme esttico. Essa a configurao de qualidade de renderizao padro usada pelo Flash. "BEST" Qualidade de renderizao muito alta. Os grficos so apresentados sem serrilhado usando uma grade de 4 x 4, em pixels, e os bitmaps sempre so suavizados.
Exemplo
_quality
695
random
Disponibilidade
Um inteiro.
Um inteiro.
Descrio
Funo; retorna um inteiro aleatrio entre 0 e 1 a menos que o inteiro especificado no parmetro valor.
Exemplo
removeMovieClip()
Disponibilidade
Flash Player 4.
Uso removeMovieClip(destino) Parmetros destino O caminho de destino de uma instncia de clipe de filme com duplicateMovieClip(), ou o nome da instncia de um clipe de filme criada MovieClip.attachMovie() ou MovieClip.duplicateMovieClip(). Retorna
com
Nenhum.
Descrio
696
return
Disponibilidade
Flash Player 5.
Uso return[expresso] Parmetros expresso
Uma seqncia de caracteres, um nmero, um array ou um objeto a ser avaliado e retornado como um valor da funo. Este parmetro opcional.
Retorna
Instruo; especifica o valor retornado pela funo. A ao return avalia expresso e retorna o resultado como o valor da funo em que executada. A ao return faz com que a funo pare de ser executada e a substitui pelo valor retornado. Se a instruo return for usada isoladamente, retornar null. No possvel retornar diversos valores. Se tentar fazer isso, apenas o ltimo valor ser retornado. No exemplo a seguir, c retornado:
return a, b, c ; Exemplo
O exemplo a seguir usa a ao return dentro do corpo da funo sum() para retornar o valor dos trs parmetros somados. A prxima linha de cdigo chama a funo sum() e atribui o valor retornado varivel novoValor:
function sum(a, b, c){ return a + b + c; } novoValor = sum(4, 32, 78); trace(novoValor); // Envia 114 ao painel Output (Sada) Consulte tambm function
return
697
_root
Disponibilidade
Flash Player 5.
Uso _root.clipeFilme _root.ao _root.propriedade Parmetros clipeFilme ao
Uma ao ou mtodo.
propriedade Descrio
Propriedade; especifica ou retorna uma referncia Timeline (Linha de tempo) do filme raiz. Se um filme tiver vrios nveis, a Timeline do filme raiz estar no nvel que estiver no script em execuo no momento. Por exemplo, se um script no nvel 1 avaliar _root, ser retornado _level1. Especificar _root o mesmo que usar a notao de barra (/) para especificar um caminho absoluto dentro do nvel atual.
Observao: Se um filme que contm _root for carregado em outro filme, _root se referir Timeline do filme que est sendo carregado, no que contm _root. Para ter certeza de que _root se refere Timeline do filme carregado, mesmo que este seja carregado em outro filme, use MovieClip._lockroot. Exemplo
O exemplo a seguir interrompe a Timeline do nvel que contm o script em execuo no momento:
_root.stop();
O exemplo a seguir envia a Timeline que est no nvel atual para o Frame 3 (Quadro 3):
_root.gotoAndStop(3); Consulte tambm MovieClip._lockroot, _parent, targetPath
698
scroll
Disponibilidade
Flash Player 4.
Uso nomeVarivelCampoTexto.scroll = x Descrio
Propriedade; uma propriedade obsoleta que controla a exibio de informaes em um campo de texto associado a uma varivel. A propriedade scroll define o local em que o campo de texto comea a exibir o contedo; depois que voc o define, o Flash Player o atualiza medida que o usurio rola pelo campo de texto. A propriedade scroll til para direcionar os usurios para um pargrafo em especfico em um trecho longo, ou para criar campos de texto de rolagem. Essa propriedade pode ser recuperada e modificada.
Exemplo
O cdigo a seguir anexado a um boto Up (Para cima) que faz rolar o campo de texto meuTexto.
on (release) { meuTexto.scroll = meuTexto.scroll + 1; } Consulte tambm TextField.maxscroll, TextField.scroll
Classe Selection
Disponibilidade
Flash Player 5.
Descrio
A classe Selection permite que voc defina e controle o campo de texto no qual est localizado o ponto de insero, ou seja, o campo que possui o foco. Os ndices do intervalo de seleo tm zero como base (por exemplo, a primeira posio 0, a segunda 1 e assim por diante). No h nenhuma funo construtora para a classe Selection, pois s pode haver um campo focalizado por vez. Resumo dos mtodos da classe Selection
Mtodo
Selection.addListener()
Descrio Registra um objeto para receber notificao quando onSetFocus chamado. Retorna o ndice no incio do intervalo de seleo. Retornar -1 se no houver nenhum ndice nem campo selecionado no momento.
Selection.getBeginIndex()
Classe Selection
699
Mtodo
Selection.getCaretIndex()
Descrio Retorna a posio atual do cursor (ponto de insero) no intervalo de seleo focalizado atualmente. Retornar -1 se no houver nenhuma posio de cursor nem intervalo de seleo focalizado no momento. Retorna o ndice no final do intervalo de seleo. Retornar -1 se no houver nenhum ndice nem campo selecionado no momento. Retorna o nome da varivel do campo de texto em foco no momento. Retornar null caso no haja campo de texto em foco no momento. Remove um objeto que foi registrado anteriormente com o mtodo addListener(). Focaliza o campo de texto associado varivel especificada. Define os ndices de incio e de fim do intervalo de seleo.
Selection.getEndIndex()
Selection.getFocus()
Selection.removeListener()
Selection.setFocus() Selection.setSelection()
Selection.addListener()
Disponibilidade
Flash Player 6.
Uso Selection.addListener(novoOuvinte) Parmetros novoOuvinte Retorna
Nenhum.
Descrio
Mtodo; registra um objeto para receber notificaes de alterao de foco do teclado. Quando o foco alterado (por exemplo, sempre que Selection.setFocus() chamado), o mtodo onSetFocus de todos os objetos ouvintes registrados com addListener() chamado. Vrios objetos podem ouvir notificaes de alterao de foco. Se o ouvinte novoOuvinte j estiver registrado, nenhuma alterao ocorrer.
700
Selection.getBeginIndex()
Disponibilidade
Flash Player 5.
Uso Selection.getBeginIndex() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o ndice no incio do intervalo de seleo. Se nenhum ndice existir ou nenhum campo de texto possuir foco no momento, o mtodo retornar -1. Os ndices do intervalo de seleo tm zero como base (por exemplo, a primeira posio 0, a segunda posio 1, e assim por diante).
Selection.getCaretIndex()
Disponibilidade
Flash Player 5.
Uso Selection.getCaretIndex() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o ndice da posio do ponto de insero intermitente (cursor em forma de circunflexo). Se no for exibido um ponto de insero intermitente, o mtodo retornar -1. Os ndices do intervalo de seleo tm zero como base (por exemplo, a primeira posio 0, a segunda posio 1, e assim por diante).
Selection.getCaretIndex()
701
Selection.getEndIndex()
Disponibilidade
Flash Player 5.
Uso Selection.getEndIndex() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o ndice final do intervalo de seleo focalizado no momento. Se no existir ndice ou intervalo de seleo em foco no momento, o mtodo retornar -1. Os ndices do intervalo de seleo tm zero como base (por exemplo, a primeira posio 0, a segunda posio 1, e assim por diante).
Selection.getFocus()
Disponibilidade
Flash Player 5. Nomes de instncias para botes e campos de texto funcionam no Flash Player 6 e verses posteriores.
Uso Selection.getFocus() Parmetros
Nenhum.
Retorna
Mtodo; retorna o nome da varivel do campo de texto que est evidenciado. Se nenhum campo de texto estiver evidenciado, o mtodo retornar null. Se o foco atual for um boto que seja um objeto Button, getFocus() retornar o caminho de destino como uma seqncia de caracteres. Se o foco atual for um campo de texto que seja um objeto TextField, getFocus() retornar o caminho de destino como uma seqncia de caracteres. Se um clipe de filme tipo boto for o boto atualmente em foco, Selection.getFocus() retornar o caminho de destino do clipe de filme tipo boto. Se um campo de texto com um nome de instncia estiver atualmente em foco, Selection.getFocus() retornar o caminho de destino do objeto TextField. Caso contrrio, retornar o nome da varivel do campo de texto.
702
Selection.onSetFocus
Disponibilidade
Flash Player 6.
Uso umOuvinte.onSetFocus = function(focoAnterior, novoFoco){ instrues; } Descrio
Ouvinte; notificado quando o foco de entrada alterado. Para usar onSetFocus, crie um objeto ouvinte. Em seguida, possvel definir uma funo para onSetFocus e usar addListener() para registrar o ouvinte com o objeto Selection, como no exemplo a seguir:
umOuvinte = new Object(); umOuvinte.onSetFocus = function () { ... }; Selection.addListener(umOuvinte);
Os ouvintes permitem a cooperao de partes diferentes de cdigo. Isso ocorre porque vrios ouvintes podem receber notificaes sobre um nico evento.
Consulte tambm Selection.addListener()
Selection.removeListener()
Disponibilidade
Flash Player 6.
Uso Selection.removeListener(ouvinte) Parmetros ouvinte Retorna
Se o ouvinte tiver sido removido com xito, o mtodo retornar um valor true. Se o ouvinte no tiver sido removido com xito, por exemplo, pelo fato de o ouvinte no constar na lista de ouvintes do objeto Selection, o mtodo retornar um valor false.
Descrio
Selection.removeListener()
703
Selection.setFocus()
Disponibilidade
Flash Player 5. Nomes de instncias para botes e clipes de filmes funcionam somente no Flash Player 6 e verses posteriores.
Uso Selection.setFocus("nomeInstncia") Parmetros nomeInstncia Uma seqncia de caracteres que especifica o caminho para o nome de instncia de um boto, clipe de filme ou campo de texto. Retorna
Um evento.
Descrio
Mtodo; fornece foco ao campo de texto, boto ou clipe de filme selecionvel (editvel), especificado por nomeInstncia. O parmetro nomeInstncia deve ser um literal de seqncia de caracteres do caminho dessa instncia. possvel usar a notao de ponto ou barra para especificar o caminho. Tambm possvel usar um caminho relativo ou absoluto. Se voc estiver usando o ActionScript 2.0, dever usar a notao de ponto. Se null for passado, o foco atual ser removido.
Exemplo
O exemplo a seguir focaliza um campo de texto associado a minhaVar, na Timeline (Linha de tempo) principal. O parmetro nomeInstncia um caminho absoluto, portanto, possvel chamar a ao de qualquer Timeline.
Selection.setFocus("_root.minhaVar");
No exemplo a seguir, o campo de texto associado a minhaVar est em um clipe de filme chamado meuClipe na Timeline principal. possvel usar um dos caminhos a seguir para definir o foco. O primeiro relativo e o segundo absoluto.
Selection.setFocus("meuClipe.minhaVar"); Selection.setFocus("_root.meuClipe.minhaVar");
704
Selection.setSelection()
Disponibilidade
Flash Player 5.
Uso Selection.setSelection(incio, fim) Parmetros incio fim Retorna
Nada.
Descrio
Mtodo; define o intervalo de seleo do campo de texto focalizado no momento. O novo intervalo de seleo comear no ndice especificado no parmetro incio e terminar no ndice especificado no parmetro fim. Os ndices do intervalo de seleo tem zero como base (por exemplo, a primeira posio 0, a segunda 1 e assim por diante). Esse mtodo no ter efeito se no houver nenhum campo de texto focalizado no momento.
Selection.setSelection()
705
set
Disponibilidade
Flash Player 6.
Uso function set propriedade(nomeVar) { // suas instrues entram aqui } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros propriedade nomeVar Retorna
Palavra que voc deseja usar para se referir propriedade que set acessar. Este valor deve ser igual quele usado no comando get correspondente. A varivel local que define o valor que voc est atribuindo.
Nada.
Descrio
Palavra-chave; permite a definio (set) implcita de propriedades associadas a objetos baseados em classes que voc definiu em arquivos de classe externos. O uso de mtodos set implcitos permite acessar propriedades de objetos sem acess-los diretamente. Os mtodos get/set implcitos so abreviaes sintticas do mtodo Object.addProperty() do ActionScript 1. Para obter mais informaes, consulte Mtodos get/set implcitos na pgina 183.
Consulte tambm get, Object.addProperty()
706
set variable
Disponibilidade
Flash Player 4.
Uso set(varivel, expresso) Parmetros varivel expresso Retorna
Nada.
Descrio
Instruo; atribui um valor a uma varivel. Uma varivel um recipiente que contm dados. O recipiente sempre o mesmo, mas o contedo pode mudar. Ao alterar o valor de uma varivel durante a execuo do arquivo SWF, voc poder registrar e salvar informaes sobre as atividades do usurio, gravar valores que mudam medida que o arquivo SWF executado ou avaliar se uma condio true ou false. As variveis podem conter qualquer tipo de dados (por exemplo, String, Number, Boolean, Object ou MovieClip). A Timeline (Linha de tempo) de cada arquivo SWF e clipe de filme tem seu prprio conjunto de variveis, e cada varivel tem seu prprio valor, independentemente das variveis de outras Timelines. Atribuio estrita de tipos de dados no suportada em uma instruo set. Se voc usar essa instruo para definir uma varivel com um valor cujo tipo de dados seja diferente daquele associado varivel em um arquivo de classes, nenhum erro de compilador ser gerado.
Exemplo
Este exemplo define uma varivel denominada pos_orig_x, que armazena a posio do eixo x original do clipe de filme navio para redefinir o envio para o local inicial posteriormente no arquivo SWF.
on (release) { set("pos_orig_x", getProperty ("navio", _x )); }
set variable
707
setInterval()
Disponibilidade
Flash Player 6.
Uso setInterval(nomeFuno, intervalo [, param1, param2, ..., paramN]) Parmetros nomeFuno intervalo
Um nome de funo ou uma referncia a uma funo annima. Tempo, em milissegundos, entre as chamadas ao parmetro nomeFuno. Parmetros opcionais passados ao parmetro nomeFuno ou
Um identificador de intervalo que pode ser passado para clearInterval() a fim de cancelar o intervalo.
Descrio
Funo; chama uma funo ou mtodo ou um objeto em intervalos peridicos enquanto um arquivo SWF est sendo executado. possvel usar uma funo de intervalo para atualizar variveis de um banco de dados ou atualizar uma exibio de tempo. Se intervalo for menor que a taxa de quadros do arquivo SWF (por exemplo, 10 quadros por segundo (fps) equivalem a 100 milissegundos), a funo de intervalo ser chamada o mais prximo possvel de intervalo. Use a funo updateAfterEvent() para verificar se a tela est sendo atualizada com a freqncia necessria. Se intervalo for maior que a taxa de quadros do arquivo SWF, a funo de intervalo s ser chamada quando a reproduo entrar em um quadro, de forma a minimizar o impacto que ocorre sempre que a tela atualizada.
Exemplo
Uso 1: o exemplo a seguir chama uma funo annima a cada 1.000 milissegundos (a cada 1 segundo).
setInterval( function(){ trace("intervalo chamado"); }, 1000 );
Uso 2: O exemplo a seguir define dois manipuladores de eventos e chama cada um deles. Ambas as chamadas a setInterval() enviam a seqncia de caracteres "intervalo chamado" para o painel Output (Sada) a cada 1.000 milissegundos. A primeira chamada a setInterval() chama a funo callback1(), que contm uma ao trace(). A segunda chamada a setInterval() passa a seqncia de caracteres "intervalo chamado" para a funo callback2() como um parmetro.
708
function callback1() { trace("intervalo chamado"); } function callback2(arg) { trace(arg); } setInterval( callback1, 1000 ); setInterval( callback2, 1000, "intervalo chamado" );
Uso 3: Este exemplo usa um mtodo de um objeto. Use esta sintaxe quando quiser chamar um mtodo que seja definido para um objeto.
obj = new Object(); obj.interval = function() { trace("funo intervalo chamada"); } setInterval( obj, "intervalo", 1000 ); obj2 = new Object(); obj2.interval = function(s) { trace(s); } setInterval( obj2, "intervalo", 1000, "funo intervalo chamada" );
Use a segunda forma da sintaxe setInterval() para chamar um mtodo de um objeto, como a seguir:
setInterval( obj2, "intervalo", 1000, "funo intervalo chamada" ); Consulte tambm clearInterval(), updateAfterEvent()
setInterval()
709
setProperty()
Disponibilidade
Flash Player 4.
Uso setProperty(destino, propriedade, valor/expresso) Parmetros destino
O caminho para o nome da instncia do clipe de filme cuja propriedade ser definida. A propriedade que ser definida. Uma equao que avaliada como o novo valor da propriedade. O novo valor literal da propriedade.
propriedade valor
expresso Retorna
Nada.
Descrio
Esta instruo define como 30% a propriedade _alpha de um clipe de filme chamado star quando se clica no boto:
on (release) { setProperty("star", _alpha, "30"); } Consulte tambm getProperty
710
Classe SharedObject
Disponibilidade
Flash Player 6.
Descrio
Os objetos Shared so bastante avanados: oferecem compartilhamento de dados em tempo real entre os objetos persistentes no computador do usurio. Pense nos objetos locais compartilhados como cookies. Voc pode usar os objetos locais compartilhados para manter persistncia local. Esta a forma mais simples de usar um objeto compartilhado. Por exemplo, voc pode chamar SharedObject.getLocal() para criar um objeto compartilhado, como uma calculadora com memria, no exibidor. Como o objeto compartilhado tem persistncia local, o Flash salva os atributos dos dados na mquina do usurio ao trmino da reproduo do SWF. Na prxima vez em que o arquivo SWF for executado, a calculadora conter os valores que possua ao trmino do arquivo SWF. Como alternativa, se voc definir as propriedades do objeto compartilhado como null antes do trmino do SWF, a calculadora ser aberta sem os valores anteriores na prxima vez em que o arquivo SWF for executado. Para criar um objeto local compartilhado, use esta sintaxe:
// Cria um objeto local compartilhado so = SharedObject.getLocal("foo");
Consideraes sobre o espao do disco local Os objetos locais compartilhados so sempre persistentes no cliente, at o limite do espao disponvel na memria e no disco. Por padro, o Flash pode salvar os objetos remotos compartilhados com persistncia local at o limite de 100 KB. Quando voc tenta salvar um objeto maior, o Flash Player exibe a caixa de dilogo Local Storage (Armazenamento local), na qual o usurio pode permitir ou proibir o armazenamento local para o domnio que est solicitando acesso. Certifique-se de que o tamanho do Stage (Palco) seja de pelo menos 215 x 138 pixels. Esse o tamanho mnimo que o Flash necessita para exibir a caixa de dilogo.
Se o usurio clicar em Allow (Permitir), o objeto ser salvo e SharedObject.onStatus ser chamado com a propriedade code com o valor SharedObject.Flush.Success. Se o usurio clicar em Deny (Proibir), o objeto no ser salvo e SharedObject.onStatus ser chamado com a propriedade code com o valor SharedObject.Flush.Failed.
Classe SharedObject
711
O usurio tambm pode especificar configuraes permanentes de armazenamento local para um domnio especfico clicando com o boto direito do mouse (Windows) ou clicando com a tecla Ctrl pressionada (Macintosh) enquanto um arquivo SWF estiver sendo reproduzido, escolhendo Settings (Configuraes) e abrindo o painel Local Storage.
A lista a seguir resume como as opes de espao em disco do usurio interagem com os objetos compartilhados:
Se o usurio selecionar Never (Nunca), os objetos nunca sero salvos localmente e todos os
comandos SharedObject.flush() emitidos para o objeto retornaro o valor false. Se o usurio selecionar Unlimited (Ilimitado) movendo o controle deslizante para a extrema direita, os objetos sero salvos localmente at o limite de espao disponvel no disco. Se o usurio selecionar None (Nenhum) movendo o controle deslizante para a extremidade esquerda, todos os comandos SharedObject.flush() emitidos para o objeto retornaro "pending" (pendente) e faro o exibidor perguntar ao usurio se possvel alocar mais espao no disco para receber o objeto, conforme explicado anteriormente. Se o usurio selecionar 10 KB, 100 KB, 1 MB ou 10 MB, os objetos sero salvos localmente e SharedObject.flush() retornar true se o objeto couber no espao especificado. Se for necessrio mais espao, SharedObject.flush() retornar "pending" e o exibidor perguntar ao usurio se possvel alocar mais espao no disco para receber o objeto, conforme explicado anteriormente.
Alm disso, se o usurio selecionar um valor menor do que o espao em disco que est sendo usado no momento para os dados com persistncia local, o exibidor avisar que os objetos compartilhados salvos sero excludos.
Descrio Elimina todos os dados do objeto compartilhado e exclui o objeto do disco. Grava imediatamente um objeto compartilhado com persistncia local em um arquivo local.
SharedObject.flush()
712
Mtodo
SharedObject.getLocal()
Descrio Retorna uma referncia a um objeto compartilhado com persistncia local que est disponvel somente para o cliente atual. Obtm o tamanho atual do objeto compartilhado, em bytes.
SharedObject.getSize()
Descrio Coleo de atributos atribudos propriedade data do objeto; tais atributos podem ser compartilhados e/ou armazenados.
Descrio Chamado sempre que um erro, aviso ou nota informativa postado para o objeto compartilhado.
Construtor da classe SharedObject Para obter mais informaes sobre como criar objetos locais compartilhados, consulte
SharedObject.getLocal().
SharedObject.clear()
Disponibilidade
Flash Player 7.
Uso meu_so.clear() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; elimina todos os dados do objeto compartilhado e o exclui do disco. A referncia a meu_so ainda est ativa e meu_so est vazio agora.
SharedObject.clear()
713
SharedObject.data
Disponibilidade
Flash Player 6.
Uso meuObjetoCompartilhadoLocal.data Descrio
Propriedade somente de leitura; coleo de atributos atribudos propriedade data do objeto; tais atributos podem ser compartilhados e/ou armazenados. Cada atributo pode ser um objeto de qualquer um dos tipos bsicos ActionScript ou JavaScript: Array, Number, Boolean e assim por diante. Por exemplo, as linhas a seguir atribuem valores a vrios aspectos de um objeto compartilhado:
itensArray = new Array(101,346,483); usurioAtualAdmin = true; nomeUsurioAtual = "Maria"; so.data.itemNumbers = itensArray; so.data.adminPrivileges = usurioAtualAdmin; so.data.userName = nomeUsurioAtual;
Todos os atributos da propriedade data de um objeto compartilhado sero salvos se o objeto for persistente.
Observao: No atribua valores diretamente propriedade data de um objeto compartilhado, como em so.data = umValor; o Flash ignora essas atribuies. so.data.attributeName.
Para excluir os atributos de objetos locais compartilhados, use cdigos como delete Configurar um atributo como null ou undefined para um objeto compartilhado local no exclui o atributo. Para criar valores private para um objeto compartilhado valores disponveis somente para a instncia do cliente enquanto o objeto estiver em uso e que no so armazenados com o objeto quando este fechado crie propriedades que no sejam data para armazen-las, conforme mostrado no exemplo a seguir.
so.corFavorita = "azul"; so.barFavorito = "The Bluenote Tavern"; so.msicaFavorita = "Azul";
Exemplo
Classe Sound
714
SharedObject.flush()
Disponibilidade
Flash Player 6.
Uso meuObjetoCompartilhadoLocal.flush([espaoDiscoMnimo]) Parmetros EspaoDiscoMnimo Inteiro opcional que especifica o nmero de bytes que deve ser alocado para este objeto. O valor padro 0. Retorna
Descrio
Mtodo; grava imediatamente um objeto compartilhado com persistncia local em um arquivo local. Se voc no usar este mtodo, o Flash gravar o objeto compartilhado em um arquivo ao fim de sua sesso. Ou seja, quando o arquivo SWF for fechado, o objeto compartilhado for jogado no lixo por no conter mais referncias ou voc chamar SharedObject.data. Se o mtodo retornar "pending", o Flash Player exibir uma caixa de dilogo solicitando que o usurio aumente o espao disponvel no disco para os objetos deste domnio. Para fornecer espao para que o objeto compartilhado cresa quando salvo no futuro, evitando, assim, valores de retorno "pending", passe um valor para espaoDiscoMnimo. Quando o Flash tentar gravar o arquivo, procurar o nmero de bytes passados para espaoDiscoMnimo, em vez de buscar somente pelo espao suficiente para salvar o objeto compartilhado em seu tamanho atual. Por exemplo, se voc espera que um objeto compartilhado cresa at, no mximo, 500 bytes, mesmo que comece bem menor, passe 500 para espaoDiscoMnimo. Se o Flash solicitar que o usurio aloque espao no disco para o objeto compartilhado, solicitar 500 bytes. Aps o usurio alocar o espao solicitado, o Flash no precisar solicitar mais espao em tentativas futuras para aprovar o objeto (contanto que seu tamanho no ultrapasse 500 bytes). Depois que o usurio responde caixa de dilogo, esse mtodo chamado novamente e retorna true ou false. Alm disso, SharedObject.onStatus chamado com a propriedade code com o valor SharedObject.Flush.Success ou SharedObject.Flush.Failed.
SharedObject.flush()
715
Para obter mais informaes, consulte Consideraes sobre o espao do disco local na pgina 711.
Exemplo
A funo a seguir obtm um objeto compartilhado, SO, e preenche propriedades gravveis com configuraes fornecidas pelo usurio. Finalmente, o flush() chamado para salvar as configuraes e utiliza no mnimo 1.000 bytes de espao no disco.
this.SyncSettingsCore=function(soname, override, settings) { var SO=SharedObject.getLocal(soname, "http://www.meuDomnio.com/app/sys"); // ndice da lista de configuraes var i; // Para cada valor especificado nas configuraes: // Se o valor de override for true, a persistncia ser definida pelo valor // fornecido. // Se o valor de override for false, busca a definio da persistncia, a // menos que no exista. Nesse caso, utiliza-se o valor fornecido. for (i in settings) { if (override || (SO.data[i] == null)) { SO.data[i]= settings[i]; } else { settings[i]= SO.data[i]; } } SO.flush(1000); }
716
SharedObject.getLocal()
Disponibilidade
Flash Player 6.
Uso SharedObject.getLocal(nomeObjeto [, caminhoLocal]) Observao: A sintaxe correta SharedObject.getLocal. Para atribuir o objeto a uma varivel, use uma sintaxe como meuSOlocal = SharedObject.getLocal. Parmetros nomeObjeto Nome do objeto. O nome pode incluir barras (/); por exemplo, trabalho/endereos um nome adequado. No permitido incluir espaos no nome do objeto
Parmetro de seqncia de caracteres opcional que especifica o caminho integral ou parcial para o arquivo SWF que criou o objeto compartilhado, e que determina onde o objeto compartilhado ser armazenamento localmente. O valor padro o caminho completo.
Retorna
Referncia a um objeto compartilhado persistente localmente que est disponvel somente para o cliente atual. Se o Flash no conseguir criar ou localizar o objeto compartilhado (por exemplo, se caminhoLocal foi especificado mas tal diretrio no existir), o mtodo retornar null.
Descrio
Mtodo; retorna uma referncia a um objeto compartilhado com persistncia local que est disponvel somente para o cliente atual. Para evitar conflitos entre nomes, o Flash examina o local do arquivo SWF que est criando o objeto compartilhado. Por exemplo, se um arquivo SWF em www.minhaEmpresa.com/apps/ stockwatcher.swf criar um objeto compartilhado denominado portflio, no haver conflito com outro objeto denominado portflio criado por um arquivo SWF em www.suaEmpresa.com/photoshoot.swf, porque os arquivos SWF pertencem a dois diretrios diferentes.
Exemplo
O exemplo a seguir salva o ltimo quadro inserido pelo usurio em um objeto compartilhado local chamado kookie.
// Obtm o kookie so = sharedobject.getlocal("kookie"); // Obtm o usurio do kookie e vai para o nmero do quadro salvo por este // usurio. if (so.data.user != undefined) { this.user = so.data.user; this.gotoAndStop(so.data.frame); }
SharedObject.getLocal()
717
SharedObject.getSize()
Disponibilidade
Flash Player 6.
Uso myLocalSharedObject.getSize() Parmetros
Nenhum.
Retorna
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
718
SharedObject.onStatus
Disponibilidade
Flash Player 6.
Uso meuObjetoLocalCompartilhado.onStatus = function(objetoInfo) { // suas instrues entram aqui } Parmetros objetoInfo Retorna
Nada.
Descrio
Manipulador de eventos; chamado sempre que um erro, aviso ou nota informativa postado para o objeto compartilhado. Se voc quiser responder a esse manipulador de eventos, dever criar uma funo para processar o objeto de informaes gerado pelo objeto compartilhado. O objeto de informao tem uma propriedade code que contm uma seqncia de caracteres que descreve o resultado do manipulador onStatus e uma propriedade level que contm uma seqncia de caracteres "Status" ou "Error". Alm desse manipulador onStatus, o Flash oferece uma superfuno denominada System.onStatus. Se onStatus for chamado para determinado objeto e no houver funo atribuda para resposta, o Flash processar uma funo atribuda a System.onStatus, se esta existir. Os eventos a seguir avisam quando ocorrem determinadas atividades SharedObject.
Propriedade Code
SharedObject.Flush.Failed
Significado Um comando SharedObject.flush() que retornou "pending" (pendente) apresentou erros: o usurio no alocou espao em disco adicional para o objeto compartilhado quando o Flash Player exibiu a caixa de dilogo Local Storage Settings (Configuraes do armazenamento local). Um comando SharedObject.flush() que retornou "pending" foi concludo com xito (o usurio alocou mais espao em disco para o objeto compartilhado).
SharedObject.Flush.Success Status
SharedObject.onStatus
719
Classe Sound
Disponibilidade
Flash Player 5.
Descrio
A classe Sound permite controlar o som em um filme. possvel incluir e controlar sons em um clipe de filme da biblioteca enquanto o filme estiver sendo reproduzido. Se no for especificado um destino durante a criao de um novo objeto Sound, ser possvel usar os mtodos para controlar o som de todo o filme. Voc deve usar o construtor new Sound para criar um objeto Sound antes de chamar os mtodos da classe Sound. Resumo dos mtodos da classe Sound
Mtodo
Sound.attachSound()
Sound.getBytesLoaded() Retorna o nmero de bytes carregados para o som especificado. Sound.getBytesTotal() Sound.getPan() Sound.getTransform() Sound.getVolume() Sound.loadSound() Sound.setPan() Sound.setTransform()
Retorna o tamanho do som em bytes. Retorna o valor da chamada setPan() anterior. Retorna o valor da chamada setTransform() anterior. Retorna o valor da chamada setVolume() anterior. Carrega um arquivo MP3 no Flash Player. Define a distribuio esquerda/direita do som. Define o quanto ser reproduzido de cada canal, esquerdo e direito, em cada alto-falante. Define o nvel de volume de um som. Comea a reproduzir um som desde o incio ou, opcionalmente, de um ponto de deslocamento definido no parmetro. Pra o som especificado ou todos os sons em reproduo no momento.
Sound.setVolume() Sound.start()
Sound.stop()
Descrio Tamanho de um som em milissegundos. Fornece acesso aos metadados que compem um arquivo MP3. Nmero de milissegundos reproduzidos por um som.
720
Descrio Chamado sempre que novos dados do ID3 so disponibilizados. Chamado quando um som carregado. Chamado quando a reproduo de um som interrompida.
Flash Player 5.
Uso new Sound([destino]) Parmetros destino Retorna
A instncia de clipe de filme em que o objeto Sound opera. Este parmetro opcional.
Nada.
Descrio
Construtor; cria um novo objeto Sound para um clipe de filme especificado. Se no for especificada uma instncia de destino, o objeto Sound controlar todos os sons do filme.
Exemplo
O exemplo a seguir cria um novo objeto Sound denominado som_global. A segunda linha chama setVolume() e ajusta o volume de todos os sons do filme em 50%.
som_global = new Sound(); som_global.setVolume(50);
O exemplo a seguir cria um novo objeto Sound, passa para ele o clipe de filme de destino meu_mc e chama o mtodo start, que inicia o som de meu_mc.
som_filme = new Sound(meu_mc); som_filme.start();
Classe Sound
721
Sound.attachSound()
Disponibilidade
Flash Player 5.
Uso meu_som.attachSound("nomeId") Parmetros
Identificador na biblioteca de um som exportado. O identificador est localizado na nomeId caixa de dilogo Linkage Properties (Propriedades de vinculao).
Retorna
Nada.
Descrio
Mtodo; anexa o som especificado no parmetro nomeId ao objeto Sound especificado. O som deve estar na biblioteca do arquivo SWF atual e ser especificado para exportao na caixa de dilogo Linkage Properties. Voc deve chamar Sound.start() para iniciar a reproduo do som. Para verificar se o som pode ser controlado a partir de qualquer cena do arquivo SWF, coloque-o na Timeline (Linha de tempo) do arquivo SWF.
Sound.duration
Disponibilidade
Flash Player 6.
Uso meu_som.duration Descrio
722
Sound.getBytesLoaded()
Disponibilidade
Flash Player 6.
Uso meu_som.getBytesLoaded() Parmetros
Nenhum.
Retorna
Mtodo; retorna o nmero de bytes carregados (transmitidos) do objeto Sound especificado. possvel comparar o valor de getBytesLoaded() ao valor de getBytesTotal() para determinar que porcentagem de um som foi carregada.
Consulte tambm Sound.getBytesTotal()
Sound.getBytesTotal()
Disponibilidade
Flash Player 6.
Uso meu_som.getBytesTotal() Parmetros
Nenhum.
Retorna
Sound.getBytesTotal()
723
Sound.getPan()
Disponibilidade
Flash Player 5.
Uso meu_som.getPan(); Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o nvel de balano definido na ltima chamada setPan() como um inteiro de -100 (esquerda) a 100 (direita). O valor 0 define igualmente os canais da direita e da esquerda. A configurao do balano controla a distribuio entre esquerda e direita dos sons atuais e futuros em um arquivo SWF. Esse mtodo cumulativo com setVolume() ou setTransform().
Consulte tambm Sound.setPan()
Sound.getTransform()
Disponibilidade
Flash Player 5.
Uso meu_som.getTransform(); Parmetros
Nenhum.
Retorna
Um objeto com propriedades que contm os valores percentuais de canais para o objeto sound especfico.
Descrio
Mtodo; retorna as informaes de transformao de som do objeto Sound especificado na ltima chamada Sound.setTransform().
724
Sound.getVolume()
Disponibilidade
Flash Player 5.
Uso meu_som.getVolume() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
Mtodo; retorna o nvel do volume de som como um inteiro de 0 a 100, no qual 0 sem volume e 100 o volume total. A configurao padro 100.
Consulte tambm Sound.setVolume()
Sound.getVolume()
725
Sound.ID3
Disponibilidade
Propriedade (somente de leitura); fornece acesso aos metadados que compem um arquivo MP3. Os arquivos de som MP3 podem conter marcas do ID3, que fornecem metadados sobre o arquivo. Se um som MP3 que voc estiver carregando usar Sound.attachSound() ou Sound.loadSound() contiver marcas do ID3, voc poder consultar essas propriedades. Somente marcas do ID3 que utilizam o conjunto de caracteres UTF-8 so suportadas. Flash Player 6 verso 40 e posteriores usam a propriedade Sound.id3 para oferecer suporte a marcas do ID3 1.0 e ID3 1.1. O Flash Player 7 adiciona suporte a marcas do ID3 2.0, mais especificamente do 2.3 e 2.4. Para compatibilidade retroativa, tanto Sound.id3 como Sound.ID3 so suportadas. As referncias de cdigo so suportadas somente para o uso de letras minsculas do id3 (consulte Usando referncias de cdigo na pgina 68). A tabela a seguir lista as marcas padro de ID3 2.0 e o tipo de contedo que elas representam. Consulte-as no formato meu_som.ID3.COMM, meu_som.ID3.TIME e assim por diante. Arquivos MP3 podem conter marcas diferentes daquelas contidas na tabela; Sound.ID3 tambm fornece acesso quelas marcas.
Propriedade
COMM TALB TBPM TCOM TCON TCOP TDAT TDLY TENC TEXT TFLT TIME TIT1 TIT2 TIT3 TKEY
Descrio Comentrio Ttulo de disco/filme/show Batidas por minuto Compositor Tipo de contedo Mensagem sobre copyright Date Atraso da lista de reproduo Codificado por Letrista/escritor Tipo de arquivo Hora Descrio do grupo de contedo Ttulo/nome da msica/descrio do contedo Subttulo/refinamento da descrio Nota musical inicial
726
Propriedade
TLAN TLEN TMED TOAL TOFN TOLY TOPE TORY TOWN TPE1 TPE2 TPE3 TPE4 TPOS TPUB TRCK TRDA TRSN TRSO TSIZ TSRC TSSE TYER WXXX
Descrio Idiomas Durao Tipo de mdia Ttulo original do disco/filme/show Nome de arquivo original Letristas/escritores originais Artistas originais Ano de lanamento original Proprietrio/licenciado do arquivo Vocalistas/solistas Banda/orquestra/acompanhamento Detalhes do regente/artista Interpretado, remixado ou modificado por Parte de um conjunto Editora Nmero da faixa/posio no conjunto Datas de gravao Nome da estao de rdio da Internet Proprietrio da estao de rdio da Internet Tamanho ISRC (cdigo de gravao internacional padro) Software/hardware e configuraes usados para codificao Ano Quadro de links de URL
O Flash Player 6 oferecia suporte a vrias marcas do ID31.0. Se o arquivo MP3 no contiver essas marcas, mas marcas correspondentes do ID3 2.0, essas marcas do ID3 2.0 sero copiadas nas propriedades do ID3 1.0, como mostra a tabela a seguir. Esse processo proporcionar compatibilidade retroativa com scripts que voc j tiver criado e que leiam propriedades ID3 1.0.
Sound.ID3
727
Exemplo
Sound.loadSound()
Disponibilidade
Flash Player 6.
Uso meu_som.loadSound("url", fluxo) Parmetros url
Local de um arquivo de som MP3 no servidor. booleano que indica se o som um fluxo de som (true) ou um som de evento
Nada.
Descrio
Mtodo; carrega um arquivo MP3 em um objeto Sound. possvel usar o parmetro fluxo para indicar se o som de evento ou um fluxo de som. Os eventos de som so totalmente carregados antes de serem reproduzidos. Eles so gerenciados pela classe Sound do ActionScript e respondem a todos os mtodos e propriedades dessa classe. Os fluxos de som so reproduzidos durante o download. A reproduo comea aps o recebimento de dados suficientes para iniciar o descompactador. Todos os MP3s (evento ou fluxo) carregados com esse mtodo so salvos no cache de arquivos do navegador do usurio.
728
Exemplo
Sound.onID3
Disponibilidade
Flash Player 7.
Uso meu_som.onID3 = function(){ // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado sempre que novos dados do ID3 esto disponveis para um MP3 que voc carrega usando Sound.attachSound() ou Sound.loadSound(). Esse manipulador permite acesso aos dados do ID3 sem realizar polling (consultas). Se as marcas do ID3 1.0 e do ID3 2.0 estiverem presentes em um arquivo, esse manipulador ser chamado duas vezes.
Exemplo
Sound.onID3
729
Sound.onLoad
Disponibilidade
Flash Player 6.
Uso meu_som.onLoad = function(sucesso){ // suas instrues entram aqui } Parmetros sucesso
Um valor booleano true se meu_som tiver sido carregado com sucesso, caso contrrio,
false.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado automaticamente quando um som carregado. Voc deve criar a funo que ser executada quando esse manipulador for chamado. Voc pode usar uma funo annima ou uma funo com nome (para obter um exemplo de cada uma delas, consulte Sound.onSoundComplete). Defina esse manipulador antes de chamar meu_som.loadSound().
Consulte tambm Sound.loadSound()
730
Sound.onSoundComplete
Disponibilidade
Flash Player 6.
Uso meu_som.onSoundComplete = function(){ // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado automaticamente quando a reproduo de um som for concluda. Use esse manipulador para ativar eventos em um arquivo SWF quando a reproduo de um som for concluda. Voc deve criar a funo que ser executada quando esse manipulador for chamado. possvel usar uma funo annima ou uma funo nomeada.
Exemplo
Sound.onSoundComplete
731
Sound.position
Disponibilidade
Flash Player 6.
Uso meu_som.position Descrio
Propriedade (somente de leitura); tempo em milissegundos de reproduo de um som. Se o som for repetido, a posio ser redefinida como 0 no incio de cada loop.
Sound.setPan()
Disponibilidade
Flash Player 5.
Uso meu_som.setPan(balano); Parmetros balano
Um inteiro que especifica a distribuio esquerda-direita de um som. O intervalo de valores vlidos de -100 a 100, no qual -100 usa somente o canal esquerdo, 100 usa somente o canal direito e 0 distribui o som uniformemente entre os dois canais.
Retorna
Um inteiro.
Descrio
Mtodo; determina como o som reproduzido nos canais esquerdo e direito (alto-falantes). No caso de sons mono, balano determina o alto-falante (esquerdo ou direito) pelo qual o som passa.
Exemplo
O exemplo a seguir cria um objeto Sound chamado meu_som e anexa um som ao identificador L7 da biblioteca. Ele tambm chama setVolume() e setPan() para controlar o som L7.
onClipEvent(mouseDown) { // cria um objeto de som meu_som = new Sound(this); // anexa um som da biblioteca meu_som.attachSound("L7"); // define o volume como 50% meu_som.setVolume(50); // desliga o som no canal direito meu_som.setPan(-100); // inicia 30 segundos no som e o reproduz 5 vezes meu_som.start(30, 5); Consulte tambm Sound.attachSound(), Sound.setPan(), Sound.setTransform(), Sound.setVolume(), Sound.start()
732
Sound.setTransform()
Disponibilidade
Flash Player 5.
Uso meu_som.setTransform(objTransformSom) Parmetros objTransformSom Retorna
Nada.
Descrio
Mtodo; define as informaes de transformao (ou distribuio) do som de um objeto Sound. O parmetro objTransformSom um objeto criado por meio do mtodo construtor da classe Object genrica com parmetros que especificam como o som distribudo para os canais esquerdo e direito (alto-falantes). Os sons ocupam memria e espao em disco considerveis. Como o som estreo usa duas vezes mais dados do que os sons mono, geralmente melhor usar sons mono de 6 bits de 22 KHz. Voc pode usar o mtodo setTransform() para reproduzir sons mono como estreo, sons estreo como mono e para incluir efeitos de som interessantes. As propriedades de objTransformSom so os seguintes:
11 Uma porcentagem que especifica o nvel de som da entrada esquerda a ser reproduzido no alto-falante esquerdo (de 0 a 100). 1r
Uma porcentagem que especifica o nvel de som da entrada direita a ser reproduzido no alto-falante esquerdo (de 0 a 100).
rr Uma porcentagem que especifica o nvel de som da entrada direita a ser reproduzido no alto-falante direito (de 0 a 100). rl Uma porcentagem que especifica o nvel de som da entrada esquerda a ser reproduzido no alto-falante direito (de 0 a 100).
Os valores para entraEsq ou entraDir so determinados pelo tipo (estreo ou mono) do som do arquivo SWF. Os sons estreo dividem a entrada de som uniformemente entre os alto-falantes esquerdo e direito e, por padro, tm as seguintes configuraes de transformao:
ll lr rr rl = = = = 100 0 100 0
Sound.setTransform()
733
Os sons mono reproduzem toda a entrada de som no alto-falante esquerdo e, por padro, tm as seguintes configuraes de transformao:
ll lr rr rl = = = = 100 100 0 0
Exemplo
O exemplo a seguir ilustra uma configurao que pode ser obtida com o mtodo setTransform(), mas no com os mtodos setVolume() ou setPan(), mesmo que estejam combinados. O cdigo abaixo cria um novo objeto objTransformSom e define suas propriedades para que o som de ambos os canais seja reproduzido somente no canal esquerdo.
objTransformSom = new Object; objTransformSom.ll = 100; objTransformSom.lr = 100; objTransformSom.rr = 0; objTransformSom.rl = 0;
Para aplicar o objeto objTransformSom a um objeto Sound, necessrio passar o objeto para Sound usando o mtodo setTransform() da seguinte maneira:
meu_som.setTransform(objTransformSom);
O exemplo a seguir reproduz um som estreo como mono; objTransformSomMono tem os seguintes parmetros:
objTransformSomMono = new Object; objTransformSomMono.ll = 50; objTransformSomMono.lr = 50; objTransformSomMono.rr = 50; objTransformSomMono.rl = 50; meu_som.setTransform(objTransformSomMono);
Este exemplo reproduz o canal esquerdo com metade de sua capacidade e adiciona o restante do canal esquerdo ao canal direito; objTransformSomHalf tem os seguintes parmetros:
meuObjTransformSomHalf = new Object; meuObjTransformSomHalf.ll = 50; meuObjTransformSomHalf.lr = 0; meuObjTransformSomHalf.rr = 100; meuObjTransformSomHalf.rl = 50; meu_som.setTransform(meuObjTransformSomHalf); Consulte tambm
Classe Object
734
Sound.setVolume()
Disponibilidade
Flash Player 5.
Uso meu_som.setVolume(volume) Parmetros volume
Um nmero de 0 a 100 que representa um nvel de volume. 100 o volume total e 0 nenhum volume. A configurao padro 100. Nada.
Retorna
Descrio
O exemplo a seguir define o volume em 50% e, com o tempo, transfere o som do alto-falante esquerdo para o direito:
onClipEvent(load){ i = -100; meu_som = new Sound(); meu_som.setVolume(50); } onClipEvent (enterFrame) { if (i <= 100) { meu_som.setPan(i++); } } Consulte tambm Sound.setPan(), Sound.setTransform()
Sound.setVolume()
735
Sound.start()
Disponibilidade
Flash Player 5.
Uso meu_som.start([segundoDesloc, loop]) Parmetros segundoDesloc
Um parmetro opcional que permite comear a reproduzir o som em um ponto especfico. Por exemplo, no caso de um som de 30 segundos que deva iniciar a reproduo no meio, especifique 15 para o parmetro segundoDesloc. O som no atrasado 15 segundos; em vez disso, ele inicia a sua reproduo na marca de 15 segundos.
loop
Um parmetro opcional que permite especificar quantas vezes o som deve ser reproduzido consecutivamente.
Retorna
Nada.
Descrio
Mtodo; se nenhum parmetro estiver especificado, ele iniciar a reproduo do ltimo som anexado desde o incio ou em um ponto especificado pelo parmetro segundoDesloc.
Consulte tambm Sound.stop()
Sound.stop()
Disponibilidade
Flash Player 5.
Uso meu_som.stop(["IdNome"]) Parmetros IdNome
Uma parmetro opcional que especifica a interrupo da reproduo de determinado som. O parmetro IdNome deve ser colocado entre aspas (" "). Nada.
Retorna
Descrio
Mtodo; interromper todos os sons em reproduo no momento se nenhum parmetro estiver especificado, ou somente o som especificado no parmetro IdNome.
Consulte tambm Sound.start()
736
_soundbuftime
Disponibilidade
Flash Player 4.
Uso _soundbuftime = inteiro Parmetros inteiro Descrio
Nmero de segundos que decorrero antes que o arquivo SWF inicie o fluxo.
Propriedade (global); estabelece o nmero de segundos de som de fluxo para o pr-buffer. O valor padro 5 segundos.
Classe Stage
Disponibilidade
Flash Player 6.
Descrio
A classe Stage uma classe de nvel alto cujos mtodos, propriedades e manipuladores podem ser acessados com o uso de um construtor. Use os mtodos e as propriedades desta classe para acessar e manipular informaes sobre os limites de um arquivo SWF. Resumo dos mtodos da classe Stage
Mtodo
Stage.addListener()
Descrio Adiciona um objeto ouvinte que detecta quando um arquivo SWF redimensionado.
Descrio Alinhamento do arquivo SWF no exibidor ou navegador. Altura do objeto Stage, em pixels. Dimensionamento atual do arquivo SWF. Exibe ou oculta os itens padro do menu de contexto do Flash Player. Largura do objeto Stage, em pixels.
Classe Stage
737
Descrio Chamado quando Stage.scaleMode definido como "noScale" e o arquivo SWF redimensionado.
Stage.addListener()
Disponibilidade
Flash Player 6.
Uso Stage.addListener(meuOuvinte) Parmetros meuOuvinte Objeto Stage.onResize. Retorna
Nada.
Descrio
Mtodo; detecta quando um arquivo SWF redimensionado (mas somente se Stage.scaleMode Sem dimensionamento). O mtodo addListener() no funciona com a configurao padro de dimensionamento de filme ("showAll" Exibir tudo) nem com outras configuraes de dimensionamento ("exactFit" Ajuste exato e "noBorder" Sem bordas).
= "noScale"
Para usar addListener(), crie primeiro um objeto ouvinte. Os objetos ouvintes Stage recebem notificao de Stage.onResize.
Exemplo
Este exemplo cria um novo objeto ouvinte chamado meuOuvinte. Em seguida, usa meuOuvinte para chamar onResize e define uma funo que ser chamada quando onResize for ativado. Finalmente, o cdigo inclui o objeto meuOuvinte na lista de retorno de chamada do objeto Stage. Os objetos ouvintes permitem que vrios objetos ouam notificaes de redimensionamento.
meuOuvinte = new Object(); meuOuvinte.onResize = function () { ... } Stage.scaleMode = "noScale" Stage.addListener(meuOuvinte); Consulte tambm Stage.onResize, Stage.removeListener()
738
Stage.align
Disponibilidade
Flash Player 6.
Uso Stage.align Descrio
Propriedade; indica o alinhamento atual do arquivo SWF no exibidor ou navegador. A tabela a seguir lista os valores da propriedade align. Os valores no listados aqui centralizam o arquivo SWF na rea do exibidor ou do navegador.
Valor
"T" "B" "L" "R" "TL" "TR" "BL" "BR"
Stage.height
Disponibilidade
Flash Player 6.
Uso Stage.height Descrio
Propriedade (somente de leitura); indica a altura atual, em pixels, do Stage (Palco). Quando o valor de Stage.scaleMode "noScale", (sem escala), a propriedade height representa a altura do exibidor. Quando o valor de Stage.scaleMode no "noScale", height representa a altura do arquivo SWF.
Consulte tambm Stage.align, Stage.scaleMode, Stage.width
Stage.height
739
Stage.onResize
Disponibilidade
Flash Player 6.
Uso meuOuvinte.onResize = function(){ // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando Stage.scaleMode definido como "noScale" e o arquivo SWF redimensionado. possvel usar este manipulador de eventos para escrever uma funo que disponha os objetos no Stage (Palco) quando um arquivo SWF for redimensionado.
Exemplo
O exemplo a seguir exibe uma mensagem no painel Output (Sada) quando o Stage redimensionado.
Stage.scaleMode = "noScale" meuOuvinte = new Object(); meuOuvinte.onResize = function () { trace("O tamanho do Stage agora " + Stage.width + " por " + Stage.height); } Stage.addListener(meuOuvinte); // depois, chama Stage.removeListener(meuOuvinte) Consulte tambm Stage.addListener(), Stage.removeListener()
740
Stage.removeListener()
Disponibilidade
Flash Player 6.
Uso Stage.removeListener(meuOuvinte) Parmetros meuOuvinte Um addListener(). Retorna
Um valor booleano.
Descrio
Stage.scaleMode
Disponibilidade
Flash Player 6.
Uso Stage.scaleMode = "valor" Descrio
Propriedade; indica o dimensionamento atual do filme do arquivo SWF dentro do Stage (Palco). A propriedade scaleMode impe um modo de dimensionamento especfico para o arquivo SWF. Como padro, o arquivo SWF usa os parmetros HTML definidos na caixa de dilogo Publish Settings (Configuraes de publicao). A propriedade scaleMode pode usar os valores "exactFit" (ajustado), "showAll" (exibir tudo), "noBorder" (sem borda) e "noScale" (sem escala). Qualquer outro valor define a propriedade scaleMode como o padro "showAll".
Stage.scaleMode
741
Stage.showMenu
Disponibilidade
Flash Player 6.
Uso Stage.showMenu Descrio
Propriedade (leitura e gravao); especifica se os itens padro sero exibidos ou ocultados no menu de contexto do Flash Player. Se showMenu for definido como true (o padro), todos os itens do menu de contexto aparecero. Se showMenu for definido como false, somente o item Settings (Configuraes) aparecer.
Consulte tambm
Stage.width
Disponibilidade
Flash Player 6.
Uso Stage.width Descrio
Propriedade (somente de leitura); indica a altura atual, em pixels, do Stage (Palco). Quando o valor de Stage.scaleMode "noScale", a propriedade width representa a largura do exibidor. Quando o valor de Stage.scaleMode no "noScale" (sem escala), width representa a largura do arquivo SWF.
Consulte tambm Stage.align, Stage.height, Stage.scaleMode
742
startDrag()
Disponibilidade
Flash Player 4.
Uso startDrag(destino,[bloqueio, esquerdo, superior, direito, inferior]) Parmetros destino
bloqueio Um valor booleano que especifica se o clipe de filme a ser arrastado est bloqueado no centro da posio do mouse (true) ou no ponto onde o usurio clicou nele pela primeira vez (false). Este parmetro opcional. esquerdo, superior, direito, inferior
Valores relativos s coordenadas do pai do clipe de filme que especificam um retngulo de restrio para o clipe de filme. Esses parmetros so opcionais.
Retorna
Nada.
Descrio
Funo; torna o clipe de filme de destino arrastvel enquanto o filme estiver sendo exibido. Somente um clipe de filme pode ser arrastado de cada vez. Quando uma operao startDrag() executada, o clipe de filme permanece arrastvel at que essa caracterstica seja cancelada explicitamente por stopDrag() ou at que uma ao startDrag() seja chamada para outro clipe de filme.
Exemplo
Para criar um clipe de filme que os usurios podem posicionar em qualquer local, anexe as aes startDrag() e stopDrag() a um boto dentro do clipe de filme.
on(press){ startDrag(this,true); } on (release) { stopDrag(); } Consulte tambm MovieClip._droptarget, MovieClip.startDrag(), stopDrag()
startDrag()
743
static
Disponibilidade
Flash Player 6.
Uso class umNomeClasse{ static var nome; static function nome() { // suas instrues entram aqui } } Observao: Para usar esta palavra-chave, necessrio especificar ActionScript 2.0 e Flash Player 6 ou uma verso posterior na guia Flash da caixa de dilogo Publish Settings (Configuraes de publicao) do arquivo FLA. Essa palavra-chave suportada somente quando usada em arquivos de script externos, no em scripts escritos no painel Actions (Aes). Parmetros nome
Descrio
Palavra-chave; determina que uma varivel ou funo seja criada somente uma vez por classe, em vez de ser criada em todos os objetos com base nessa classe. Para obter mais informaes, consulte Membros de instncias e classes na pgina 175. Somente possvel usar essa palavra-chave em definies de classe, no em definies de interface.
Consulte tambm private, public
stop()
Disponibilidade
Flash 2.
Uso stop() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Funo; encerra o arquivo SWF que est sendo reproduzido no momento. A utilidade mais comum dessa ao controlar clipes de filme com botes.
744
stopAllSounds()
Disponibilidade
Flash Player 3.
Uso stopAllSounds() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Funo; encerra a reproduo de todos os sons de um arquivo SWF sem encerrar a exibio do filme. Sons definidos como fluxo voltaro a ser reproduzidos quando a reproduo for movida sobre os quadros em que se encontram.
Exemplo
O cdigo a seguir pode ser aplicado a um boto que, quando clicado, silencia todos os sons do arquivo SWF.
on (release) { stopAllSounds(); } Consulte tambm
Classe Sound
stopAllSounds()
745
stopDrag()
Disponibilidade
Flash Player 4.
Uso stopDrag() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Este cdigo encerra a ao de arraste na instncia meu_mc quando o usurio libera o boto do mouse:
on(press){ startDrag("meu_mc"); } on (release) { stopdrag(); } Consulte tambm MovieClip._droptarget, MovieClip.stopDrag(), startDrag()
746
Flash Player 4.
Uso "texto" Parmetros texto Retorna
Um caractere.
Nada.
Descrio
Delimitador de seqncia de caracteres; quando usadas antes e depois de caracteres, as aspas indicam que os caracteres tm um valor literal e so considerados uma seqncia de caracteres, no uma varivel, valor numrico ou outro elemento do ActionScript.
Exemplo
Este exemplo usa aspas para indicar que o valor da varivel seuPalpite a seqncia de caracteres literal Santa Catarina e no o nome de uma varivel. O valor estado uma varivel, e no uma literal; para determinar o valor de estado, necessrio localizar o valor de seuPalpite.
seuPalpite = "Santa Catarina"; on (release) { estado = seuPalpite; trace(estado); } // Mostra Santa Catarina no painel Output (sada) Consulte tambm
747
Classe String
Disponibilidade
Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio
A classe String um envoltrio para o tipo de dados String primitivo que fornece mtodos e propriedades que permitem manipular valores do tipo String primitivo. possvel converter o valor de qualquer objeto em uma seqncia de caracteres usando a funo String(). Todos os mtodos da classe String, exceto concat(), fromCharCode(), slice(), e substr(), so genricos. Isso significa que os prprios mtodos podem chamar this.toString() antes de permitir suas operaes e podem ser usados com outros objetos que no sejam objetos String. Como todos os ndices de seqncia de caracteres tm zero como base, o ndice do ltimo caractere para qualquer seqncia de caracteres x x.length - 1.
String ou usando o valor de uma
Voc pode chamar qualquer um dos mtodos do objeto String usando o mtodo construtor new seqncia de caracteres literal. Se voc especificar o valor literal de uma seqncia de caracteres, o interpretador do ActionScript automaticamente o converter em um objeto String temporrio, chamar o mtodo e depois descartar o objeto String temporrio. Voc tambm pode utilizar a propriedade String.length com o valor literal de uma seqncia de caracteres. No confunda uma seqncia de caracteres literal com um objeto String. No exemplo a seguir, a primeira linha de cdigo cria o literal da seqncia de caracteres s1 e a segunda linha de cdigo cria um objeto String s2.
s1 = "foo" s2 = new String("foo")
Use valores literais da seqncia de caracteres, a menos que seja necessrio usar especificamente um objeto String. Resumo dos mtodos da classe String
Mtodo
String.charAt()
Descrio Retorna o caractere em um local especfico em uma seqncia de caracteres. Retorna o valor do caractere de um ndice determinado como um inteiro de 16 bits entre 0 e 65535. Combina o texto de duas seqncias de caracteres e retorna uma nova seqncia de caracteres especificados nos parmetros.
String.charCodeAt()
String.concat()
String.indexOf()
Retorna a posio da primeira ocorrncia de uma subseqncia de caracteres especificada. Retorna a posio da ltima ocorrncia de uma subseqncia de caracteres especificada.
String.lastIndexOf()
748
Mtodo
String.slice()
Descrio Extrai uma seo de uma seqncia de caracteres e retorna uma nova seqncia de caracteres. Divide um objeto String em um array de seqncias de caracteres, separando a seqncia em subseqncias. Retorna um nmero especfico de caracteres em uma seqncia, comeando em um local determinado. Retorna os caracteres entre dois ndices de uma seqncia de caracteres. Converte a seqncia de caracteres em minsculas e retorna o resultado; no altera o contedo do objeto original. Converte a seqncia de caracteres em maisculas e retorna o resultado; no altera o contedo do objeto original.
String.split()
String.substr()
String.substring() String.toLowerCase()
String.toUpperCase()
Descrio Um inteiro que no tem zero como base e que especifica o nmero de caracteres do objeto String indicado.
Flash Player 5.
Uso new String(valor) Parmetros valor Retorna
Nada.
Descrio
Classe String
749
String.charAt()
Disponibilidade
Flash Player 5.
Uso minha_str.charAt(ndice) Parmetros ndice
Um inteiro que especifica a posio de um caractere na seqncia de caracteres. O primeiro caractere indicado por 0 e o ltimo indicado por minha_str.length-1. Um caractere.
Retorna
Descrio
Mtodo; retorna o caractere na posio especificada pelo parmetro ndice. Se ndice no for um nmero de 0 a string.length - 1, ser retornada uma seqncia de caracteres vazia. Este mtodo semelhante a String.charCodeAt(), mas o valor retornado um caractere, no um cdigo de caracteres inteiro de 16 bits.
Exemplo
No exemplo a seguir, esse mtodo chamado na primeira letra da seqncia de caracteres "Cris".
minha_str = new String("Cris"); i = minha_str.charCodeAt(0); // i = "C"
750
String.charCodeAt()
Disponibilidade
Flash Player 5.
Uso minha_str.charCodeAt(ndice) Parmetros ndice
Um inteiro que especifica a posio de um caractere na seqncia de caracteres. O primeiro caractere indexado por 0 e o ltimo por minha_str.length - 1. Um inteiro.
Retorna
Descrio
Mtodo; retorna um nmero inteiro de 16 bits de 0 a 65535 que representa o caractere especificado por ndice. Se ndice no for um nmero de 0 a string.length - 1, ser retornado NaN. Este mtodo semelhante a String.charAt(), exceto pelo fato de o valor retornado ser um cdigo de caracteres inteiro de 16 bits, no um caractere.
Exemplo
No exemplo a seguir, esse mtodo chamado na primeira letra da seqncia de caracteres "Cris".
minha_str = new String("Cris"); i = minha_str.charCodeAt(0); // i = 67
String.concat()
Disponibilidade
Flash Player 5.
Uso minha_str.concat(valor1,...valorN) Parmetros valor1,...valorN Retorna
Mtodo; combina o valor do objeto String aos parmetros e retorna a seqncia de caracteres recm-formada; o valor original, minha_str, inalterado.
String.concat()
751
String.fromCharCode()
Disponibilidade
Flash Player 5.
Uso String.fromCharCode(c1,c2,...cN) Parmetros c1,c2,...cN Retorna
Mtodo; retorna uma seqncia de caracteres constituda de caracteres representados pelos valores ASCII nos parmetros.
Exemplo
String.indexOf()
Disponibilidade
Flash Player 5.
Uso minha_str.indexOf(subseqncia, [inciondice]) Parmetros subseqncia
Um inteiro ou uma seqncia de caracteres que especifica a subseqncia de caracteres a ser procurada em minha_str.
inciondice
Um inteiro opcional que especifica o ponto inicial em minha_str para pesquisar a subseqncia de caracteres. Posio da primeira ocorrncia de uma subseqncia de caracteres determinada ou -1.
Retorna
Descrio
Mtodo; pesquisa a seqncia de caracteres e retorna a posio da primeira ocorrncia da subseqncia encontrada em ou aps inciondice dentro da seqncia de caracteres da chamada. Se a subseqncia no for encontrada, o mtodo retornar -1.
Consulte tambm String.lastIndexOf()
752
String.lastIndexOf()
Disponibilidade
Flash Player 5.
Uso minha_str.lastIndexOf(subseqncia, [inciondice]) Parmetros subseqncia
Um inteiro ou seqncia de caracteres que especifica a seqncia a ser Um inteiro opcional que especifica o ponto inicial para procurar a
procurada.
inciondice subseqncia. Retorna
Mtodo; procura a seqncia de caracteres da direita para a esquerda e retorna o ndice da ltima ocorrncia da subseqncia localizada antes de inciondice na seqncia de caracteres de chamada. Se a subseqncia no for encontrada, o mtodo retornar -1.
Consulte tambm String.indexOf()
String.length
Disponibilidade
Flash Player 5.
Uso minha_str.length Descrio
Propriedade; um inteiro que tem zero como base e que especifica o nmero de caracteres do objeto String indicado. Como todos os ndices de seqncia de caracteres tm zero como base, o ndice do ltimo caractere para qualquer seqncia de caracteres x x.length - 1.
String.length
753
String.slice()
Disponibilidade
Flash Player 5.
Uso minha_str.slice(incio, [fim]) Parmetros incio
Um nmero que especifica o ndice do ponto inicial do trecho. Se incio for um nmero negativo, o ponto inicial ser determinado a partir do final da seqncia de caracteres, onde -1 o ltimo caractere.
Um inteiro que 1+ o ndice do ponto final do trecho. O caractere indexado pelo parmetro fim no est includo na seqncia de caracteres extrada. Se este parmetro for omitido, String.length ser usado. Se fim for um nmero negativo, o ponto final ser determinado pela contagem regressiva a partir do final da seqncia de caracteres, onde -1 o ltimo caractere.
fim Retorna
Mtodo; retorna uma seqncia de caracteres que contm o caractere de incio e todos os caracteres at o caractere de fim, mas sem inclu-lo. O objeto String original no modificado. Se o parmetro fim no for especificado, o fim da subseqncia de caracteres ser o fim da seqncia de caracteres. Se o valor de incio for maior que ou igual ao valor de fim, o mtodo retornar uma seqncia de caracteres vazia.
Exemplo
O exemplo a seguir define uma varivel, texto, cria um objeto String, minha_str e passa-o para a varivel texto. O mtodo slice() extrai uma seo da seqncia de caracteres contida na varivel e trace() a envia para o painel Output (sada). O exemplo mostra o uso de um valor positivo e de um valor negativo para o parmetro fim.
texto = "Lexington"; minha_str = new String( texto ); trace(minha_str.slice( 1, 3 )); // "ex" trace(minha_str.slice( 1, -6 )); // "ex" Consulte tambm String.substr(), String.substring()
754
String.split()
Disponibilidade
Flash Player 5.
Uso minha_str.split("delimitador", [limite]) Parmetros delimitador limite Retorna
Mtodo; divide um objeto String em subseqncias de caracteres, quebrando-o sempre que aparecer o parmetro delimitador especificado, e retorna essas subseqncias em um array. Se for usada uma seqncia de caracteres vazia ("") como delimitador, cada caractere da seqncia ser colocado como um elemento no array, como no cdigo a seguir.
minha_str = "Jos"; i = minha_str.split(""); trace (i);
Se o parmetro delimitador no for definido, toda a seqncia de caracteres ser colocada no primeiro elemento do array retornado.
Exemplo
String.split()
755
String.substr()
Disponibilidade
Flash Player 5.
Uso minha_str.substr(incio, [tamanho]) Parmetros incio
Um inteiro que indica a posio do primeiro caractere em minha_str a ser usado para criar a subseqncia de caracteres. Se incio for um nmero negativo, a posio inicial ser determinada a partir do final da seqncia de caracteres, onde -1 o ltimo caractere.
tamanho tamanho
O nmero de caracteres na subseqncia de caracteres que est sendo criada. Se no for especificado, a subseqncia de caracteres incluir todos os caracteres do incio ao fim da seqncia de caracteres.
Retorna
Mtodo; retorna os caracteres em uma seqncia de caracteres do ndice especificado no parmetro incio at o nmero de caracteres especificado no parmetro tamanho. O mtodo substr no altera a seqncia de caracteres especificada por minha_str. Ele retorna uma nova seqncia de caracteres.
756
String.substring()
Disponibilidade
Flash Player 5.
Uso minha_str.substring(incio, [fim]) Parmetros incio
Um inteiro que indica a posio do primeiro caractere de minha_str usado para criar a subseqncia de caracteres. Os valores vlidos para incio vo de 0 a String.length - 1. Se incio for um valor negativo, 0 ser usado.
fim Um inteiro que 1+ o ndice do ltimo caractere de minha_str a ser extrado. Os valores vlidos para fim vo de 1 a String.length. O caractere indexado pelo parmetro fim no est includo na seqncia de caracteres extrada. Se este parmetro for omitido, String.length ser usado. Se este parmetro for um valor negativo, 0 ser usado.
Retorna
Mtodo; retorna uma seqncia de caracteres que consiste nos caracteres entre os pontos especificados pelos parmetros incio e fim. Se o parmetro fim no for especificado, o fim da subseqncia de caracteres ser o fim da seqncia de caracteres. Se o valor de incio for igual ao valor de fim, o mtodo retornar uma seqncia de caracteres vazia. Se o valor de incio for maior que o valor de fim, os parmetros sero trocados automaticamente antes de a funo ser executada e o valor original no ser alterado.
String.toLowerCase()
Disponibilidade
Flash Player 5.
Uso minha_str.toLowerCase() Parmetros
Nenhum.
Retorna
Mtodo; retorna uma cpia do objeto String, com todos os caracteres em maisculas convertidos em minsculas. O valor original no se altera.
String.toLowerCase()
757
String.toUpperCase()
Disponibilidade
Flash Player 5.
Uso minha_str.toUpperCase() Parmetros
Nenhum.
Retorna
Mtodo; retorna uma cpia do objeto String, com todos os caracteres em maisculas convertidos em minsculas. O valor original no se altera.
758
String()
Disponibilidade
Funo; retorna o parmetro especificado, representado por uma seqncia de caracteres, da seguinte maneira: Se expresso for um nmero, a seqncia de caracteres retornada ser uma representao de texto do nmero. Se expresso for uma seqncia de caracteres, a seqncia retornada ser expresso. Se expresso for um objeto, o valor de retorno ser uma representao de seqncia de caracteres do objeto gerado pela chamada da propriedade String do objeto ou pela chamada de Object.toString(), caso essa propriedade no exista. Se expresso for undefined, os valores de retorno sero os seguintes:
Em arquivos publicados para Flash Player 6 ou verses anteriores, o resultado uma seqncia
de caracteres vazia ("").
Se expresso for um clipe de filme, o valor de retorno ser o caminho de destino do clipe de filme em notao de barra (/).
Observao: O ActionScript 2.0 no oferece suporte notao de barra. Consulte tambm Number.toString(), Object.toString(), de caracteres)
String()
759
substring
Disponibilidade
caracteres.
ndice contagem
O nmero de caracteres a ser includo na seqncia de caracteres extrada, sem incluir o caractere ndice.
Retorna
Nada.
Descrio
Funo String; extrai parte de uma seqncia de caracteres. Esta funo tem 1 como base, ao passo que os mtodos do objeto String tm 0 como base.
Consulte tambm String.substr()
760
super
Disponibilidade
Flash Player 6.
Uso super.mtodo([arg1, ..., argN]) super([arg1, ..., argN]) Parmetros mtodo arg1
Parmetros opcionais que so passados para a verso da superclasse do mtodo (sintaxe 1) ou para a funo construtora da superclasse (sintaxe 2).
Retorna
Ambas as formas chamam uma funo. A funo pode retornar qualquer valor.
Descrio
Operador: o estilo da primeira sintaxe pode ser usado no corpo de um mtodo de objeto para chamar a verso de superclasse de um mtodo e pode, opcionalmente, passar parmetros (arg1 ... argN) para o mtodo de superclasse. Isso til para criar mtodos de subclasse que adicionem um comportamento extra aos mtodos de superclasse, mas que tambm chamem os mtodos de superclasse para executar o comportamento original. O estilo da segunda sintaxe pode ser usado dentro do corpo de uma funo construtora para chamar a verso de superclasse da funo construtora e pode, opcionalmente, passar parmetros para ela. Isso til para criar uma subclasse que execute uma inicializao adicional, mas que tambm chame o construtor de superclasse para executar a inicializao da superclasse.
super
761
switch
Disponibilidade
Flash Player 4.
Uso switch (expresso){ clusulaCase: [clusulaDefault:] } Parmetros expresso
Qualquer expresso.
clusulaCase A palavra-chave case seguida de uma expresso, dois-pontos e um grupo de instrues que sero executadas se a expresso corresponder ao parmetro expresso do switch usando igualdade estrita (===). clusulaDefault Uma palavra-chave default seguida de instrues que sero executadas se nenhuma das expresses com diferenciao de maisculas e minsculas corresponder ao parmetro expresso do switch usando igualdade estrita (===). Retorna
Nada.
Descrio
Instruo; cria uma estrutura ramificada para as instrues do ActionScript. Assim como a ao if, a ao switch testar uma condio e executar instrues se a condio retornar um valor true.
Exemplo
No exemplo a seguir, se o parmetro nmero for avaliado como 1, a ao trace() seguinte a case 1 ser executada; se o parmetro nmero for avaliado como 2, a ao trace() seguinte a case 2 ser executada e assim por diante. Se nenhuma expresso case corresponder ao parmetro nmero, a ao trace() seguinte palavra-chave default ser executada.
switch (nmero) { case 1: trace ("case 1 break; case 2: trace ("case 2 break; case 3: trace ("case 3 break; default: trace ("Nenhum } verdadeiro"); verdadeiro"); verdadeiro"); case verdadeiro")
762
No exemplo a seguir, no h um break no primeiro grupo case, portanto, se o nmero for 1, A e B sero enviados para o painel Output (Sada):
switch (nmero) { case 1: trace ("A"); case 2: trace ("B"); break; default: trace ("D") } Consulte tambm === (igualdade estrita), break, case, default, if
Classe System
Disponibilidade
Flash Player 6.
Descrio
Esta a classe de nvel mais alto que contm os objetos capabilities (consulte Objeto System.capabilities) e security (consulte Objeto System.security), alm dos mtodos, propriedades e manipuladores de eventos listados a seguir. Resumo dos mtodos da classe System
Mtodo
System.setClipboard()
Descrio Substitui o contedo da rea de transferncia do sistema por uma seqncia de caracteres de texto. Exibe o painel Settings (Configuraes) do Flash Player.
System.showSettings()
Descrio Especifica se devem ser usadas as regras de correspondncia de domnio superior ou de domnio exato durante o acesso a configuraes locais. Informa ao Flash Player se deve usar Unicode ou a pgina de cdigo tradicional do sistema operacional que est executando o exibidor para interpretar os arquivos de texto externos.
System.useCodepage
Classe System
763
System.exactSettings
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso System.exactSettings Descrio
Propriedades; especifica se devem ser usadas regras de correspondncia de domnio superior ou de domnio exato durante o acesso a configuraes locais (como permisses de acesso a uma cmera ou microfone) ou dados com persistncia local (objetos compartilhados). O valor padro true para arquivos publicados para Flash Player 7 ou verses posteriores e false para arquivos publicados para Flash Player 6. Se esse valor for true, as configuraes e os dados de um arquivo SWF hospedado em aqui.xyz.com sero armazenadas em aqui.xyz.com, as configuraes e os dados de um arquivo SWF hospedado em ali.xyz.com sero armazenadas em ali.xyz.com e assim sucessivamente. Se esse valor for false, as configuraes e os dados de arquivos SWF hospedados em aqui.xyz.com, ali.xyz.com e xyz.com sero compartilhados e armazenados em xyz.com. Se alguns dos seus arquivos definir essa propriedade como false e outros a definirem como true, talvez voc encontre esses arquivos SWF em outros dados e configuraes de compartilhamento de subdomnios. Por exemplo, se essa propriedade for false em um arquivo SWF hospedado em aqui.xyz.com e true em um arquivo SWF hospedado em xyz.com, os dois arquivos usaro as mesmas configuraes e dados ou seja, aqueles de xyz.com. Se esse no for o comportamento pretendido, lembre-se de definir essa propriedade em cada arquivo para representar corretamente o local em que voc deseja armazenar configuraes e dados. Se voc quiser definir para essa propriedade outro valor que no seja o valor padro, emita o comando System.exactSettings = false no primeiro quadro do seu documento. No possvel alterar a propriedade aps qualquer atividade que exija acesso a configuraes locais, como System.ShowSettings() ou SharedObject.getLocal(). Se voc usar loadMovie(), MovieClip.loadMovie() ou MovieClipLoader.loadClip() para carregar um arquivo SWF em outro, todos os arquivos publicados para Flash Player 7 compartilharo um nico valor para System.exactSettings. E todos os arquivos publicados para Flash Player 6 compartilham um nico valor para System.exactSettings. Por isso, se voc especificar um valor para essa propriedade em um arquivo publicado para uma verso especfica do Player, dever fazer o mesmo em todos os arquivos que pretende carregar. Se voc carregar vrios arquivos, a configurao especificada no ltimo arquivo carregado substituir qualquer configurao especificada anteriormente. Para obter mais informaes sobre como a correspondncia de domnios implementada no Flash, consulte Recursos de segurana do Flash Player na pgina 201.
Consulte tambm SharedObject.getLocal(), System.showSettings()
764
System.onStatus
Disponibilidade
Flash Player 6.
Descrio
Manipulador de eventos: fornece um supermanipulador de eventos para determinados objetos. Os objetos LocalConnection, NetStream e SharedObject oferecem um manipulador de eventos onStatus que utiliza um objeto de informao para fornecer informaes, status ou mensagens de erro. Para responder a esse manipulador de eventos, voc deve criar uma funo para processar o objeto de informaes, e deve conhecer o formato e o contedo do objeto de informaes retornado. Alm dos mtodos onStatus especficos fornecidos para os objetos listados acima, o Flash oferece uma superfuno denominada System.onStatus. Se onStatus for chamado para determinado objeto com uma propriedade level com valor "error" e no houver nenhuma funo atribuda para resposta, o Flash processar uma funo atribuda a System.onStatus, se esta existir.
Observao: As classes Camera e Microphone tambm tm manipuladores onStatus, mas no passam objetos de informao com uma propriedade level igual a "error". Portanto, System.onStatus somente ser chamada se voc especificar uma funo para esses manipuladores.
O exemplo a seguir mostra como voc pode criar funes genricas e especficas para processar objetos de informao enviados pelo mtodo onStatus.
// Cria uma funo genrica System.onStatus = function(genericError) { // Seu script faria algo mais significativo aqui trace("Ocorreu um erro. Tente novamente."); } // // // // Cria uma funo para o objeto NetStream Se o objeto NetStream retornar um objeto de informao diferente do listado abaixo, com uma propriedade level igual a "error", System.onStatus ser chamada
fluxoVdeo_ns.onStatus = function(objetoInfo) { if (objetoInfo.code == "NetStream.Play.StreamNotFound") { trace("O arquivo de vdeo no foi encontrado."); } } Consulte tambm Camera.onStatus, LocalConnection.onStatus, Microphone.onStatus, NetStream.onStatus, SharedObject.onStatus
System.onStatus
765
System.setClipboard()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso System.setClipboard(seqncia_de_caracteres) Parmetros seqncia_de_caracteres Uma seqncia de caracteres de texto simples para colocar na rea de transferncia do sistema, substituindo o contedo atual, se houver. Se voc passar um literal de seqncia de caracteres, em vez de uma varivel do tipo String, coloque o literal entre aspas. Retorna
Um valor booleano true se o texto for colocado na rea de transferncia; caso contrrio, o valor ser false.
Descrio
Mtodo; substitui o contedo da rea de transferncia do sistema por uma seqncia de caracteres de texto especificada.
766
System.showSettings()
Disponibilidade
Flash Player 6.
Uso System.showSettings([painel]) Parmetros painel Nmero opcional que especifica qual painel Settings (Configuraes) do Flash Player ser exibido, como mostra a tabela a seguir. Valor passado para painel Nenhum (parmetro omitido) ou valor invlido 0 1 2 3 Retorna Painel Settings exibido O painel que estava aberto na ltima vez em que o usurio fechou o painel Settings do Flash Player Privacy (Privacidade) Local Storage (Armazenamento Local) Microphone (Microfone) Camera (Cmera)
Nada.
Descrio
Mtodo; exibe o painel Settings especificado do Flash Player, que permite que os usurios:
Autorizem ou neguem acesso cmera e ao microfone Especifiquem o espao disponvel no disco local para objetos compartilhados Selecionem uma cmera e um microfone padro Especifiquem configuraes de ganho de microfone e de supresso de eco
Por exemplo, se seu aplicativo requisitar o uso de uma cmera, voc poder solicitar que o usurio selecione Allow (Permitir) no painel Privacy Settings (Configuraes de privacidade) e, em seguida, poder emitir um comando System.showSettings(0). Certifique-se de que o tamanho do Stage (Palco) seja de pelo menos 215 x 138 pixels. Esse o tamanho mnimo exigido pelo Flash para exibir o painel.
Consulte tambm Camera.get(), Microphone.get(), SharedObject.getLocal()
System.showSettings()
767
System.useCodepage
Disponibilidade
Flash Player 6.
Uso System.useCodepage Descrio
Propriedade; valor booleano que informa ao Flash Player se deve usar Unicode ou a pgina de cdigo tradicional do sistema operacional que est executando o exibidor para interpretar os arquivos de texto externos. O valor padro de system.useCodepage false.
Quando a propriedade definida como false, o Flash Player interpreta arquivos de texto
externos como Unicode. Esses arquivos devem ser codificados como Unicode quando voc os salva. Quando a propriedade definida como true, o Flash Player interpreta os arquivos de texto externos usando a pgina de cdigo tradicional do sistema operacional que est executando o exibidor.
O texto que voc inclui ou carrega como arquivo externo (usando o comando #include, as aes ou getURL ou os objetos LoadVars ou XML) deve ser codificado como Unicode quando voc salva o arquivo de texto, para que o Flash Player o reconhea como Unicode. Para codificar arquivos externos como Unicode, salve-os em um aplicativo que suporte Unicode, como o Bloco de notas do Windows 2000.
loadVariables()
Se voc incluir ou carregar arquivos de texto no codificados como Unicode, defina system.useCodepage como true. Adicione o seguinte cdigo como primeira linha de cdigo no primeiro quadro do arquivo SWF que est carregando os dados:
system.useCodepage = true;
Quando esse cdigo estiver presente, o Flash Player interpretar o texto externo usando a pgina de cdigo tradicional do sistema operacional em que estiver sendo executado. Esta geralmente CP1252 para o sistema operacional Windows em ingls e Shift-JIS para um sistema operacional japons. Se voc definir system.useCodepage como true, o Flash Player 6 e verses posteriores trataro o texto da mesma forma que o Flash Player 5. O Flash Player 5 tratava todo o texto como se estivesse na pgina de cdigo tradicional do sistema operacional que est executando o exibidor. Se voc definir system.useCodepage como true, lembre-se de que a pgina de cdigo tradicional do sistema operacional que est executando o exibidor dever incluir os caracteres usados no arquivo de texto externo, para que este seja exibido. Por exemplo, se voc carregar um arquivo de texto externo que contenha caracteres chineses, estes no sero exibidos em um sistema que utiliza a pgina de cdigo CP1252, porque essa pgina no inclui caracteres chineses. Para certificar-se de que usurios de todas as plataformas possam exibir os arquivos de texto externos usados nos arquivos SWF, codifique todos os arquivos de texto externos como Unicode e deixe System.useCodepage definido como false por padro. Assim, o Flash Player 6 e verses posteriores interpretaro o texto como Unicode.
768
Objeto System.capabilities
Disponibilidade
Flash Player 6.
Descrio
possvel usar o objeto System.capabilites para determinar os recursos do sistema e do exibidor que hospedam um arquivo SWF. Isso permite ajustar o contedo para formatos diferentes. Por exemplo, a tela de um telefone celular (preto-e-branco, 100 pixels quadrados) diferente da tela de PC colorida de 1.000 pixels quadrados. Para oferecer um contedo apropriado ao maior nmero possvel de usurios, possvel usar o objeto System.capabilities para descobrir o tipo de dispositivo de um usurio. Tambm possvel especificar que o servidor envie diferentes arquivos SWF com base nos recursos do dispositivo, ou solicitar que o arquivo SWF altere sua apresentao com base nos recursos do dispositivo. possvel enviar informaes sobre recursos usando um mtodo GET ou POST HTTP. A seguir, exibido um exemplo de uma seqncia de caracteres do servidor referente a um dispositivo que no tem suporte MP3 e tem uma tela de 400 x 200 pixels, 8 x 4 centmetros:
"A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%207%2C0%2 C0%2C226&M=Macromedia%20Windows&R=1152x864&DP=72&COL=color&AR=1.0&OS=Window s%20XP&L=en&PT=External&AVD=f&LFD=f"
System.capabilities.avHardwareDisable
Somente leitura; especifica se a cmera e o microfone do usurio esto ativados ou desativados. Indica se o exibidor est sendo executado em um sistema que suporta comunicao entre o Flash Player e recursos de acessibilidade. Indica se o exibidor est sendo executado em um sistema com recursos de udio.
System.capabilities.hasAccessibility
ACC
System.capabilities.hasAudio
System.capabilities.hasAudioEncoder
AE Indica se o exibidor est sendo executado em um sistema que pode codificar fluxo de udio, como o que vem de um microfone.
System.capabilities.hasEmbeddedVideo
Indica se o exibidor est sendo executado em um sistema que suporta vdeo incorporado. Indica se o exibidor est sendo executado em um sistema com decodificador de MP3.
EV
System.capabilities.hasMP3
MP3
Objeto System.capabilities
769
Propriedade
Descrio
System.capabilities.hasPrinting
Indica se o exibidor est sendo executado em um sistema que suporta impresso. Indica se o exibidor suporta o desenvolvimento de aplicativos de transmisso por tela a serem executados atravs do Flash Communication Server. Indica se o exibidor suporta a reproduo de aplicativos de transmisso por tela que esto sendo executados atravs do Flash Communication Server.
System.capabilities.hasScreenBroadcast
SB
System.capabilities.hasScreenPlayback
SP
System.capabilities.hasStreamingAudio
Indica se o exibidor pode reproduzir SA udio de fluxo. Indica se o exibidor pode reproduzir SV vdeo de fluxo. Indica se o exibidor pode codificar um fluxo de vdeo, como o que vem de uma cmera da Web. Indica se o exibidor uma verso oficial ou uma verso de depurao especial.
VE
System.capabilities.hasStreamingVideo
System.capabilities.hasVideoEncoder
System.capabilities.isDebugger
DEB
System.capabilities.language
exibidor tentar ler algo (incluindo o primeiro arquivo SWF com o qual iniciado) no disco rgido do usurio.
System.capabilities.manufacturer System.capabilities.os
Indica o fabricante do Flash Player. Indica o sistema operacional que hospeda o Flash Player. Indica a relao entre os pixels da tela. Indica o tipo de exibidor: independente, externo, plug-in ou ActiveX.
M OS
System.capabilities.pixelAspectRatio
AR
System.capabilities.playerType
PT
System.capabilities.screenColor
System.capabilities.screenDPI
DP
770
Propriedade
Descrio
Uma seqncia de caracteres com N/A codificao tipo URL que especifica valores para cada propriedade de System.capabilities. Uma seqncia de caracteres contendo informaes sobre a verso e a plataforma do Flash Player.
V
System.capabilities.version
System.capabilities.avHardwareDisable
Disponibilidade
Flash Player 7.
Uso System.capabilities.avHardwareDisable Descrio
Propriedade somente de leitura; valor booleano que especifica se a cmera e o microfone do usurio esto ativados ou desativados.
Consulte tambm Camera.get(), Microphone.get(), System.showSettings()
System.capabilities.hasAccessibility
Disponibilidade
Propriedade; valor booleano que indica se o exibidor est sendo executado em um ambiente que suporta comunicao entre o Flash Player e recursos de acessibilidade. A seqncia de caracteres do servidor ACC.
Consulte tambm Accessibility.isActive(), Accessibility.updateProperties(), _accProps
System.capabilities.hasAccessibility
771
System.capabilities.hasAudio
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasAudio Descrio
Propriedade; valor booleano que indica se o exibidor est sendo executado em um sistema com recursos de udio. A seqncia de caracteres do servidor A.
System.capabilities.hasAudioEncoder
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasAudioEncoder Descrio
Propriedade; valor booleano que indica se o exibidor pode codificar um fluxo de udio, como o que vem de um microfone. A seqncia de caracteres do servidor AE.
System.capabilities.hasEmbeddedVideo
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasEmbeddedVideo Descrio
Propriedade; valor booleano que indica se o exibidor est sendo executado em um sistema com vdeo incorporado. A seqncia de caracteres do servidor EV.
System.capabilities.hasMP3
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasMP3 Descrio
Propriedade; valor booleano que indica se o exibidor est sendo executado em um sistema com decodificador de MP3. A seqncia de caracteres do servidor MP3.
772
System.capabilities.hasPrinting
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasPrinting Descrio
Propriedade; valor booleano que indica se o exibidor est sendo executado em um sistema que suporta impresso. A seqncia de caracteres do servidor PR.
System.capabilities.hasScreenBroadcast
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasScreenBroadcast Descrio
Propriedade; valor booleano que indica se o exibidor suporta o desenvolvimento de aplicativos de transmisso por tela a serem executados atravs do Flash Communication Server. A seqncia de caracteres do servidor SB.
System.capabilities.hasScreenPlayback
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasScreenPlayback Descrio
Propriedade; valor booleano que indica se o exibidor suporta a reproduo de aplicativos de transmisso por tela que esto sendo executados atravs do Flash Communication Server. A seqncia de caracteres do servidor SP.
System.capabilities.hasStreamingAudio
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasStreamingAudio Descrio
Propriedade; valor booleano que indica se o exibidor pode reproduzir udio de fluxo. A seqncia de caracteres do servidor SA.
System.capabilities.hasStreamingAudio
773
System.capabilities.hasStreamingVideo
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasStreamingVideo Descrio
Propriedade; valor booleano que indica se o exibidor pode reproduzir vdeo de fluxo. A seqncia de caracteres do servidor SV.
System.capabilities.hasVideoEncoder
Disponibilidade
Flash Player 6.
Uso System.capabilities.hasVideoEncoder Descrio
Propriedade; valor booleano que indica se o exibidor pode codificar um fluxo de vdeo, como o que vem de uma cmera da Web. A seqncia de caracteres do servidor VE.
System.capabilities.isDebugger
Disponibilidade
Flash Player 6.
Uso System.capabilities.isDebugger Descrio
Propriedade; valor booleano que indica se o exibidor uma verso oficial (false) ou uma verso de depurao especial (true). A seqncia de caracteres do servidor DEB.
774
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 es sv zh tr
System.capabilities.language
775
System.capabilities.localFileReadDisable
Disponibilidade
Flash Player 7.
Uso System.capabilities.localFileReadDisable Descrio
Propriedade somente de leitura; valor booleano que especifica se o exibidor tentar ler algo (incluindo o primeiro arquivo SWF com o qual iniciado) no disco rgido do usurio.
System.capabilities.manufacturer
Disponibilidade
Flash Player 6.
Uso System.capabilities.manufacturer Descrio
Propriedade; seqncia de caracteres que indica o fabricante do Flash Player, no formato "Macromedia NomeSO" (NomeSO pode ser "Windows", "Macintosh", "Linux" ou "outro NomeSO"). A seqncia de caracteres do servidor M.
System.capabilities.os
Disponibilidade
Flash Player 6.
Uso System.capabilities.os Descrio
Propriedade; seqncia de caracteres que indica o sistema operacional atual. A propriedade os pode retornar as seguintes seqncias de caracteres: "Windows XP", "Windows 2000", "Windows NT", "Windows 98/ME", "Windows 95", "Windows CE" (disponvel somente no Flash Player SDK, no na verso para desktop), "Linux" e "MacOS". A seqncia de caracteres do servidor OS.
776
System.capabilities.pixelAspectRatio
Disponibilidade
Flash Player 6.
Uso System.capabilities.pixelAspectRatio Descrio
Propriedade; um inteiro que indica a proporo de pixels da tela. A seqncia de caracteres do servidor AR.
System.capabilities.playerType
Disponibilidade
Flash Player 7.
Uso System.capabilities.playerType Descrio
Propriedade; seqncia de caracteres que indica o tipo de exibidor. Essa propriedade pode ter o valor "StandAlone" (independente), "External" (externo), "PlugIn" ou "ActiveX". A seqncia de caracteres do servidor PT.
System.capabilities.screenColor
Disponibilidade
Flash Player 6.
Uso System.capabilities.screenColor Descrio
Propriedade; indica se a tela colorida (color), em tons de cinza (gray) ou em preto-e-branco (bw). A seqncia de caracteres do servidor COL.
System.capabilities.screenDPI
Disponibilidade
Flash Player 6.
Uso System.capabilities.screenDPI Descrio
Propriedade; indica a resoluo de pontos por polegada (dpi) da tela, em pixels. A seqncia de caracteres do servidor DP.
System.capabilities.screenDPI
777
System.capabilities.screenResolutionX
Disponibilidade
Flash Player 6.
Uso System.capabilities.screenResolutionX Descrio
Propriedade; um inteiro que indica a resoluo horizontal mxima da tela. A seqncia de caracteres do servidor R (que retorna a largura e a altura na tela).
System.capabilities.screenResolutionY
Disponibilidade
Flash Player 6.
Uso System.capabilities.screenResolutionY Descrio
Propriedade; um inteiro que indica a resoluo vertical mxima da tela. A seqncia de caracteres do servidor R (que retorna a largura e a altura na tela).
System.capabilities.serverString
Disponibilidade
Flash Player 6.
Uso System.capabilities.serverString Descrio
Propriedade; seqncia de caracteres codificada como URL que especifica valores para cada propriedade de System.capabilities, como neste exemplo:
A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%207%2C0%2C 0%2C226&M=Macromedia%20Windows&R=1152x864&DP=72&COL=color&AR=1.0&OS=Windows%20 XP&L=en&PT=External&AVD=f&LFD=f
778
System.capabilities.version
Disponibilidade
Flash Player 6.
Uso System.capabilities.version Descrio
Propriedade; seqncia de caracteres que contm as informaes sobre a plataforma e a verso do Flash Player, por exemplo, "WIN 7,0,0,231". A seqncia de caracteres do servidor V.
Objeto System.security
Disponibilidade
Flash Player 6.
Descrio
Este objeto contm mtodos que especificam como os arquivos SWF de diversos domnios podem se comunicar uns com os outros. Resumo dos mtodos do objeto System.security
Mtodo
System.security.allowDomain()
Descrio Permite que os arquivos SWF dos domnios identificados acessem objetos e variveis do arquivo SWF de chamada ou de qualquer outro arquivo SWF do mesmo domnio que o arquivo SWF de chamada. acessem objetos e variveis do arquivo SWF de chamada, que est hospedado com o protocolo HTTPS.
Objeto System.security
779
System.security.allowDomain()
Disponibilidade
Descrio
Mtodo; permite que os arquivos SWF dos domnios identificados acessem objetos e variveis do arquivo SWF de chamada ou de qualquer outro arquivo SWF do mesmo domnio que o arquivo SWF de chamada. Em arquivos reproduzidos no Flash Player 7 ou verses posteriores, os parmetros passados devem seguir as regras de atribuio de nomes de domnio exato. Por exemplo, para permitir o acesso por arquivos SWF hospedados em www.domnio.com ou store.domnio.com, necessrio passar os dois nomes de domnio:
// Para o Flash Player 6 System.security.allowDomain("domnio.com"); // Os comandos correspondentes que permitem acesso a arquivos SWF // executados no Flash Player 7 ou verses posteriores System.security.allowDomain("www.domnio.com". "store.domnio.com");
Alm disso, para arquivos executados no Flash Player 7 ou verses posteriores, no possvel usar esse mtodo para permitir que os arquivos SWF hospedados com um protocolo seguro (HTTPS) permitam o acesso a partir de arquivos SWF hospedados com protocolos no-seguros. Voc deve usar System.security.allowInsecureDomain().
Exemplo
Como MovieA contm o comando allowDomain(), MovieB poder acessar os objetos e variveis de MovieA. Se MovieA no contivesse esse comando, a implementao de segurana do Flash impediria que MovieA acessasse os objetos e variveis de MovieB.
780
System.security.allowInsecureDomain()
Disponibilidade
Flash Player 7.
Uso System.Security.allowInsecureDomain("domnio") Parmetros domnio
Retorna
Nada.
Descrio
Mtodo; permite que arquivos SWF dos domnios identificados acessem objetos e variveis do arquivo SWF de chamada, que est hospedado com o protocolo HTTPS. Por padro, os arquivos SWF hospedados com protocolo HTTPS somente podem ser acessados por outros arquivos SWF hospedados com o protocolo HTTPS. Essa implementao mantm a integridade proporcionada pelo protocolo HTTPS. A Macromedia no recomenda o uso desse mtodo para substituir o comportamento padro, pois isso comprometeria a segurana do HTTPS. No entanto, talvez isso seja necessrio, por exemplo, se voc precisar permitir o acesso a arquivos HTTPS publicados para o Flash Player 7 ou verses posteriores a partir de arquivos HTTP publicados para o Flash Player 6. Um arquivo SWF publicado para o Flash Player 6 pode usar System.security.allowDomain() para permitir o acesso de HTTP para HTTPS. No entanto, como a segurana implementada de maneira diferente no Flash Player 7, voc deve usar System.Security.allowInsecureDomain() para permitir esse acesso em arquivos SWF publicados para o Flash Player 7 ou verses posteriores.
Exemplo
Neste exemplo, voc est hospedando um teste de matemtica em um domnio seguro para que apenas os alunos registrados possam acess-lo. Voc tambm desenvolveu vrios arquivos SWF que ilustram determinados conceitos e est armazenando esses arquivos em um domnio no-seguro. Voc deseja que os alunos tenham a possibilidade de acessar o teste a partir do arquivo SWF que contm informaes sobre um conceito.
// Este arquivo SWF est localizado em // https://meuSiteEducativo.umlocal.com/testeMatemtica.swf // Os arquivos de conceitos esto localizados em // http://meuSiteEducativo.umlocal.com System.Security.allowInsecureDomain("meuSiteEducativo.umlocal.com") Consulte tambm System.security.allowDomain(), System.exactSettings
System.security.allowInsecureDomain()
781
targetPath
Disponibilidade
Flash Player 5.
Uso targetpath(objeto_MovieClip) Parmetros objeto_MovieClip
Referncia (por exemplo, _root ou _parent) ao clipe de filme cujo caminho de destino est sendo recuperado.
Retorna
Funo; retorna uma seqncia de caracteres que contm o caminho de destino de objeto_MovieClip. O caminho de destino retornado em notao de ponto. Para recuperar o caminho de destino em notao de barras, use a propriedade _target.
Exemplo
Este exemplo exibe o caminho de destino de um clipe de filme assim que carregado.
onClipEvent(load){ trace(targetPath(this)); } Consulte tambm eval()
782
tellTarget
Disponibilidade
Uma seqncia de caracteres que especifica o caminho de destino da Timeline (Linha de tempo) a ser controlada. As instrues que sero executadas se a condio for avaliada como true.
instrues Retorna
Nada.
Descrio
Ao obsoleta; aplica os comandos definidos no parmetro instrues na Timeline especificada no parmetro destino. A ao tellTarget til para controles de navegao. Atribua tellTarget a botes que encerram ou comeam clipes de filme em qualquer local do Stage (Palco). Voc tambm pode fazer clipes de filme irem para um quadro em particular no clipe. Por exemplo, atribua tellTarget a botes que encerram ou iniciam clipes de filme no Stage ou solicitam que os clipes de filme saltem para um quadro especfico. No Flash 5 ou verso posterior, possvel usar a notao de ponto em vez da ao tellTarget. Use a ao with a fim de emitir vrias aes para a mesma Timeline. possvel usar a ao with para especificar qualquer objeto, enquanto a ao tellTarget s pode especificar clipes de filme.
Exemplo
A instruo tellTarget controla a instncia do clipe de filme ball na Timeline principal. O Frame 1 (Quadro 1) da instncia ball est em branco e possui uma ao stop(), de forma que no est visvel no Stage. Quando o boto com a ao a seguir clicado, tellTarget solicita que a reproduo em ball v para o Frame 2 (Quadro 2) , onde a animao comea.
on (release) { tellTarget("ball") { gotoAndPlay(2); } }
tellTarget
783
Se for necessrio emitir vrios comandos para a instncia ball, use a ao with, como na instruo a seguir.
on (release) { with(ball) { gotoAndPlay(2); _alpha = 15; _xscale = 50; _yscale = 50; } } Consulte tambm with
Classe TextField
Disponibilidade
Flash Player 6.
Descrio
Todos os campos de texto dinmicos e de entrada em um arquivo SWF so instncias da classe TextField. possvel dar a um campo de texto um nome de instncia no inspetor Properties (Propriedades) e usar os mtodos e as propriedades da classe TextField para manipul-lo com o ActionScript. Os nomes de instncias do TextField so exibidos no Movie Explorer e na caixa de dilogo Insert Target Path (Inserir caminho de destino) no painel Actions (Aes). A classe TextField herda propriedades e mtodos de Classe Object. Para criar um campo de texto dinamicamente, use MovieClip.createTextField(). Resumo dos mtodos da classe TextField
Mtodo
TextField.addListener()
Descrio Registra um objeto para receber notificao quando os manipuladores de eventos onChanged e onScroller forem chamados. Retorna nomes de fontes no sistema do host do exibidor como um array. Retorna a espessura de um campo de texto. recm-inserido.
TextField.getFontList()
TextField.getDepth()
TextField.getTextFormat()
Retorna um objeto TextFormat que contm informaes de formatao para uma parte do texto ou para o texto inteiro em um campo de texto. Remove um objeto ouvinte. Remove um campo de texto que foi criado com MovieClip.createTextField(). Substitui a seleo atual.
TextField.removeListener() TextField.removeTextField()
TextField.replaceSel()
784
Mtodo
TextField.setTextFormat()
Descrio O valor da transparncia de uma instncia de campo de texto. Controla o alinhamento automtico e o dimensionamento de um campo de texto. Indica se o campo de texto tem um preenchimento de fundo. Indica a cor do preenchimento de fundo. Indica se o campo de texto tem uma borda. Indica a cor da borda. A linha visvel mais inferior em um campo de texto. Somente leitura. Indica se o campo de texto usa contornos de fontes incorporadas ou fontes de dispositivo. A altura de uma instncia de campo de texto em pixels. Afeta somente a caixa delimitadora do campo de texto, e no a espessura da borda nem o tamanho da fonte de texto. Indica a qualidade de renderizao do arquivo SWF. Indica o valor de rolagem horizontal de um campo de texto. Indica a posio de rolagem mxima atual de um campo de texto. Contm uma representao HTML do contedo de um campo de texto. O nmero de caracteres em um campo de texto. Somente leitura. O nmero mximo de caracteres que um campo de texto pode conter. O valor mximo de TextField.hscroll. Somente leitura. O valor mximo de TextField.scroll. Somente leitura. Associa um objeto ContextMenu a um campo de texto. Indica se o Flash Player deve rolar automaticamente campos de texto de vrias linhas quando o ponteiro do mouse for posicionado sobre um campo de texto e o usurio movimentar o mouse. Indica se o campo de texto contm vrias linhas. O nome de uma instncia de campo de texto.
TextField.embedFonts
TextField._height
TextField.length TextField.maxChars
TextField.multiline TextField._name
Classe TextField
785
Propriedade
TextField._parent
Descrio Uma referncia instncia que o pai desta instncia; seja do tipo Button ou MovieClip. Indica se um campo de texto oculta os caracteres de entrada. Indica a qualidade de renderizao de um arquivo SWF. O conjunto de caracteres que um usurio pode digitar em um campo de texto. O grau de rotao de uma instncia de campo de texto. Indica a posio de rolagem atual de um campo de texto. Indica se um campo de texto pode ser selecionado. O perodo de tempo em que um som deve ser armazenado em pr-buffer antes de ser reproduzido. Indica se um clipe de filme est includo na ordenao de tabulao automtica. Indica a ordem de tabulao de um objeto. O caminho de destino da instncia de campo de texto especificada. Somente leitura. O texto atual no campo de texto. A cor do texto atual no campo de texto. A altura da caixa delimitadora do campo de texto. A largura da caixa delimitadora do campo de texto. Indica se um campo de texto dinmico ou de entrada. O URL do arquivo SWF que criou a instncia de campo de texto. Somente leitura. O nome da varivel associada ao campo de texto. Um valor booleano que determina se uma instncia de campo de texto est oculta ou visvel. A largura de uma instncia de campo de texto em pixels. Afeta somente a caixa delimitadora do campo de texto, e no a espessura da borda nem o tamanho da fonte de texto. Indica se o campo de texto faz quebra automtica de linha. A coordenada x de uma instncia de campo de texto. A coordenada x do ponteiro em relao a uma instncia de campo de texto. Somente leitura. O valor que especifica a porcentagem para dimensionar horizontalmente uma instncia de campo de texto. A coordenada y de uma instncia de campo de texto.
TextField.tabEnabled
TextField.tabIndex TextField._target
TextField.variable TextField._visible
TextField._width
TextField._xscale
TextField._y
786
Propriedade
TextField._ymouse
Descrio A coordenada y do ponteiro em relao a uma instncia de campo de texto. Somente leitura. O valor que especifica a porcentagem para dimensionar verticalmente uma instncia de campo de texto.
TextField._yscale
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
Descrio Notificado quando o campo de texto alterado. Notificado quando a propriedade scroll ou maxscroll de um campo de texto alterada.
TextField.addListener()
Disponibilidade
Flash Player 6.
Uso meu_txt.addListener(ouvinte) Parmetros ouvinte Retorna
Nada.
Descrio
Mtodo, registra um objeto para receber notificao quando os manipuladores de eventos onChanged e onScroller forem chamados. Quando um campo de texto alterado ou rolado, os manipuladores de eventos TextField.onChanged e TextField.onScroller so chamados, seguidos pelos manipuladores onChanged e onScroller dos objetos registrados como ouvintes. Vrios objetos podem ser registrados como ouvintes. Para remover um objeto ouvinte de um campo de texto, chame TextField.removeListener().
TextField.addListener()
787
Uma referncia instncia do campo de texto passada como parmetro para os manipuladores onScroller e onChanged pela origem do evento. possvel capturar esses dados colocando um parmetro no mtodo manipulador de eventos. Por exemplo, o cdigo a seguir utiliza txt como o parmetro que passado para o manipulador de eventos onScroller. O parmetro ento usado em uma instruo trace para enviar o nome da instncia do campo de texto para o painel Output (Sada).
meuTextField.onScroller = function (txt) { trace (txt._name + " alterado"); }; Exemplo
O exemplo a seguir define um manipulador onChange para o campo de texto de entrada meuTexto. Em seguida, define um novo objeto ouvinte, meuOuvinte e um manipulador onChanged para o objeto. Esse manipulador ser chamado quando o campo de texto meuTexto for alterado. A ltima linha do cdigo chama TextField.addListener para registrar o objeto ouvinte meuOuvinte com o campo de texto meuTexto, para que seja notificado quando meuTexto for alterado.
meuTexto.onChanged = function (txt) { trace (txt._name + " alterado"); }; meuOuvinte = new Object(); meuOuvinte.onChanged = function (txt) { trace(txt._name + " alterado e meuOuvinte notificado"); }; meuTexto.addListener(meuOuvinte); Consulte tambm TextField.onChanged, TextField.onScroller, TextField.removeListener()
788
TextField._alpha
Disponibilidade
Flash Player 6.
Uso meu_txt._alpha Descrio
Propriedade; define ou recupera um valor de transparncia alfa do campo de texto especificado por meu_txt. A faixa de valores vlidos vai de 0 (totalmente transparente) a 100 (totalmente opaco). O valor padro 100.
Exemplo
O cdigo a seguir define a propriedade _alpha de um campo de texto chamado text1_txt para 30% quando o boto clicado:
on (release) { text1_txt._alpha = 30; } Consulte tambm Button._alpha, MovieClip._alpha
TextField._alpha
789
TextField.autoSize
Disponibilidade
Flash Player 6.
Uso meu_txt.autoSize Descrio
Propriedade; controla o alinhamento e o dimensionamento automticos de campos de texto. Os valores aceitveis para autoSize so "none" (o padro), "left", "right" e "center". Quando voc definir a propriedade autoSize, true ser sinnimo de "left" (esquerda) e false de "none" (nenhum). Os valores de autoSize, multiline e wordWrap determinam se um campo de texto se expande ou contrai no lado esquerdo, no lado direito ou na parte inferior. Voc pode usar o cdigo a seguir e inserir outros valores para autoSize, multiline e wordWrap para ver como o campo redimensionado quando esses valores so alterados.
createTextField("meu_txt", 1, 0, 0, 200, 20); with (meu_txt) { border = true; borderColor = 0x000000; multiline = false; wordWrap = false; autoSize = "none"; text = "Este um texto longo que no caber no campo"; } Exemplo
O exemplo a seguir define a propriedade de autoSize do campo de texto meu_txt como "center".
meu_txt.autosize = "center";
TextField.background
Disponibilidade
Flash Player 6.
Uso meu_txt.background Descrio
Propriedade; se true, o campo de texto ter um preenchimento de fundo. Se false, o campo de texto no ter nenhum preenchimento de fundo.
790
TextField.backgroundColor
Disponibilidade
Flash Player 6.
Uso meu_txt.backgroundColor Descrio
Propriedade; a cor do fundo do campo de texto. O padro 0xFFFFFF (branco). Esta propriedade pode ser recuperada ou definida, mesmo que, no momento, no haja fundo, mas a cor s ser visvel se o campo de texto tiver uma borda.
Consulte tambm TextField.background
TextField.border
Disponibilidade
Flash Player 6.
Uso meu_txt.border Descrio
Propriedade; se true, o campo de texto ter uma borda. Se false, o campo de texto no ter borda.
TextField.borderColor
Disponibilidade
Flash Player 6.
Uso meu_txt.borderColor Descrio
Propriedade; a cor da borda do campo de texto, o padro 0x000000 (preto). Esta propriedade pode ser recuperada ou definida, mesmo que no haja borda no momento.
Consulte tambm TextField.border
TextField.borderColor
791
TextField.bottomScroll
Disponibilidade
Flash Player 6.
Uso meu_txt.bottomScroll Descrio
Propriedade (somente de leitura); um inteiro (ndice que tem 1 como base) que indica a linha mais baixa visvel em meu_txt. Imagine o campo de texto como uma janela para um bloco de texto. A propriedade TextField.scroll o ndice que tem 1 como base da linha mais alta visvel na janela. Todo o texto entre as linhas TextField.scroll e TextField.bottomScroll est visvel atualmente no campo de texto.
TextField.condenseWhite
Disponibilidade
Flash Player 6.
Uso meu_txt.condenseWhite Descrio
Propriedade; valor booleano que especifica se o espao em branco extra (espaos, quebras de linhas e assim por diante) de um campo de texto HTML deve ser removido quando o campo processado em um navegador. O valor padro false. Se voc definir esse valor como true, dever usar comandos HTML padro como <BR> e <P> para inserir quebras de linha no campo de texto. Se meu_txt.html for false, essa propriedade ser ignorada.
Consulte tambm TextField.html
TextField.embedFonts
Disponibilidade
Flash Player 6.
Uso meu_txt.embedFonts Descrio
Propriedade; um valor booleano que, quando true, exibe o campo de texto usando contornos de fontes incorporadas. Se for false, exibir o campo de texto usando fontes de dispositivo.
792
TextField.getDepth()
Disponibilidade
Flash Player 6.
Uso meu_txt.getDepth() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
TextField.getFontList()
Disponibilidade
Flash Player 6.
Uso TextField.getFontList() Parmetros
Nenhum.
Retorna
Um array.
Descrio
Mtodo; mtodo esttico da Classe TextField global. No especifique um campo de texto (como meu_txt) ao chamar esse mtodo. Esse mtodo retorna nomes de fontes no sistema do host do exibidor como um array. No retorna nomes de todas as fontes dos arquivos SWF carregados no momento. Os nomes so do tipo String.
Exemplo
TextField.getFontList()
793
TextField.getNewTextFormat()
Disponibilidade
Flash Player 6.
Uso meu_txt.getNewTextFormat() Parmetros
Nenhum.
Retorna
Um objeto TextFormat.
Descrio
Mtodo; retorna um objeto TextFormat que contm uma cpia do objeto de formato de texto do campo de texto. O objeto de formato de texto o formato recebido pelo texto recm-inserido, como o texto inserido com o mtodo replaceSel() ou o texto digitado por um usurio. Quando getNewTextFormat() chamado, o objeto TextFormat retornado tem todas as suas propriedades definidas. Nenhuma propriedade null.
794
TextField.getTextFormat()
Disponibilidade
Flash Player 6.
Uso meu_txt.getTextFormat() meu_txt.getTextFormat(ndice) meu_txt.getTextFormat(inciondice, fimndice) Parmetros ndice
Um inteiro que especifica um caractere em uma seqncia de caracteres. Inteiros que especificam os locais inicial e final de um intervalo de
Um objeto.
Descrio
Mtodo; Uso 1: retorna um objeto TextFormat que contm informaes de formatao para todo o texto contido em um campo de texto. Somente as propriedades comuns a todo o texto no campo de texto so definidas no objeto TextFormat resultante. Qualquer propriedade que seja misturada, ou seja, que tenha valores diferentes em pontos diferentes no texto, tem seu valor definido como null. Uso 2: Retorna um objeto TextFormat que contm uma cpia do formato de texto do campo de texto em ndice. Uso 3: Retorna um objeto TextFormat que contm informaes de formatao para o intervalo de texto de inciondice a fimndice.
Consulte tambm TextField.getNewTextFormat(), TextField.setNewTextFormat(), TextField.setTextFormat()
TextField.getTextFormat()
795
TextField._height
Disponibilidade
Flash Player 6.
Uso meu_txt._height Descrio
TextField._highquality
Disponibilidade
Flash Player 6.
Uso meu_txt._highquality Descrio
Propriedade (global); especifica o nvel de eliminao de serrilhado aplicado ao arquivo SWF atual. Especifique 2 (melhor qualidade) para aplicar alta qualidade com a suavizao de bitmap sempre ativada. Especifique 1 (alta qualidade) para aplicar o recurso de eliminao de serrilhado. Isso suavizar os bitmaps se o arquivo SWF no tiver animao. Especifique 0 (baixa qualidade) para impedir a eliminao de serrilhado.
Consulte tambm _quality
796
TextField.hscroll
Disponibilidade
Flash Player 6.
Uso meu_txt.hscroll Retorna
Um inteiro.
Descrio
Propriedade; indica a posio de rolagem horizontal atual. Se a propriedade hscroll for 0, o texto no ser rolado horizontalmente. Para obter mais informaes sobre texto de rolagem, consulte Criando texto de rolagem na pgina 163.
Exemplo
TextField.html
Disponibilidade
Flash Player 6.
Uso meu_txt.html Descrio
Propriedade; um sinalizador que indica se o campo de texto contm uma representao HTML. Se a propriedade html for true, o campo de texto ser HTML. Se html for false, o campo de texto ser no-HTML.
Consulte tambm TextField.htmlText
TextField.html
797
TextField.htmlText
Disponibilidade
Flash Player 6.
Uso meu_txt.htmlText Descrio
Propriedade; se o campo de texto for HTML, esta propriedade conter a representao HTML do contedo do campo de texto. Se o campo de texto no for HTML, ele se comportar da mesma maneira que a propriedade text. possvel definir um campo de texto como HTML no inspetor Properties (Propriedades) ou ao configurar a propriedade html do campo de texto como true.
Exemplo
TextField.length
Disponibilidade
Flash Player 6.
Uso meu_txt.length Retorna
Um nmero.
Descrio
Propriedade (somente de leitura); indica o nmero de caracteres em um campo de texto. Esta propriedade retorna o mesmo valor que text.length, mas mais rpida. Um caractere como tabulao (\t), por exemplo, conta como um caractere.
798
TextField.maxChars
Disponibilidade
Flash Player 6.
Uso meu_txt.maxChars Descrio
Propriedade; indica o nmero mximo de caracteres que o campo de texto pode conter. Um script pode inserir mais texto do que o permitido por maxChars; a propriedade maxChars somente indica quanto texto um usurio pode digitar. Se o valor desta propriedade for null, no haver limite para o volume de texto que um usurio pode digitar.
TextField.maxhscroll
Disponibilidade
Flash Player 6.
Uso meu_txt.maxhscroll Descrio
TextField.maxscroll
Disponibilidade
Flash Player 6.
Uso TextField.maxscroll Descrio
Propriedade (somente de leitura); indica o valor mximo de TextField.scroll. Para obter mais informaes sobre texto de rolagem, consulte Criando texto de rolagem na pgina 163.
TextField.maxscroll
799
TextField.menu
Disponibilidade Flash Player 7.
Uso meu_txt.menu = menuContexto Parmetros menuContexto Descrio
Um objeto ContextMenu.
Propriedade; associa o objeto do ContextMenu denominado menuContexto com o campo de texto meu_txt. A classe ContextMenu permite modificar o menu de contexto que aparece quando o usurio clica com o boto direito do mouse (Windows) ou com a tecla Control pressionada (Macintosh) no Flash Player. Essa propriedade funciona somente com campos de texto selecionveis (editveis); no afeta os campos de texto que no podem ser selecionados.
Exemplo
O exemplo a seguir atribui o objeto do ContextMenu menu_cm ao campo de texto news_txt. O objeto ContextMenu contm um item de menu personalizado de nome Imprimir com um manipulador de retorno de chamada associado denominado doPrint(), que executa operaes de impresso (no mostradas):
var menu_cm = new ContextMenu(); menu_cm.customItems.push(new ContextMenuItem("Imprimir...", doPrint)); function doPrint(menu, obj) { // Aqui entra o cdigo de "Imprimir" } news_txt.menu = menu_cm; Consulte tambm Button.menu, Classe ContextMenu, Classe ContextMenuItem, MovieClip.menu
800
TextField.mouseWheelEnabled
Disponibilidade
Flash Player 7.
Uso meu_txt.mouseWheelEnabled Descrio
Propriedade; um valor booleano que indica se o Flash Player deve rolar automaticamente os campos de vrias linhas quando o ponteiro do mouse estiver posicionado sobre um campo de texto e o usurio movimentar a roda do mouse. Por padro, esse valor true. Essa propriedade til para impedir que a roda do mouse faa a rolagem de campos de texto ou se voc desejar implementar sua prpria rolagem de campos de texto.
Consulte tambm Mouse.onMouseWheel
TextField.multiline
Disponibilidade
Flash Player 6.
Uso meu_txt.multiline Descrio
Propriedade; indica se o campo de texto contm vrias linhas. Se o valor for true, o campo de texto conter vrias linhas; se for false, ele ser um campo de texto de uma nica linha.
TextField._name
Disponibilidade
Flash Player 6.
Uso meu_txt._name Descrio
TextField._name
801
TextField.onChanged
Disponibilidade
Flash Player 6.
Uso meu_txt.onChanged = function(){ // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Manipulador de eventos; chamado quando o contedo de um campo de texto alterado. Como padro, indefinido; possvel defini-lo em um script. Uma referncia instncia do campo de texto passada como parmetro para o manipulador onChanged. possvel capturar esses dados colocando um parmetro no mtodo manipulador de eventos. Por exemplo, o cdigo a seguir usa txt como o parmetro que passado para o manipulador de eventos onChanged. Em seguida, o parmetro usado em uma instruo trace() para enviar o nome da instncia do campo de texto para o painel Output (Sada).
meuTextField.onChanged = function (txt) { trace (txt._name + " alterado"); };
TextField.onKillFocus
Disponibilidade
Flash Player 6.
Uso meu_txt.onKillFocus = function(novoFoco){ // suas instrues entram aqui } Parmetros novoFoco Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um campo de texto perde o foco do teclado. O mtodo onKillFocus recebe um parmetro, novoFoco, que um objeto representando o novo objeto a receber o foco. Se nenhum objeto receber o foco, novoFoco conter o valor null.
802
TextField.onScroller
Disponibilidade
Flash Player 6.
Uso meu_txt.onScroller = function(instnciaCampoTexto){ // suas instrues entram aqui } Parmetros instnciaCampoTexto
alterada.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando uma das propriedades de rolagem de campos de texto alterada. Uma referncia instncia do campo de texto passada como parmetro para o manipulador onScroller. possvel capturar esses dados colocando um parmetro no mtodo manipulador de eventos. Por exemplo, o cdigo a seguir utiliza txt como o parmetro que passado para o manipulador de eventos onScroller. Em seguida, o parmetro usado em uma instruo trace() para enviar o nome da instncia do campo de texto para o painel Output (Sada).
myTextField.onScroller = function (txt) { trace (txt._name + " rolado"); }; Consulte tambm TextField.hscroll, TextField.maxhscroll, TextField.maxscroll, TextField.scroll
TextField.onScroller
803
TextField.onSetFocus
Disponibilidade
Flash Player 6.
Uso meu_txt.onSetFocus = function(focoAnterior){ // suas instrues entram aqui } Parmetros focoAnterior Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando um campo de texto recebe o foco do teclado. O parmetro focoAnterior o objeto que perde o foco. Por exemplo, se o usurio pressionar a tecla Tab para mover o foco de entrada de um boto para um campo de texto, focoAnterior conter a instncia do campo de texto. Se nenhum objeto possua o foco anteriormente, focoAnterior conter um valor null.
TextField._parent
Disponibilidade
Flash Player 6.
Uso meu_txt._parent.propriedade _parent.propriedade Descrio
Propriedade; uma referncia ao clipe de filme ou objeto que contm o campo de texto ou objeto atual. O objeto atual aquele que contm o cdigo ActionScript que faz referncia a _parent. Use _parent para especificar um caminho relativo para clipes de filme ou objetos que estiverem acima do campo de texto atual. possvel usar _parent para subir vrios nveis na lista de exibio, conforme mostrado a seguir:
_parent._parent._alpha = 20; Consulte tambm Button._parent, MovieClip._parent, _root, targetPath
804
TextField.password
Disponibilidade
Flash Player 6.
Uso meu_txt.password Descrio
Propriedade; se o valor de password for true, o campo de texto ser protegido por senha e ocultar os caracteres de entrada. Se for false, o campo de texto no ser protegido por senha.
TextField._quality
Disponibilidade
Flash Player 6.
Uso meu_txt._quality Descrio
Propriedade (global); define ou recupera a qualidade de renderizao usada para um arquivo SWF. As fontes de dispositivo so sempre serrilhadas e, por isso, no so afetadas pela propriedade _quality.
Observao: Embora voc possa especificar essa propriedade para um objeto TextField, na verdade uma propriedade global e seu valor pode ser especificado simplesmente como _quality. Para obter mais informaes, consulte _quality.
TextField.removeListener()
Disponibilidade
Flash Player 6.
Uso meu_txt.removeListener(ouvinte) Parmetros ouvinte O objeto que no TextField.onScroller. Retorna
Se o ouvinte for removido com xito, o mtodo retornar um valor true. Se o ouvinte no for removido com xito (por exemplo, caso o ouvinte no esteja na lista de ouvintes do objeto TextField), o mtodo retornar um valor false.
Descrio
Mtodo; remove um objeto ouvinte anteriormente registrado para uma instncia de campo de texto com TextField.addListener().
TextField.removeListener()
805
TextField.removeTextField()
Disponibilidade
Flash Player 6.
Uso meu_txt.removeTextField() Descrio
Mtodo; remove o campo de texto especificado por meu_txt. Essa operao s pode ser executada em um campo de texto que tenha sido criado com MovieClip.createTextField(). Quando voc chamar esse mtodo, o campo de texto ser removido. Esse mtodo semelhante a MovieClip.removeMovieClip().
TextField.replaceSel()
Disponibilidade
Flash Player 6.
Uso meu_txt.replaceSel(texto) Parmetros texto Retorna
Nada.
Descrio
Mtodo; substitui a seleo atual pelo contedo do parmetro texto. O texto inserido na posio da seleo atual, usando o formato de caracteres padro atual e o formato de pargrafo padro. O texto no tratado como HTML, mesmo que o campo de texto seja HTML. possvel usar o mtodo replaceSel() para inserir e excluir textos sem interromper a formatao de caractere e pargrafo do restante do texto. Voc deve usar Selection.setFocus() para colocar o campo em foco antes de emitir esse comando.
Consulte tambm Selection.setFocus()
806
TextField.replaceText()
Disponibilidade
Flash Player 7.
Uso meu_txt.replaceText(inciondice, fimndice, texto) Descrio
Mtodo; substitui um intervalo de caracteres, especificado pelos parmetros inciondice e fimndice, no campo de texto especificado com o contedo do parmetro texto.
TextField.restrict
Disponibilidade
Flash Player 6.
Uso meu_txt.restrict Descrio
Propriedade; indica o conjunto de caracteres que um usurio pode digitar no campo de texto. Se o valor da propriedade restrict for null, ser possvel digitar qualquer caractere. Se o valor da propriedade restrict for uma seqncia de caracteres vazia, no ser possvel digitar nenhum caractere. Se o valor da propriedade restrict for uma seqncia de caracteres, s ser possvel digitar os caracteres da seqncia no campo de texto. A seqncia de caracteres rastreada da esquerda para a direita. possvel especificar um intervalo usando o trao (-). Isso restringe apenas a interao com o usurio; um script pode colocar qualquer texto no campo de texto. Esta propriedade no sincronizada com as caixas de seleo Embed Font Outlines (Incorporar contornos de fonte) no inspetor Properties (Propriedades). Se a seqncia de caracteres comear com ^, todos os caracteres sero aceitos inicialmente e os caracteres sucessores na seqncia sero excludos do conjunto de caracteres aceitos. Se a seqncia de caracteres no comear com ^, nenhum caractere ser aceito inicialmente e os caracteres sucessores na seqncia sero includos no conjunto de caracteres aceitos.
Exemplo
O exemplo a seguir s permite que sejam digitados caracteres em maisculas, espaos e nmeros em um campo de texto:
meu_txt.restrict = "A-Z 0-9";
possvel usar uma barra invertida para digitar um ^ ou - literalmente. As seqncias de barra invertida aceitas so \-, \^ ou \\. A barra invertida deve ser um caractere real na seqncia de caracteres para que, quando especificada no ActionScript, seja usada uma barra invertida dupla. Por exemplo, o cdigo a seguir inclui somente o trao (-) e o circunflexo (^).
meu_txt.restrict = "\\-\\^";
TextField.restrict
807
O ^ pode ser usado em qualquer parte da seqncia de caracteres para alternar entre caracteres includos e caracteres excludos. O cdigo a seguir contm somente letras maisculas, mas exclui a letra maiscula Q.
meu_txt.restrict = "A-Z^Q";
possvel usar a seqncia de escape \u para construir seqncias de caracteres restrict. O cdigo a seguir contm somente os caracteres de ASCII 32 (espao) a ASCII 126 (til).
meu_txt.restrict = "\u0020-\u007E";
TextField._rotation
Disponibilidade
Flash Player 6.
Uso meu_txt._rotation Descrio
Propriedade; a rotao do campo de texto, em graus, a partir da orientao original. Os valores de 0 a 180 representam a rotao no sentido horrio. E os valores de 0 a -180 representam a rotao no sentido anti-horrio. Os valores fora desse intervalo so somados a 360 ou subtrados de 360 para que seja obtido um valor contido no intervalo. Por exemplo, a instruo meu_txt._rotation = 450 igual a meu_txt._rotation = 90.
Consulte tambm Button._rotation, MovieClip._rotation
TextField.scroll
Disponibilidade
Flash Player 6.
Uso meu_txt.scroll Descrio
Propriedade; define a posio vertical do texto em um campo de texto. A propriedade scroll til para direcionar os usurios para um pargrafo em especfico em um trecho longo, ou para criar campos de texto de rolagem. Essa propriedade pode ser recuperada e modificada. Para obter mais informaes sobre texto de rolagem, consulte Criando texto de rolagem na pgina 163.
808
Exemplo
O cdigo a seguir anexado a um boto Up (Para cima) que rola pelo campo de texto meu_txt.
on (release) { meu_txt.scroll = myText.scroll + 1; } Consulte tambm TextField.hscroll, TextField.maxscroll
TextField.selectable
Disponibilidade
Flash Player 6.
Uso meu_txt.selectable Descrio
Propriedade; um valor booleano que indica se o campo de texto pode ser selecionado (se editvel). O valor true indica que o texto pode ser selecionado.
TextField.selectable
809
TextField.setNewTextFormat()
Disponibilidade
Flash Player 6.
Uso meu_txt.setNewTextFormat(formatoTexto) Parmetros formatoTexto Retorna
Um objeto TextFormat.
Nada.
Descrio
Mtodo; define um objeto TextFormat para o texto recm-inserido, como o texto inserido com o mtodo replaceSel() ou o texto digitado por um usurio em um campo de texto. Cada campo de texto tem um novo formato de texto. Quando o texto inserido, o novo formato de texto atribudo ao novo texto. O formato de texto definido em um novo objeto TextFormat. Ele contm informaes de formatao de caractere e pargrafo. As informaes sobre formatao de caractere descrevem a aparncia de caracteres individuais. Por exemplo: o nome da fonte, o tamanho do ponto, a cor e o URL associada. As informaes sobre formatao de pargrafo descrevem a aparncia de um pargrafo. Por exemplo: margem esquerda, margem direita, recuo da primeira linha e alinhamento esquerdo, direito e centralizado.
Consulte tambm TextField.getNewTextFormat(), TextField.getTextFormat(), TextField.setTextFormat()
810
TextField.setTextFormat()
Disponibilidade
Flash Player 6.
Uso meu_txt.setTextFormat (formatoTexto) meu_txt.setTextFormat (ndice, formatoTexto) meu_txt.setTextFormat (inciondice, fimndice, formatoTexto) Parmetros formatoTexto
pargrafo.
ndice
Um inteiro que especifica um caractere em meu_txt. Um inteiro. Um inteiro que especifica o primeiro caractere aps o intervalo de texto desejado.
Nada.
Descrio
Mtodo; define um objeto TextFormat para um intervalo especificado de texto em um campo de texto. possvel atribuir um formato de texto a cada caractere de um campo de texto. O formato de texto do primeiro caractere de um pargrafo examinado para realizar formatao de pargrafo para todo o pargrafo. O mtodo setTextFormat() altera o formato de texto aplicado a caracteres isoladamente para grupos de caracteres ou para todo o corpo de texto em um campo de texto. O formato de texto definido em um novo objeto TextFormat. Ele contm informaes de formatao de caractere e pargrafo. As informaes de formatao de caractere descrevem a aparncia dos caracteres. Por exemplo: o nome da fonte, o tamanho do ponto, a cor e o URL associado. As informaes sobre formatao de pargrafo descrevem a aparncia de um pargrafo. Por exemplo: margem esquerda, margem direita, recuo da primeira linha e alinhamento esquerdo, direito e centralizado. Uso 1: Aplica as propriedades de formatoTexto a todo o texto no campo de texto. Uso 2: Aplica as propriedades de formatoTexto ao caractere na posio ndice.
inciondice
Uso 3: Aplica as propriedades do parmetro formatoTexto ao intervalo de texto do parmetro ao parmetro fimndice.
TextField.replaceSel() no assume a formatao especificada em uma chamada setTextFormat(). Para definir a formatao padro para um objeto TextField, use TextField.setNewTextFormat().
Observe que qualquer texto inserido manualmente pelo usurio ou substitudo por meio de a
TextField.setTextFormat()
811
Exemplo
Este exemplo cria um novo objeto TextFormat chamado meuTextFormat e define sua propriedade bold como true. Em seguida, chama setTextFormat() e aplica o novo formato de texto ao campo de texto meu_txt.
meuTextFormat = new TextFormat(); meuTextFormat.bold = true; meu_txt.setTextFormat(meuTextFormat); Consulte tambm TextField.setNewTextFormat(), Classe TextFormat
TextField._soundbuftime
Disponibilidade
Flash Player 6.
Uso meu_txt._soundbuftime Descrio
Propriedade (global); um inteiro que especifica o nmero de segundos em que um som armazenado em pr-buffer antes de comear a fluir.
Classe TextField.StyleSheet
Disponibilidade
Flash Player 7.
Descrio
A classe TextField.StyleSheet permite criar um objeto de folha de estilos que contm as regras de formatao de texto como tamanho da fonte, cor e outros estilos de formatao. Em seguida, possvel aplicar os estilos definidos por uma folha de estilos a um objeto TextField que contenha texto formatado em HTML ou XML. O texto contido no objeto TextField ento formatado automaticamente de acordo com os estilos de marcas definidos pelo objeto de folha de estilos. Voc pode usar estilos de texto para definir novas marcas de formatao, redefinir marcas HTML internas ou criar classes de estilos que possam ser aplicadas a determinadas marcas HTML. Para aplicar estilos a um objeto TextField, atribua o objeto de folha de estilos a uma propriedade styleSheet do objeto TextField. Para obter mais informaes, consulte Formatando o texto com Cascading Style Sheets na pgina 147.
812
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.load()
Inicia o carrregamento de um arquivo CSS no objeto de folha de estilos. Analisa uma seqncia de caracteres de texto CSS e cria o estilo especificado. Acrescenta um novo estilo ao objeto de folha de estilos.
TextField.StyleSheet.parseCSS()
TextField.StyleSheet.setStyle()
Mtodo
TextField.StyleSheet.onLoad
Descrio Manipulador de retorno de chamada, chamado quando uma operao TextField.StyleSheet.load() concluda.
Flash Player 7.
Uso new TextField.StyleSheet() Retorna
Nada.
Descrio
Classe TextField.StyleSheet
813
TextField.StyleSheet.getStyle()
Disponibilidade Flash Player 7.
Uso folhaEstilo.getStyle(nomeEstilo) Parmetros nomeEstilo Retorna
Um objeto.
Descrio
Mtodo; retorna uma cpia do objeto de estilo associado com o estilo de nome nomeEstilo. Se no houver nenhum objeto de estilo associado a nomeEstilo, ser retornado null.
Exemplo
Suponha que um objeto de folha de estilo denominado textStyles carregue um arquivo externo de folha de estilos denominado styles.css que contm um nico estilo chamado heading, que define as propriedades font-family, font-size e font-weight, como mostrado a seguir.
// Em styles.css heading { font-family: Arial; font-size: 24px; font-weight: bold; }
O cdigo a seguir carrega os estilos do arquivo CSS e, em seguida, exibe cada nome de propriedade e seu valor no painel Output (Sada).
var styleSheet = new TextField.styleSheet(); styleSheet.load("styles.css"); var sectionStyle = styleSheet.getStyle("heading"); for(property in sectionStyle) { var propName = property; var propValue = sectionStyle[property]; trace(propName + " : " + propValue); }
814
TextField.StyleSheet.getStyleNames()
Disponibilidade
Flash Player 7.
Uso folhaEstilo.getStyleNames() Parmetros
Nenhum.
Retorna
Um array.
Descrio
Mtodo; retorna um array que contm os nomes (como seqncias de caracteres) de todos os estilos registrados nessa folha de estilos.
Exemplo
Este exemplo cria um objeto de folha de estilos denominado folhaEstilo que contm dois estilos, heading e bodyText. Em seguida, chama o mtodo getStyleNames() do objeto de folha de estilos, atribui os resultados ao array names_array e exibe o seu contedo no painel Output (Sada).
var folhaEstilo= new TextField.StyleSheet(); folhaEstilo.setStyle("heading", { fontsize: '24px }); folhaEstilo.setStyle("bodyText", { fontsize: '12px' }); var names_array = folhaEstilo.getStyleNames(); trace(names.join("\n"));
TextField.StyleSheet.getStyleNames()
815
TextField.StyleSheet.load()
Disponibilidade
Flash Player 7.
Uso folhaEstilo.load(url) Parmetros url
O URL de um arquivo CSS a ser carregado. O URL deve estar no mesmo domnio que o URL onde o arquivo SWF reside no momento.
Retorna
Nada.
Descrio
Mtodo; inicia o carregamento do arquivo CSS em folhaEstilo. A operao de carregamento assncrona. Use o manipulador de retorno de chamada TextField.StyleSheet.onLoad para determinar quando o carregamento do arquivo foi concludo. O arquivo CSS deve residir exatamente no mesmo domnio que o arquivo SWF que o est carregando. Para obter mais informaes sobre restries no carregamento de dados entre domnios, consulte Recursos de segurana do Flash Player na pgina 201.
Exemplo
O exemplo a seguir carrega o arquivo CSS denominado styles.css (no exibido) no objeto de folha de estilos styleObj. Quando o arquivo for carregado com xito, o objeto de folha de estilos ser aplicado a um objeto TextField denominado news_txt.
var styleObj = new TextField.StyleSheet(); styleObj.load("styles.css"); styleObj.onLoad = function (sucesso) { if (sucesso) { news_txt.styleSheet = styleObj; } } Consulte tambm TextField.StyleSheet.onLoad
816
TextField.StyleSheet.onLoad
Disponibilidade
Flash Player 7.
Uso folhaEstilo.onLoad = function (sucesso) {} Parmetros sucesso Retorna
Um valor booleano que indica se o arquivo CSS foi carregado com xito.
Nada.
Descrio
Manipulador de retorno de chamada; chamado quando uma operao TextField.StyleSheet.load() concluda. Se a folha de estilos tiver sido carregada com xito, o parmetro sucesso ser true. Se o documento no tiver sido recebido ou se tiver ocorrido algum no recebimento da resposta do servidor, o parmetro sucesso ser false.
Exemplo
O exemplo a seguir carrega o arquivo CSS denominado styles.css (no exibido) no objeto de folha de estilos styleObj. Quando o arquivo for carregado com xito, o objeto de folha de estilos ser aplicado a um objeto TextField denominado news_txt.
var styleObj = new TextField.StyleSheet(); styleObj.load("styles.css"); styleObj.onLoad = function (sucesso) { if (sucesso) { news_txt.styleSheet = styleObj; } } Consulte tambm TextField.StyleSheet.load()
TextField.StyleSheet.onLoad
817
TextField.StyleSheet.parseCSS()
Disponibilidade
Flash Player 7.
Uso folhaEstilo.parseCSS(cssText) Parmetros cssText Retorna
Um valor booleano que indica se o texto foi analisado com xito (true) ou no (false).
Descrio
Mtodo; analisa o CSS em cssText e carrega a folha de estilos junto. Se j existir um estilo de cssText em folhaEstilo, as propriedades de folhaEstilo sero mantidas e somente as de cssText sero acrescentadas ou alteradas em folhaEstilo. Para estender a capacidade de anlise nativa do CSS, pode-se substituir esse mtodo criando uma subclasse da classe TextField.StyleSheet. Para obter mais informaes, consulte Criando subclasses na pgina 173.
818
TextField.StyleSheet.setStyle()
Disponibilidade
Flash Player 7.
Uso folhaEstilo.setStyle(nome, estilo) Parmetros nome
Uma seqncia de caracteres que especifica o nome do estilo a ser acrescentado folha de Um objeto que descreve o estilo, ou null.
estilos.
estilo Retorna
Nada.
Descrio
Mtodo; acrescenta um novo estilo com o nome especificado ao objeto de folha de estilos. Se o estilo especificado ainda no existir na folha de estilos, ser acrescentado. Se o estilo especificado j existir na folha de estilos, ser substitudo. Se o parmetro estilo for null, o estilo especificado ser removido. O Flash Player cria uma cpia do objeto de estilo que passado para este mtodo.
Exemplo
O cdigo a seguir acrescenta um estilo denominado enfatizado folha de estilos minhaFolhaEstilo. O estilo inclui duas propriedades de estilo: color e fontWeight. O objeto de estilo definido com o operador {}.
minhaFolhaEstilo.setStyle("enfatizado", {color:'#000000',fontWeight:'bold'});
Tambm possvel criar um objeto de estilo usando uma instncia da classe Object e, em seguida, passar esse objeto como o parmetro estilo, conforme mostra o exemplo a seguir.
var styleObj = new Object(); styleObj.color = '#000000'; styleObj.fontWeight = 'bold'; minhaFolhaEstilo.setStyle("enfatizado", styleObj); delete styleObj; Observao: A ltima linha do cdigo (delete styleObj) exclui o objeto de estilo original passado para setStyle(). Embora no seja necessria, essa etapa reduz a utilizao da memria, pois o Flash Player cria uma cpia do objeto de estilo passado para setStyle(). Consulte tambm {} (inicializador de objeto)
TextField.StyleSheet.setStyle()
819
TextField.styleSheet
Disponibilidade
Flash Player 7.
Uso meu_txt.styleSheet = TextField StyleSheet Descrio
Propriedade; anexa uma folha de estilos ao campo de texto especificado por meu_txt. Para obter informaes sobre a criao de folhas de estilos, consulte a entrada da Classe TextField.StyleSheet e Formatando o texto com Cascading Style Sheets na pgina 147.
TextField.tabEnabled
Disponibilidade
Flash Player 6.
Uso meu_txt.tabEnabled Descrio
Propriedade; especifica se meu_txt est includo na ordenao de tabulao automtica. A opo undefined utilizada por padro. Se o valor da propriedade tabEnabled for undefined ou true, o objeto ser includo na ordenao de tabulao automtica. Se a propriedade tabIndex tambm estiver definida com um valor, o objeto tambm ser includo na ordenao de tabulao personalizada. Se o valor de tabEnabled for false, o objeto no ser includo nem na ordenao de tabulao automtica nem na personalizada, ainda que a propriedade tabIndex seja definida.
Consulte tambm Button.tabEnabled, MovieClip.tabEnabled
820
TextField.tabIndex
Disponibilidade
Flash Player 6.
Uso meu_txt.tabIndex Parmetros
Nenhum.
Retorna
Nada.
Descrio
Propriedade; permite personalizar a ordenao de tabulao dos objetos de um arquivo SWF. possvel definir a propriedade tabIndex em um boto, clipe de filme ou instncia de campo de texto. Por padro, ela tem valor undefined. Se algum objeto que esteja sendo exibido no momento no arquivo SWF tiver uma propriedade a ordenao de tabulao automtica ser desativada e a ordenao de tabulao ser calculada a partir das propriedades tabIndex dos objetos do arquivo SWF. A ordenao de tabulao personalizada inclui apenas os objetos que tm propriedades tabIndex.
tabIndex,
A propriedade tabIndex deve ser um inteiro positivo. Os objetos so ordenados de acordo com suas propriedades tabIndex, em ordem ascendente. Um objeto cujo tabIndex seja 1 vem antes de um objeto com tabIndex de valor 2. Se dois objetos tiverem o mesmo valor de tabIndex, o que anteceder o outro na ordenao de tabulao ser undefined. A ordenao de tabulao personalizada definida pela propriedade tabIndex flat. Isso significa que as relaes hierrquicas de objetos so ignoradas no arquivo SWF. Todos os objetos do arquivo SWF com propriedades tabIndex so colocados na ordem de tabulao, que, por sua vez, determinada pela ordem dos valores de tabIndex. Se dois objetos tiverem o mesmo valor tabIndex, o primeiro ser undefined. Voc no deve usar o mesmo valor de tabIndex para vrios objetos.
Consulte tambm Button.tabIndex, MovieClip.tabIndex
TextField._target
Disponibilidade
Flash Player 6.
Uso meu_txt._target Descrio
Propriedade (somente de leitura); o caminho de destino da instncia do campo de texto especificada por meu_txt.
TextField._target
821
TextField.text
Disponibilidade
Flash Player 6.
Uso meu_txt.text Descrio
Propriedade; indica o texto atual no campo de texto. As linhas so separadas pelo caractere de retorno de carro ('\r', ASCII 13). Esta propriedade contm o texto normal no formatado no campo de texto, sem marcas HTML, mesmo que o campo de texto seja HTML.
Consulte tambm TextField.htmlText
TextField.textColor
Disponibilidade
Flash Player 6.
Uso meu_txt.textColor Descrio
TextField.textHeight
Disponibilidade
Flash Player 6.
Uso meu_txt.textHeight Descrio
TextField.textWidth
Disponibilidade
Flash Player 6.
Uso meu_txt.textWidth Descrio
822
TextField.type
Disponibilidade
Flash Player 6.
Uso meu_txt.type Descrio
Propriedade; especifica o tipo de campo de texto. H dois valores: "dynamic", que especifica um campo de texto dinmico (no pode ser editado pelo usurio) e "input", que especifica um campo de texto de entrada.
Exemplo meu_txt.type = "dynamic";
TextField._url
Disponibilidade
Flash Player 6.
Uso meu_txt._url Descrio
Propriedade (somente de leitura); recupera o URL do arquivo SWF que criou o campo de texto.
TextField.variable
Disponibilidade
Flash Player 6.
Uso meu_txt.variable Descrio
Propriedade; o nome da varivel qual o campo de texto est associado. O tipo dessa propriedade String.
TextField.variable
823
TextField._visible
Disponibilidade
Flash Player 6.
Uso meu_txt._visible Descrio
Propriedade; um valor booleano que indica se o campo de texto meu_txt visvel. Os campos de texto que no so visveis (propriedade _visible definida como false) so desativados.
Consulte tambm Button._visible, MovieClip._visible
TextField._width
Disponibilidade
Flash Player 6.
Uso meu_txt._width Descrio
TextField.wordWrap
Disponibilidade
Flash Player 6.
Uso meu_txt.wordWrap Descrio
Propriedade; um valor booleano que indica se o campo de texto tem quebra automtica de linha. Se o valor de wordWrap for true, o campo de texto ter quebra automtica de linha; se o valor for false, o campo de texto no ter quebra automtica de linha.
824
TextField._x
Disponibilidade
Flash Player 6.
Uso meu_txt._x Descrio
Propriedade; um inteiro que define a coordenada x de um campo de texto em relao s coordenadas locais do clipe de filme pai. Se um campo de texto estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o campo de texto estiver dentro de um clipe de filme que tenha transformaes, o campo de texto estar no sistema de coordenadas local do clipe de filme anexado. Assim, para um clipe de filme girado 90 graus no sentido anti-horrio, o campo de texto anexado herda um sistema de coordenadas que girado 90 graus no sentido anti-horrio. As coordenadas do campo de texto referem-se posio do ponto de registro.
Consulte tambm TextField._xscale, TextField._y, TextField._yscale
TextField._xmouse
Disponibilidade
Flash Player 6.
Uso meu_txt._xmouse Descrio
Propriedade (somente de leitura); retorna a coordenada x da posio do mouse em relao ao campo de texto.
Consulte tambm TextField._ymouse
TextField._xmouse
825
TextField._xscale
Disponibilidade
Flash Player 6.
Uso meu_txt._xscale Descrio
Propriedade; determina a escala horizontal do campo de texto como aplicado no ponto de registro do campo de texto, expressa como uma porcentagem. O ponto de registro padro (0,0).
Consulte tambm TextField._x, TextField._y, TextField._yscale
TextField._y
Disponibilidade
Flash Player 6.
Uso meu_txt._y Descrio
Propriedade; a coordenada y de um campo de texto relativa s coordenadas locais do clipe de filme pai. Se um campo de texto estiver na Timeline (Linha de tempo) principal, seu sistema de coordenadas ser referente ao canto superior esquerdo do Stage (Palco) como (0, 0). Se o campo de texto estiver dentro de outro clipe de filme que tenha transformaes, o campo de texto estar no sistema de coordenadas local do clipe de filme anexado. Assim, para um clipe de filme girado 90 graus no sentido anti-horrio, o campo de texto anexado herda um sistema de coordenadas que girado 90 graus no sentido anti-horrio. As coordenadas do campo de texto referem-se posio do ponto de registro.
Consulte tambm TextField._x, TextField._xscale, TextField._yscale
826
TextField._ymouse
Disponibilidade
Flash Player 6.
Uso meu_txt._ymouse Descrio
Propriedade (somente de leitura); indica a coordenada y da posio do mouse relativa ao campo de texto.
Consulte tambm TextField._xmouse
TextField._yscale
Disponibilidade
Flash Player 6.
Uso meu_txt._yscale Descrio
Propriedade; a escala vertical do campo de texto como aplicado no ponto de registro do campo de texto, expressa como uma porcentagem. O ponto de registro padro (0,0).
Consulte tambm TextField._x, TextField._xscale, TextField._y
Classe TextFormat
Disponibilidade
Flash Player 6.
Descrio
A classe TextFormat representa informaes de formatao de caractere. necessrio usar o construtor new TextFormat() para criar um objeto TextFormat antes de chamar seus mtodos. possvel definir parmetros TextFormat como null para indicar que eles so indefinidos. Quando um objeto TextFormat aplicado a um campo de texto por meio de TextField.setTextFormat(), apenas as propriedades definidas so aplicadas, como no seguinte exemplo:
meu_fmt = new TextFormat(); meu_fmt.bold = true; meu_txt.setTextFormat(meu_fmt);
Classe TextFormat
827
Este cdigo cria primeiro um objeto TextFormat vazio com todas as suas propriedades indefinidas; em seguida, define a propriedade bold como um valor definido. O cdigo meu_txt.setTextFormat(meu_fmt) s altera a propriedade bold do formato de texto padro do campo de texto, pois a propriedade bold a nica definida em meu_fmt. Todos os outros aspectos do formato de texto padro do campo de texto permanecem inalterados. Quando TextField.getTextFormat() chamado, um objeto TextFormat retornado com todas as propriedades definidas; nenhuma propriedade tem valor null. Resumo do mtodo da classe TextFormat
Mtodo Descrio seqncia de caracteres de texto.
Descrio Indica o alinhamento de um pargrafo. Indica o recuo de bloco, em pontos. Indica se o texto est em negrito. Indica se o texto est em uma lista com marcadores. Indica a cor do texto. Indica o nome da fonte do texto com um formato de texto. Indica o recuo da margem esquerda ao primeiro caractere no pargrafo. Indica se o texto est em itlico. Indica o espao vertical entre as linhas (denominado espaamento entre linhas). Indica a margem esquerda do pargrafo, em pontos. Indica a margem direita do pargrafo, em pontos. Indica o tamanho do ponto do texto. Especifica interrupes de tabulao personalizadas. Indica a janela em um navegador na qual um hiperlink exibido. Indica se o texto est sublinhado. Indica o URL ao qual o texto est vinculado.
TextFormat.italic TextFormat.leading
828
Flash Player 6.
Uso new TextFormat([fonte, [tamanho, [cor, [negrito, [itlico, [sublinhado, [url, [destino, [alinhamento, [margem_Esquerda, [margem_Direita, [recuo, [espaamento_entre_linhas]]]]]]]]]]]]]) Parmetros fonte tamanho cor
O nome de uma fonte de texto como uma seqncia de caracteres. Um inteiro que indica o tamanho do ponto.
A cor do texto que usa esse formato de texto. Um nmero que contm trs componentes RGB de 8 bits; por exemplo, 0xFF0000 vermelho, 0x00FF00 verde. Um valor Booleano que indica se o texto est em negrito. Um valor Booleano que indica se o texto est em itlico. Um valor Booleano que indica se o texto est sublinhado.
negrito itlico
sublinhado url
O URL ao qual o texto neste formato de texto se vincula por hiperlink. Se url for uma seqncia de caracteres vazia, o texto no ter um hiperlink.
destino
A janela de destino em que o hiperlink exibido. Se a janela de destino for uma seqncia de caracteres vazia, o texto ser exibido na janela de destino padro _self. Se o parmetro url for definido como uma seqncia de caracteres vazia ou como o valor null, ser possvel obter ou definir essa propriedade, mas ela no ter nenhum efeito.
alinhamento O alinhamento do pargrafo, representado como uma seqncia de caracteres. Se for "left", o pargrafo ser alinhado esquerda. Se for "center", o pargrafo ser centralizado. Se for "right", o pargrafo ser alinhado direita. margem_Esquerda margem_Direita recuo
Indica a margem esquerda do pargrafo, em pontos. Indica a margem direita do pargrafo, em pontos. Um nmero que indica o espao vertical entre as linhas.
espaamento_entre_linhas Retorna
Nada.
Descrio
Construtor; cria um objeto TextFormat com as propriedades especificadas. possvel alterar as propriedades do objeto TextFormat para modificar a formatao dos campos de texto. possvel definir qualquer parmetro como null para indicar que no est definido. Todos os parmetros so opcionais; qualquer parmetro omitido tratado como null.
Classe TextFormat
829
TextFormat.align
Disponibilidade
Flash Player 6.
Uso meu_fmt.align Descrio
Propriedade; indica o alinhamento do pargrafo, representado como uma seqncia de caracteres. O alinhamento do pargrafo, representado como uma seqncia de caracteres. Se for "left", o pargrafo ser alinhado esquerda. Se for "center", o pargrafo ser centralizado. Se for "right", o pargrafo ser alinhado direita. O valor padro null, o que indica que a propriedade indefinida.
TextFormat.blockIndent
Disponibilidade
Flash Player 6.
Uso meu_fmt.blockIndent Descrio
Propriedade; um nmero que indica o recuo de bloco em pontos. O recuo de bloco aplicado a um bloco de texto inteiro; ou seja, a todas as linhas do texto. Por outro lado, o recuo normal (TextFormat.indent) afeta apenas a primeira linha de cada pargrafo. Se esta propriedade for null, o objeto TextFormat no especificar um recuo de bloco.
TextFormat.bold
Disponibilidade
Flash Player 6.
Uso meu_fmt.bold Descrio
Propriedade; um valor Booleano que indica se o texto est em negrito. O valor padro null, o que indica que a propriedade indefinida.
830
TextFormat.bullet
Disponibilidade
Flash Player 6.
Uso meu_fmt.bullet Descrio
Propriedade; um valor booleano que indica que o texto parte de uma lista com marcadores. Em uma lista com marcadores, cada pargrafo de texto recuado. esquerda da primeira linha de cada pargrafo, exibido um smbolo de marcador. O valor padro null.
TextFormat.color
Disponibilidade
Flash Player 6.
Uso meu_fmt.color Descrio
Propriedade; indica a cor do texto. Um nmero que contm trs componentes RGB de 8 bits; por exemplo, 0xFF0000 vermelho, 0x00FF00 verde.
TextFormat.font
Disponibilidade
Flash Player 6.
Uso meu_fmt.font Descrio
Propriedade; o nome da fonte do texto nesse formato, como uma seqncia de caracteres. O valor padro null, o que indica que a propriedade indefinida.
TextFormat.font
831
TextFormat.getTextExtent()
Disponibilidade
largura
Um nmero opcional que representa a largura, em pixels, na qual o texto especificado deve fazer quebra de linha.
Retorna
Mtodo; retorna as informaes de medidas do texto relativas seqncia de caracteres texto no formato especificado por meu_fmt. A seqncia de caracteres do texto tratada como texto regular (no HTML).
textFieldHeight
O mtodo retorna um objeto com seis propriedades: ascent, descent, width, height, e textFieldWidth. Todas as medidas so fornecidas em pixels.
Se um parmetro largura for especificado, o texto determinado ter quebra automtica de linha. Isso permite determinar a altura em que uma caixa de texto mostra todo o texto especificado. As medidas ascent e descent fornecem, respectivamente, a distncia acima e abaixo da linha de base para as linhas de texto. A linha de base da primeira linha de texto posicionada na origem do campo de texto mais a medida ascent. As medidas width e height fornecem a largura e a altura da seqncia de caracteres do texto. As medidas textFieldHeight e textFieldWidth fornecem a altura e a largura requeridas para que um objeto de campo de texto exiba toda a seqncia de caracteres do texto. Os campos de texto tm uma medianiz de 2 pixels de largura em torno deles, portanto o valor de textFieldHeight igual ao valor de height + 4; do mesmo modo, o valor de textFieldWidth sempre igual ao valor de width + 4. Se estiver criando um campo de texto com base nas medidas do texto, use textFieldHeight em vez de height e textFieldWidth em vez de width.
832
Ao configurar o objeto TextFormat, defina todos os atributos exatamente como eles sero definidos para a criao do campo de texto, incluindo o nome da fonte, o tamanho da fonte e o espaamento entre linhas. O valor padro para o espaamento entre linhas 2.
Exemplo
Este exemplo cria um campo de texto de uma s linha, com tamanho suficiente para exibir uma seqncia de caracteres de texto usando a formatao especificada.
var text = "Pequena seqncia de caracteres"; // Cria um objeto TextFormat // e aplica suas propriedades. var txt_fmt = new TextFormat(); with(txt_fmt) { font = "Arial"; bold = true; } // Obtm as informaes de medidas da seqncia de caracteres // com a formatao especificada. var metrics = txt_fmt.getTextExtent(text); // Cria um campo de texto com o tamanho suficiente para exibir o texto. this.createTextField ("textField", 0, 100, 100, metrics.textFieldWidth, metrics.textFieldHeight); textField.border = true; textField.wordWrap = true; // Atribui a mesma seqncia de caracteres e // o objeto TextFormat ao objeto TextField. textField.text = text; textField.setTextFormat(txt_fmt);
TextFormat.getTextExtent()
833
O exemplo a seguir cria um campo de texto de vrias linhas, com 100 pixels de largura, com altura suficiente para exibir uma seqncia de caracteres com a formatao especificada.
// Cria um objeto TextFormat. var txt_fmt:TextFormat= new TextFormat(); // Especifica as propriedades de formatao para o objeto TextFormat: txt_fmt.font = "Arial"; txt_fmt.bold = true; txt_fmt.leading = 4; // A seqncia de caracteres de texto a ser exibida var textToDisplay:String = "Macromedia Flash 7, agora com aprimoramento das mtricas do texto."; // Obtm as informaes de medidas da seqncia de caracteres, // com quebra automtica de linha em 100 pixels. var metrics:Object = txt_fmt.getTextExtent(textToDisplay, 100); // Cria um novo objeto TextField usando as // informaes de medidas obtidas. this.createTextField ("textField", 0, 50, 50-metrics.ascent, 100, metrics.textFieldHeight) textField.wordWrap = true; textField.border = true; // Atribui o texto e o objeto TextFormat ao: textField.text = textToDisplay; textField.setTextFormat(aformat);
TextFormat.indent
Disponibilidade
Flash Player 6.
Uso meu_fmt.indent Descrio
Propriedade; um inteiro que indica o recuo da margem esquerda ao primeiro caractere no pargrafo. O valor padro null, o que indica que a propriedade indefinida.
Consulte tambm TextFormat.blockIndent
834
TextFormat.italic
Disponibilidade
Flash Player 6.
Uso meu_fmt.italic Descrio
Propriedade; um valor booleano que indica se o texto nesse formato est em itlico. O valor padro null, o que indica que a propriedade indefinida.
TextFormat.leading
Disponibilidade
Flash Player 6.
Uso meu_fmt.leading Descrio
Propriedade; o espao vertical entre as linhas (denominado espaamento entre linhas). O valor padro null, o que indica que a propriedade indefinida.
TextFormat.leftMargin
Disponibilidade
Flash Player 6.
Uso meu_fmt.leftMargin Descrio
Propriedade; a margem esquerda do pargrafo, em pontos. O valor padro null, o que indica que a propriedade indefinida.
TextFormat.rightMargin
Disponibilidade
Flash Player 6.
Uso meu_fmt.rightMargin Descrio
Propriedade; a margem direita do pargrafo, em pontos. O valor padro null, o que indica que a propriedade indefinida.
TextFormat.rightMargin
835
TextFormat.size
Disponibilidade
Flash Player 6.
Uso meu_fmt.size Descrio
Propriedade; o tamanho do ponto do texto nesse formato. O valor padro null, o que indica que a propriedade indefinida.
TextFormat.tabStops
Disponibilidade
Flash Player 6.
Uso meu_fmt.tabStops Descrio
Propriedade; especifica pontos de tabulao personalizados como um array de inteiros no negativos. Cada ponto de tabulao especificada em pontos. Se os pontos de tabulao personalizados no forem especificados (null), o ponto de tabulao padro ser 4 (largura mdia de caractere).
TextFormat.target
Disponibilidade
Flash Player 6.
Uso meu_fmt.target Descrio
Propriedade; indica a janela de destino em que o hiperlink exibido. Se a janela de destino for uma seqncia de caracteres vazia, o texto ser exibido na janela de destino padro _self. Se o valor da propriedade TextFormat.url for uma seqncia de caracteres vazia ou null, ser possvel obter ou definir essa propriedade, mas ela no ter nenhum efeito.
836
TextFormat.underline
Disponibilidade
Flash Player 6.
Uso meu_fmt.underline Descrio
Propriedade; um valor booleano que indica se o texto que usa esse formato ser sublinhado (true) ou no (false). Esse sublinhado semelhante ao produzido pela marca <U>, mas este ltimo no um sublinhado verdadeiro, pois no ignora corretamente os caracteres descendentes. O valor padro null, o que indica que a propriedade indefinida.
TextFormat.url
Disponibilidade
Flash Player 6.
Uso meu_fmt.url Descrio
Propriedade; indica o URL ao qual o texto nesse formato est vinculado. Se a propriedade url for uma seqncia de caracteres vazia, o texto no ter um hiperlink. O valor padro null, o que indica que a propriedade indefinida.
Objeto TextSnapshot
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Descrio
Os objetos TextSnapshot permitem trabalhar com texto esttico em um clipe de filme. Voc pode us-los, por exemplo, para criar o layout do texto com mais preciso do que a obtida com texto dinmico, mas ainda assim acessar o texto como somente de leitura. Um construtor no usado para criar um objeto TextSnapshot. Ele retornado por MovieClip.getTextSnapshot().
Objeto TextSnapshot
837
Descrio Retorna a posio da primeira ocorrncia do texto especificado. Retorna o nmero de caracteres. Especifica se alguma parte do texto contido no intervalo especificado foi selecionado por TextSnapshot.setSelected(). Retorna uma seqncia de caracteres que contm todos os caracteres especificados por TextSnapshot.setSelected(). Retorna uma seqncia de caracteres que contm os caracteres contidos no intervalo especificado. encontra nas coordenadas especificadas ou prximo a elas.
TextSnapshot.getCount() TextSnapshot.getSelected()
TextSnapshot.getSelectedText()
TextSnapshot.getText()
TextSnapshot.setSelectColor()
Especifica a cor a ser usada para realar caracteres que foram selecionados com o comando TextSnapshot.setSelected(). Especifica um intervalo de caracteres para ser selecionado ou cuja seleo deva ser cancelada.
TextSnapshot.setSelected()
TextSnapshot.findText()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meu_snap.findText( inciondice, textoALocalizar, minsculasMaisculas ) Parmetros inciondice
Um inteiro opcional que especifica o ponto inicial em minha_str para procurar o texto especificado.
textoALocalizar Uma seqncia de caracteres que especifica o texto a ser procurado. Se voc especificar um literal de seqncia de caracteres, em vez de uma varivel do tipo String, coloque a seqncia de caracteres entre aspas. minsculasMaisculas Um valor booleano que determina se deve haver correspondncia de maisculas e minsculas entre o texto de meu_snap e a seqncia de caracteres de textoALocalizar.
838
Retorna
A posio do ndice que tem zero como base da primeira ocorrncia do texto especificado, ou -1.
Descrio
Mtodo; pesquisa o objeto TextSnapshot especificado e retorna a posio da primeira ocorrncia do textoALocalizar encontrada em inciondice ou depois. Se textoALocalizar no for encontrado, o mtodo retornar -1.
Consulte tambm TextSnapshot.getText()
TextSnapshot.getCount()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meu_snap.getCount() Parmetros
Nenhum.
Retorna
TextSnapshot.getCount()
839
TextSnapshot.getSelected()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meu_snap.getSelected(de, at) Parmetros de
Um inteiro que indica a posio do primeiro caractere de meu_snap a ser examinado. Os valores vlidos para de vo de 0 a TextSnapshot.getCount() - 1. Se de tiver um valor negativo, 0 ser usado.
at
Um inteiro que 1+ o ndice do ltimo caractere em meu_snap a ser examinado. Os valores vlidos de at vo de 0 a TextSnapshot.getCount(). O caractere indexado pelo parmetro para no est includo na seqncia de caracteres extrada. Se esse parmetro for omitido, TextSnapshot.getCount() ser usado. Se esse valor for menor que ou igual ao valor de de, de+1 ser usado.
Retorna
Um valor booleano true se pelo menos um caractere do intervalo especificado tiver sido selecionado pelo comando TextSnapshot.setSelected() correspondente; caso contrrio, o valor ser false.
Descrio
Mtodo; retorna um valor booleano que especifica se um objeto TextSnapshot contm texto selecionado no intervalo especificado. Para pesquisar todos os caracteres, passe valor 0 para de e passe TextSnapshot.getCount() (ou um nmero muito alto) para at. Para pesquisar um nico caractere, passe o valor de+1 para at.
Consulte tambm TextSnapshot.getSelectedText(), TextSnapshot.getText()
840
TextSnapshot.getSelectedText()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meuSnapshot.getSelectedText( [ incluirFinaisLinha ] ) Parmetros incluirFinaisLinha Um valor booleano que especifica se caracteres de nova linha (newline) so inseridos na seqncia de caracteres retornada onde apropriado. O valor padro false. Retorna
Uma seqncia de caracteres que contm todos os caracteres especificados pelo comando TextSnapshot.setSelected() correspondente.
Descrio
Mtodo; retorna uma seqncia que contm todos os caracteres especificados pelo comando TextSnapshot.setSelected() correspondente. Se nenhum caractere for selecionado, ser retornada uma seqncia de caracteres vazia. Se voc passar o valor true para incluirFinaisLinha, caracteres de nova linha (newline) sero inseridos na seqncia de caracteres retornada onde for considerado apropriado. Nesse caso, a seqncia de caracteres de retorno pode ser maior que o intervalo de entrada. Se incluirFinaisLinha tiver valor false ou for omitido, o texto selecionado ser retornado sem qualquer caractere adicionado.
Consulte tambm TextSnapshot.getSelected()
TextSnapshot.getSelectedText()
841
TextSnapshot.getText()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meuSnapshot.getText(de, at [, incluirFinaisLinha ] ) Parmetros de
Um inteiro que indica a posio do primeiro caractere de meu_snap a ser includo na seqncia retornada. Os valores vlidos para de vo de 0 a TextSnapshot.getCount() - 1. Se de tiver um valor negativo, 0 ser usado. Um inteiro que 1+ o ndice do ltimo caractere em meu_snap a ser examinado. Os valores vlidos de at vo de 0 a TextSnapshot.getCount(). O caractere indexado pelo parmetro at no est includo na seqncia de caracteres extrada. Se este parmetro for omitido, TextSnapshot.getCount() ser usado. Se esse valor for menor que ou igual ao valor de de, de+1 ser usado.
at incluirFinaisLinha Um valor booleano que especifica se caracteres de nova linha (newline) so inseridos na seqncia de caracteres retornada onde apropriado. O valor padro false.
Retorna
Uma seqncia de caracteres que contm os caracteres do intervalo especificado ou uma seqncia de caracteres vazia, caso nenhum caractere seja encontrado no intervalo especificado.
Descrio
Mtodo; retorna uma seqncia de caracteres que contm todos os caracteres especificados pelos parmetros de e at. Se nenhum caractere for selecionado, ser retornada uma seqncia de caracteres vazia. Para retornar todos os caracteres, passe o valor 0 para de e passe TextSnapshot.getCount() (ou um nmero muito alto) para at. Para retornar um nico caractere, passe o valor de+1 para at. Se voc passar o valor true para incluirFinaisLinha, caracteres de nova linha (newline) sero inseridos na seqncia de caracteres retornada onde for considerado apropriado. Nesse caso, a seqncia de caracteres de retorno pode ser maior que o intervalo de entrada. Se incluirFinaisLinha tiver valor false ou for omitido, o texto selecionado ser retornado sem qualquer caractere adicionado.
Consulte tambm TextSnapshot.getSelectedText()
842
TextSnapshot.hitTestTextNearPos()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meu_snap.hitTestTextNearPos(x, y [, distnciaMx] ) Parmetros x Um nmero meu_snap. y Um nmero meu_snap.
que representa a coordenada x do clipe de filme que contm o texto em que representa a coordenada y do clipe de filme que contm o texto em
distnciaMx Um nmero opcional que representa a distncia mxima de x, y em que possvel procurar um texto. A distncia medida a partir do ponto central de cada caractere. O valor padro 0. Retorna
Um inteiro que representa o valor de ndice do caractere em meu_snap que est mais prximo das coordenadas x, y especificadas, ou -1, caso nenhum caractere seja encontrado.
Descrio
Mtodo; permite determinar qual caractere contido em um objeto TextSnapshot se encontra nas (ou prximo s) coordenadas x, y especificadas do clipe de filme que contm o texto de meu_snap. Se voc omitir ou passe valor 0 para distnciaMx, o local especificado pelas coordenadas x, y dever estar contido na caixa delimitadora de meu_snap.
Consulte tambm MovieClip.getTextSnapshot(), MovieClip._x, MovieClip._y
TextSnapshot.hitTestTextNearPos()
843
TextSnapshot.setSelectColor()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meuSnapshot.setSelectColor(corHexadecimal); Parmetros corHexadecimal A cor usada para a borda colocada em torno dos caracteres que foram selecionados pelo comando TextSnapshot.setSelected() correspondente, expressa no formato 0xRRGGBB. Retorna
Nada.
Descrio
Mtodo; especifica a cor a ser usada ao realar os caracteres que foram selecionados com o comando TextSnapshot.setSelected(). A cor sempre opaca. No possvel especificar um valor de transparncia.
844
TextSnapshot.setSelected()
Disponibilidade
Criao: Flash MX 2004. Reproduo: Arquivos SWF publicados para o Flash Player 6 ou verso posterior, reproduzidos no Flash Player 7 ou verso posterior.
Uso meuSnapshot.setSelected(de, at, selecionar) Parmetros de
Um inteiro que indica a posio do primeiro caractere de meu_snap a ser selecionado. Os valores vlidos para de vo de 0 a TextSnapshot.getCount() - 1. Se de tiver um valor negativo, 0 ser usado.
at
Um inteiro que 1+ o ndice do ltimo caractere em meu_snap a ser examinado. Os valores vlidos de at vo de 0 a TextSnapshot.getCount(). O caractere indexado pelo parmetro para no est includo na seqncia de caracteres extrada. Se esse parmetro for omitido, TextSnapshot.getCount() ser usado. Se esse valor for menor que ou igual ao valor de de, de+1 ser usado.
selecionar
Um valor booleano que especifica se o texto deve ser selecionado (true) ou se sua seleo deve ser cancelada (false).
Retorna
Nada.
Descrio
Mtodo; especifica um intervalo de caracteres em um objeto TextSnapshot para ser selecionado ou ter sua seleo cancelada. Os caracteres que esto selecionados so desenhados com um retngulo colorido atrs, coincidindo com a caixa delimitadora do caractere. A cor da caixa delimitadora definida por TextSnapshot.setSelectColor().
TextSnapshot.getCount() (ou um nmero caractere, passe o valor de+1 para at.
Para selecionar ou cancelar a seleo de todos os caracteres, passe o valor 0 para de e passe muito alto) para at. Para especificar um nico
Como os caracteres so marcados separadamente como selecionados, possvel emitir esse comando vrias vezes para selecionar diversos caracteres. Ou seja, o uso desse comando no cancela a seleo de outros caracteres que tenham sido definidos por esse comando.
TextSnapshot.setSelected()
845
this
Disponibilidade
Flash Player 5.
Uso this Descrio
Identificador; faz referncia a uma instncia de objeto ou de clipe de filme. Quando um script executado, this faz referncia instncia do clipe de filme que contm o script. Quando um mtodo chamado, this contm uma referncia ao objeto que contm o mtodo chamado. Dentro de uma ao manipuladora de eventos on anexada a um boto, this refere-se Timeline (Linha de tempo) que contm o boto. Dentro de uma ao manipuladora de eventos onClipEvent() anexada a um clipe de filme, this refere-se Timeline do prprio clipe de filme. Como this avaliado no contexto do script que o contm, no possvel usar this em um script para fazer referncia a uma varivel definida em um arquivo de classe:
// no arquivo applyThis.as class applyThis{ var str:String = "Definida em applyThis.as"; function conctStr(x:String):String{ return x+x; } function addStr():String{ return str; } } // Use o cdigo a seguir em FLA para testar o filme import applyThis; var obj:applyThis = new applyThis(); var abj:applyThis = new applyThis(); abj.str = "definida em FLA"; trace(obj.addStr.call(abj,null)); trace(obj.addStr.call(this,null)); trace(obj.addStr.call(obj,null)); // definida em FLA // indefinida // Definida em applyThis.as
846
Da mesma forma, para chamar uma funo definida em uma classe dinmica, voc deve usar this para definir o escopo da funo:
// verso incorreta de simple.as dynamic class simple{ function callfunc(){ trace(func()); } } // verso correta de simple.as dynamic class simple{ function callfunc(){ trace(this.func()); } } // instrues do arquivo FLA import simple; var obj:simple = new simple(); obj.num = 0; obj.func = function():Boolean{ return true; } obj.callfunc(); // erro de sintaxe com verso incorreta de simple.as Exemplo
Na seguinte instruo atribuda a um quadro, a palavra-chave this faz referncia ao clipe de filme atual.
// define a propriedade alpha do clipe de filme atual como 20 star._alpha = 20;
Na instruo a seguir em um manipulador onClipEvent(), a palavra-chave this faz referncia ao clipe de filme atual.
// quando o clipe de filme carregado, uma operao startDrag() // iniciada para o clipe de filme atual. onClipEvent(load){ startDrag (this, true); } Consulte tambm on(), onClipEvent()
this
847
throw
Disponibilidade
Flash Player 7.
Uso throw expresso Descrio
Instruo; gera (lana) um erro que pode ser tratado (capturado) por um bloco de cdigo catch{} ou finally{}. Se uma exceo no for capturada por um bloco catch ou finally, uma seqncia de caracteres representando o valor gerado ser enviada para o painel Output (Sada). Normalmente, so geradas instncias da classe Error ou de suas subclasses (consulte os exemplos a seguir).
Parmetros expresso Exemplo
Neste exemplo, uma funo denominada checkEmail() verifica se a seqncia de caracteres passada para ela um endereo eletrnico corretamente formatado. Se a seqncia de caracteres no contiver um smbolo @, a funo gerar um erro.
function checkEmail(email:String) { if (email.indexOf("@") == -1) { throw new Error("Endereo de e-mail invlido"); } }
O cdigo a seguir chama a funo checkEmail() em um bloco de cdigo try, passando o texto de um campo de texto (email_txt) como um parmetro. Se o parmetro da seqncia de caracteres no contiver um endereo eletrnico vlido, a mensagem de erro ser exibida em um campo de texto (error_txt).
try { checkEmail("Jos da Silva); } catch (e) { error_txt.text = e.toString(); }
848
Neste exemplo, gerada uma subclasse da classe Error. A funo checkEmail() modificada para gerar uma instncia dessa subclasse. Para obter mais informaes, consulte Criando subclasses na pgina 173.
// Define InvalidEmailError como subclasse de Error // Em InvalidEmailError.as: class InvalidEmailAddress extends Error { var message = "Endereo de e-mail invlido."; } function checkEmail(email:String) { if (email.indexOf("@") == -1) { throw new InvalidEmailAddress(); } } Consulte tambm
toggleHighQuality()
Disponibilidade
Nenhum.
Retorna
Nada.
Descrio
Funo obsoleta; ativa e desativa a eliminao de serrilhado no Flash Player. O modo sem serrilhado suaviza as bordas dos objetos e reduz a reproduo do SWF. Essa ao afeta todos os arquivos SWF do Flash Player.
Exemplo
O cdigo a seguir pode ser aplicado a um boto que, quando o usurio clicar nele, ative e desative o modo sem serrilhado.
on (release) { toggleHighQuality(); } Consulte tambm _highquality, _quality
toggleHighQuality()
849
trace()
Disponibilidade
Flash Player 4.
Uso trace(expresso) Parmetros expresso Uma expresso a ser avaliada. Quando um arquivo SWF aberto na ferramenta de criao do Flash atravs do comando Test Movie (Testar filme), o valor do parmetro expresso exibido no painel Output (Sada). Retorna
Nada.
Descrio
Instruo; avalia a expresso e exibe os resultados no painel Output no modo de teste. Use esta ao para registrar notas de programao ou para exibir mensagens no painel Output enquanto testa um filme. Use o parmetro expresso para verificar se uma condio existe ou para exibir valores no painel Output. A ao trace() semelhante funo alert em JavaScript. Use o comando Omit Trace Actions (Omitir aes Trace) em Publish Settings (Configuraes de publicao) para remover aes trace() do arquivo SWF exportado.
Exemplo
Este exemplo de um jogo no qual uma instncia de clipe de filme arrastvel chamada meu_mc deve ser liberada em um destino especfico. Uma instruo condicional avalia a propriedade _droptarget e executa aes diversas de acordo com o local onde liberado meu_mc. A ao trace() usada no fim do script para avaliar o local do clipe de filme meu_mc e exibir o resultado no painel Output. Se meu_mc no apresentar o comportamento esperado (por exemplo, se ele se encaixar no destino incorreto), os valores enviados para o painel Output pela ao trace() ajudaro a determinar o problema no script.
on(press){ meu_mc.startDrag(); } on (release) { if(eval(_droptarget) != target) { meu_mc._x = meu_mc_xValue; meu_mc._y = meu_mc_yValue; } else { var meu_mc_xValue = meu_mc._x; var meu_mc_yValue = meu_mc._y; target = "_root.pasture"; } trace("meu_mc_xValue = " + meu_mc_xValue); trace("meu_mc_xValue = " + meu_mc_xValue); stopDrag(); }
850
true
Disponibilidade
Flash Player 5.
Uso true Descrio
try..catch..finally
Disponibilidade
Flash Player 7.
Uso try { // ... bloco try ... } finally { // ... bloco finally ... } try { // ... bloco try ... } catch(erro[:TipoErro1]) { // ... bloco catch ... } [catch(erro[:TipoErroN]) { // ... bloco catch ... }] [finally { // ... bloco finally ... }] Parmetros erro
A expresso gerada por uma instruo throw, normalmente uma instncia da classe Error ou de uma de suas subclasses.
TipoErro
Um determinador opcional do tipo do identificador error. A clusula catch somente captura erros do tipo especificado.
Descrio
Palavras-chave; delimitam um bloco de cdigo no qual pode ocorrer um erro e, em seguida, respondem ao erro. Se algum cdigo no bloco try gerar um erro (usando a ao throw), o controle passar para o bloco catch, se houver um, e em seguida para o bloco finally, se houver um. O bloco finally sempre executado, independentemente de ter sido gerado um erro ou no. Mesmo que o cdigo no bloco try no gere um erro (ou seja, se o bloco try for concludo normalmente), o cdigo do bloco finally ser executado. O bloco finally ser executado mesmo que o bloco try seja encerrado por uma instruo return.
try..catch..finally
851
Um bloco try deve ser seguido por um bloco catch, um bloco finally ou ambos. Um nico bloco try pode ter vrios blocos catch, mas somente um bloco finally. possvel aninhar blocos try em quantos nveis de profundidade forem desejados. O parmetro erro especificado em um manipulador catch deve ser um identificador simples como e ou theException ou x. A varivel de um manipulador catch tambm pode ter tipo. Quando usados com diversos blocos catch, os erros que possuem tipo permitem capturar vrios tipos de erros gerados de um nico bloco try. Se a exceo gerada for um objeto, haver uma correspondncia de tipo, caso o objeto gerado seja uma subclasse do tipo especificado. Se for gerado um erro de tipo especfico, o bloco catch que manipula o erro correspondente ser executado. Se for gerada uma exceo que no seja do tipo especificado, o bloco catch no ser executado e a exceo ser automaticamente retirada do bloco try e ir para um manipulador catch correspondente. Se for gerado um erro dentro de uma funo, e a funo no incluir um manipulador catch, o interpretador do ActionScript encerrar aquela funo, bem como todas as funes de chamadas, at que um bloco catch seja localizado. Durante esse processo, os manipuladores finally so chamados em todos os nveis.
Exemplo
O exemplo a seguir mostra como criar uma instruo try..finally. Como o cdigo do bloco finally sempre executado, normalmente usado para realizar as instrues de limpeza necessrios aps a execuo de um bloco try. Neste exemplo, o bloco finally usado para excluir um objeto do ActionScript, independentemente de o erro ter ocorrido ou no.
var conta = new Account() try { var returnVal = conta.getAccountInfo(); if(returnVal != 0) { throw new Error("Erro ao obter informao do objeto 'conta'."); } } finally { // Exclui o objeto 'conta' de qualquer modo. if(conta != null) { delete account; } }
O exemplo a seguir demonstra o uso de uma instruo try..catch. O cdigo do bloco try executado. Se for gerada uma exceo por algum cdigo do bloco try, o controle passar para o bloco catch, que exibir a mensagem de erro em um campo de texto usando o mtodo Error.toString().
var conta = new Account() try { var returnVal = conta.getAccountInfo(); if(returnVal != 0) { throw new Error("Erro ao obter informao do objeto 'conta'."); } } catch (e) { status_txt.text = e.toString(); }
852
O exemplo a seguir mostra um bloco de cdigo try com vrios blocos catch com tipo. Dependendo do tipo de erro ocorrido, o bloco de cdigo try gera um tipo de objeto diferente. Neste caso, meusRegistros uma instncia de uma classe (hipottica) chamada ConjRegistros, cujo mtodo ordLinhas() pode gerar dois tipos diferentes de erros: ExceoRegistros e RegistroMalFormado. Neste exemplo, os objetos ExceoRegistros e RegistroMalFormado so subclasses da classe Error. Cada um definido em seu prprio arquivo de classe AS. Para obter mais informaes, consulte Captulo 9, Criando classes com o ActionScript 2.0, na pgina 165.
// Em class var } // Em class var } ExceoRegistros.as: ExceoRegistros extends Error { message = "Exceo no conjunto de registros." RegistroMalFormado.as: RegistroMalFormado extends Error { message = "Exceo de m formao de registro.";
No mtodo ordLinhas() da classe ConjRegistros, gera-se um desses objetos de erro predefinidos, dependendo do tipo de exceo que ocorreu. O trecho de cdigo a seguir exemplifica esse cdigo.
// No arquivo de classe ConjRegistros.as... function ordLinhas() { ... if(condioErroConjRegistros) { throw new ExceoRegistros(); } if(condioRegistroMalFormado) { throw new RegistroMalFormado(); } ... }
Finalmente, em outro arquivo AS ou script FLA, o cdigo a seguir chama o mtodo ordLinhas() em uma instncia da classe ConjRegistro. So definidos blocos catch para cada tipo de erro gerado por ordLinhas().
try { meusRegistros.ordLinhas(); } catch (e:ExceoRegistros) { trace("Capturada uma exceo do conjunto de dados"); } catch (e:RegistroMalFormado) { trace("Capturada a exceo de um registro malformado"); } Consulte tambm
try..catch..finally
853
typeof
Disponibilidade
Flash Player 5.
Uso typeof (expresso) Parmetros expresso Descrio
Operador; um operador unrio colocado antes de um nico parmetro. O operador typeof faz com que o interpretador do Flash avalie expresso; o resultado uma seqncia de caracteres que especifica se a expresso uma seqncia de caracteres, um clipe de filme, um objeto, uma funo, um nmero ou um valor booleano. A tabela a seguir mostra os resultados do operador typeof em cada tipo de expresso.
Parmetro String Movie Clip Button Text Field Number Boolean Object Function Sada
seqncia de caracteres clipe de filme objeto objeto nmero valor booleano objeto funo
854
undefined
Disponibilidade
Flash Player 5.
Uso undefined Parmetros
Nenhum.
Retorna
Nada.
Descrio
Um valor especial, geralmente usado para indicar que um valor ainda no foi atribudo a uma varivel. Uma referncia a um valor indefinido retorna o valor especial undefined. O cdigo ActionScript typeof(undefined) retorna a seqncia de caracteres "undefined". O nico valor do tipo undefined undefined. Em arquivos publicados para Flash Player 6 ou verses anteriores, o valor "" (uma seqncia de caracteres vazia). Em arquivos publicados para Flash Player 7 ou verses posteriores, o valor de undefined.toString() undefined.
undefined.toString()
O valor undefined semelhante ao valor especial null. Quando null e undefined so comparados ao operador de igualdade, eles so comparados como iguais.
Exemplo
Neste exemplo, a varivel x no foi declarada e, portanto, tem o valor undefined. Na primeira seo de cdigo, o operador de igualdade (==) compara o valor x ao valor undefined e o resultado apropriado enviado ao painel Output (Sada). Na segunda seo de cdigo, o operador de igualdade compara os valores null e undefined.
// x no foi declarado trace ("O valor de x " + x); if (x == undefined) { trace ("x undefined"); } else { trace ("x no undefined"); } trace ("typeof (x) " + typeof (x)); if (null == undefined) { trace ("null e undefined so iguais"); } else { trace ("null e undefined no so iguais"); }
undefined
855
unescape
Disponibilidade
Flash Player 5.
Uso unescape(x) Parmetros x
Retorna
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 resultado o seguinte:
Ol{[Mundo]}
856
unloadMovie()
Disponibilidade
Flash Player 3.
Uso unloadMovie(destino) Parmetros destino Retorna
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); }
unloadMovie()
857
unloadMovieNum()
Disponibilidade
Flash Player 3.
Uso unloadMovieNum(nvel) Parmetros nvel Retorna
Nada.
Descrio
Funo; remove um filme que foi carregado por meio de loadMovieNum() a partir do Flash Player. Para descarregar um filme que tenha sido carregado por meio de loadMovie(), use unloadMovie() em vez de unloadMovieNum().
Consulte tambm loadMovie(), loadMovieNum(), unloadMovie()
updateAfterEvent()
Disponibilidade
Flash Player 5.
Uso updateAfterEvent() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Funo; atualiza a exibio (independentemente dos quadros por segundo definidos para o filme) quando chamada dentro de um manipulador onClipEvent() ou como parte de uma funo ou mtodo passado para setInterval(). O Flash ignora as chamadas a updateAfterEvent que no estejam dentro de um manipulador onClipEvent() ou que no faam parte de uma funo ou mtodo passado para setInterval().
Consulte tambm onClipEvent(), setInterval()
858
var
Disponibilidade
Flash Player 5.
Uso var nomeVarivel [= valor1] [...,nomeVarivelN [=valorN]] Parmetros nomeVarivel valor Retorna
Um identificador.
Nada.
Descrio
Se as variveis forem declaradas dentro de uma funo, so variveis locais. Elas so definidas
para a funo e expiram no final da chamada da funo.
Se as variveis no forem declaradas em um bloco ({}), mas a lista de aes tiver sido executada
com uma ao call(), as variveis sero locais e expiraro no final da lista atual. Se as variveis no forem declaradas em um bloco e a lista de aes atual no tiver sido executada com a ao call(), as variveis sero interpretadas como variveis da Timeline. No entanto, no necessrio usar var para declarar variveis da Timeline.
No possvel declarar como varivel local uma varivel cujo escopo outro objeto:
meu_array.length = 25; // ok var meu_array.length = 25; // erro de sintaxe
Ao usar var, possvel atribuir estritamente um tipo a uma varivel; consulte Atribuio estrita de tipos de dados na pgina 41
Observao: As classes definidas em scripts externos tambm oferecem suporte a escopos de variveis pblicas, privadas e estticas. Consulte Captulo 9, Criando classes com o ActionScript 2.0, na pgina 165 e private, public e static.
var
859
Classe Video
Disponibilidade
Flash Player 6; a capacidade de reproduzir arquivos Flash Video (FLV) foi includa no Flash Player 7.
Descrio
A classe Video permite exibir fluxos de vdeo ao vivo no Stage (Palco), sem incorpor-los ao arquivo SWF. Para capturar o vdeo, use Camera.get(). Em arquivos publicados para Flash Player 7 e verses posteriores, tambm possvel usar a classe Video para reproduzir arquivos Flash Video (FLV) em HTTP ou a partir do sistema de arquivos local. Para obter mais informaes, consulte Reproduzindo arquivos FLV externos dinamicamente na pgina 211, Classe NetConnection e Classe NetStream. Um objeto Video pode ser usado como um clipe de filme. Assim como ocorre com outros objetos colocados no Stage, possvel controlar vrias propriedades dos objetos Video. Por exemplo, voc pode mover o objeto Video pelo Stage usando suas propriedades _x e _y, pode mudar o tamanho usando as propriedades _height e _width e assim por diante.
Video.attachVideo()
Para exibir o fluxo do vdeo, coloque primeiramente um objeto Video no Stage. Em seguida, use para anexar o fluxo de vdeo ao objeto Video.
1 Se o painel Library (Biblioteca) no estiver visvel, selecione Window (Janela) > Library para
exibi-lo. 2 Para incluir um objeto Video incorporado biblioteca, clique no menu Options (Opes) no lado direito do painel Library e selecione New Video (Novo vdeo). 3 Arraste o objeto Video para o Stage e use o inspetor Properties (Propriedades) para atribuir a ele um nome exclusivo de instncia como meu_vdeo. No d o nome Video. Resumo dos mtodos da classe Video
Mtodo Descrio no Stage.
Video.clear()
Video.attachVideo() Especifica um fluxo de vdeo a ser exibido dentro dos limites do objeto Video
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.
860
Video.attachVideo()
Disponibilidade
Flash Player 6; a capacidade de trabalhar com arquivos Flash Video (FLV) foi includa no Flash Player 7.
Uso meu_vdeo.attachVideo(origem) Parmetros origem
Um objeto Camera que est capturando dados de vdeo ou um objeto NetStream. Para eliminar a conexo com o objeto Video, passe null como origem. Nada.
Retorna
Descrio
Mtodo; especifica um fluxo de vdeo (origem) a ser exibido dentro dos limites do objeto Video no Stage (Palco). O fluxo do video um arquivo FLV que est sendo exibido por meio do comando NetStream.play(), um objeto Camera ou null. Se origem for igual a null, o vdeo no ser mais reproduzido dentro do objeto Video. No ser necessrio usar esse mtodo se o arquivo FLV contiver apenas udio. A parte do udio de um arquivo FLV reproduzida automaticamente quando o comando NetStream.play() emitido. Se voc quiser controlar o udio associado a um arquivo FLV, poder usar
MovieClip.attachAudio() para rotear o udio para um clipe de filme. Em seguida, poder criar
um objeto Sound para controlar alguns aspectos do udio. Para obter mais informaes, consulte
MovieClip.attachAudio(). Exemplo
O exemplo a seguir reproduz um arquivo gravado anteriormente denominado meuVdeo.flv, que est armazenado no mesmo diretrio que o arquivo SWF.
var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(meu_nc); meu_vdeo.attachVideo(ns); // meu_vdeo um objeto Video no Stage ns.play("meuVdeo.flv"); Consulte tambm
Video.attachVideo()
861
Video.clear()
Disponibilidade
Flash Player 6.
Uso meu_vdeo.clear() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; limpa a imagem atualmente exibida no objeto Video. Isso til quando, por exemplo, voc deseja exibir informaes auxiliares sem precisar ocultar o objeto Video.
Consulte tambm Video.attachVideo()
Video.deblocking
Disponibilidade
Flash Player 6.
Uso meu_vdeo.deblocking meu_vdeo.deblocking = config Descrio
Propriedade; especifica o comportamento do filtro de desblocagem que o compactador de vdeo aplica durante o fluxo do vdeo. Os valores a seguir so aceitveis para config:
O filtro de desblocagem afeta o desempenho geral da reproduo e normalmente no necessrio para vdeos de alta largura de banda. Se o seu sistema no tiver recursos suficientes, voc poder ter dificuldades para reproduzir vdeos com esse filtro ativado.
862
Video.height
Disponibilidade
Flash Player 6.
Uso meu_vdeo.height Descrio
Propriedade somente de leitura; um inteiro que especifica a altura do fluxo de vdeo, em pixels. Para fluxo ao vivi, esse valor o mesmo da propriedade Camera.height do objeto Camera que est capturando o fluxo de vdeo. Para arquivos FLV, esse valor a altura do arquivo que foi exportado como FLV. Essa propriedade pode ser usada, por exemplo, para garantir que o usurio esteja vendo o vdeo no mesmo tamanho em que ele foi capturado, independentemente do tamanho real do objeto Video no Stage (palco).
Exemplo
Uso 1: O exemplo a seguir define os valores de altura e largura do objeto Video de modo que correspondam aos valores de um arquivo FLV. Voc deve chamar esse cdigo depois que NetStream.onStatus for chamado com uma propriedade code NetStream.Buffer.Full. Se o cdigo for chamado quando a propriedade code for NetStream.Play.Start, os valores de altura e largura sero 0, pois o objeto Video ainda no ter a altura e a largura do arquivo FLV carregado.
// Clipe o nome da instncia do clipe de filme // que contm o objeto Video "meu_vdeo". _root.Clipe._width = _root.Clipe.meu_vdeo.width; _root.Clipe._height = _root.Clipe.meu_vdeo.height;
Uso 2: O exemplo a seguir permite que o usurio pressione um boto para definir que a altura e a largura de um fluxo de vdeo que est sendo exibido no Flash Player sejam iguais altura e largura em que o fluxo de vdeo foi capturado.
on (release) { _root.meu_vdeo._width = _root.meu_vdeo.width _root.meu_vdeo._height = _root.meu_vdeo.height } Consulte tambm MovieClip._height, Video.width
Video.height
863
Video.smoothing
Disponibilidade
Flash Player 6.
Uso meu_vdeo.smoothing Descrio
Propriedade; um valor booleano que especifica se o vdeo deve ser suavizado (interpolado) ao ser dimensionado. Para que a suavizao funcione, o exibidor deve estar em modo de alta qualidade. O valor padro false (sem suavizao).
Video.width
Disponibilidade
Flash Player 6.
Uso meu_vdeo.width Descrio
Propriedade somente de leitura; um inteiro que especifica a largura do fluxo de vdeo, em pixels. Para fluxo ao vivi, esse valor o mesmo da propriedade Camera.width do objeto Camera que est capturando o fluxo de vdeo. Para arquivos FLV, esse valor a largura do arquivo que foi exportado como um arquivo FLV. Essa propriedade pode ser usada, por exemplo, para garantir que o usurio esteja vendo o vdeo no mesmo tamanho em que ele foi capturado, independentemente do tamanho real do objeto Video no Stage (Palco).
Exemplo
void
Disponibilidade
Flash Player 5.
Uso void (expresso) Descrio
Operador; um operador unrio que descarta o valor da expresso e retorna um valor indefinido. O operador void geralmente usado em comparaes que usem o operador == para testar os valores indefinidos.
864
while
Disponibilidade
Flash Player 4.
Uso while(condio) { instrues; } Parmetros condio instrues Retorna
A expresso que reavaliada sempre que a ao while executada. As instrues que sero executadas se a condio for avaliada como true.
Nada.
Descrio
Instruo; testa uma expresso e executa repetidamente uma instruo ou srie de instrues em um loop, enquanto a expresso for true. Antes do bloco de instrues ser executado, testa-se a condio; se o teste retornar true, o bloco de instrues ser executado. Se a condio for false, o bloco de instrues ser ignorado e a primeira instruo aps o bloco de instrues da ao while ser executado. O loop normalmente usado para executar um ao enquanto uma varivel de contador for menor do que um valor especificado. No final de cada loop, o contador incrementado at que o valor especificado seja obtido. Nesse ponto, a condio no mais true e o loop termina. A instruo while executa a srie de etapas a seguir. Cada repetio das etapas de 1 a 4 chamada de iterao do loop. A condio testada novamente no incio de cada iterao, como nas seguintes etapas:
1 A expresso condio avaliada. 2 Se condio for avaliada como true ou como um valor conversvel ao valor booleano true,
como um nmero diferente de zero, v para a etapa 3. Caso contrrio, a instruo while ser concluda e a execuo continuar na prxima instruo aps o loop while. 3 Executa o bloco de instrues instrues. 4 V para a etapa 1.
Consulte tambm do while, continue, for, for..in
while
865
with
Disponibilidade
Flash Player 5.
Uso with (objeto) { instrues; } Parmetros objeto
Uma instncia de um objeto ou clipe de filme do ActionScript. Uma ao ou grupo de aes entre chaves.
instrues Retorna
Nada.
Descrio
Instruo; permite especificar um objeto (como um clipe de filme) com o parmetro objeto e avaliar expresses e aes dentro desse objeto com o parmetro instrues. Isso evita que seja necessrio escrever repetidamente o nome do objeto ou o caminho do objeto. O parmetro objeto passa a ser o contexto em que so lidas as propriedades, variveis e funes no parmetro instrues. Por exemplo, se objeto for meu_array e duas das propriedades especificadas forem length e concat, essas propriedades sero lidas automaticamente como meu_array.length e meu_array.concat. Em outro exemplo, se objeto for estado.califrnia, qualquer instruo ou ao dentro da ao with ser chamada de dentro da instncia califrnia. Para localizar o valor de um identificador no parmetro instrues, o ActionScript inicia a busca no princpio da seqncia de escopos especificada pelo objeto e procura o identificador em cada nvel da seqncia, em uma ordem especfica. A seqncia de escopo usada pela ao with para resolver identificadores comea com o primeiro item na lista a seguir e continua at o ltimo item:
O objeto especificado no parmetro objeto na ao with mais interna. O objeto especificado no parmetro objeto na ao with mais externa. O objeto Activation. um objeto temporrio criado automaticamente quando uma funo
chamada e que mantm as variveis locais chamadas na funo.
O clipe de filme que contm o script em execuo no momento. O objeto Global (objetos internos como Math e String).
Para definir uma varivel dentro de uma ao with, a varivel deve ter sido declarada fora da ao ou ser necessrio inserir o caminho completo para a Timeline (Linha de tempo) na qual a varivel deve residir. Se for definida uma varivel em uma ao with sem ser declarada, a ao with procurar pelo valor de acordo com a seqncia de escopo. Se a varivel ainda no existir, o novo valor ser definido na Timeline a partir de que a ao with foi chamada.
with
866
No Flash 5 ou posterior, a ao with substitui a ao tellTarget obsoleta. Use de preferncia with em vez de tellTarget, pois uma extenso do ActionScript padro do padro ECMA 262. A principal diferena entre as aes with e tellTarget que with considera um clipe de filme ou outro objeto como seu parmetro, enquanto tellTarget considera uma seqncia de caracteres de caminho de destino que identifica um clipe de filme como seu parmetro e no pode ser usada para especificar objetos.
Exemplo
O exemplo a seguir define as propriedades _x e _y da instncia outro_mc e instrui outro_mc a ir para o Frame 3 (Quadro 3) parar.
with (outro_mc) { _x = 50; _y = 100; gotoAndStop(3); }
O prximo trecho de cdigo mostra como escrever o cdigo anterior sem usar uma ao with.
outro_mc._x = 50; outro_mc._y = 100; outro_mc.gotoAndStop(3);
Tambm possvel escrever esse cdigo usando a ao tellTarget. Entretanto, se outro_mc no fosse um clipe de filme, mas sim um objeto, no seria possvel usar a ao with.
tellTarget ("outro_mc") { _x = 50; _y = 100; gotoAndStop(3); }
A ao with til para fornecer acesso a vrios itens simultaneamente em uma seqncia de escopo. No exemplo a seguir, o objeto Math interno posicionado no incio da seqncia de escopo. Definir Math como um objeto padro resolve os identificadores cos, sin e PI como Math.cos, Math.sin e Math.PI, respectivamente. Os identificadores a, x, y e r no so mtodos ou propriedades do objeto Math, mas como existem no escopo de ativao do objeto da funo polar(), eles so resolvidos como as variveis locais correspondentes.
function polar(r) { var a, x, y; with (Math) { a = PI * r * r; x = r * cos(PI); y = r * sin(PI/2); } trace("area = " +a); trace("x = " + x); trace("y = " + y); }
with
867
Voc pode utilizar aes with aninhadas para ter acesso a informaes em vrios escopos. No exemplo a seguir, a instncia fresno e a instncia salinas so filhas da instncia califrnia. A instruo define os valores _alpha de fresno e salinas sem alterar o valor _alpha de califrnia.
with (califrnia){ with (fresno){ _alpha = 20; } with (salinas){ _alpha = 40; } } Consulte tambm tellTarget
Classe XML
Disponibilidade
Flash Player 5 (tornou-se um objeto nativo no Flash Player 6, o que melhorou significativamente o desempenho).
Descrio
Use os mtodos e propriedades da classe XML para carregar, analisar, enviar, montar e manipular rvores de documento XML. Voc deve usar o construtor new XML() para criar um objeto XML antes de chamar qualquer uma de suas classes. Resumo dos mtodos da classe XML
Mtodo Descrio
Anexa um n ao fim da lista filha do objeto especificado. Clona o n especificado e, opcionalmente, clona todos os filhos de forma recursiva. Cria um novo elemento XML. Cria um novo n de texto XML. Retorna o nmero de bytes carregados do documento XML especificado. Retorna o tamanho do documento XML, em bytes. Retornar true se o n especificado tiver ns filhos; caso contrrio, retornar false. Insere um n na frente de um n existente na lista de filhos do n especificado.
XML.getBytesTotal() XML.hasChildNodes()
XML.insertBefore()
868
Mtodo
XML.load()
Descrio Carrega um documento (especificado pelo objeto XML) a partir de um URL. Analisa um documento XML na rvore de objeto XML especificada. Remove o n especificado de seu pai. Envia o objeto XML especificado para um URL. Envia o objeto XML especificado para um URL e carrega a resposta do servidor em outro objeto XML. Converte o n especificado e todos os seus filhos em texto XML.
XML.toString()
Descrio Indica o tipo de MIME transmitido para o servidor. Define e retorna informaes sobre a declarao DOCTYPE de um documento XML. Somente leitura; faz referncia ao primeiro filho na lista do n especificado. Quando definida como true, os ns de texto que s contm espaos em branco so descartados durante o processo de anlise. Faz referncia ao ltimo filho na lista do n especificado. Somente leitura; verifica se o objeto XML especificado foi carregado. Somente leitura; faz referncia ao prximo irmo na lista de filhos do n pai. O nome do n de um objeto XML. O tipo do n especificado (elemento XML ou n de texto). O texto do n especificado se o n for um n de texto. Somente leitura; faz referncia ao n pai do n especificado. Somente leitura; faz referncia ao irmo anterior na lista de filhos do n pai. Um cdigo de status numrico que indica o xito ou a falha de uma operao de anlise de um documento XML. Especifica informaes sobre uma declarao XML do documento.
XML.firstChild
XML.ignoreWhite
XML.status
XML.xmlDecl
Classe XML
869
Descrio Retorna um array associativo que contm todos os atributos do n especificado. Somente leitura; retorna um array que contm referncias aos ns filhos do n especificado.
XML.childNodes
Descrio Um manipulador de eventos que chamado quando o download de um texto XML do servidor totalmente concludo, ou quando ocorre um erro durante o download do texto XML de um servidor. Um manipulador de eventos que retorna um valor booleano indicando se o objeto XML foi carregado com xito com XML.load() ou XML.sendAndLoad().
XML.onLoad()
Flash Player 5.
Uso new XML([origem]) Parmetros origem Retorna
Nada.
Descrio
Construtor; cria um novo objeto XML. Voc deve usar o construtor para criar um objeto XML antes de chamar qualquer um dos mtodos da classe XML.
Observao: Os mtodos createElement() e createTextNode() so os mtodos construtores para criar os elementos e ns de texto em uma rvore de documentos XML.
870
Exemplo
Uso 2: O exemplo a seguir cria um novo objeto XML analisando o texto XML especificado no parmetro origem e preenche o objeto XML recm-criado com a rvore de documentos XML resultante.
outroXML = new XML("<estado>Califrnia<cidade>San Francisco</cidade></ estado>"); Consulte tambm XML.createElement(), XML.createTextNode()
XML.addRequestHeader()
Disponibilidade
Flash Player 6.
Uso xml.addRequestHeader(nomeCabealho, valorCabealho) xml.addRequestHeader(["nomeCabealho_1", "valorCabealho_1" ... "nomeCabealho_n", "valorCabealho_n"]) Parmetros nomeCabealho valorCabealho Retorna
Nada.
Descrio
Mtodo; adiciona ou altera os cabealhos de solicitao HTTP (como Content-Type ou SOAPAction) enviados com aes POST. No primeiro uso, duas seqncias de caracteres so passadas para o mtodo: nomeCabealho e valorCabealho. No segundo uso, passa-se um array de seqncias de caracteres, que alterna nomes e valores de cabealho. Se forem feitas vrias chamadas para definir o mesmo nome de cabealho, cada valor sucessivo substituir o valor definido na chamada anterior. No possvel incluir ou alterar os seguintes cabealhos HTTP padro usando este mtodo:
Accept-Ranges, Age, Allow, Allowed, Connection, Content-Length, Content-Location, Content-Range, ETag, Host, Last-Modified, Locations, Max-Forwards, ProxyAuthenticate, Proxy-Authorization, Public, Range, Retry-After, Server, TE, Trailer, Transfer-Encoding, Upgrade, URI, Vary, Via, Warning e WWW-Authenticate.
XML.addRequestHeader()
871
Exemplo
Este exemplo adiciona a um objeto denominado meu_xml um cabealho HTTP personalizado, denominado SOAPAction, com o valor Foo.
meu_xml.addRequestHeader("SOAPAction", "'Foo'");
O seguinte exemplo cria um array denominado cabealhos, que contm dois cabealhos HTTP alternados com seus respectivos valores. O array passado como um parmetro para o mtodo addRequestHeader().
var cabealhos = ["Content-Type", "text/plain", "X-ClientAppVersion", "2.0"]; meu_xml.addRequestHeader(cabealhos); Consulte tambm
LoadVars.addRequestHeader()
XML.appendChild()
Disponibilidade
Flash Player 5.
Uso meu_xml.appendChild(nFilho) Parmetros nFilho Retorna
Nada.
Descrio
Mtodo; anexa o n filho especificado lista de filhos do objeto XML. O n filho anexado ser colocado na estrutura depois de removido de seu n pai existente, se houver algum.
Exemplo
872
XML.attributes
Disponibilidade
Flash Player 5.
Uso meu_xml.attributes Parmetros
Nenhum.
Retorna
Um array.
Descrio
Propriedade; um array associativo que contm todos os atributos do objeto XML especificado.
Exemplo
O exemplo a seguir grava os nomes dos atributos XML na janela Output (Sada).
str = "<mytag name=\"Val\"> intem </mytag>"; doc = new XML(str); y = doc.firstChild.attributes.name; trace (y); doc.firstChild.attributes.order = "first"; z = doc.firstChild.attributes.order trace(z);
XML.attributes
873
XML.childNodes
Disponibilidade
Flash Player 5.
Uso meu_xml.childNodes Parmetros
Nenhum.
Retorna
Um array.
Descrio
Propriedade (somente de leitura); um array dos filhos do objeto XML especificado. Cada elemento do array uma referncia a um objeto XML que representa um n filho. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos. Use XML.appendChild(), XML.insertBefore() e XML.removeNode() para manipular os ns filhos. Essa propriedade indefinida para os ns de texto (nodeType == 3).
Consulte tambm XML.nodeType
XML.cloneNode()
Disponibilidade
Flash Player 5.
Uso meu_xml.cloneNode(profundidade) Parmetros profundidade
Valor booleano que especifica se os filhos do objeto XML especificado so clonados de forma recursiva.
Retorna
Um n XML.
Descrio
Mtodo; cria e retorna um novo n XML do mesmo tipo, valor, nome e atributos do objeto XML especificado. Se o valor de profundidade for definido como true, todos os ns filhos sero clonados de forma recursiva, o que resultar em uma cpia exata da rvore de documentos do objeto original. O clone do n retornado no ser mais associado rvore do item clonado. Conseqentemente,
nextSibling, parentNode e previousSibling tero valor null. Se uma cpia de clipe no for realizada, firstChild e lastChild tambm sero null.
874
XML.contentType
Disponibilidade
Flash Player 6.
Uso meu_xml.contentType Descrio
Propriedade; o tipo MIME enviado ao servidor quando voc chama o mtodo XML.send() ou XML.sendAndLoad(). O padro application/x-www-form-urlencoded.
Consulte tambm XML.send(), XML.sendAndLoad()
XML.createElement()
Disponibilidade
Flash Player 5.
Uso meu_xml.createElement(nome) Parmetros nome Retorna
Um elemento XML.
Descrio
Mtodo; cria um novo elemento XML com o nome especificado no parmetro. O novo elemento inicialmente no tem pai, filhos nem irmos. O mtodo retorna uma referncia ao objeto XML criado recentemente que representa o elemento. Esse mtodo e createTextNode() so os mtodos construtores para criao de ns de um objeto XML.
XML.createElement()
875
XML.createTextNode()
Disponibilidade
Flash Player 5.
Uso meu_xml.createTextNode(texto) Parmetros texto Retorna
Nada.
Descrio
Mtodo; cria um novo n de texto XML com o texto especificado. Inicialmente, o novo n no tem pai e os ns de texto no podem ter filhos nem irmos. Esse mtodo retorna uma referncia ao objeto XML que representa o novo n de texto. Esse mtodo e o createElement() so os mtodos do construtor para criao de ns de um objeto XML.
XML.docTypeDecl
Disponibilidade
Flash Player 5.
Uso meu_xml.XMLdocTypeDecl Descrio
Propriedade; especifica informaes sobre a declarao DOCTYPE do documento XML. Aps o texto XML ter sido analisado em um objeto XML, a propriedade XML.docTypeDecl do objeto XML definida como o texto da declarao DOCTYPE do documento XML. Por exemplo, <!DOCTYPE greeting SYSTEM "Ol.dtd">. Esta propriedade definida usando uma representao de seqncia de caracteres da declarao DOCTYPE, e no de um objeto do n XML. O analisador XML do ActionScript no um analisador de validao. A declarao DOCTYPE lida pelo analisador e armazenada na propriedade docTypeDecl, mas nenhuma validao DTD executada. Se nenhuma declarao DOCTYPE for encontrada durante uma operao de anlise, XML.docTypeDecl ser definido como undefined (indefinida). XML.toString() mostra o contedo de XML.docTypeDecl imediatamente aps a declarao XML armazenada em XML.xmlDecl e antes de qualquer outro texto do objeto XML. Se XML.docTypeDecl for indefinido, nenhuma declarao DOCTYPE ser mostrada.
876
Exemplo
O exemplo a seguir usa XML.docTypeDecl para definir a declarao DOCTYPE de um objeto XML.
meu_xml.docTypeDecl = "<!DOCTYPE greeting SYSTEM \"Ol.dtd\">"; Consulte tambm XML.toString(), XML.xmlDecl
XML.docTypeDecl
877
XML.firstChild
Disponibilidade
Flash Player 5.
Uso meu_xml.firstChild Descrio
Propriedade (somente de leitura); avalia o objeto XML especificado e faz referncia ao primeiro filho na lista de filhos do n pai. Essa propriedade ser null se o n no tiver filhos. Essa propriedade ser indefinida se o n for um n de texto. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos; use appendChild(), insertBefore() e removeNode() para manipular ns filhos.
Consulte tambm XML.appendChild(), XML.insertBefore(), XML.removeNode()
XML.getBytesLoaded()
Disponibilidade
Flash Player 6.
Uso XML.getBytesLoaded() Parmetros
Nenhum.
Retorna
Mtodo; retorna o nmero de bytes carregados (transmitidos) do documento XML. possvel comparar o valor de getBytesLoaded() com o valor de getBytesTotal() para determinar que porcentagem de um documento XML foi carregada.
Consulte tambm XML.getBytesTotal()
878
XML.getBytesTotal()
Disponibilidade
Flash Player 6.
Uso XML.getBytesTotal() Parmetros
Nenhum.
Retorna
Um inteiro.
Descrio
XML.hasChildNodes()
Disponibilidade
Flash Player 5.
Uso meu_xml.hasChildNodes() Parmetros
Nenhum.
Retorna
Um valor booleano.
Descrio
Mtodo; retornar true se o objeto XML especificado tiver ns filhos; caso contrrio, retornar false.
Exemplo
O exemplo a seguir usa as informaes do objeto XML em uma funo definida pelo usurio.
if (rootNode.hasChildNodes()) { minhaFuno (rootNode.firstChild); }
XML.hasChildNodes()
879
XML.ignoreWhite
Disponibilidade
Flash Player 5.
Uso meu_xml.ignoreWhite = booleano XML.prototype.ignoreWhite = booleano Parmetros booleano Descrio
Propriedade; a configurao padro false. Quando definida como true, os ns de texto que s contm espaos em branco so descartados durante o processo de anlise. Os ns de texto com espao em branco inicial ou de rastro no so afetados. Uso 1: possvel definir a propriedade ignoreWhite para objetos XML individuais, como no cdigo a seguir:
meu_xml.ignoreWhite = true
Uso 2: possvel definir a propriedade padro ignoreWhite para objetos XML, como no cdigo a seguir:
XML.prototype.ignoreWhite = true
XML.insertBefore()
Disponibilidade
Flash Player 5.
Uso meu_xml.insertBefore(nFilho, nAnterior) Parmetros nFilho
nAnterior Retorna
Nada.
Descrio
Mtodo; insere um novo n filho na lista de filhos do objeto XML, antes de nAnterior. Se o parmetro nAnterior for indefinido ou null, o n ser adicionado por meio de appendChild(). Se nAnterior no for um filho de meu_xml, ocorrer erro na insero.
880
XML.lastChild
Disponibilidade
Flash Player 5.
Uso meu_xml.lastChild Descrio
Propriedade (somente de leitura); avalia o objeto XML e faz referncia ao ltimo n filho na lista de filhos do n pai. Esse mtodo retornar null se o n no tiver filhos. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos; use appendChild(), insertBefore() e removeNode() para manipular ns filhos.
Consulte tambm XML.appendChild(), XML.insertBefore(), XML.removeNode()
XML.load()
Disponibilidade
Nada.
Descrio
Mtodo; carrega um documento XML do URL especificado e substitui o contedo do objeto XML especificado pelo objeto com os dados XML descarregados. O URL relativo, sendo chamado via HTTP. O processo de carregamento assncrono; ele no termina imediatamente aps o mtodo load() ser carregado. Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com.
XML.load()
881
Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Quando load() executado, a propriedade do objeto XML loaded definida como false. Quando o download dos dados XML concludo, a propriedade loaded definida como true e o mtodo onLoad() chamado. Os dados XML so analisados somente depois de serem totalmente descarregados. Se o objeto XML continha anteriormente rvores XML, elas sero descartadas. Voc pode especificar seu prprio manipulador de eventos no lugar do mtodo onLoad().
Exemplo
XML.loaded
Disponibilidade
Flash Player 5.
Uso meu_xml.loaded Descrio
Propriedade (somente de leitura); determina se o processo de carregamento do documento iniciado pela chamada XML.load() foi concludo. Se o processo for concludo com xito, o mtodo retornar true; caso contrrio, retornar false.
Exemplo
882
XML.nextSibling
Disponibilidade
Flash Player 5.
Uso meu_xml.nextSibling Descrio
Propriedade (somente de leitura); avalia o objeto XML e faz referncia ao prximo irmo na lista de filhos do n pai. Esse mtodo retornar null se o n no tiver um n irmo prximo. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos. Use os mtodos appendChild(), insertBefore() e removeNode() para manipular os ns filhos.
Consulte tambm XML.appendChild(), XML.insertBefore(), XML.removeNode()
XML.nodeName
Disponibilidade
Flash Player 5.
Uso meu_xml.nodeName Descrio
Propriedade; o nome do n do objeto XML. Se o objeto XML for um elemento XML (nodeType == 1), nodeName ser o nome da marca que representa o n no arquivo XML. Por exemplo, TITLE o nodeName de uma marca TITLE em HTML. Se o objeto XML for um n de texto (nodeType == 3), o nodeName ser null.
Consulte tambm XML.nodeType
XML.nodeType
Disponibilidade
Flash Player 5.
Uso meu_xml.nodeType Descrio
Propriedade (somente de leitura); aceita ou apresenta um valor nodeType, onde 1 um elemento XML e 3 um n de texto.
Consulte tambm XML.nodeValue
XML.nodeType
883
XML.nodeValue
Disponibilidade
Flash Player 5.
Uso meu_xml.nodeValue Descrio
Propriedade; o valor do n do objeto XML. Se o objeto XML for um n de texto, nodeType ser 3 e nodeValue ser o texto do n. Se o objeto XML for um elemento XML (tipo de n 1), ser somente de leitura e ter null como nodeValue.
Consulte tambm XML.nodeType
XML.onData
Disponibilidade
Flash Player 5
Uso meu_xml.onData = function(fonte) { // suas instrues entram aqui } Parmetros fonte Retorna
Nada.
Descrio
Manipulador de eventos; chamado quando o download de um texto XML foi totalmente feito do servidor, ou quando ocorre um erro ao fazer o download do texto XML de um servidor. Esse manipulador chamado antes do XML ser analisado e, portanto, pode ser usado para chamar uma rotina de anlise personalizada em vez de usar o analisador XML do Flash. O mtodo XML.onData retorna o valor undefined ou uma seqncia de caracteres que contenha texto XML cujo download tenha sido feito do servidor. Se o valor retornado tiver sido undefined, ocorreu um erro durante o download do XML do servidor. Por padro, o mtodo XML.onData chama XML.onLoad(). Voc pode substituir o mtodo XML.onData por um comportamento que tenha criado, mas XML.onLoad() no ser mais chamado, a menos que voc o chame na sua implementao de XML.onData.
884
Exemplo
possvel substituir o mtodo XML.onData para interceptar o texto XML sem analis-lo.
XML.onLoad()
Disponibilidade
Flash Player 5.
Uso meu_xml.onLoad = function (sucesso) { //suas instrues entram aqui } Parmetros sucesso
Um valor booleano que indica se o objeto XML foi carregado com xito por meio de uma operao XML.load() ou XML.sendAndLoad().
Retorna
Nada.
Descrio
Manipulador de eventos; chamado pelo Flash Player quando um documento XML recebido do servidor. Se o documento XML for recebido com xito, o parmetro sucesso ser true. Se o documento no tiver sido recebido ou se tiver ocorrido algum no recebimento da resposta do servidor, o parmetro sucesso ser false. A implementao padro deste mtodo no est ativa. Para substituir a implementao padro, atribua uma funo que contm suas prprias aes.
XML.onLoad()
885
Exemplo
O exemplo a seguir cria um arquivo SWF simples para um aplicativo de comrcio eletrnico. O mtodo sendAndLoad() transmite um elemento XML que contm o nome e a senha do usurio, e instala um manipulador onLoad para lidar com a resposta do servidor.
function myOnLoad(sucesso) { if (sucesso) { if (e.firstChild.nodeName == "LOGINREPLY_xml" && e.firstChild.attributes.status == "OK") { gotoAndPlay("loggedIn") } else { gotoAndStop("loginFailed") } } else { gotoAndStop("connectionFailed") } } var meuLoginReply_xml = new XML(); meuLoginReply_xml.onLoad = myOnLoad; meu_xml.sendAndLoad("http://www.loja-exemplo.com/login.cgi", meuLoginReply_xml); Consulte tambm function, XML.load(), XML.sendAndLoad()
XML.parentNode
Disponibilidade
Flash Player 5.
Uso meu_xml.parentNode Descrio
Propriedade (somente de leitura); far referncia ao n pai do objeto XML especificado ou retornar null se o n no tiver pai. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos; use appendChild(), insertBefore() e removeNode() para manipular filhos.
886
XML.parseXML()
Disponibilidade
Flash Player 5.
Uso meu_xml.parseXML(origem) Parmetros origem Retorna
Nada.
Descrio
Mtodo; analisa o texto XML especificado no parmetro origem e preenche o objeto XML especificado com a rvore XML resultante. Quaisquer rvores existentes no objeto XML so descartadas.
XML.previousSibling
Disponibilidade
Flash Player 5.
Uso meu_xml.previousSibling Descrio
Propriedade (somente de leitura); retorna uma referncia do irmo anterior na lista de filhos do n pai. A propriedade ter um valor null se o n no tiver um n irmo anterior. Essa uma propriedade somente de leitura e no pode ser usada para manipular ns filhos. Use XML.appendChild(), XML.insertBefore() e XML.removeNode() para manipular ns filhos.
XML.previousSibling
887
XML.removeNode()
Disponibilidade
Flash Player 5.
Uso meu_xml.removeNode() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Mtodo; remove o objeto XML especificado de seu pai. Todos os descendentes do n tambm so excludos.
XML.send()
Disponibilidade
Flash Player 5.
Uso meu_xml.send(url, [janela]) Parmetros url
janela A janela do navegador que exibe dados retornados pelo servidor: _self especifica o quadro atual na janela atual, _blank especifica uma nova janela, _parent especifica o pai do quadro atual e _top especifica o quadro de alto nvel na janela atual. Este parmetro opcional; se nenhum parmetro window for especificado, ser o mesmo que especificar _self. Retorna
Nada.
Descrio
Mtodo; codifica o objeto XML especificado em um documento XML e o envia para o URL especificado usando o mtodo POST.
888
XML.sendAndLoad()
Disponibilidade
Nada.
Descrio
Mtodo; codifica o objeto XML especificado em um documento XML, envia-o para o URL especificado usando o mtodo POST, faz o download da resposta do servidor e a carrega no objeto objeto_XML_de_destino especificado nos parmetros. A resposta do servidor carregada da mesma maneira usada pelo mtodo load(). Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com poder somente carregar variveis de arquivos SWF que tambm estejam em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo processado. Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Quando load() executado, a propriedade do objeto XML loaded definida como false. Quando o download dos dados XML concludo, a propriedade loaded definida como true e o mtodo onLoad() chamado. Os dados XML so analisados somente depois de serem totalmente descarregados. Se o objeto XML continha anteriormente rvores XML, elas sero descartadas.
Consulte tambm XML.load()
XML.sendAndLoad()
889
XML.status
Disponibilidade
Flash Player 5.
Uso meu_xml.status Descrio
Propriedade; define e retorna automaticamente um valor numrico que indica se um documento XML foi analisado com xito em um objeto XML. Os cdigos de status numrico e uma descrio de cada um deles so listados da seguinte maneira:
0 -2 -3 -4 -5 -6 -7 -8 -9 -10
Sem erro; a anlise foi concluda com xito. Uma seo CDATA no foi terminada adequadamente. A declarao XML no foi terminada adequadamente. A declarao DOCTYPE no foi terminada adequadamente. Um comentrio no foi terminado adequadamente. Um elemento XML foi mal formado. Sem memria. Um valor de atributo no foi terminado adequadamente. Uma marca de incio no correspondeu a uma marca de fim. Foi encontrada uma marca de fim sem uma marca de incio correspondente.
890
XML.toString()
Disponibilidade
Flash Player 5.
Uso meu_xml.toString() Parmetros
Nenhum.
Retorna
Mtodo; avalia o objeto XML especificado, constri uma representao textual da estrutura XML incluindo n, filhos e atributos, e retorna o resultado como uma seqncia de caracteres. No caso de objetos XML de alto nvel (os criados com o construtor), XML.toString() gera a declarao XML do documento (armazenada em XML.xmlDecl), seguida da declarao DOCTYPE do documento (armazenada em XML.docTypeDecl), seguida da representao textual de todos os ns XML no objeto. A declarao XML no ser mostrada se XML.xmlDecl for indefinido. A declarao DOCTYPE no ser mostrada se XML.docTypeDecl for indefinido.
Exemplo
O cdigo a seguir um exemplo de XML.toString() que envia <h1>teste</h1> ao painel Output (Sada).
node = new XML("<h1>teste</h1>"); trace(node.toString()); Consulte tambm XML.docTypeDecl, XML.xmlDecl
XML.toString()
891
XML.xmlDecl
Disponibilidade
Flash Player 5.
Uso meu_xml.xmlDecl Descrio
Propriedade; especifica informaes sobre uma declarao XML do documento. Depois de o documento XML ser analisado em um objeto XML, essa propriedade definida como o texto da declarao XML do documento. Essa propriedade definida usando uma representao de seqncia de caracteres da declarao XML, no de um objeto do n XML. Se nenhuma declarao XML foi encontrada durante a operao de anlise, a propriedade definida como undefined.XML. O mtodo toString() apresenta o contedo de XML.xmlDecl antes de qualquer outro texto no objeto XML. Se XML.xmlDecl contiver o tipo undefined, nenhuma declarao XML ser mostrada.
Exemplo
O exemplo a seguir usa XML.xmlDecl para definir a declarao do documento XML de um objeto XML.
meu_xml.xmlDecl = "<?xml version=\"1.0\" ?>";
892
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()
Consulte tambm
Classe XML
Classe XMLNode
893
Classe XMLSocket
Disponibilidade
Flash Player 5.
Descrio
A classe XMLSocket implementa soquetes do cliente que permitem que o computador que est executando o Flash Player se comunique com um computador servidor identificado por um endereo IP ou nome de domnio. A classe XMLSocket til para aplicativos cliente-servidor que requerem uma latncia baixa, como sistemas de bate-papo em tempo real. Uma soluo de bate-papo baseada em HTTP pesquisa o servidor freqentemente e descarrega novas mensagens usando uma solicitao HTTP. Comparando, uma soluo de bate-papo XMLSocket mantm uma conexo aberta com o servidor, o que permite que o servidor envie mensagens de chegada imediatamente sem uma solicitao do cliente. Para usar a classe XMLSocket, o computador servidor deve executar um daemon que compreenda o protocolo usado pelo objeto XMLSocket. O protocolo o seguinte:
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:
Configurar um servidor para se comunicar com o objeto XMLSocket pode ser difcil. Se o seu aplicativo no exigir interatividade em tempo real, use a ao loadVariables() ou a conectividade do servidor XML baseada em HTTP do Flash (XML.load(), XML.sendAndLoad(), XML.send()) em vez do objeto XMLSocket. Para usar os mtodos da classe XMLSocket, use o construtor new XMLSocket para criar um novo objeto XMLSocket.
894
Descrio Fecha uma conexo de soquete aberta. Estabelece uma conexo com o servidor especificado. Envia um objeto XML para o servidor.
Descrio Um manipulador de eventos que chamado quando uma conexo XMLSocket fechada.
XMLSocket.onConnect() Um manipulador de eventos que chamado pelo Flash Player quando uma solicitao de conexo iniciada por meio de XMLSocket.connect()
Um manipulador de eventos que chamado aps o download de uma mensagem XML do servidor. Um manipulador de eventos que chamado aps a chegada de um objeto XML do servidor.
XMLSocket.onXML()
Flash Player 5.
Uso new XMLSocket() Parmetros
Nenhum.
Retorna
Nada.
Descrio
Construtor; cria um novo objeto XMLSocket. O objeto XMLSocket no conectado inicialmente com qualquer servidor. Chame XMLSocket.connect() para conectar o objeto a um servidor.
Classe XMLSocket
895
XMLSocket.close()
Disponibilidade
Flash Player 5.
Uso meuXMLSocket.close() Parmetros
Nenhum.
Retorna
Nada.
Descrio
XMLSocket.connect()
Disponibilidade
Um nome de domnio DNS totalmente qualificado ou um endereo IP no formato aaa.bbb.ccc.ddd. Voc tambm pode especificar null para se conectar ao servidor host no qual o arquivo SWF reside. Se o arquivo SWF que est emitindo essa chamada estiver sendo executado em um navegador da Web, o url dever estar no mesmo domnio que o arquivo SWF. Para obter mais detalhes, consulte Descrio, a seguir.
porta O nmero da porta TCP no host usado para estabelecer uma conexo. O nmero da porta deve ser 1024 ou superior. Retorna
Um valor booleano.
Descrio
Mtodo; estabelece uma conexo com o host de Internet especificado usando a porta TCP especificada (deve ser 1024 ou superior), e retorna true ou false dependendo do xito da conexo. Se voc no souber o nmero da porta de sua mquina host de Internet, entre em contato com o administrador da rede.
896
Se null for especificado para o parmetro host, o host contactado ser aquele em que reside o arquivo SWF que chama XMLSocket.connect(). Por exemplo, se o download do SWF tiver sido feito a partir de http://www.seu_site.com, especificar null para o parmetro host o mesmo que digitar o endereo IP de www.seu_site.com. Em arquivos SWF executados em uma verso do exibidor anterior ao Flash Player 7, o url dever estar no mesmo domnio superior que o arquivo SWF que est emitindo esta chamada. Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis de um arquivo SWF em store.umDomnio.com, pois os dois arquivos esto no mesmo domnio superior de umDomnio.com. Em arquivos SWF de qualquer verso executados no Flash Player 7 ou verses posteriores, o url dever estar exatamente no mesmo domnio (consulte Recursos de segurana do Flash Player na pgina 201). Por exemplo, um arquivo SWF em www.umDomnio.com pode carregar variveis somente de arquivos SWF que tambm estejam localizados em www.umDomnio.com. Se voc quiser carregar variveis de outro domnio, poder colocar um arquivo de diretivas entre domnios no servidor que est hospedando o arquivo SWF que est sendo acessado (esse arquivos deve ser colocado no servidor HTTP executado na porta 80, no mesmo domnio que o servidor de soquete). Para obter mais informaes, consulte Sobre a autorizao de carga de dados entre domnios na pgina 203. Quando load() executado, a propriedade do objeto XML loaded definida como false. Quando o download dos dados XML concludo, a propriedade loaded definida como true e o mtodo onLoad() chamado. Os dados XML so analisados somente depois de serem totalmente descarregados. Se o objeto XML continha anteriormente rvores XML, elas sero descartadas. Se XMLSocket.connect() retornou um valor true, o palco inicial do processo da conexo obteve xito; mais tarde, o mtodo XMLSocket.onConnect ser chamado para determinar se a conexo final obteve xito ou falhou. Se XMLSocket.connect() retornar false, a conexo no poder ser estabelecida.
Exemplo
O exemplo a seguir usa XMLSocket.connect() para estabelecer conexo com o host em que o arquivo SWF reside, e usa trace para exibir o valor de retorno que indica o xito ou a falha da conexo.
function myOnConnect(sucesso) { if (sucesso) { trace ("Sucesso na conexo!") } else { trace ("Falha na conexo!") } } socket = new XMLSocket() socket.onConnect = myOnConnect if (!socket.connect(null, 2000)) { trace ("Falha na conexo!") } Consulte tambm function, XMLSocket.onConnect()
XMLSocket.connect()
897
XMLSocket.onClose()
Disponibilidade
Flash Player 5.
Uso meuXMLSocket.onClose() = function() { // suas instrues entram aqui } Parmetros
Nenhum.
Retorna
Nada.
Descrio
Manipulador de eventos; chamado somente quando uma conexo aberta fechada pelo servidor. A implementao padro desse mtodo no executa aes. Para substituir a implementao padro, atribua uma funo que contm suas prprias aes.
Consulte tambm function, XMLSocket.onConnect()
XMLSocket.onConnect()
Disponibilidade
Flash Player 5.
Uso meuXMLSocket.onConnect(sucesso) // suas instrues entram aqui } Parmetros sucesso Um valor (true ou false). Retorna
booleano que indica se uma conexo de soquete foi estabelecida com xito
Nada.
Descrio
Manipulador de eventos; chamado pelo Flash Player quando uma solicitao de conexo iniciada por meio de XMLSocket.connect() obtm xito ou falha. Se a conexo obteve xito, o parmetro sucesso true. Caso contrrio, o valor de sucesso false. A implementao padro desse mtodo no executa aes. Para substituir a implementao padro, atribua uma funo que contm suas prprias aes.
898
Exemplo
O exemplo a seguir ilustra o processo de especificao de uma funo de substituio do mtodo onConnect em uma aplicao de bate-papo simples. A funo controla para qual tela os usurios so conduzidos, dependendo do xito da conexo estabelecida. Se a conexo tiver sido estabelecida com xito, os usurios sero conduzidos para a tela de bate-papo principal no quadro chamado startChat. Se a conexo no tiver tido xito, os usurios iro para uma tela com as informaes de soluo de problemas, no quadro rotulado connectionFailed.
function myOnConnect(sucesso) { if (sucesso) { gotoAndPlay("startChat") } else { gotoAndStop("connectionFailed") } }
Depois de criar o objeto XMLSocket usando o mtodo construtor, o script instala no mtodo onConnect usando o operador de atribuio:
socket = new XMLSocket(); socket.onConnect = myOnConnect;
Finalmente, a conexo iniciada. Se connect() retornar false, o arquivo SWF ser enviado diretamente para o quadro denominado connectionFailed, e onConnect nunca ser chamado. Se connect() retornar true, o arquivo SWF saltar para um quadro denominado waitForConnection, que a tela Please wait (Aguarde). O arquivo SWF permanece no quadro waitForConnection at que o manipulador onConnect seja chamado, o que acontece em algum momento no futuro dependendo da latncia da rede.
if (!socket.connect(null, 2000)) { gotoAndStop("connectionFailed") } else { gotoAndStop("waitForConnection") } Consulte tambm function, XMLSocket.connect()
XMLSocket.onConnect()
899
XMLSocket.onData()
Disponibilidade
Flash Player 5.
Uso XMLSocket.onData = function(fonte) { // suas instrues entram aqui } Parmetros fonte Retorna
Nada.
Descrio
Manipulador de eventos; chamado aps o download de uma mensagem do servidor, terminada por um byte zero. possvel substituir XMLSocket.onData para interceptar os dados enviados pelo servidor sem analis-los como XML. Isso til se voc estiver transmitindo pacotes de dados arbitrariamente formatados e preferir manipular os dados diretamente quando chegam, em vez de deixar o Flash Player analis-los como XML. Por padro, o mtodo XMLSocket.onData chama o mtodo XMLSocket.onXML. Se voc substituir XMLSocket.onData por seu prprio comportamento, XMLSocket.onXML no ser mais chamado, a menos que seja na sua implementao de XMLSocket.onData.
XMLSocket.prototype.onData = function (fonte) { this.onXML(new XML(fonte)); }
No exemplo acima, o parmetro fonte uma seqncia de caracteres que contm texto XML cujo download foi feito do servidor. O byte zero de trmino no includo na seqncia de caracteres.
900
XMLSocket.onXML()
Disponibilidade
Flash Player 5.
Uso meuXMLSocket.onXML(objeto) = function() { // suas instrues entram aqui } Parmetro objeto Retorna
Nada.
Descrio
Manipulador de eventos; chamado pelo Flash Player quando o objeto XML especificado que contm um documento XML chega por uma conexo XMLSocket aberta. Uma conexo XMLSocket pode ser usada para transferir um nmero ilimitado de documentos XML entre o cliente e o servidor. Cada documento terminado com um byte 0 (zero). Quando o Flash Player recebe o byte 0, ele analisa todo o XML recebido desde o byte 0 anterior ou desde que a conexo foi estabelecida, caso essa seja a primeira mensagem recebida. Cada lote de XML analisado tratado como um nico documento XML e passado para o mtodo onXML. A implementao padro desse mtodo no executa aes. Para substituir a implementao padro, atribua uma funo que contm aes definidas por voc.
Exemplo
A funo a seguir substitui a implementao padro do mtodo onXML em um aplicativo de bate-papo simples. A funo myOnXML instrui o aplicativo de bate-papo a reconhecer um nico elemento XML, MESSAGE, no seguinte formato:
<MESSAGE USER="Jos" TEXT="Ol, meu nome Jos!" />.
O manipulador onXML deve primeiro ser instalado no objeto XMLSocket da seguinte forma:
socket.onXML = myOnXML;
A funo displayMessage() subentendida como uma funo definida pelo usurio que exibe a mensagem recebida pelo usurio.
function myOnXML(doc) { var e = doc.firstChild; if (e != null && e.nodeName == "MESSAGE") { displayMessage(e.attributes.user, e.attributes.text); } } Consulte tambm function
XMLSocket.onXML()
901
XMLSocket.send()
Disponibilidade
Flash Player 5.
Uso meuXMLSocket.send(objeto) Parmetros objeto Retorna
Nada.
Descrio
Mtodo; converte o objeto XML ou os dados especificados no parmetro objeto em uma seqncia de caracteres e a transmite para o servidor, seguida de um byte zero. Se objeto for um objeto XML, a seqncia de caracteres ser a representao textual XML do objeto XML. A operao de envio assncrona; ela retorna imediatamente, mas os dados podem ser transmitidos posteriormente. O mtodo XMLSocket.send() no retorna nenhum valor que indique se os dados foram transmitidos com xito. Se o objeto meuXMLSocket no for conectado com o servidor (por meio de XMLSocket.connect()), a operao XMLSocket.send() falhar.
Exemplo
O exemplo a seguir ilustra como possvel especificar um nome e uma senha de usurio para enviar o objeto XML meu_xml para o servidor:
var meu_xml = new XML(); var meuLogin = meu_xml.createElement("login"); meuLogin.attributes.username = usernameTextField; meuLogin.attributes.password = passwordTextField; meu_xml.appendChild(meuLogin); meuXMLSocket.send(meu_xml); Consulte tambm XMLSocket.connect()
902
O Macromedia Flash MX 2004 e o Macromedia Flash MX Professional 2004 fornecem relatrios avanados de erros durante a compilao quando voc especifica ActionScript 2.0 (o padro) ao publicar um arquivo. A tabela a seguir contm uma lista das mensagens de erro que podem ser geradas pelo compilador do Flash.
Nmero do erro 1093 1094 1095 1096 1097 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 Texto da mensagem Era esperado um nome de classe. esperado um nome de classe base aps a palavra-chave extends. Um atributo de membro foi usado de modo incorreto. No possvel repetir o nome de membro mais de uma vez. Todas as funes de membros devem ter nomes. Essa instruo no permitida na definio de classe. J foi definida uma classe ou interface com esse nome. Tipos incompatveis. No existe uma classe com o nome <NomeDaClasse>. No existe uma propriedade com o nome <nomeDaPropriedade>. Tentativa de uma chamada de funo em uma no-funo. Tipos incompatveis em uma instruo de atribuio: encontrado [lhs-type] onde [rhs-type] requerido. O membro privado e no pode ser acessado. No so permitidas declaraes de variveis em interfaces. No so permitidas declaraes de eventos em interfaces. No so permitidas declaraes getter/setter (apanhadoras/definidoras) em interfaces. No so permitidos membros privados em interfaces. No so permitidos corpos de funes em interfaces.
903
Nmero do erro 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141
Texto da mensagem Uma classe no pode estender a si mesma. Uma interface no pode estender a si mesma. No h interfaces definidas com esse nome. Uma classe no pode estender uma interface. Uma interface no pode estender uma classe. esperado um nome de interface aps a palavra-chave implements. Uma classe no pode implementar outra classe, somente interfaces. A classe deve implementar o mtodo nomeDoMtodo a partir da interface nomeDaInterface. A implementao de um mtodo de interface deve ser um mtodo e no uma propriedade. Uma classe no pode estender a mesma interface mais de uma vez. A implementao do mtodo de interface no corresponde sua definio. Esta construo s est disponvel no ActionScript 1.0. Esta construo s est disponvel no ActionScript 2.0. No so permitidos membros estticos em interfaces. A expresso retornada deve corresponder ao tipo de retorno da funo. Esta funo requer uma instruo return. Atributo usado fora da classe. Uma funo com tipo de retorno Void no pode retornar um valor. A clusula extends deve vir antes da clusula implements. esperado um identificador de tipo aps :. As interfaces devem usar a palavra-chave extends, e no implements. Uma classe no pode estender mais do que uma classe. Uma interface no pode estender mais do que uma interface. No existe um mtodo com o nome <nomeDoMtodo>. Esta instruo no permitida na definio de uma interface. Uma funo set exige exatamente um parmetro. Uma funo get no exige parmetros. S possvel definir classes em scripts externos de classes do ActionScript 2.0. Os scripts de classes do ActionScript 2.0 s podem definir construes de classes ou de interfaces. O nome desta classe, <A.B.C>, est em conflito com o nome de outra classe que estava carregada, <A.B>.
904
Nmero do erro 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171
Texto da mensagem A classe <NomeDaClasse> no pde ser carregada. As interfaces s podem ser definidas em scripts externos de classes do ActionScript 2.0. No possvel acessar variveis de instncia em funes estticas. No possvel aninhar definies de classes e interfaces. A propriedade em questo no tem o atributo estatic. Esta chamada para super no corresponde ao superconstrutor. Somente o atributo public permitido para mtodos de interface. No possvel usar a palavra-chave como uma diretiva. Voc deve exportar o filme como Flash 7 para usar esta ao. Voc deve exportar o filme como Flash 7 para usar esta expresso. Esta clusula de exceo est colocada de modo incorreto. Uma classe deve ter somente um construtor. Um construtor no pode retornar um valor. Um construtor no pode especificar um tipo de retorno. Uma varivel no pode ser do tipo Void. Um parmetro de funo no pode ser do tipo Void. S possvel acessar membros estticos diretamente atravs de classes. Vrias interfaces implementadas contm o mesmo mtodo com tipos diferentes. J existe uma classe ou interface definida com esse nome. No possvel excluir classes, interfaces e tipos internos. No existem classes com esse nome. A palavra-chave <palavra-chave> reservada para o ActionScript 2.0 e no pode ser usada aqui. A definio do atributo personalizado no foi concluda. S possvel definir uma classe ou interface por arquivo .as do ActionScript 2.0. A classe em compilao, <A.b>, no coincide com a classe que foi importada, <A.B>. Insira o nome da classe. O nome da classe informado contm um erro de sintaxe. O nome da interface informado contm um erro de sintaxe. O nome da classe base informado contm um erro de sintaxe. O nome da interface base informado contm um erro de sintaxe.
905
Nmero do erro 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196
Texto da mensagem Insira o nome da interface. Insira o nome da classe ou da interface. O nome da classe ou interface informado contm um erro de sintaxe. varivel no acessvel a partir desse escopo. Foram encontradas diversas ocorrncias do atributo get/set/private/public/static. Um atributo de classe foi usado de modo incorreto. No possvel usar funes e variveis de instncia para inicializar variveis estticas. Foram descobertas circularidades durante a execuo entre as seguintes classes:%1 O Flash Player identificado no momento no oferece suporte depurao. O Flash Player identificado no momento no oferece suporte ao evento releaseOutside. O Flash Player identificado no momento no oferece suporte ao evento dragOver. O Flash Player identificado no momento no oferece suporte ao evento dragOut. O Flash Player identificado no momento no oferece suporte a aes de arrastar. O Flash Player identificado no momento no oferece suporte ao loadMovie. O Flash Player identificado no momento no oferece suporte ao getURL. O Flash Player designado no momento no oferece suporte ao FSCommand. No so permitidas instrues de importao nas definies de classe ou interface. No possvel importar a classe <A.B> porque o nome da folha j est sendo resolvido para a classe que est sendo definida, <C.B>. No possvel importar a classe <A.B> porque o nome da folha j est sendo resolvido para a classe importada <C.B>. S possvel inicializar as variveis de instncia de uma classe para expresses de constantes durante a compilao. Funes de membros de classes no podem ter o mesmo nome de uma funo construtora de superclasse. O nome desta classe, <NomeDaClasse>, est em conflito com o nome de outra classe que foi carregada. O superconstrutor deve ser chamado primeiro no corpo do construtor. O identificador <nomeDaClasse> no ser resolvido para o objeto interno <NomeDaClasse> durante a execuo. A classe <A.B.NomeDaClasse> precisar ser definida em um arquivo cujo caminho relativo seja <A.B>.
906
Texto da mensagem O caractere curinga * foi usado de modo incorreto no nome da classe <NomeDaClasse>. O uso de maisculas/minsculas diferente na funo de membro <nomedaclasse> em relao ao nome da classe que est sendo definida, <NomeDaClasse>; a funo no ser tratada como o construtor de classe durante a execuo. O nico tipo permitido para um iterador de repetio for-in String. Uma funo definidora no pode retornar um valor. Os nicos atributos permitidos para funes construtoras so public e private.
907
908
Esta tabela lista todos os operadores do ActionScript e sua associatividade, da precedncia mais alta para a mais baixa.
Operador Descrio Precedncia mais alta + ~ ! not ++ -() [] . ++ -new delete typeof void * / % + Mais unrio Menos unrio NOT bit a bit NOT lgico NOT lgico (estilo do Flash 4) Ps-incremento Ps-decremento Chamada de funo Elemento de array Membro da estrutura Pr-incremento Pr-decremento Alocar objeto Desalocar objeto Tipo de objeto Retorna um valor indefinido Multiplicar Dividir Mdulo Somar Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Direita para esquerda Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Associatividade
909
Operador add << >> >>> < <= > >= instanceof lt le gt ge == != eq ne & ^ | && and || or ?: =
Descrio Concatenao de seqncia de caracteres (antes &) Subtrair Deslocamento para esquerda bit a bit Deslocamento para direita bit a bit Deslocamento para direita bit a bit (sem sinal) Menor que Menor ou igual a Maior que Maior ou igual a Instncia de Menor que (verso de seqncia de caracteres) Menor que ou igual a (verso de seqncia de caracteres) Maior que (verso de seqncia de caracteres) Maior que ou igual a (verso de seqncia de caracteres) Igual Diferente Igual (verso de seqncia de caracteres) Diferente (verso de seqncia de caracteres) AND bit a bit XOR bit a bit OR bit a bit AND lgico AND lgico (Flash 4) OR lgico OR lgico (Flash 4) Condicional Atribuio
Associatividade Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Esquerda para direita Direita para esquerda Direita para esquerda Direita para esquerda Esquerda para direita Precedncia mais baixa
*=, /=, %=, +=, -=, &=, Atribuio composta |=, ^=, <<=, >>=, >>>= , Vrgula
910
As tabelas a seguir listam todas as teclas de um teclado padro e os valores de cdigos de teclas ASCII correspondentes usados para identificar as teclas no ActionScript. Para obter mais informaes, consulte a entrada Classe Key no Captulo 12, Dicionrio do ActionScript, na pgina 219.
911
Cdigo da tecla 80 81 82 83 84 85 86 87 88 89 90 48 49 50 51 52 53 54 55 56 57
912
913
Teclas de funo
A tabela a seguir lista as teclas de funo em um teclado padro e os valores de cdigos de teclas ASCII correspondentes usados para identificar as teclas no ActionScript.
Tecla de funo F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 Cdigo da tecla 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
Outras teclas
A tabela a seguir lista as teclas de um teclado padro que no so letras, nmeros, teclas do teclado numrico nem teclas de funo, e os valores de cdigos de teclas ASCII correspondentes usados para identificar as teclas no ActionScript.
Tecla Backspace Tab Clear Enter Shift Control Alt Caps Lock Esc Cdigo da tecla 8 9 12 13 16 17 18 20 27
914
Tecla Barra de espaos Page Up Page Down End Home Seta para Esquerda Seta para Cima Seta para Direita Seta para Baixo Insert Delete Help Num Lock ;: =+ -_ /? `~ [{ \| ]} "'
Cdigo da tecla 32 33 34 35 36 37 38 39 40 45 46 47 144 186 187 189 191 192 219 220 221 222
Outras teclas
915
916
O ActionScript sofreu modificaes considerveis com a verso do Macromedia Flash MX 2004 e do Macromedia Flash MX Professional 2004. Ao criar contedo para o Flash Player 7, voc aproveitar todo o potencial do ActionScript. Voc ainda pode usar o Flash MX 2004 para criar contedo para verses anteriores do Flash Player, mas no poder usar todos os elementos do ActionScript. Este captulo fornece diretrizes para ajud-lo a criar scripts sintaticamente corretos para a verso do Flash Player desejada.
917
O operador de acesso de objetos e arrays ([]) O operador ponto (.) Operadores lgicos, operadores de atribuio e operadores de pr-incremento e
ps-incremento/decremento.
As aes for, while, do while, break e continue As aes print() e printAsBitmap() A ao switch
Para obter informaes adicionais, consulte Sobre a especificao de verses anteriores do Flash Player na pgina 917. Usando o Flash MX 2004 para abrir arquivos do Flash 4 O ActionScript do Flash 4 tinha apenas um tipo de dados verdadeiro: seqncia de caracteres. Ele usava diferentes tipos de operadores em expresses para indicar se o valor devia ser tratado como uma seqncia de caracteres ou um nmero. Nas verses subseqentes do Flash, possvel usar um conjunto de operadores em todos os tipos de dados. Quando voc usa o Flash 5 ou posterior para abrir um arquivo criado no Flash 4, o Flash converte automaticamente as expresses do ActionScript para torn-las compatveis com a nova sintaxe. Voc ver as seguintes converses de operadores e tipos de dados no cdigo do ActionScript:
O operador = no Flash 4 era usado para igualdade numrica. No Flash 5 e verses posteriores,
== o operador de igualdade e = o operador de atribuio. Os operadores = em arquivos do Flash 4 so convertidos automaticamente em ==. O Flash executa automaticamente as converses de tipo para garantir o comportamento esperado dos operadores. Devido introduo de vrios tipos de dados, os seguintes operadores tm novos significados: +, ==, !=, <>, <, >, >=, <=
918
No ActionScript do Flash 4, esses operadores eram sempre operadores numricos. No Flash 5 e verses posteriores, eles se comportam de maneira diferente, dependendo dos tipos de dados dos operandos. Para evitar diferenas semnticas em arquivos importados, a funo Number() inserida delimitando todos os operandos desses operadores. (Nmeros constantes j so bvios, portanto, eles no so includos em Number()). No Flash 4, a seqncia de escape \n gerava um caractere de retorno de carro (ASCII 13). No Flash 5 e verses posteriores, para seguir o padro ECMA-262, \n gera um caractere de alimentao de linha (ASCII 10). Uma seqncia \n nos arquivos FLA do Flash 4 convertida automaticamente em \r. O operador & no Flash 4 era usado para adio de seqncias de caracteres. No Flash 5 e verses posteriores, & o operador AND bit a bit. O operador de adio de seqncias de caracteres chama-se agora add. Todos os operadores & nos arquivos do Flash 4 so automaticamente convertidos em operadores add. Muitas funes no Flash 4 no exigiam parnteses, por exemplo, Get Timer , Set Variable, Stop e Play. Para criar uma sintaxe consistente, a funo getTimer e todas as aes exigem agora fechamento de parnteses. Esses parnteses so adicionados automaticamente durante a converso. No Flash 5 e verses posteriores, quando a funo getProperty executada em um clipe de filme no existente, ela retorna o valor undefined, e no 0. A instruo undefined == 0 false no ActionScript aps o Flash 4 (no Flash 4, undefined == 1). No Flash 5 e verses posteriores, solucione esse problema ao converter arquivos do Flash 4, inserindo funes Number() nas comparaes de igualdade. No exemplo seguinte, Number() fora undefined a ser convertido em 0 para que a comparao tenha xito:
getProperty("clip", _width) == 0 Number(getProperty("clip", _width)) == Number(0)
Observao: Se alguma palavra-chave do Flash 5 ou posterior tiver sido usada como nome de varivel no ActionScript do Flash 4, a sintaxe retornar um erro quando for compilada no Flash MX 2004. Para solucionar esse problema, renomeie as variveis em todos os locais. Consulte Palavras-chave na pgina 36 e Atribuindo nome a uma varivel na pgina 44.
Usando a sintaxe de barra A sintaxe de barra foi usada no Flash 3 e 4 para indicar o caminho de destino de um clipe de filme ou de uma varivel. Nesse tipo de sintaxe, as barras so usadas no lugar dos pontos; alm disso, as variveis devem ser precedidas de dois-pontos:
myMovieClip/childMovieClip:myVariable
Para escrever o mesmo caminho de destino em sintaxe de ponto (consulte Sintaxe de ponto na pgina 33), que suportada pelo Flash Player 5 e verses posteriores, use o seguinte cdigo:
myMovieClip.childMovieClip.myVariable
A sintaxe de barra era mais utilizada com a ao tellTarget, cujo uso tambm no mais recomendado. A ao with agora mais usada do que tellTarget, pois mais compatvel com a sintaxe de ponto. Para obter mais informaes, consulte tellTarget e with no Captulo 12, Dicionrio do ActionScript, na pgina 219.
919
920
As informaes deste apndice foram extradas da documentao do Macromedia Flash MX e explicam como usar o modelo de objetos do ActionScript 1 para criar scripts. Elas foram includas aqui pelos seguintes motivos:
Se voc deseja criar scripts orientados a objeto com suporte para Flash Player 5, use o
ActionScript 1. Se voc j usa o ActionScript 1 para criar scripts orientados a objeto e no est pronto para migrar para o ActionScript 2.0, use este apndice para localizar ou verificar as informaes necessrias durante a criao de scripts do ActionScript 1.
Se voc nunca usou o ActionScript para criar scripts orientados a objeto e no precisa ter como alvo o Flash Player 5, no use as informaes deste apndice, pois a criao de scripts orientados a objeto com o ActionScript 1 est obsoleta. Em vez disso, consulte Captulo 9, Criando classes com o ActionScript 2.0, na pgina 165 para obter informaes sobre como usar o ActionScript 2.0.
Observao: Alguns dos exemplos deste apndice usam o mtodo Object.RegisterClass(). Esse mtodo s suportado no Flash Player 6 e verses posteriores; no use esse mtodo se est utilizando o Flash Player 5.
Sobre o ActionScript 1
ActionScript uma linguagem de programao orientada a objeto. A programao orientada a objeto usa objetos, ou estruturas de dados, para agrupar as propriedades e os mtodos que controlam o comportamento ou a aparncia do objeto. Os objetos permitem organizar e reutilizar o cdigo. Depois de definir um objeto, voc pode fazer referncia a ele pelo nome, sem precisar redefini-lo cada vez que for us-lo. Uma classe uma categoria genrica de objetos. A classe define uma srie de objetos que tm propriedades comuns e podem ser controlados da mesma maneira. As propriedades so atributos que definem um objeto, como tamanho, posio, cor, transparncia etc. As propriedades so definidas para uma classe e os valores das propriedades so definidos para os diferentes objetos da classe. Os mtodos so funes que podem definir ou recuperar as propriedades de um objeto. Por exemplo, voc pode definir um mtodo para calcular o tamanho de um objeto. Assim como as propriedades, os mtodos so definidos para uma classe de objetos e, em seguida, chamados para os diferentes objetos da classe. O ActionScript possui diversas classes internas, incluindo a classe MovieClip e outras. Tambm possvel criar classes para definir categorias de objetos para os aplicativos.
921
Os objetos no ActionScript podem ser meros recipientes de dados ou podem ser representados graficamente no Stage (Palco) como clipes de filmes, botes ou campos de texto. Todos os clipes de filmes so instncias da classe interna MovieClip, e todos os botes so instncias da classe interna Button. Cada instncia de clipe de filme contm todas as propriedades (por exemplo, _height, _rotation, _totalframes) e todos os mtodos (por exemplo, gotoAndPlay(), loadMovie(), startDrag()) da classe MovieClip. Para definir uma classe, crie uma funo especial denominada funo construtora. (Classes internas tm funes construtoras internas.) Por exemplo, se voc quiser informaes sobre um ciclista no aplicativo, poder criar uma funo construtora, Biker(), com as propriedades time e distance e o mtodo getSpeed(), que informa a velocidade do ciclista:
function Biker(t, d) { this.time = t; this.distance = d; this.getSpeed = function() {return this.time / this.distance;}; }
Neste exemplo, criada uma funo que requer duas informaes ou parmetros: t e d. Quando a funo for chamada para criar novas instncias do objeto, passe para ela os parmetros. O cdigo a seguir cria instncias do objeto Biker denominadas emma e hamish.
emma = new Biker(30, 5); hamish = new Biker(40, 5);
Em scripts orientados a objeto, as classes podem receber propriedades e mtodos umas das outras de acordo com uma ordem especfica. Esse processo chamado de herana. A herana pode ser usada para estender ou redefinir as propriedades e os mtodos de uma classe. Uma classe que herda propriedades e mtodos de outra classe chamada de subclasse. Uma classe que passa propriedades e mtodos para outra classe chamada de superclasse. Uma classe pode ser uma subclasse e uma superclasse ao mesmo tempo. Um objeto um tipo de dados complexo que pode conter ou no propriedades e mtodos. Cada propriedade, como uma varivel, possui um nome e um valor. As propriedades so anexadas ao objeto e contm valores que podem ser alterados e recuperados. Esses valores podem ser um dos seguintes tipos de dados: String, Number, Boolean, Object, MovieClip ou indefinido. As propriedades a seguir so de vrios tipos de dados:
customer.name = "Jane Doe"; customer.age = 30; customer.member = true; customer.account.currentRecord = 000609; customer.mcInstanceName._visible = true;
A propriedade de um objeto tambm pode ser um objeto. Na linha 4 do exemplo anterior, account uma propriedade do objeto customer e currentRecord uma propriedade do objeto account. O tipo de dados da propriedade currentRecord Number. Criando um objeto personalizado no ActionScript 1 Para criar um objeto personalizado, defina uma funo construtora. Uma funo construtora recebe sempre o mesmo nome do tipo de objeto que cria. Voc pode usar a palavra-chave this dentro do corpo da funo construtora para fazer referncia ao objeto que a construtora cria; quando uma funo construtora for chamada, o Flash passar this como um parmetro oculto. Por exemplo, a funo construtora a seguir cria um crculo com a propriedade radius:
922
Depois de definir a funo construtora, crie uma instncia do objeto. Use o operador new antes do nome da funo construtora e atribua um nome de varivel nova instncia. Por exemplo, o cdigo a seguir usa o operador new para criar um objeto Circle com um raio de 5 e atribui-lo varivel myCircle:
myCircle = new Circle(5); Observao: Um objeto tem o mesmo escopo da varivel qual ele atribudo.
Atribuindo mtodos a um objeto personalizado no ActionScript 1 possvel definir os mtodos de um objeto dentro da funo construtora do objeto. No entanto, essa tcnica no recomendvel porque ela define o mtodo sempre que a funo construtora usada, como no exemplo a seguir, que cria os mtodos area() e diameter():
function Circle(radius) { this.radius = radius; this.area = Math.PI * radius * radius; this.diameter = function() {return 2 * this.radius;} }
Toda funo construtora tem uma propriedade prototype que criada automaticamente quando a funo definida. A propriedade prototype indica os valores de propriedade padro para objetos criados com essa funo. Cada nova instncia de um objeto tem uma propriedade __proto__ que faz referncia propriedade prototype da funo construtora que a criou. Portanto, se voc atribuir mtodos propriedade prototype de um objeto, eles ficaro disponveis para qualquer instncia recm-criada desse objeto. recomendvel atribuir um mtodo propriedade prototype da funo construtora porque ela existe em um local e serve de referncia para novas instncias do objeto (ou classe). Voc pode usar as propriedades prototype e __proto__ para estender objetos para que o cdigo possa ser reutilizado de uma forma orientada a objeto. Para obter mais informaes, consulte Criando herana no ActionScript 1 na pgina 925. O procedimento a seguir mostra como atribuir um mtodo area() a um objeto Circle personalizado.
Para atribuir um mtodo a um objeto personalizado:
2 Defina o mtodo area() do objeto Circle. O mtodo area() calcular a rea do crculo. Voc
pode usar um literal de funo para definir o mtodo area() e atribuir a propriedade area ao objeto prottipo do crculo, da seguinte forma:
Circle.prototype.area = function () { return Math.PI * this.radius * this.radius; };
Sobre o ActionScript 1
923
O ActionScript procura o mtodo area() no objeto myCircle. Como o objeto no possui um mtodo area(), feita uma pesquisa em seu objeto prottipo Circle.prototype para encontrar area(). O ActionScript o localiza e o chama. Definindo mtodos manipuladores de eventos no ActionScript 1 Voc pode criar uma classe do ActionScript para clipes de filme e definir os mtodos manipuladores de eventos no objeto prottipo dessa nova classe. Definir os mtodos no prottipo objeto faz todas as instncias desse smbolo responderem da mesma forma a esses eventos. Voc tambm pode adicionar uma ao do manipulador de eventos onClipEvent() ou on() a uma instncia individual para fornecer instrues exclusivas que so executadas apenas quando o evento da instncia ocorre. As aes onClipEvent() e on() no substituem o mtodo manipulador de evento. Os dois eventos fazem com que seus scripts sejam executados. No entanto, se definir os mtodos manipuladores de eventos no objeto prottipo e tambm definir um mtodo manipulador de evento para uma instncia especfica, a definio da instncia substituir a definio do prottipo.
Para definir um mtodo manipulador de evento no objeto prottipo de um objeto:
1 Coloque um smbolo de clipe de filme com a ID de vinculao theID na biblioteca. 2 No painel Actions (Aes), em Window (Janela)> Development Panels (Painis de
desenvolvimento) > Actions, use a ao function para definir uma nova classe do seguinte modo:
// define uma classe function myClipClass(){}
Essa nova classe atribuda a todas as instncias de clipe de filme adicionadas ao aplicativo pela Timeline (Linha de tempo) ou pelos mtodos attachMovie() ou duplicateMovieClip(). Para que esses clipes de filme tenham acesso aos mtodos e propriedades do objeto MovieClip interno, faa com que a nova classe herde tudo da classe MovieClip. 3 Insira cdigos do seguinte modo:
// herda da classe MovieClip myClipClass.prototype = new MovieClip();
5 Selecione Window > Library (Biblioteca) para abrir o painel Library se ele ainda no estiver
aberto. 6 Selecione os smbolos que deseja associar nova classe e escolha Linkage (Vinculao) no menu pop-up no canto superior do painel Library. 7 Na caixa de dilogo Linkage Properties (Propriedades de vinculao), selecione Export for ActionScript (Exportar para ActionScript).
924
O identificador deve ser o mesmo para todos os smbolos que deseja associar nova classe. No exemplo do myClipClass, o identificador theID. 9 Insira cdigos como estes no painel de scripts:
// registra classe Object.registerClass("theID", myClipClass); _root.attachMovie("theID","myName",1);
Eles registram o smbolo cujo identificador de vinculao theID com a classe myClipClass. Todas as instncias de myClipClass possuem mtodos manipuladores de eventos que se comportam da forma como foram definidos na etapa 4. Eles tambm se comportam como todas as instncias da classe MovieClip, j que a nova classe foi definida para herdar tudo da classe MovieClip na etapa 3.
function myClipClass(){} myClipClass.prototype = new MovieClip(); myClipClass.prototype.onLoad = function(){ trace("movie clip loaded"); } myClipClass.prototype.onPress = function(){ trace("pressed"); } myClipClass.prototype.onEnterFrame = function(){ trace("movie clip entered frame"); } myClipClass.prototype.myfunction = function(){ trace("myfunction called"); } Object.registerClass("myclipID",myClipClass); _root.attachMovie("myclipID","ablue2",3);
Criando herana no ActionScript 1 Herana uma forma de organizar, estender e reutilizar a funcionalidade. Subclasses herdam mtodos e propriedades de superclasses e adicionam seus prprios mtodos e propriedades especializados. Tomando como exemplo o mundo real, Bike seria uma superclasse e MountainBike e Tricycle seriam subclasses da superclasse. Ambas as subclasses contm, ou herdam, os mtodos e propriedades da superclasse (por exemplo, wheels). Cada subclasse tambm tem seus prprios mtodos e propriedades que estendem a superclasse (por exemplo, a subclasse MountainBike teria uma propriedade gears). Voc pode usar os elementos prototype e __proto__ para criar herana no ActionScript. Todas as funes construtoras tm uma propriedade prototype que criada automaticamente quando a funo definida. A propriedade prototype indica os valores de propriedade padro para objetos criados com essa funo. Voc pode usar a propriedade prototype para atribuir propriedades e mtodos a uma classe. Para obter mais informaes, consulte Atribuindo mtodos a um objeto personalizado no ActionScript 1 na pgina 923.
Sobre o ActionScript 1
925
Todas as instncias de uma classe possuem uma propriedade __proto__ que informa de que objeto recebem herana. Quando uma funo construtora usada para criar um objeto, a propriedade __proto__ definida para fazer referncia propriedade prototype de sua funo construtora. A herana prossegue de acordo com uma hierarquia limitada. Quando voc chama o mtodo ou a propriedade de um objeto, o ActionScript verifica se esse elemento existe no objeto. Se ele no existir, o ActionScript procurar na propriedade __proto__ pela informao (myObject.__proto__). Se a propriedade no for uma propriedade do objeto__proto__ do objeto, o ActionScript examinar myObject.__proto__.__proto__ e assim por diante. O exemplo a seguir define a funo construtora Bike():
function Bike (length, color) { this.length = length; this.color = color; }
Em vez de adicionar roll() classe MountainBike e classe Tricycle, crie a classe MountainBike com Bike como superclasse:
MountainBike.prototype = new Bike();
Os clipes de filme no herdam uns dos outros. Para criar herana com clipes de filme, use Object.registerClass() para atribuir a clipes de filme uma classe diferente de MovieClip. Consulte Object.registerClass() no Captulo 12, Dicionrio do ActionScript, na pgina 219.
#endinitclip
Para obter mais informaes sobre herana, consulte as entradas Object.__proto__, #initclip, e super no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Adicionando propriedades getter/setter a objetos no ActionScript 1 possvel criar propriedades getter/setter (apanhadoras/definidoras) para um objeto usando o mtodo Object.addProperty(). Uma funo getter no possui nenhum parmetro. Seu valor de retorno pode ser de qualquer tipo. Seu tipo pode ser alterado entre as chamadas. O valor de retorno tratado como o valor atual da propriedade. Uma funo definidora utiliza um parmetro, que o novo valor da propriedade. Por exemplo, se a propriedade x for atribuda pela instruo x = 1, a funo definidora receber o parmetro 1 do tipo Number. O valor de retorno da funo definidora ignorado. Quando o Flash l uma propriedade getter/setter, chama a funo getter e o valor de retorno da funo torna-se um valor de prop. Quando o Flash grava uma propriedade getter/setter, ele chama a funo setter e passa a ela o novo valor como um parmetro. Se j houver uma propriedade com o mesmo nome, a nova propriedade a substituir.
926
possvel adicionar propriedades getter/setter aos objetos prottipo. Se voc adicionar uma propriedade getter/setter a um objeto prottipo, todas as instncias de objeto que herdam o objeto prottipo tambm herdaro essa propriedade. Isso torna possvel adicionar uma propriedade getter/setter em um nico local, o objeto prottipo, e fazer com que ela seja propagada para todas as instncias de uma classe (muito semelhante adio de mtodos a objetos prottipo). Se uma funo getter/setter for chamada para uma propriedade getter/setter em um objeto prottipo herdado, a referncia passada a essa funo ser o objeto referenciado originalmente e no o objeto prottipo. Para obter mais informaes, consulte Object.addProperty() no Captulo 12, Dicionrio do ActionScript, na pgina 219. O comando Debug (Depurar) > List Variables (Listar variveis) em modo de teste suporta as propriedades getter/setter adicionadas aos objetos usando Object.addProperty(). As propriedades adicionadas a um objeto desse modo so exibidas juntamente com outras propriedades do objeto no painel Output (Sada). As propriedades getter/setter so identificadas no painel Output com o prefixo [getter/setter]. Para obter mais informaes sobre o comando List Variables, consulte Usando o painel Output na pgina 82. Usando as propriedades do objeto Function no ActionScript 1 Voc pode especificar o objeto ao qual a funo aplicada e os valores dos parmetros passados para a funo usando os mtodos call() e apply() do objeto Function. Toda funo em ActionScript representada por um objeto Function para que todas as funes ofeream suporte a call() e apply(). Quando voc cria uma classe personalizada usando uma funo construtora ou quando define mtodos para uma classe personalizada usando uma funo, pode chamar call() e apply() para a funo. Chamando uma funo usando o mtodo Function.call() no ActionScript 1 O mtodo Function.call() chama a funo representada por um objeto Function. Em quase todos os casos, o operador de chamada de funo (()) pode ser usado no lugar do mtodo call(). O operador de chamada de funo cria um cdigo conciso e de fcil leitura. O mtodo call() til principalmente quando o parmetro this da chamada de funo precisa ser explicitamente controlado. Normalmente, se uma funo chamada como um mtodo de um objeto, no corpo da funo, this definido como myObject conforme o exemplo a seguir:
myObject.myMethod(1, 2, 3);
Em algumas situaes, pode ser prefervel que this aponte para algum outro lugar; por exemplo, se for necessrio chamar uma funo como um mtodo de um objeto, mas ela no estiver realmente armazenada como um mtodo desse objeto.
myObject.myMethod.call(myOtherObject, 1, 2, 3);
Voc pode passar o valor null para o parmetro thisObject para invocar uma funo como uma funo regular e no como um mtodo de um objeto. Por exemplo, as seguintes invocaes de funo so equivalentes:
Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4)
Para obter mais informaes, consulte Function.call() no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Sobre o ActionScript 1
927
O mtodo requer os seguintes parmetros: O parmetro thisObject especifica o valor de this no corpo da funo. Os parmetros parameter1..., parameterN especificam os parmetros a serem passados para myFunction. Voc pode especificar zero ou mais parmetros. Especificando o objeto ao qual uma funo aplicada usando Function.apply() no ActionScript 1 O mtodo Function.apply() especifica o valor de this para ser usado em qualquer funo chamada pelo ActionScript. Esse mtodo tambm especifica os parmetros a serem passados a qualquer funo chamada. Os parmetros so especificados como um objeto Array. Em geral, isso til quando o nmero de parmetros a serem passados s conhecido quando o script realmente executado. Para obter mais informaes, consulte Function.apply() no Captulo 12, Dicionrio do ActionScript, na pgina 219.
Para especificar o objeto ao qual uma funo aplicada usando Function.apply():
O mtodo requer os seguintes parmetros: O parmetro thisObject especifica o objeto ao qual myFunction aplicada. O parmetro argumentsObject define qualquer array cujos elementos so passados para myFunction como parmetros.
928
NDICE REMISSIVO
A acessando propriedades de objetos 53 aes definidas 29 repetindo 60 aes assncronas 190 Actions (Aes), caixa de ferramentas 62 itens em amarelo na 65 Actions (Aes), painel 62 ActionScript atribuio estrita de tipos de dados no suportada no ActionScript 1 42 atribuindo a classe ActionScript 2.0 a clipes de filme 141 mensagens de erro do compilador do ActionScript 2.0 903 viso geral do ActionScript 2.0 25, 165 adicionando observaes a scripts 35 agrupando instrues 34 anexando sons 109 animao, smbolos e 39 aplicativos da Web, conexo contnua 197 argumentos. Consulte parmetros arquitetura baseada em componentes, definida 129 arquivo SWD definido 75 arquivos de classe externa criando 168 usando os caminhos de classe para localizar 179 arquivos de classes, criando 168 arquivos de diretivas 204 devem receber o nome crossdomain.xml 204 Consulte tambm segurana arquivos remotos, comunicando com 189 arquivos SWF carregados identificando 54 removendo 131 arrastando clipes de filme 134
arrays e matrizes 53 ASCII, valores 103 outras teclas 914 teclas de funo 914 teclas do teclado 911 teclas do teclado numrico 913 aspas, incluindo em seqncias de caracteres 38 associatividade de operadores 909 atalhos de teclado para scripts presos 64 atribuio estrita de tipos de dados 41 e variveis globais 41 e variveis locais 46 no suportada no ActionScript 1 42 atribuindo nome a variveis 44, 66 atribuindo um tipo de dados a variveis 40 atributo privado para membros de classe 174 atributo pblico para membros de classe 174 B balano (som), controlando 111 C caixa de mensagem, exibindo 200 caminhos da classe em nvel de documento 179 caminhos de classe definidos 179 global e em nvel de documento 179 modificando 180 pesquisar ordem de 180 caminhos de classe globais 179 caminhos de destino definidos 31 especificando 54 inserindo 54 campos de texto 143 aplicando Cascading Style Sheets 151
929
Consulte tambm TextField, classe 144 criando e removendo durante a execuo 145 determinando o tamanho necessrio 147 e texto HTML 152 evitando conflitos de nome de varivel 145 exibindo propriedades para depurao 84 fazendo o texto fluir em torno de imagens incorporadas 156, 158 formatao 146 formatando com Cascading Style Sheets 147 nomes de instncias e de variveis comparados 144 propriedades padro 147 Consulte tambm TextField, classe; TextField.StyleSheet, classe; TextFormat, classe capturando pressionamentos de teclas 103 caracteres especiais 38 Cascading Style Sheets aplicando a campos de texto 151 aplicando classes de estilo 151 atribuindo estilos a marcas HTML internas 152 carregando 149 combinando estilos 151 definindo estilos no ActionScript 150 e a classe TextField.StyleSheet 149 exemplo de uso com marcas HTML 153 exemplo de uso com marcas XML 155 formatando texto 147 propriedades suportadas 148 usando para definir novas marcas 154 chamando mtodos 39 chaves 34 verificando pares correspondentes 72 classe XML, mtodos da 194 classes atribuindo a clipes de filme 141 atribuindo nome 171 atributos de membro pblico e privado 174 caminhos de classe 179 criando arquivos de classe externos 168 criando e usando 171 criando propriedades e mtodos 171 criando subclasses 173 definidas 29, 121 definidas apenas em arquivos externos 168, 171 dinmicas 184 e programao orientada a objeto 166 especificando quadro de exportao 185 estendendo 173 estendendo durante a execuo 184
exemplo de criao 167 get/set, mtodos 183 importando 182 inicializando propriedades durante a execuo 142 inicializando propriedades inline 172 interfaces 177179 membros de instncia e membros de classe 175 organizando em pacotes 181 resolvendo referncias de classe 180 sobre compilao e exportao 185 sobrecarga no suportada 174 Consulte tambm classes internas classes dinmicas 184 classes internas 121128 estendendo 173 clipes de filme adicionando parmetros 136 ajustando cor 107 alterando propriedades durante a reproduo 133 alterando propriedades no Debugger 78 anexando a smbolo no Stage (Palco) 135 anexando manipuladores on() e onClipEvent() 93 aninhados definidos 129 arrastando 134 ativando com teclado 105 atribuindo estados de boto a 93 atribuindo um nome de instncia 54 carregando arquivos MP3 em 209 carregando arquivos SWF e JPEG em 208 chamando mtodos 130 chamando vrios mtodos 130 compartilhando 135 controlando 129 criando durante a execuo 134 criando instncia vazia 134 criando subclasses 141 detectando colises 112 determinando profundidade de 138 determinando prxima profundidade disponvel 138 duplicando 135 e instruo with 130 e propriedade _root 131 excluindo 135 filho, definidos 129 funes 130 gerenciando profundidade 137 incorporando em campos de texto 161 inicializando propriedades durante a execuo 142 iniciando e parando 98
930
ndice remissivo
listando objetos 82 listando variveis 83 mtodos 130 mtodos e funes comparadas 129 mtodos, usando para desenhar formas 139 nome de instncia definida 129 pai, definidos 129 propriedades 133 propriedades, inicializando durante a execuo 142 removendo 135 repetio em filhos 61 tipo de dados 39 usando como mscaras 140 Consulte tambm SWF, arquivos clipes de filme aninhados definidos 129 clipes de filme-filho definidos 129 clipes de filme-pai definidos 129 codificando texto 28 cdigo exibindo nmeros de linha 73 formatando 72, 73 percorrendo as linhas 80 quebra automtica de linha 73 selecionando uma linha 80 cdigos de teclas ASCII obtendo 103 outras teclas 914 teclado numrico 913 teclas alfabticas e numricas 911 teclas de funo 914 colchetes. Consulte operadores de acesso de array colises, detectando 112 entre clipes de filme 113 entre um clipe de filme e um ponto no Stage (Palco) 113 combinando operaes 52 comentrios 35 comunicando com o Flash Player 198 concatenando seqncias de caracteres 37 condies, verificando 60 conexes de soquete script de exemplo 198 sobre 197 conflitos de nome 45 constantes 29, 36 construtoras viso geral 174 construtores definidos 29 contadores, repetindo ao com 60, 61
controles ActiveX 201 controles do teclado e Test Movie 73 para ativar clipes de filmes 105 convenes de atribuio de nome para classes 171 para pacotes 181 convenes tipogrficas 10 convertendo tipos de dados 37, 42 cores na caixa de ferramentas Actions (Aes) 65 no painel Script 65 valores, definindo 107 criando objetos 122 CSS. Consulte Cascading Style Sheets cursores, criando personalizados 100 D dados carregados, verificando 190 dados externos 189 acesso entre SWFs de domnios diferentes 202 e mensagens 198 e objeto LoadVars 192 e objeto XMLSocket 197 e scripts de servidor 191 e XML 193 enviando e carregando 189 recursos de segurana 201 verificando o carregamento 190 Debug Player 73 Debugger botes no 81 definindo pontos de interrupo 79 Flash Debug Player 73 guia Properties 78 lista de observao 78 selecionando no menu de contexto 76 usando 73 variveis 77 Default Encoding 28 depurao remota 74 depurando 73 com instruo trace 84 de um local remoto 74 Debug Player 73 listando objetos 82 listando variveis 83 manipulao de excees 15 mensagens de erro do compilador 903
ndice remissivo
931
propriedades de campo de texto 84 usando o painel Output 82 desenhando formas 139 linhas e preenchimentos 114 detectando colises 112 dicas de ferramenta. Consulte referncias de cdigo DOM (Document Object Model, Modelo de objetos de documentos) XML 193 duplicando clipes de filme 135 E ECMA-262 conformidade 18 especificao 27 editor do ActionScript 62, 65 endereos IP e arquivos de diretivas 204 e segurana 201 enviando informaes em formato XML 190 formato de cdigo URL 190 para arquivos remotos 189 via TCP/IP 190 equilbrio da pontuao, verificando 72 erros conflito de nome 45 lista de mensagens de erro 903 sintaxe 65 Escape, teclas de atalho de 70 evento do sistema definido 89 evento do usurio definido 89 eventos definidos 29, 89 exportando scripts e codificao de idioma 28 expresses atribuindo diversas variveis 52 comparando valores 49 definidas 30 manipulando valores em 48 Extensible Markup Language. Consulte XML F fazendo referncia a variveis 45 Flash Player comunicando com 198 dimensionando arquivo SWF para 199 esmaecendo menu de contexto 199 exibio normal de menu 199 exibindo em tela cheia 199
exibindo menu de contexto 199 mtodos 201 obtendo a verso mais recente 85 verso de depurao 74 Flash Player 7 e conformidade com ECMA-262 18 elementos de linguagem novos e alterados 15 novo modelo de segurana 17, 20, 21, 23 portando scripts existentes 17, 205 FLV (vdeo externo), arquivos 211 pr-carregando 214 folhas de estilos. Consulte Cascading Style Sheets fontes de dispositivo, mscara 140 formatando cdigo 72, 73 formato de cdigo URL, enviando informaes 190 formato MIME, padro 192 fscommand(), funo comandos e argumentos 199 comunicando com o Director 200 usando 199 funes 30 assncronas 190 chamando 57 construtor 922 converso 37 definindo 55 e mtodos 30 exemplo 31 internas 54 para controlar clipes de filme 130 passando parmetros para 56 personalizadas 55 retornando valores 56 variveis locais em 56 funes construtoras, exemplo 922 funes de converso 37 funes internas 54 funes personalizadas 55 G getAscii(), mtodo 103 getURL(), mtodo 99 H herana 166 e subclasses 173 permitida apenas de uma classe 173 herana mltipla no permitida 173 hitTest(), mtodo 112
932
ndice remissivo
HTML atribuindo estilos a marcas internas 152 exemplo de uso com estilos 153 marcas entre aspas 156 marcas suportadas 157 usando a marca <img> para fazer o texto fluir 156, 158, 161 usando Cascading Style Sheets para definir marcas 154 usando em campos de texto 156 HTTP, protocolo 190 comunicando com scripts de servidor 191 HTTPS, protocolo 190 I cones acima do painel Script 63 no Debugger 81 identificador de vinculao 135, 141 identificadores definidos 30 idiomas, usando vrios em scripts 28 imagens carregando em clipes de filme 133 Consulte tambm mdia externa incorporando em campos de texto 161 importando classes 182 scripts e codificao de idioma 28 importando classes 182 indo para um URL 99 informaes, transferindo entre arquivos SWF 190 inicializando propriedades de clipe de filme 142 instanciando objetos 122 instncias definidas 30, 121 exemplo de criao 170 instrues agrupando 34 instrues trace 84 terminando 34 interatividade em arquivos SWF criando 97 tcnicas para 100 interfaces 167 criando e usando 177179 interrompendo (percorrendo) cdigo 80 interrompendo clipes de filme 98
J JavaScript documentao do Netscape Navigator 27 e ActionScript 27 e Netscape 201 enviando mensagens para 199 instruo alert 84 padro internacional 27 JPEG, arquivos carregando em clipes de filme 133, 208 incorporando em campos de texto 161 pr-carregando 213 L Linkage Properties (Propriedades de vinculao), caixa de dilogo 135, 141 List Objects (Listar Objetos), comando 82 List Variables (Listar Variveis), comando 83 loadMovie(), funo 190 loadVariables(), funo 190 LoadVars, objeto 192 loops for e membros de instncia 175 M Macromedia Director, comunicando-se com 200 manipulao de excees 15 manipuladores de eventos anexando a botes ou clipes de filme 92 atribuindo funes a 90 definidos 30, 89 definidos por classes do ActionScript 90 e manipuladores on() e onClipEvent() 92 escopo 94 verificando dados XML 191 manipulando nmeros 38 marcas de ID3 210 mscaras 140 e fontes de dispositivo 140 traos ignorados 139, 140 matrizes 53 membros de classe 122 criados uma vez por classe 175 criando 175 e subclasses 177 exemplo de uso 176 membros de instncia 175 membros estticos. Consulte membros de classe menu pop-up View Options 71
ndice remissivo
933
mtodos assncronos 190 de objetos, chamando 122 declarando 171 definidos 30 para controlar clipes de filme 130 mtodos get/set de classes 183 mtodos manipuladores de eventos 89 mdia externa 207215 carregando arquivos MP3 209 carregando arquivos SWF e JPEG 208 motivos para usar 207 pr-carregando 212, 213, 214 reproduzindo arquivos FLV 211 viso geral de carregamento 207 modelo de evento para manipuladores on() e onClipEvent() 92 para mtodos manipuladores de eventos 89 para ouvintes de eventos 91 mouse, ponteiro do. Consulte cursores moviename_DoFSCommand, funo 199 MP3, arquivos carregando em clipes de filme 209 e marcas de ID3 210 pr-carregando 214 N navegao controlando 97 indo para quadro ou cena 98 Navegador Script 63 Netscape DevEdge Online 27 Netscape, mtodos JavaScript suportados 201 nveis 54 carregando 131 n-filho 193 nomes de domnio e segurana 201 nomes de instncias atribuindo 54 comparados com nomes de variveis 144 definidas 30, 129 definindo dinamicamente 53 ns 193 null, tipo de dados 39 nmeros convertendo em inteiros de 32 bits 51 manipulando 38 nmeros de linha em cdigo, exibindo 73
O objeto transmissor 91 objeto XMLSocket mtodos 197 verificando dados 191 objetos acessando propriedades 122 chamando mtodos 122 criando 122 definidos 31 e programao orientada a objeto 166 repetio em filhos de 61 tipo de dados 39 objetos ouvintes 91 cancelando o registro 92 obtendo a posio do ponteiro do mouse 101 obtendo informaes de arquivos remotos 189 on() e onClipEvent(), manipuladores 92 anexando a clipes de filme 93 escopo 94 onClipEvent(), manipuladores 116 operadores 31 associatividade 48, 909 bit a bit 51 combinando com valores 48 comparao 49 de acesso de array 53 de atribuio 52 de igualdade 51 de seqncia de caracteres 50 lgicos 50 numricos 49 ponto 53 precedncia 909 operadores bit a bit 51 operadores de acesso de array 53 verificando pares correspondentes 72 operadores de atribuio compostos 52 diferentes de operadores de igualdade 51 sobre 52 operadores de comparao 49 operadores de igualdade 51 diferentes de operadores de atribuio 51 estrita 51 operadores de igualdade estrita 51 operadores de seqncia de caracteres 50 operadores lgicos 50 operadores numricos 49 operadores ponto 53
934
ndice remissivo
operadores, associatividade de 48 Options (Opes), menu pop-up no Debugger 75 no painel Actions (Aes) 64, 65 no painel Output (Sada) 82 ordem de execuo associatividade de operadores 48 precedncia de operadores 48 scripts 59 origens externas, conectando o Flash com 189 Output (Sada), painel 82 e instruo trace 84 List Objects (Listar Objetos), comando 82 List Variables (Listar Variveis), comando 83 opes 82 ouvintes de eventos 91 definidos por classes do ActionScript 92 escopo 94 P pacotes 181 atribuindo nome 181 palavras reservadas. Consulte palavras-chave palavras-chave 30 listadas 36 parmetros definidos 31 entre parnteses 35 passando para funes 56 parnteses 35 verificando pares correspondentes 72 passando valores por contedo 47 por referncia 47 percorrendo as linhas de cdigo 80 ponteiro. Consulte cursores ponto de registro e imagens carregadas 133 ponto-e-vrgula 34 pontos de interrupo definindo no Debugger 79 e arquivos externos 79 sobre 79 posio do mouse, obtendo 101 precedncia de operadores 909 prendendo scripts no lugar 64 pressionamentos de teclas, capturando 103 profundidade definidas 137 determinando instncia em 138 determinando para clipes de filme 138
determinando prxima disponvel 138 gerenciando 137 programao orientada a objeto 166 Consulte tambm classes projetores, executando aplicativos em 199 Properties, guia do Debugger 78 propriedades acessando 53 constantes 36 de clipes de filme 133 de objetos, acessando 122 declarando 171 definidas 31 inicializando durante a execuo 142 propriedades de objetos acessando 53 atribuindo valores a 122 Q quebra automtica de linha em cdigo, ativando 73 R propriedade _root e clipes de filme carregados 131 realando sintaxe 65 recuo no cdigo, ativando 73 recursos adicionais 10 referncias de cdigo 66 ativando 66, 68 especificando configuraes para 68 exibindo manualmente 70 no exibidas 69 usando 68 removendo arquivos SWF carregados 131 clipes de filme 135 repetio 60, 61 aes 61 repetindo aes 60 reproduzindo clipes de filme 98 requisitos de sistema 9 rolagem, texto de 163 S script de exemplo 115 Script, janela (somente Flash Professional) 62 Script, painel botes acima 63 sobre 62 trabalhando com scripts no 64
ndice remissivo
935
scripts atalhos de teclado para scripts presos 64 comentando 35 controlando a execuo 59 controlando o fluxo 59 corrigindo problemas de exibio de texto 28 declarando variveis 46 depurando 73 exemplo 115 importando e exportando 28 portando para o Flash Player 7 17, 205 prendendo no lugar 64 sobre escrita e depurao 59 testando 73 scripts do servidor formato XML 194 linguagens 189 segurana 201205 acesso a dados entre domnios 202, 203 e arquivos de diretivas 204 e portando scripts para o Flash Player 7 20, 21, 23 senhas e depurao remota 74 seqncias de caracteres 37 seqncias de escape 38 servidores, abrindo conexo contnua 197 setRGB, mtodo 107 sinal para agrupamento de instrues. Consulte chaves sintaxe chaves 34 de barra 33 de ponto 33 distino entre maisculas e minsculas 32 parnteses 35 ponto-e-vrgula 34 realando 65 regras 32 verificando 71 sintaxe de barra 33 no suportada no ActionScript 2.0 33 sintaxe de ponto 33 sites remotos, conexo contnua 197 solucionando problemas. Consulte depurando sons anexando Timeline (Linha de tempo) 109 Consulte tambm mdia externa controlando 108 controle de balano 111 Stage (Palco), anexando smbolos a clipes de filme 135 strings. Consulte seqncias de caracteres
subclasses criando 173 criando para clipes de filme 141 e membros de classe 177 sufixos 66 SWF, arquivos carregando e descarregando 131 carregando em clipes de filme 208 controlando no Flash Player 201 criando controles de som 108 escalando para o Flash Player 199 incorporando em campos de texto 161 indo para quadro ou cena 98 inserindo em pgina da Web 99 mantendo o tamanho original 199 pr-carregando 213 transferindo informaes entre 190 Consulte tambm clipes de filme T TCP/IP, conexo com objeto XMLSocket 198 enviando informaes 190 tecla Tab e Test Movie 73 teclado numrico, valores de cdigos de teclas ASCII 913 teclado, valores de cdigos de teclas ASCII 911 teclas de funo, valores de cdigos de teclas ASCII 914 tempo de compilao, definido 10 tempo de execuo, definido 10 terminando instrues 34 terminologia 29 Test Movie e controles do teclado 73 e Unicode 73 testando. Consulte depurando TextField.StyleSheet, classe 144, 147 TextField, classe 144 criando texto de rolagem 163 TextField.StyleSheet, classe criando estilos de texto 150 e cascading style sheets 149 e propriedade TextField.styleSheet 147, 151 TextFormat, classe 144, 146 texto atribuindo a campo de texto durante a execuo 144 codificando 28 de rolagem 163
936
ndice remissivo
determinando o tamanho necessrio do objeto TextField 147 obtendo informaes mtricas 147 usando a marca <img> para fazer o texto fluir em torno das imagens 158 Consulte tambm campos de texto this, palavra-chave 116 tipos de dados 37 atribuio de tipo estrita 41 atribuindo a elementos 40 atribuindo automaticamente 40 Boolean 38 convertendo 37, 42 de referncia 37 declarando 41 definidos 29 determinando 40 MovieClip 39 Null 39 Number 38 Object 39 primitivos 37 String 37 undefined 39 transferindo variveis entre filme e servidor 192 U undefined, tipo de dados 39 Unicode e o comando Test Movie 28, 73 suporte 28 UTF-8 (Unicode) 28 V valores booleanos 38 comparando 50 definidos 29 valores, manipulando em expresses 48 Variables (Variveis), guia do Debugger 77 variveis atribuindo diversas 52 atribuindo nome 66 atribuindo nome a regras 44 atribuindo um escopo 45 convertendo em XML 194 definidas 31 definindo dinamicamente 53 determinando o tipo de dados 40
e guia Debugger Variables (Variveis do depurador) 77 e lista de observao do Debugger 78 enviando para URL 99 evitando conflitos de nome 145 fazendo referncia a um valor 47 modificando no Debugger 77 passando contedo 47 sobre 44 sufixos 66 testando 44 transferindo entre filme e servidor 192 usando em scripts 46 verificando e definindo valores 44 variveis de Timeline 46 variveis globais 46 e atribuio estrita de tipos de dados 41 variveis locais 45 e atribuio estrita de tipos de dados 46 em funes 56 exemplo 45 vrios idiomas, usando em scripts 28 verificando dados carregados 190 sintaxe e pontuao 71 vdeo, alternativa para importao 211 View Options (Opes de exibio), menu pop-up 73 vinculando clipes de filme 135 volume, criando controle deslizante 110 W Watch (Observao), guia do Debugger 78 X XML 193 converso de variveis de exemplo 194 DOM 193 em scripts do servidor 194 enviando informaes com mtodos XML 190 enviando informaes via soquete TCP/IP 190 exemplo de uso com estilos 155 hierarquia 193 XMLSocket, objeto usando 197
ndice remissivo
937
938
ndice remissivo