Você está na página 1de 28

ActionScript tutorial ActionScript a linguagem de script do Macromedia Flash.

. Uma linguagem de programao uma forma de comunicar com um programa, voc pode us-lo para informar ao Flash o que fazer e pedir Flash que est acontecendo como um filme. Esta comunicao de duas vias permite criar filmes interativos. Neste tutorial, voc vai analisar as tarefas envolvidas na criao de um quebra-cabea interativo. Para completar o tutorial do ActionScript, voc vai tirar proveito do Flash 5 oferece alm do que voc aprendeu nas aulas e usando Flash tutorial, e voc vai aprender mais sobre como criar um filme interativo. O tutorial foi desenvolvido para usurios do Flash ActionScript que so iniciantes, mas que querem trabalhar no sentido de ampliar suas habilidades. Voc j deve estar familiarizado com as aes bsicas e saber a atribu-las no painel Aes. Para tirar o mximo proveito deste tutorial, voc primeiro deve completar o tutorial no manual do Flash usando. Voc tambm deve estar vontade com os conceitos apresentados no captulo "Criando filmes interativos" no manual do Flash usando. Para completar o Uso do Flash tutorial, no Flash, escolha Ajuda> Usando o Flash e selecione o Tutorial. Antes de comear, voc vai precisar baixar qualquer um dos seguintes arquivos: Faa o download do Windows arquivo de origem actionscript_tutorial.zip (1.7MB) Baixe o arquivo de origem Macintosh actionscript_tutorial.sea.hqx (2.4MB) O tutorial leva cerca de uma hora para ser concluda, dependendo de sua experincia, e centra-se nas seguintes funes: Ver o filme completo Antes de comear a trabalhar em seu prprio filme, exiba uma verso completa deste tutorial para ter uma idia do que voc vai criar. Alm disso, o tutorial concludo permite examinar a Linha de Movie Explorer, o Palco eo painel Aes para compreender as prticas de criao. 1 Na pasta Tutorial ActionScript que voc baixou, abra a pasta Finished. 2 D um duplo clique puzzle.swf para abri-lo no stand-alone do Flash Player.

3 Clique no boto OK. Observe que as peas do puzzle scramble quando voc clica no boto OK. 4 Clique em um dos / Esconder botes Show. Observe como os diferentes padres e nmeros de peas so exibidas para gui-lo para completar o puzzle. 5 Clique em uma pea de quebra-cabea e arraste para a rea de soluo. Repare que a pea se encaixar no lugar. 6 Shift-clique em uma pea do puzzle. Observe que o nmero da pea aparece no crculo sob a rea de soluo. Voc pode combinar o nmero da pea para a sua localizao no guia nmero da pea, se voc ficar preso. 7 Quando voc terminar de exibir o arquivo SWF, voc pode fechar a janela ou deixla aberta para servir como referncia.

Analisar o arquivo puzzle.fla til analisar o arquivo FLA concludo para determinar como o autor o elaborou e onde os elementos do ActionScript so localizados. Para adicionar um elemento do

ActionScript para um filme, voc deve atribu-la a um boto, um quadro ou um clipe de filme. Os scripts de quadro so indicados por um minsculo em um quadro na Timeline. Para localizar e clipe de filme boto de scripts (tambm chamados scripts de objeto), voc seleciona os botes e clipes de filme no Palco com o painel Aes aberto. Se voc no sabe como atribuir aes no painel Actions, consulte o captulo "Criando filmes interativos" no manual do Flash usando. O painel Aes tem dois modos: Normal e Expert. Este tutorial explica como adicionar aes em Modo Normal. Neste tutorial, voc ir analisar o arquivo, completando as seguintes etapas: 1 No Flash, escolha Arquivo> Abrir. Navegue at a pasta baixou Tutorial ActionScript e thePuzzle.fla arquivo aberto na pasta Finished. Agora voc deve ver o filme completo tutorial no ambiente de criao. 2 Para ver todo o contedo no Palco, escolha Exibir> Ampliao> Mostrar quadro. O filme contm apenas um quadro, exibido na Linha do tempo principal do arquivo puzzle.fla. Isso porque voc vai usar o ActionScript para mostrar e ocultar as vrias caixas de dilogo e guias de ajuda que aparecem no enigma. 3 Para redimensionar a Linha do Tempo eo Palco, arraste a barra que separa o Palco da Linha para cima e para baixo. Percorra a tempo para ver como as camadas esto organizadas. 4 Para ver as caixas de dilogo e guias no Palco no ambiente de criao, clique na coluna Olho direita da camada um nome. Um X vermelho indica uma camada oculta. Voc clique na coluna Bloquear para bloquear uma camada, o que impede que ele seja selecionado, o que til se voc estiver selecionando um item do Palco que est abaixo de um item em outra camada. A coluna quadrado gira em torno de linhas de todos os elementos em uma camada, o que pode torn-lo mais fcil de ver bordas da forma e pode causar Flash para trabalhar mais rpido.

5 Olhe para a camada superior, que a camada Aes. Voc pode ver no quadro 1 que, em vez de um minsculo aes de quadro indicando, este quadro contm um quadro-chave. Isso ocorre porque a camada Aes no contm aes de quadro, ele contm um clipe de filme com aces atribudas a ele. Voc tambm pode ter um quadro que continha um quadro-chave e aes quadro. Pressione a barra de espao e pegue o palco com a mo para pux-lo para baixo. Voc pode ver as actions clipe no canto superior esquerdo do Palco. 6 Selecione o clipe de aes, marcando a caixa no Palco e escolha Janela> Aes. O painel Aes se abre e mostra as aes anexadas ao clipe de filme.

7 Para localizar todas as aes no filme, escolha Janela> Movie Explorer ou clique na aba Movie Explorer. No Movie Explorer, desmarque todos os botes excepto o boto de filtragem ActionScript. Alm do clipe de aes, existem aes em cada um dos / Esconder botes Show, nos botes nas janelas de vrias caixas que aparecem, e dentro de cada pea do puzzle. 8 Fechar o filme puzzle.fla quando terminar (Escolha File> Close) sem salvar as alteraes para o arquivo final.

Abra o arquivo a partir Agora voc est pronto para criar sua prpria verso do filme de tutorial. Escolha Arquivo> Abrir. 1 Na pasta Tutorial ActionScript, procure e abra Meu_quebra-cabea / mypuzzle.fla. 2 Voc v um tutorial concludo filme parcialmente. O filme pode parecer concludo todos os smbolos esto no lugar no Palco. No entanto, existem ActionScript muitos scripts que precisam ser escritas para adicionar elementos interativos para o filme. Escolha Arquivo> Salvar como e salve o filme com um nome novo, na mesma pasta 3 que mypuzzle.fla. Ao fazer uma cpia do arquivo, voc ou outro usurio pode concluir o tutorial novamente usando mypuzzle.fla.

Inicializando o filme Todos os filmes tm um estado inicial, o que aparncia de um filme antes de ser executado e interage algum com ele. Pode haver variveis e propriedades de clipe de filme que deve ser definido para estabelecer esse primeiro estado. Por exemplo, no arquivo puzzle.fla, determinadas caixas de dilogo e guias padro devem estar ocultas no estado inicial. Para ocultar um clipe de filme, voc pode usar o ActionScript para definir seu _visible propriedade para false . Cada clipe de filme em um filme do Flash tem um conjunto de qualidades, ou propriedades, que podem ser manipulados com ActionScript. Cada uma dessas propriedades identificada por um nome precedido por um sublinhado ( _ personagem). Por exemplo, cada clipe de filme tem uma _xscale propriedade, _yscale propriedade, e um _rotation propriedade, entre outros. O ActionScript usa variveis para armazenar informaes. Por exemplo, a varivel myName pode ter o valor "The Grape One" . As variveis so discutidas na prxima seo " Salvar e recuperar informaes . " Voc inicializar as propriedades e variveis no primeiro frame de um filme. Voc pode atribuir uma ao de quadro na Timeline, ou anexar uma ao de objeto a um clipe de filme. No filme puzzle, as propriedades da guia de padro e clipes de filme caixa de dilogo inicializada em um clipe de filme no primeiro quadro da Timeline principal. Definir propriedades de clipe de filme O filme puzzle.fla tem trs caixas de dilogo: um alerta quando o enigma terminado, os outros dois perguntam se voc deseja embaralhar as peas do puzzle. Existem tambm vrios padres e guias que se sobrepem rea de soluo para ajudar a resolver o enigma. Cada uma destas caixas de dilogo, padres e guias, um clipe de filme. Para inicializar o filme, voc deve esconder vrios clipes de filme para que apenas o incio de dilogo caixa e as peas do quebra-cabea. Voc vai fazer isso, definindo as respectivas _visible propriedades para false . Escolha Arquivo> Abrir e selecione a verso do arquivo mypuzzle.fla salvo no 1 procedimento anterior. Selecione as actions clip no palco no frame 1 e escolha Aes> Janela. 2 O objeto do painel Aes ser aberto. Selecione o menu pop-up no canto superior direito e escolha GoTo Line. Digite 3 e 3 clique em OK.

Na categoria Aes na lista da caixa de ferramentas esquerda, clique duas vezes na 4 evaluate para adicionar uma linha de cdigo vazia termina com um ponto e vrgula. Um ponto e vrgula (;) em uma instruo ActionScript como um perodo de uma frase comum (. In). Com o ponto de insero na caixa Expresso, escolha o boto Inserir caminho de 5 destino a partir do canto inferior direito do painel Aes. Selecione as edges clipe de filme a partir da rvore de clipe de filme. Escolha notao de pontos e caminho absoluto e clique em OK. O cdigo a seguir aparece na caixa de texto Expresso:
_root.edges

Um caminho de destino informa ao ActionScript o local de um clipe de filme dentro da estrutura geral de um filme do Flash. O _root refere-se a propriedade da Timeline principal e as edges clip vidas de filme no Palco da Timeline principal. Qualquer caminho de destino que comea com _root chamado um caminho absoluto, porque d o caminho completo para um clipe de filme na Timeline principal. Com o ponto de insero na caixa de texto Expresso aps _root.edges , digite. 6 _visible = false. Voc pode inserir o cdigo manualmente, ou voc pode escolher os itens do

ActionScript e Operadores de pastas Propriedades na lista Caixa de Ferramentas. Repita os passos 2-4 escolha do pattern , image , piecenumbers , 7 scramblebutton , areYouSure , e congrats clipes de filme na caixa de dilogo Target Path Inserir. Estas linhas de cdigo fazem de cada um desses clipes de filme invisvel no Palco. Escolha Arquivo> Salvar como e digite um novo nome. Por exemplo, se o arquivo 8 chamado Jean_Puzzle.fla, voc poderia cham-lo Jean_Puzzle1.fla. Isso permite que voc reverter para verses anteriores do arquivo.

Salvar e recuperar informaes Para criar um complexo filme do Flash interativo, voc precisa encontrar uma maneira de Flash para manter o controle da informao e da atividade do usurio: botes que foram pressionados, o usurio de um nome, uma pontuao, ou quais sees um usurio tenha visitado. O ActionScript usa variveis para armazenar informaes que voc pode recuperar e usar novamente. Voc pode declarar uma varivel em um script em qualquer tempo e us-lo em qualquer outro tempo no mesmo filme. Voc deve escrever um caminho de destino para uma varivel, a fim de usar a varivel, assim como voc deve escrever um caminho de destino para usar um clipe de filme. No filme puzzle.fla, o ActionScript usa o dialog varivel para acompanhar ou no uma caixa de dilogo visvel. Quando uma caixa de dilogo, o dialog varivel definido como true , quando um usurio clica em um boto em uma caixa de dilogo, o dialog varivel definida como false . Esta varivel no afetam a visibilidade das caixas de dilogo de si, simplesmente um recipiente que contm informaes que voc pode usar em scripts em todo o filme. No arquivo puzzle.fla, se a dialog definido como true , um usurio no pode mover uma pea do puzzle. Declare uma varivel e atribuir um valor Quando voc precisar de uma varivel, voc deve nome-la ou declar-lo. Tambm necessrio atribuir um valor a ela. Voc pode fazer as duas coisas ao mesmo tempo, ou voc pode declarar uma varivel em uma declarao e depois atribuir um valor a ela em um comunicado mais tarde. H duas maneiras que voc pode declarar uma varivel em ActionScript: voc pode usar a var ao ou o set variable de ao. Voc pode declarar uma varivel e atribuir um valor com qualquer ao. No entanto, a var ao tambm permite que voc declare uma varivel sem atribuir-lhe um valor, que til para organizar as suas variveis em um script. Voc tambm pode usar a var ao dentro de um bloco de cdigo (designado por chaves {} ) para criar um local de "varivel", que desaparece quando o bloco de cdigo tiver sido executado. O filme puzzle.fla usa a var ao eo set variable de ao, dependendo da situao. Quando uma varivel s necessria em um bloco de cdigo, a var ao usada. O dialog varivel definida e atribuda usando a set variable ao. Agora voc vai declarar e atribuir um valor para o dialog varivel:

Escolha Arquivo> Abrir e selecione a verso do mypuzzle.fla salvo pela ltima vez. 1 Selecione as actions clip no Palco e escolha Aes> Janela. 2 O objeto do painel Aes ser aberto. Selecione a ltima linha de cdigo na seo Inicializar e clique duas vezes na set 3 variable ao na categoria Ao na lista Caixa de Ferramentas. Digite dilogo na caixa de texto Variable. 4 Digite true na caixa de texto Valor e selecione a caixa de seleo Expresses. 5 No estado inicial do filme a uma caixa de dilogo visvel no Palco. Portanto, o varivel deve ser definido como true , no incio do filme, caso contrrio, um usurio pode mover as peas do puzzle, antes de serem mexidos.
dialog

Escolha Arquivo> Salvar como e digite um novo nome. Use um esquema de 6 nomeao consecutivo para poder reverter para verses anteriores do arquivo.

Exibio de informaes em uma caixa de texto dinmico caixas de texto dinmicas so janelas que exibem o valor de uma varivel em um filme do Flash. Voc usar o painel Opes de Texto para criar uma caixa de texto dinmico e atribuir-lhe um nome de varivel. Isso permite que voc exibir contedos alterados para os usurios.

No filme puzzle.fla, uma caixa de texto dinmico usado para exibir nmeros de pea do puzzle quando um usurio clica a tecla Shift pressionada em uma pea. Agora voc vai criar uma caixa de texto dinmico e atribuir um nome de varivel. 1 2 Escolha Arquivo> Abrir e selecione a verso do arquivo mypuzzle.fla salvo pela ltima vez. Desbloqueie a camada Guia de nmeros, se ele est bloqueado.

D um duplo clique no boto crculo Piece nmero no Palco sob o canto inferior direito da rea de soluo do enigma. Isso abre o Crculo de nmero da pea na edio em modo smbolo. Selecione a camada de texto na linha do tempo. Voc dever ver um lpis ao lado do nome da camada, este seleciona o campo de texto no Palco. Escolha Janela> Painis> Opes de texto para abrir o painel Opes de Texto. Selecione Dynamic Text a partir do menu pop-up. Escolha Linha nica. Digite _root.actions.pieceNumber na caixa de texto Variable. Todas as variveis, como funes e clipes de filme, deve ser referenciado por seu caminho. Ao entrar no caminho como o nome da varivel, o valor da pieceNumber varivel que vive no actions clipe de filme exibido na caixa de texto. O pieceNumber varivel declarada e atualizada na RotateDisplayOrDrag funo no actions clipe de filme.

4 5 6 7

8 9

Feche o painel Opes de Texto. Clique em Cena 1 na parte superior da janela do documento para retornar Timeline principal. Escolha Edit> Edit Movie para retornar Timeline principal.

10 Escolha Arquivo> Salvar como e digite um novo nome. Use um esquema de 11 nomeao consecutivo para poder reverter para verses anteriores do arquivo.

Escreva uma expresso Se voc adicionou dois nmeros em uma equao matemtica, voc tem usado um operador. Um operador um smbolo que executa uma tarefa ou operao, em uma pea, ou peas, de dados, ou operandos. Por exemplo, na expresso 2 + 2 , o sinal de mais ( +) o operador e cada nmero um operando. Uma expresso qualquer cdigo ActionScript que podem ser avaliadas para produzir um nico valor. Por exemplo, o cdigo myAge + 17 uma expresso, porque quando o cdigo executado, o ActionScript verifica o valor da myAge varivel, adiciona o nmero 17 , e produz um nico novo valor. Se o valor da myAge 47 , o novo valor seria 64 . Os operadores permitem utilizar as informaes coletadas e armazenadas em variveis e manipul-lo em expresses para criar ou determinar outros valores. Por exemplo, voc pode saber que um usurio baixou uma pea do puzzle para a rea de soluo, mas como possvel determinar se a pea est no lugar correto? E se a pea est no lugar correto, como possvel determinar se o enigma foi resolvido? Para examinar expresses construdas com operadores aritmticos em tal cenrio, selecione a actions clip no palco, abra o painel Aes, e olhar para o IsItDone funo. O ActionScript tem numrica, ou aritmticos, operadores, mas tambm tem outros tipos de operadores que realizam diferentes tipos de operaes. Por exemplo, um operador de comparao para determinar se um operando maior, menor ou igual ao outro, e um operador lgico calcula um true ou false valor, tambm chamado de valor booleano, de uma expresso. Agora voc vai usar um operador chamado o operador lgico not a escrever uma expresso que mostra e esconde o padro de quebra-cabea. O operador lgico NOT, que representado por um ponto de exclamao ( ! ), calcula o Boolean valor oposto de seu operando. Por exemplo, a expresso !true produz o valor false . 1 2 3 4 Escolha Arquivo> Abrir e selecione a verso do arquivo mypuzzle.fla salvo pela ltima vez. Clique no boto Mostrar / Ocultar o boto padro de bordas no palco e abrir o painel Aes. Selecione a seguinte linha de cdigo na lista de aes:
/ / INSERIR o cdigo aqui

Selecione a evaluate ao da categoria Ao na caixa de ferramentas e arraste-o para a lista de Aes. Quando a ao adicionada, ela colocada em um pedao de um cdigo chamado de manipulador de eventos. O cdigo parecido com este:
on (release) { ; }

Selecione a evaluate ao novamente para adicionar uma outra linha de cdigo vazia.

O cdigo parecido com este:


on (release) { ; ; }

6 7

Selecione a primeira linha vazia e coloque o ponto de insero na caixa Expresso. Na caixa Expression, digite _root.pattern._visible = false. Este cdigo esconde o clipe de filme padro, pois o jogador deve ver o clipe de filme padro ou o de bordas, mas no ambos. Voc pode digitar o caminho diretamente na caixa de Expresso ou usar a caixa de dilogo Insert Target Path para selecionar o pattern clipe de filme. Se voc usar o dilogo Inserir caminho de destino, escolha dos pontos de notao e caminho absoluto.

Selecione a segunda linha vazia e coloque o ponto de insero na caixa Expresso.

Na caixa Expression, digite _root.edges._visible =.

Coloque o ponto de insero na caixa de texto Expresso aps o sinal de igual e d 10 um duplo clique no operador lgico NOT ( ! ) na pasta Operadores da lista de ferramentas para adicion-lo caixa de texto Expresso. Voc tambm pode digitar! na caixa de texto Expresso. Digite _root.edges._visible na caixa de texto Expresso aps o operador. 11 O cdigo parecido com este:
on (release) { _root.pattern._visible = false; _root.edges._visible = _root.edges._visible!;

A primeira linha de cdigo dentro do manipulador de eventos define a visibilidade do pattern clipe de filme para false . A segunda linha de cdigo define a visibilidade das edges clipe de filme para o oposto do que atualmente. Isso cria uma alternncia que mostra ou oculta o clipe de filme. Escolha Arquivo> Salvar como e digite um novo nome. Use um esquema de 12 nomeao consecutivo para poder reverter para verses anteriores do arquivo.

Controle o fluxo do filme Sem o ActionScript, um filme reproduzido a partir do quadro 1 at o ltimo quadro e repetido a partir do quadro 1, ou pra. Voc pode usar o ActionScript para controlar a progresso de um filme com mais preciso, voc tambm pode us-lo para dar o controle do usurio. Por exemplo, voc poderia colocar uma ao no frame 5, que deixa o filme at que um usurio pressiona um boto "play". Este um exemplo simples de controlar o fluxo de um filme. Voc pode usar o if , else , e else if aes (tambm chamadas de comandos) para criar um filme mais complexo fluxo de lgica chamado. Essas trs aes executam as seguintes tarefas: O if de ao deixa o Flash verificar uma condio no filme e executar determinadas aes se essa condio for verdadeira. A else declarao informa ao Flash para executar um conjunto de aes diferente caso a if a condio for falsa. A else if deixa declarao cheques Flash para outra condio antes de executar um conjunto diferente de aes.

Escreva uma instruo condicional Voc j usou um operador para mostrar e ocultar um clipe de filme. Agora voc vai usar um if instruo para criar uma lgica que mostra e esconde os piece numbers de clipe de filme. Por uma questo de aprendizagem, este exemplo utiliza um elemento diferente do ActionScript para obter o mesmo resultado. 1 2 3 Escolha Arquivo> Abrir e selecione a verso do filme mypuzzle.fla salvo pela ltima vez. Clique no boto Show / Hide Piece boto guia nmero e escolha Aes> Janela. Clique duas vezes no if de ao na categoria Aes na lista Caixa de Ferramentas. O cdigo a seguir ser exibido no painel Aes:
on (release) { if (<no conjunto yet>) { } }

Selecione a segunda linha de cdigo (a linha que contm o if de ao) e d um duplo clique na else ao da lista Caixa de Ferramentas. O cdigo semelhante ao seguinte:
on (release) { if (<no conjunto yet>) { Else {} } }

Selecione a segunda linha de cdigo e, com o ponto de insero na caixa de texto Condio, clique no boto Inserir caminho de destino. Escolha o piecenumbers clipe de filme, notao de pontos e caminho absoluto e clique em OK. O cdigo a seguir aparece na caixa de texto Condio:
_root.piecenumbers

Com o ponto de insero na caixa de texto Condio, digite. _visible. Voc pode inserir o cdigo manualmente, ou voc pode escolher _visible da categoria de propriedades na lista Caixa de Ferramentas.

7 8

Na categoria Aes na lista de ferramentas, clique duas vezes na evaluate para adicionar uma linha de cdigo vazia. Digite _root.piecenumbers._visible = false na caixa de texto Expresso. Voc pode usar o boto Inserir caminho de destino ou digitar o cdigo manualmente. O cdigo agora semelhante ao seguinte:
on (release) { if (_root.piecenumbers._visible) { _root.piecenumbers._visible = false; Else {} } }

Quando o filme, o Flash avalia a expresso dentro dos parnteses condio. A expresso deve ser igual a um dos valores booleanos: true ou false . Este exemplo usa a condio de if ao para verificar se o piecenumbers clipe de filme visvel no Palco. Se o _visible propriedade true , o ActionScript executa o cdigo dentro das chaves e define o _visible propriedade para false , que oculta o clipe de filme no Palco. 9 Selecione a linha de cdigo com a else ao e clique duas vezes no evaluate a ao. Na caixa de texto Expression, digite _root.piecenumbers._visible = true. 10 O cdigo ActionScript final parecido com este:
on (release) { if (_root.piecenumbers._visible) { _root.piecenumbers._visible = false; Else {} _root.piecenumbers._visible = true; } }

Escolha Arquivo> Salvar como e digite um novo nome. Use um esquema de

11 nomeao consecutivo para poder reverter para verses anteriores do arquivo.

Criando comandos e reutilizando cdigos O ActionScript tem aes que permitem controlar um filme de maneiras especficas. Por exemplo, o play de aco adianta o indicador de reproduo na Linha do tempo e do loadMovie ao carrega outro filme do Flash no Flash Player. Cada uma dessas aes instrui o Flash a executar uma determinada tarefa. Em seus filmes, voc pode querer criar seus prprios comandos. Por exemplo, em puzzle.fla, voc precisa de um comando para embaralhar as peas do quebra-cabea. Para descobrir como escrever tal comando com o ActionScript, voc deve determinar cada etapa necessria para embaralhar as peas do quebra-cabea e determinar quais os elementos do ActionScript podem ser usados para alcanar esses objetivos. Primeiro, as peas devem ser espalhadas em uma determinada rea no Palco, cada clipe de filme tem um _x e _y propriedade que voc pode usar para definir a sua posio e um _rotation propriedade que voc pode usar para definir sua rotao. Para inserir e girar cada pea aleatoriamente, preciso gerar um nmero aleatrio para usar em uma expresso. O ActionScript tem um built-in Math com um objeto random mtodo que voc pode usar para esta finalidade. Um comando no ActionScript chamado de funo. Uma funo um script que voc pode usar uma e outra vez em um filme para executar uma determinada tarefa. Por exemplo, em puzzle.fla, cada vez que um usurio clica em um boto Embaralhar peas, a funo Scramble executado, ou chamado. Esta funo coloca as peas do quebracabea em posies aleatrias no Palco. Em vez de re-escrever o mesmo script em cada um dos dois botes Pieces Scramble, a funo escrita, ou declarada, uma vez e chamada em cada boto. Para examinar o Scramble funo, selecione a actions clip no palco e abrir o painel Aes. Percorra a lista de aes at que o Scramble funo. Voc pode pensar em uma funo como uma mquina que faz trabalho extra para voc. A mquina pode produzir resultados diferentes dependendo do que voc colocar nele. Por exemplo, se voc colocar as bananas em um liquidificador, obter um pur de bananas, no pur de pssegos. Os elementos que voc passar uma funo para trabalhar so denominados parmetros ou argumentos. Os parmetros so passados dentro dos parnteses que seguem a funo. Por exemplo, a funo RotateDisplayOrDrag(whichOne) passado o nome de uma pea do puzzle e opera apenas naquele pedao. Os parmetros permitem reutilizar funes em vrias situaes diferentes. Funes geralmente so declaradas no primeiro quadro de um filme, ou como uma ao de quadro ou em um clipe de aes. No filme puzzle.fla, as funes so declaradas no clip de aces no quadro 1.

Escreva uma funo Agora declare uma funo que gire, exiba ou arraste cada pea do

quebra-cabea quando o usurio clica sobre ele. 1 Escolha Arquivo> Abrir e selecione a verso do arquivo mypuzzle.fla salvo pela ltima vez. 2 Selecione as aes clip no Palco e escolha Aes> Janela. 3 Selecione o menu pop-up no canto superior direito do painel Aes Objeto e escolha GoTo Line. Digite 31 e clique em OK. A seguinte linha comentada devem ser destacados:
/ / ENTER RotateDisplayOrDrag () funo aqui

4 D um duplo clique na function ao na categoria Ao na lista Caixa de Ferramentas. Digite RotateDisplayOrDrag na caixa de texto Nome. Digite whichOne na caixa de texto parmetros. O cdigo da linha 32 agora se parece com isto:
funo RotateDisplayOrDrag (whichOne) { }

O whichOne parmetro ser chamado trs vezes no corpo da funo. Quando a funo chamada, o parmetro passado substitudo por whichOne em cada declarao. 5 Na lista Caixa de Ferramentas ou no sinal de mais (+)-up menu, clique no if de ao, o else if ao, ea else ao. O cdigo parecido com este:
funo RotateDisplayOrDrag (whichOne) { if (<no conjunto yet>) { } Else if (<no conjunto yet>) { Else {} } }

Esse cdigo cria a estrutura lgica da funo. Voc ir preencher as condies a serem verificadas em cada if comunicado. Voc tambm vai preencher o cdigo dentro de cada conjunto de chaves que ser executado quando as condies forem verdadeiras. 6 Selecione o if de linha de comunicao do cdigo e digite Key.isDown (18) na caixa de texto Condio. Key um objeto interno do ActionScript. Ela permite determinar o que um jogador chave pressionada no teclado. Essa linha de cdigo verifica se um jogador pressionada a tecla Alt (Windows) ou Option (Mac) a chave. Voc vai aprender mais sobre objetos internos em "Usar um objeto interno" . 7 D um duplo clique na evaluate para inserir uma nova linha de cdigo. Digite _root [whichOne]. _rotation + = 90 na caixa de texto Expresso. Essa linha de cdigo gira a pea selecionada se o jogador

pressiona a tecla Alt (Windows) ou Option (Mac). 8 Selecione o else if linha de cdigo e digite Key.isDown (Key.SHIFT) na caixa de texto Condio. Essa linha de cdigo verifica se um jogador pressionou a tecla Shift. 9 D um duplo clique na evaluate para inserir uma nova linha de cdigo. Digite pieceNumber = whichOne.slice (5) na caixa de texto Expresso. Essa linha de cdigo exibe o nmero da pea no campo de texto no Palco quando um jogador pressiona a tecla Shift. A slice mtodo do objeto String remove todos os caracteres da parte do nmero de instncia nome, exceto o nmero. Ele atribui esse nmero ao pieceNumber varivel que atribudo ao campo de texto no Palco. Selecione a else linha de cdigo e d um duplo clique no 10 startDrag ao na categoria Ao na lista Caixa de Ferramentas. Digite _root [whichOne] na caixa de texto Target. Selecione Restringir ao retngulo da caixa de seleo e digite 20, 20, 780 e 580 no L, T, R e caixas de texto de parmetro B. O cdigo parecido com este:
funo RotateDisplayOrDrag (whichOne) { if (Key.isDown (18)) { _root [whichOne] _rotation + = 90.; } Else if (Key.isDown (Key.SHIFT)) { pieceNumber = whichOne.slice (5); Else {} startDrag (_root [whichOne], false, 20, 20, 780, 580); } }

Escolha Arquivo> Salvar como e digite um novo nome. Use 11 um esquema de nomeao consecutivo para poder reverter para verses anteriores do arquivo.

Chamar uma funo Funes podem ser chamadas de qualquer quadro em um filme onde voc precisa de uma tarefa concluda. Voc deve usar um caminho de destino para chamar uma funo, assim como voc deve usar um caminho para acessar uma varivel ou um clipe de filme. Todas as funes no filme puzzle.fla so declaradas nas actions clipe para o caminho absoluto para cada uma comea com _root.action . Agora voc vai chamar a funo que embaralha as peas do quebra-cabea no palco.

1 Escolha Arquivo> Abrir e selecione a verso do arquivo mypuzzle.fla salvo pela ltima vez. 2 Ocultar todas as camadas, exceto a caixa de dilogo Caixa de dilogo Parabns camada. Selecione a camada de dilogo Parabns. Clique na coluna Olho direita do nome de uma camada para ocult-la. Um X vermelho indica uma camada oculta. 3 D um duplo clique no dilogo - smbolo no Palco Parabns para edit-lo.

4 Clique no boto OK e escolha Aes> Janela para abrir o painel Aes. 5 D um duplo clique no evaluate ao na lista de ferramentas para adicionar uma linha vazia na lista Aes. 6 Com o ponto de insero na caixa Expresso, clique no boto Inserir caminho de destino e selecione o clipe de aes. Selecione a notao de pontos e caminho absoluto e clique em OK. 7 Na caixa de texto Expresso aps _root.actions , digite. Scramble (). O Scramble funo no requer quaisquer parmetros que voc pode deixar os parnteses vazios. O cdigo agora parecido com este:
on (release) { _root.actions.Scramble (); }

Este o ActionScript que chama a funo. Voc tambm precisa adicionar um adicional poucas linhas de cdigo que pertencem dentro do on(release) manipulador. Voc vai fazer isso na prxima etapa. 8 Adicione duas evaluate aes de acrescentar o seguinte duas linhas de cdigo sob a chamada de funo. A primeira linha mostra o boto de corrida no canto inferior direito do Palco ea segunda linha define o dialog varivel para indicar que no existem caixas de dilogo aberto atualmente no Palco:
_root.scramblebutton._visible = true; _root.actions.dialog = false;

O cdigo final ser exibido da seguinte forma:


on (release) { _root.actions.Scramble (); _root.scramblebutton._visible = true; _root.actions.dialog = false; }

9 Selecione uma cena na parte superior da janela do documento para retornar Timeline principal. Escolha Arquivo> Salvar como e digite um novo nome. Por exemplo, se o arquivo 1 chamado Jean_Puzzle6.fla, voc poderia cham-lo Jean_Puzzle7.fla. Isso permite 0 que voc reverter para verses anteriores do arquivo. Nota: Ao concluir o tutorial, lembre-se de salvar seu trabalho com freqncia.

Use um objeto interno O ActionScript tem variveis que permitem armazenar informaes, tem funes que permitem criar comandos especiais e reutilizar cdigos, tem aes que permitem controlar o fluxo de um filme, e que tem os clipes de filme com propriedades que voc pode mudar. O ActionScript tambm tem outro tipo de elemento chamado objetos internos. Objetos fornecem uma maneira de agrupar informaes para que voc possa us-lo em um script. Os objetos podem ter propriedades, mtodos (que so como funes) e constantes (por exemplo, o valor numrico de Pi). Para ver uma lista de objetos do ActionScript, procure na pasta Objects na caixa de ferramentas no painel Aes. No RotateDisplayOrDrag funo que voc criou em " Criando comandos e reutilizando cdigos ", voc usou o objeto Key para determinar a ltima tecla um usurio pressionou no teclado. Se a tecla pressionada foi a tecla Shift enquanto uma parte foi clicado, uma caixa de texto dinmica exibir o nmero da pea do puzzle, se a tecla pressionada foi a tecla Alt (Windows) ou Option (Mac), a pea gira 90 graus. O objeto Key construdo em ActionScript para permitir o acesso a informaes sobre o teclado. Outro objeto do ActionScript o objeto MovieClip. O objeto MovieClip uma coleo de mtodos que voc pode usar para manipular clipes de filme, que so

fundamentais e elementos mais poderosos do Flash. Para saber mais sobre as particularidades do objeto MovieClip e clipes de filme usando, veja o captulo " Trabalhando com clipes de filme "no Guia de Referncia do ActionScript. Agora voc ir usar um mtodo do objeto MovieClip para verificar se o mouse est tocando uma pea do puzzle. 1 Escolha Arquivo> Abrir e selecione a verso do arquivo mypuzzle.fla salvo pela ltima vez. 2 Clique no boto smbolos no canto superior direito da Timeline e escolha> Pea aes Misc.

A Piece actions clipe de filme abre em modo de edio-smbolo. 3 Escolha Aes> Janela para abrir o painel Aes. 4 No painel Aes, selecione a seguinte linha de cdigo:
/ / INSERIR o cdigo aqui

5 D um duplo clique no onClipEvent ao na categoria de aco. Escolha o Mouse down evento. O onClipEvent ao um tipo especial de ao chamado de manipulador de eventos, ou apenas manipulador. Um manipulador lhe permite escrever cdigo que executado quando um determinado evento ocorrer. Por exemplo, quando o boto do mouse pressionado, a reproduo entra em um quadro, e carrega um clipe de filme. Neste procedimento, o cdigo dentro das chaves que seguem o onClipEvent handler executado quando um usurio pressiona o boto do mouse no filme. 6 Clique duas vezes no with ao na categoria Ao na caixa de ferramentas para adicionar ao script. A with ao permite que voc especifique um clipe de filme e escrever as aes como se estivesse na linha do tempo desse clipe de filme. 7 Digite whichOne na caixa de objetos. O whichOne varivel definida dentro do onClipEvent(load) do manipulador. O valor da whichOne _parent._parent . A propriedade _parent se refere ao nome da instncia do clipe de filme em que o clipe atual est aninhado. O cdigo

_parent._parent aponta para o clipe de filme dois nveis acima do clipe atual. _parent propriedade permite reutilizar esse script em cada uma das 50 peas do

puzzle, pois atua em clipes de filme em relao a ele e no requer que voc saiba o nome da instncia de cada clipe. Para este efeito, o _parent propriedade permite criar caminhos relativos. 8 Clique duas vezes no if de ao na lista Caixa de Ferramentas. 9 Com o ponto de insero na caixa Condio, clique em Objetos na caixa de ferramentas para abrir a categoria Objetos. Em seguida, clique MovieClip e hitTest clique duas vezes na lista Caixa de Ferramentas. O cdigo a seguir aparece na caixa Estado:
. HitTest (x, y, shapeFlag)

O hitTest mtodo determina se um clipe de filme tem esbarrado com um ponto especfico ou um outro clipe de filme. Neste exemplo, voc usar a posio atual do mouse como o ponto especfico a fim de testar se o mouse est sobre uma pea do puzzle.

Remova o ponto ( . ) de hitTest . 1 0 Muitas vezes, voc deve especificar um nome de instncia antes do ponto do mtodo. No entanto, porque voc usou a with ao para especificar um clipe de filme, voc no precisa fazer isso.
hitTest

Selecione o x Na caixa Condio e insira _root._xmouse. Selecione o y e entrar 1 _root._ymouse. 1 O hitTest mtodo (como uma funo) leva certos argumentos. Dois deles so x e y , que especificam as coordenadas X e Y de um ponto. Voc usa o _xmouse e _ymouse propriedades para determinar a localizao do mouse no filme. Se o mouse se choca com o clipe de filme, o hitTest retorna o valor true e as aes dentro do if declarao ser executada. Selecione shapeFlag e substitu-la com o valor verdadeiro. O cdigo parecido com 1 este: 2
onClipEvent (mouseDown) { com (whichOne) { (HitTest (_root._xmouse, _root.ymouse, true)) {se } } }

Coloque o ponto de insero aps os parnteses que envolvem o hitTest 1 argumentos e digite & & _root.actions.dialog == false. 3 preciso verificar que o dialog varivel falso, porque voc no deseja que esta funo para ser chamada, se uma caixa de dilogo visvel no Palco. Os jogadores no devem ser capaz de rodar ou arrastar uma pea, ou exibir o nmero da pea, se uma caixa de dilogo exibida. D um duplo clique no evaluate ao na categoria Ao na lista de ferramentas 1 para adicion-lo dentro das chaves do if comunicado. 4 Na caixa Expression, digite _root.actions.RotateDisplayOrDrag (_name). O cdigo final fica assim: 1 5
onClipEvent (mouseDown) { com (whichOne) { HitTest if ((_root._xmouse, _root._ymouse, true) & & _root.actions.dialog == false) { _root.actions.RotateDisplayOrDrag (_name); } } }

Escolha Editar> Movie para retornar Timeline principal. 1 6

Escolha Arquivo> Salvar como e digite um novo nome. Por exemplo, se o arquivo 1 chamado Jean_Puzzle7.fla, voc poderia cham-lo Jean_Puzzle8.fla. Isso permite 7 que voc reverter para verses anteriores do arquivo.

Testar o filme Testar cedo e testar muitas vezes um mantra para desenvolvedores web. Quanto mais cedo voc testar seu filme, mais fcil ser determinar a causa de resultados inesperados. uma boa idia para salvar vrias verses do seu arquivo usando nomes seqenciais, por exemplo, My_Puzzle1.fla, My_Puzzle2.fla, e assim por diante, como voc tem feito neste tutorial. Desta forma, o maior arquivo com o nmero sempre o mais novo e fcil voltar para uma verso anterior. A razo mais comum para resultados inesperados em um filme do Flash um caminho incorreto a uma varivel, funo, objeto ou clipe de filme. Isto pode causar uma varivel para conter o valor errado, impedir uma funo de ser chamada, ou impedir que um clipe de filme de carregamento. A ferramenta de autoria Flash tem uma verso especial do Flash Player embutido, este modo chamado de filme de teste. Esta verso do Media Player tem vrios comandos e ferramentas para ajudar a solucionar. Para entrar no modo de filme de teste, escolha Controlar> Testar filme a qualquer momento durante o trabalho. O trace aco permite-lhe escrever notas e expresses em sua ActionScripts cujos resultados so enviados para uma janela no modo de filme de teste chamado de janela de sada. Agora voc vai adicionar um trace para testar se uma funo foi chamado com xito. Voc tambm vai usar o comando Testar filme para gerar uma lista de variveis e objetos para verificar os caminhos de destino no filme. 1 Escolha Arquivo> Abrir e selecione a verso do arquivo mypuzzle.fla salvo pela ltima vez. 2 Escolha Controlar> Testar Filme e clique no boto OK. O ActionScript que chama a Scramble funo anexada ao boto OK, mas as peas do puzzle no competir como o dilogo diz que eles deveriam. 3 Clique na caixa no canto superior esquerdo do filme para fechar o arquivo SWF e voltar ao modo de criao. Voc pode adicionar um trace de aco para descobrir se o Scramble funo est sendo chamada, mas no funciona, ou se ele no est sendo chamado a todos. 4 Selecione as actions clip no palco na Linha do tempo principal e abra o painel Aes. 5 Escolha GoTo Line a partir do menu pop-up e digite 19. A linha comentada que diz // enter trace action here est selecionado. 6 D um duplo clique no trace ao da lista Caixa de Ferramentas.

7 Na caixa de texto da mensagem, digite a funo Scramble foi chamada. 8 Escolha Controlar> Testar filme. 9 Clique no boto OK quando solicitado para iniciar o quebra-cabea. A mensagem do trace ao no aparecer na janela de sada. Agora voc sabe que a funo no est sendo chamado e voc deve determinar o motivo. Uma vez que a razo mais provvel um caminho incorreto, volte para o boto OK e verifique o caminho para o Scramble funo. Clique na caixa no canto superior esquerdo do filme para fechar o SWF e voltar ao modo de criao. 1 0 Clique na coluna Olho direita do nome de uma camada para ocultar o dilogo 1 Parabns camada e mostrar a camada de dilogo Iniciar. 1 D um duplo clique no dilogo - e Scramble smbolo Iniciar no Palco para editar o 1 smbolo. 2 Clique no boto OK e abra o painel Aes se ele no estiver aberto. 1 3 Olhe para a linha de cdigo que contm a chamada de funo, que se parece com 1 isso: 4
_root.Scramble ();

Esse caminho indica que a funo foi declarada na Timeline principal. No entanto, todas as funes em puzzle.fla so declaradas no clipe de filme aes que tem o nome da instncia actions .

Coloque o ponto de insero aps _root. aces e entrar. 1 5 Escolha Controlar> Testar filme para testar o novo caminho. 1 6
trace

As peas do puzzle e embaralhar a janela de sada se abre e exibe a mensagem no de ao que voc colocou dentro do Scramble funo.

Clique na caixa no canto superior esquerdo do filme para fechar o SWF e voltar ao 1 modo de criao. 7 Escolha Arquivo> Salvar como e digite um novo nome. Use um esquema de nomeao consecutivo para poder reverter para verses anteriores do arquivo 1 8

Os prximos passos Ao concluir o tutorial, voc realizou uma grande num curto espao de tempo relativamente montante. Voc j aprendeu a usar o ActionScript para criar filmes a partir de um ponto de Flash, como criar comandos e reutilizando cdigos para fazer as aes sejam recorrentes, e como controlar com preciso o fluxo do filme. Usando variveis e expresses do ActionScript, voc sabe como manter o controle da atividade

do usurio em seu filme e como exibir contedos alterados para seus usurios. Finalmente, voc aprendeu a testar seu filme e identificar pontos de conflito. Para atingir os objectivos principais, voc tambm aprendeu a completar uma variedade de tarefas relacionadas. Para continuar a aprender sobre o ActionScript, consulte o ActionScript Reference Guide e referem-se a artigos no Centro de Suporte Flash. Voc tambm pode ver uma verso avanada do filme puzzle.fla e desconstruir o ActionScript que foi usado para criar um timer e pea rotao animado. Abra o ActionScriptTutorial / Puzzle_Advanced / pasta que voc baixou no incio do tutorial para a verso avanada.

<noscript> <ul> <li><a title="#" vref="#" target="_self">Products</a> <ul> <li><a title="#" vref="#" target="_self">Glanda</a></li> <li><a title="#" vref="#" target="_self">DHTMLMenu</a></li> <li><a title="#" vref="#" target="_self">Decompiler</a></li> <li><a title="#" vref="#" target="_self">Quicker</a></li> <li><a title="#" vref="#" target="_self">Flash player</a></li> <li><a title="#" vref="#" target="_self">Tree Menu</a></li> <li><a title="#" vref="#" target="_self">Glanda Samples</a></li>

<li><a title="#" vref="#" target="_self">Decompiler</a></li> <li><a title="#" vref="#" target="_self">Flash player</a></li> <li><a title="#" vref="#" target="_self">Quicker</a></li> </ul> </li> <li><a title="#" vref="#" target="_self">Samples</a> <ul> <li><a title="#" vref="#" target="_self">Glanda Samples</a></li> <li><a title="#" vref="#" target="_self">DHTMLMenu Samples</a></li> <li><a title="#" vref="#" target="_self">Decompiler</a></li> <li><a title="#" vref="#" target="_self">QuickerSamples</a></li> <li><a title="#" vref="#" target="_self">Flash player</a></li> </ul> </li> <li><a title="#" href="#" target="_self">Features List</a> <ul> <li><a title="#" href="#" target="_self">Glanda Samples</a></li> <li><a title="#" href="#" target="_self">Glanda Samples</a></li> <li><a title="#" href="#" target="_self">DHTMLMenu Samples</a></li> <li><a title="#" href="#" target="_self">DHTMLMenu Samples</a></li> <li><a title="#" href="#" target="_self">Decompiler</a></li> <li><a title="#" href="#" target="_self">Decompiler</a></li> <li><a title="#" href="#" target="_self">QuickerSamples</a></li> <li><a title="#" href="#" target="_self">QuickerSamples</a></li> <li><a title="#" href="#" target="_self">Flash player</a></li> <li><a title="#" href="#" target="_self">Flash player</a></li> </ul>

</li> <li><a title="#" href="#" target="_self">Download</a> <ul> <li><a title="#" href="#" target="_self">Glanda</a></li> <li><a title="#" href="#" target="_self">Decompiler</a></li> <li><a title="#" href="#" target="_self">Quicker</a></li> <li><a title="#" href="#" target="_self">Flash player</a></li> <li><a title="#" href="#" target="_self">Tree Menu</a></li> <li><a title="#" href="#" target="_self">DHTMLMenu</a></li> </ul> </li> <li><a title="#" href="#" target="_self">About</a> <ul> <li><a title="#" href="#" target="_self">Glanda</a></li> <li><a title="#" href="#" target="_self">DHTMLMenu</a></li> <li><a title="#" href="#" target="_self">Decompiler</a></li> <li><a title="#" href="#" target="_self">Quicker</a></li> <li><a title="#" href="#" target="_self">Flash player</a></li> <li><a title="#" href="#" target="_self">Tree Menu</a></li> <li><a title="#" href="#" target="_self">Glanda Samples</a></li> <li><a title="#" href="#" target="_self">DHTMLMenu Samples</a></li> <li><a title="#" href="#" target="_self">QuickerSamples</a></li> </ul> </li> </ul> </noscript>

Você também pode gostar