terça-feira, 26 de junho de 2012

Primeiramente vamos criar um novo documento Flash ActionScript 2.0.
Vamos adicionar dois quadrados, um que será movimentado e outro que será feita a colisão.


Converta os dois desenhos para um MovieClip, clique com o botão direito e selecione Convert to Symbol... selecione MovieClip na tela que aparece e clique OK.








Na guia Properties, altere o nome dos objetos para "quadrado" e "parede".
Quadrado é o quadrado azul e parede é o verde.


Clique com o botão direito no primeiro Frame da Layer1 e selecione Actions.. e vamos colocar a "mão na massa".



Adicione o seguinte código:

this.onEnterFrame = function(){
// se a tecla for para baixo
if(Key.isDown(Key.DOWN)){
  // move o quadrado + 10 no eixo y
  quadrado._y += 10;
        }
 // tecla para cima
 else if(Key.isDown(Key.UP)){
  // - 10 no eixo y
                quadrado._y -= 10;
        }
 // esquerda
 else if(Key.isDown(Key.LEFT)){
                // - 10 eixo x
  quadrado._x -= 10;
        }
 // direita
 else if(Key.isDown(Key.RIGHT)){
                // + 10 eixo x
  quadrado._x += 10;
        }
 
        // se parede colidiu com quadrado
 if(parede.hitTest(quadrado)){
  // faça alguma coisa
  trace("colidiu");
  }
}

Usamos o evento isDown para verificar se cada tecla foi pressionada e usamos em seguida o valor da tecla:

Key.isDown(Key.)

Assim se retornar verdadeiro, a condição if será executada.
Lembre-se que, o eixo onde o objeto é movimentado para cima e para baixo, é chamado de Y, e o eixo da horizontal é chamado de X. Você pode alterar o valor de cada incremento ou decremento de cada eixo.

Repare que usamos o hitTest para testar uma colisão com os seguintes parâmetros:

.hitTest(objeto2)

O hitTest retorna um valor lógico (true ou false), se for true nesse caso, será exibido no output a mensagem "colidiu".

Abraços e até a próxima.




0 comentários:

Postar um comentário