Guia do Usuário Cancelar

Linhas de tempo e ActionScript

 

Com o ActionScript®, você pode controlar a Linha do tempo no tempo de execução. O uso do ActionScript permite criar interação e outros recursos nos arquivos FLA que não são possíveis apenas com a Linha do tempo.

Com o ActionScript®, você pode controlar a Linha do tempo no tempo de execução. O uso do ActionScript permite criar interação e outros recursos nos arquivos FLA que não são possíveis apenas com a Linha do tempo.

Consulte a discussão sobre linhas do tempo e ActionScript em Ajuda da Web, para aprender sobre como controlar a Linha do tempo e o ActionScript.

Caminhos absolutos

Um caminho absoluto começa com o nome do nível no qual o documento é carregado e continua por meio da lista de exibição até que ele alcança a ocorrência de destino. Você pode também usar o alias _root para se referir à Linha do tempo mais alta do nível atual. Por exemplo, uma ação no clipe de filme california que se refere ao clipe de filme oregon poderia usar o caminho absoluto _root.westCoast.oregon.

O primeiro documento a ser aberto no Flash Player é carregado no nível 0. É necessário atribuir a cada documento adicional carregado um número de nível. Quando você usa uma referência absoluta no ActionScript para se referir a um documento carregado, use o formulário _levelX, onde X é o número do nível no qual o documento é carregado. Por exemplo, o primeiro documento aberto no Flash Player é chamado de _level0; um documento carregado no nível 3 é chamado de _level3.

Para fazer a comunicação entre os documentos em diferentes níveis, é necessário usar o nome do nível no caminho de destino. O exemplo a seguir mostra como a ocorrência portland direcionaria a ocorrência atlanta localizada em um clipe de filme chamado georgia (georgia está no mesmo nível que oregon):

_level5.georgia.atlanta
_level5.georgia.atlanta
_level5.georgia.atlanta

Você pode usar o alias _root para se referir à Linha do tempo principal do nível atual. Para a Linha do tempo principal, o alias _root representa o _level0 quando almejado por um clipe de filme também no _level0. Para um documento carregado no _level5, a _root é igual ao _level5 quando almejado no clipe de filme também no nível 5. Por exemplo, se os clipes de filme southcarolina e florida forem carregados no mesmo nível, uma ação chamada na ocorrência southcarolina poderia usar o caminho absoluto a seguir para almejar a ocorrência florida:

_root.eastCoast.florida
_root.eastCoast.florida
_root.eastCoast.florida

Caminhos relativos

Um caminho relativo depende do relacionamento entre a Linha do tempo de controle e a Linha do tempo de destino. Os caminhos relativos podem direcionar os destinos somente em seu próprio nível do Flash Player. Por exemplo, não é possível usar um caminho relativo em uma ação no _level0 que almeja uma Linha do tempo no _level5.

Em um caminho relativo, use a palavra-chave this para se referir à Linha do tempo atual no nível atual; use o alias _parent para indicar a Linha do tempo pai da Linha do tempo atual. Você pode usar o alias _parent repetidamente para subir um nível na hierarquia do clipe de filme no mesmo nível do Flash Player. Por exemplo, _parent._parent controla um clipe de filme até dois níveis na hierarquia. A Linha do tempo mais alta em qualquer nível no Flash Player é a única Linha do tempo com um valor _parent que é indefinido.

Uma ação na Linha do tempo na ocorrência charleston, localizada um nível abaixo de southcarolina, poderia usar o caminho de destino a seguir para almejar a ocorrência southcarolina:

_parent
_parent
_parent

Para almejar a ocorrência eastCoast (um nível acima) em uma ação no charleston, você poderia usar o seguinte caminho relativo:

_parent._parent
_parent._parent
_parent._parent

Para almejar a ocorrência atlanta em uma ação na Linha do tempo de charleston, você poderia usar o seguinte caminho relativo:

_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta

Os caminhos relativos são úteis para reutilização dos scripts. Por exemplo, você pode anexar o seguinte script a um clipe de filme que amplia seu pai em 150%:

onClipEvent (load) { _parent._xscale
= 150; _parent._yscale = 150;
}
onClipEvent (load) { _parent._xscale = 150; _parent._yscale = 150; }
onClipEvent (load) {    _parent._xscale 
= 150;    _parent._yscale = 150; 
}

É possível reutilizar esse script anexando-o a uma ocorrência de clipe de filme.

 O Flash Lite 1.0 e o 1.1 suportam scripts anexados somente para botões. Anexar scripts aos clipes de filme não é suportado.

Ao usar um caminho absoluto ou relativo, você identifica uma variável em uma Linha do tempo ou uma propriedade de um objeto com um ponto (.) seguido pelo nome da variável ou da propriedade. Por exemplo, a instrução a seguir define a variável name na ocorrência form para o valor "Gilbert":

_root.form.name = "Gilbert";
_root.form.name = "Gilbert";
_root.form.name = "Gilbert";

Utilização de caminhos de destino absoluto e relativo

Você pode usar o ActionScript para enviar mensagens de uma linha do tempo para a outra. A linha do tempo que contém a ação é chamada de linha do tempo de controle e a linha do tempo que recebe a ação é chamada de linha do tempo de destino. Por exemplo, poderia haver uma ação no último quadro de uma linha do tempo que determina que outra linha do tempo seja reproduzida. Para se referir a uma linha do tempo de destino, é necessário usar um caminho de destino, que indica um local de um clipe de filme na lista de exibição.

O exemplo a seguir mostra a hierarquia de um documento chamado westCoast no nível 0, que contém três clipes de filme: california, oregon e washington. Cada um desses clipes de filme, por sua vez, contém dois clipes de filme.

_level0
westCoast
california
sanfrancisco
bakersfield
oregon
portland
ashland
washington
olympia
ellensburg
_level0 westCoast california sanfrancisco bakersfield oregon portland ashland washington olympia ellensburg
_level0 
        westCoast 
                california 
                        sanfrancisco 
                        bakersfield 
                oregon 
                        portland 
                        ashland 
                washington 
                        olympia 
                        ellensburg

Como em um servidor da Web, cada linha do tempo no Animate pode ser direcionada de duas maneiras: com um caminho absoluto ou com um caminho relativo. O caminho absoluto de uma ocorrência é sempre um caminho completo de um nome de nível, independentemente de qual linha do tempo chama a ação; por exemplo, o caminho absoluto para a ocorrência california é _level0.westCoast.california. Um caminho relativo é diferente quando chamado de locais diferentes; por exemplo, o caminho relativo para california de sanfrancisco é _parent, mas de portland, é _parent._parent.california.

Especificação dos caminhos de destino

Para mover um clipe de destino, o arquivo SWF ou o botão, é necessário especificar o caminho de destino. Você pode especificá-lo manualmente ou usando a caixa de diálogo Caminho de destino ou criando uma expressão que é avaliada para um caminho de destino. Para especificar um caminho de destino de um clipe de filme ou botão, é necessário atribuir um nome de ocorrência ao clipe de filme ou ao botão. Um documento carregado não requer um nome de ocorrência porque seu número de nível é usado como um nome de ocorrência (por exemplo, _level5).

Atribuir um nome de ocorrência a um clipe de filme ou botão

  1. Selecione um clipe de filme ou botão no Palco.
  2. Digite um nome de ocorrência no Inspetor de propriedades.

Especificar um caminho de destino usando a caixa de diálogo Inserir caminho de destino

  1. Selecione a ocorrência do clipe de filme, quadro ou botão para a qual você deseja atribuir a ação.

    Ela se tornará a Linha do tempo de controle.

  2. No painel Ações (Janela > Ações), vá para a caixa de ferramentas Ações à esquerda e selecione uma ação ou um método que exija um caminho de destino.
  3. Clique na caixa de parâmetro ou local no script onde você deseja inserir o caminho de destino.
  4. Clique no botão Inserir caminho de destino acima do painel Script.
  5. Selecione Absoluto ou Relativo para o modo de caminho de destino.
  6. Selecione um clipe de filme na lista de exibição de Inserir caminho de destino e clique em OK.

Especificar um caminho de destino manualmente

  1. Selecione a ocorrência do clipe de filme, quadro ou botão para a qual você deseja atribuir a ação.

    Ela se tornará a Linha do tempo de controle.

  2. No painel Ações (Janela > Ações), vá para a caixa de ferramentas Ações à esquerda e selecione uma ação ou um método que exija um caminho de destino.
  3. Clique na caixa de parâmetro ou local no script onde você deseja inserir o caminho de destino.
  4. Digite um caminho de destino absoluto ou relativo no painel Ações.

Usar uma expressão como um caminho de destino

  1. Selecione a ocorrência do clipe de filme, quadro ou botão para a qual você deseja atribuir a ação.

    Ela se tornará a Linha do tempo de controle.

  2. No painel Ações (Janela > Ações), vá para a caixa de ferramentas Ações à esquerda e selecione uma ação ou um método que exija um caminho de destino.
  3. Siga um destes procedimentos:
    • Digite uma expressão que seja avaliada para um caminho de destino em uma caixa de parâmetro.

    • Clique para colocar o ponto de inserção no script. Depois, na categoria Funções da caixa de ferramentas Ações, clique duas vezes na função targetPath. A função targetPath converte uma referência para um clipe de filme em uma string.

    • Clique para colocar o ponto de inserção no script. Depois, na categoria Funções da caixa de ferramentas Ações, selecione a função eval. A função eval converte uma string em uma referência de clipe de filme que pode ser usada para os métodos de chamada como play.

      O script a seguir atribui o valor 1 à variável i. Ele usa então a função eval para criar uma referência para uma ocorrência de clipe de filme e a atribui à variável x. A variável x é agora uma referência à ocorrência de clipe de filme e pode chamar os métodos do objeto MovieClip.

      i = 1; x = eval("mc"+i); x.play(); // isso é equivalente a mc1.play();

      Você pode também usar a função eval para chamar os métodos diretamente, conforme mostrado no exemplo a seguir:

      eval("mc" + i).play();

Receba ajuda com mais rapidez e facilidade

Novo usuário?