Manipulando Símbolos – Métodos

Tutorial actionscript 3

metodos

/ Tutoriais

Figura 1 - Método stop() e Tween na timeline principal.

Figura 1 - Método stop() e Tween na timeline principal.

Vamos então executar o exemplo da figura 1. Ao ser executado, esse projeto irá permanecer parado na frame 1. O Tween que criamos não será executado. Isso ocorre por conta do comando (chamada ao método) “stop()”. Ao escrevermos “stop()” no Action Script estamos invocando um método sobre o MovieClip dono da timeline onde escrevemos o comando, e que no caso do nosso exemplo é o root. O root é a timeline principal de um projeto, e também é um movieclip. Ao escrevermos o comando “stop()” na timeline principal e como nao especificamos nenhum alvo (o que poderiamos fazer através do operador ‘.’), o flash buscará pelo método “stop()” no root, executando-o, e fazendo com que o filme interrompa sua reprodução em sua timeline principal. Ou seja, o mesmo principio de escopo das propriedades se aplica ao método. Ao escrevermos uma chamada a função em uma frame na timeline do root ou de um símbolo, o flash buscará por aquele método na lista de métodos do símbolo (dono da timeline) e dentre as funções que criamos. Assim, podemos observar uma forma alternativa de invocarmos métodos, sem utilizar o caractere “.” (ponto), omitindo a instancia a qual estamos nos referindo. O flash assumirá que a instancia desejada é a que possui a timeline onde escrevemos o método. O mesmo resultado poderia ser obtido se o Tween estivesse presente dentro do MovieClip do quadrado preto, nomeássemos este de por exemplo “quadrado”, e utilizássemos o comando “quadrado.stop();” na primeira frame da timeline principal:

Figura 2 - Tween dentro do símbolo, e método stop() sendo chamado sobre a instancia do quadrado.

Figura 2 - Tween dentro do símbolo, e método stop() sendo chamado sobre a instancia do quadrado.

Nesse caso estamos especificando quem é o alvo do comando” stop()”: o movieclip de nome “quadrado”. Assim, a ação”stop()” será executada apenas sobre esse objeto, interrompendo a reprodução apenas de sua timeline. Podemos utilizar também, o método “play()” ou “gotoAndPlay()” para iniciar a reprodução da timeline de um MovieClip. Se acrescentarmos a chamada ao método “play();” logo após a chamada ao método “stop();” em qualquer um dos exemplos anteriores, veremos que o Tween criado será reproduzido (lembrando que no segundo exemplo precisamos utilizar “quadrado.play();”). O método “gotoAndPlay()” é um pouco diferente. Ele recebe um argumento. Argumentos definem parâmetros para os métodos que estamos invocando, eles servem para se especificar parte do comportamento do método (veja mais no artigo sobre Funções). O método “gotoAndPlay()” recebe como argumento a frame para onde desejamos que a reprodução do filme vá. O playhead da timeline do objeto para o qual estamos invocando o “gotoAndPlay()”, será desviado para a frame que especificamos como argumento do método, e a partir dali o filme será reproduzido. No exemplo da figura 1, se após o “stop();” adicionarmos “gotoAndPlay(30);”



Arivan Bastos

Analista de sistemas, desenvolvedor Web e de games. Possui domínio de PHP, SQL e ActionScript 3. Possui conhecimentos avançados em Starling Framework, Corona SDK e Yii Framework. Atua na Virtualize na criação de sites, desenvolvimento de jogos, desenvolvimento de aplicativos mobile e desenvolvimento de aplicativos para redes sociais.