Anda di halaman 1dari 4

Movimentao bsica de objetos

Vamos ver agora como fazer os objetos se movimentarem no palco utilizando a programao. Crie um novo arquivo e salve-o com o nome de movimentacao movimentacao. acao.fla. fla Comece alterando o tamanho do palco para 400 x 400. Depois crie duas camadas na linha do tempo, uma chamada aes e outra abaixo chamada interface. Na camada interface, crie quatro quadrados, com 50 x50 pixels. Transforme cada quadrado em um MovieClip e depois instancie cada um com os respectivos nomes mc1, mc2, mc3 e mc4. Clique na camada aes e abra o painel de aes e coloque o seguinte cdigo: var velocidade:Number = new Number(); Est varivel chamada velocidade ser do tipo numrico e armazenara o valor que far os objetos se mover no palco. Em uma nova linha digite. _root.mc1._y = -40; _root.mc2._y = 440; _root.mc3._x = 440; _root.mc4._x = -40; O que foi feito agora, as linhas acima posiciona cada MovieClip em suas respectivas posies, a primeira linha coloca o mc1 para fora do palco com seu eixo y (vertical) igual a -40, ou seja, ficar acima do palco. A segunda linha coloca o mc2 para fora do palco com seu eixo y igual a 440, as linhas 3 e 4 fazem o mesmo, s que no eixo x (horizontal). Observe a figura abaixo.

Eixo Y

Eixo X +

Leganda: Para facilitar a compreenso, o eixo Y e sempre na vertical e o eixo X sempre horizontal. Aqueles sinais de mais (+) e menos (-), significam que para cima e para esquerda estar diminuindo e para baixo e para direita aumentando, sempre que for fazer qualquer animao usando o AS deve-se lembrar disso.

Agora em uma nova linha digite: onEnterFrame = function():Void { } O comando onEnterFrame utilizado quando queremos que o cdigo se repita infinitamente. muito utilizado quando a linha do tempo possui apenas um nico frame ou quando toda a animao feito com o uso do ActionScript. No nosso caso, temos apenas um nico frame em nossa animao. Por isso necessitamos do uso desse comando para fazer os objetos se movimentar. Agora coloque entre as chaves o seguinte cdigo: velocidade = 10; _root.mc1._y += velocidade; _root.mc2._y -= velocidade; _root.mc3._x -= velocidade; _root.mc4._x += velocidade;

Na primeira linha a varivel que criamos no comeo do cdigo receber seu valor que ser igual a 10. Ou seja, os objetos se

movimentaram a cada 10 pixels no seu eixo. Isso ocorre por causa do onEnterFrame, que atualiza sua posio a cada loop aumentado de acordo com as quatro linhas seguinte, a segunda linha, move o quadrado a cada dez pixel, somando e atribuindo o valor da velocidade ao objeto mc1, que o faz descer. A terceira linha subtrai e atribui o valor da varivel velocidade ao objeto mc2, fazendo com que ele suba. A quarta linha tambm subtrai e atribui o valor da varivel ao objeto fazendo com que ele v da direita para esquerda. E na ultima linha, soma e atribui o valor da varivel ao objeto fazendo com que v da esquerda para direita. Nas prximas linhas de cdigo faremos que quando os objetos ultrapassarem os limites do palco, voltem para sua posio inicial. Digite o seguinte, ainda dentro das chaves. if (_root.mc1._y > 440) { _root.mc1._y = -40; } if (_root.mc2._y < -40) { _root.mc2._y = 440; } if (_root.mc3._x < -40) { _root.mc3._x = 440; } if (_root.mc4._x > 440) { _root.mc4._x = -40; } Chegamos ao fim de nosso cdigo. Essas linhas so responsveis por fazer nossa animao acontecer, sem elas os objetos seguiria seu trajeto infinitamente. O primeiro comando if(), faz a seguinte pergunta, se o eixo y do objeto mc1 for maior que 440, seu eixo y passar a ser -

40. O mesmo ocorre com o segundo if(), se o eixo y do mc2 for menor que -40, seu eixo y passar a ser igual a 440. Isso ocorre nos dois ltimos comandos if(), s que no eixo x. Pronto! Ao testar o filme ver os objetos se movimentando.

Anda mungkin juga menyukai