Estou aqui trazendo agora um tutorial bem interativo: Como mover um Objeto pelas setas do teclado.
Neste tutorial, eu irei introduzir um ActionScript mais avançado do que de costume, um tipo de Action que eu quase não domino ainda.

O que nós iremos fazer exatamente agora é:
Criar um círculo que, ao apertar uma das setas do teclado, irá de movimentar de acordo com a direção. Queremos reproduzir as setas do teclado em desenho que, quando realmente apertar uma seta, mude a cor da seta desenhada.
Como sempre, falando parece ser muito difícil, mas vocês vão ver que não é muito.
Bom, vamos começar então. Eu acho melhor vocês seguires as instruções, depois que vocês pegarem o jeito vocês podem configurar como quiserem.
Vamos lá.
• Crie um novo arquivo com o tamanho de 500x500 com o Frame Rate 60.
• Faça um círculo de mais ou menos 100x100 de tamanho e transforme-o em um MovieClip. Dê a ele a intância ( nome ) de bola.

• Em uma nova camada, desenhe as setas do teclado e transforme cada uma, individualmente, em um MovieClip. Istancie cada uma com o nome de sua respectiva posição: baixo; cima; direita; esquerda.

• Após feito isso, entre em uma das setas e crie uma nova camada, que será nossa camada para por Actions. O MovieClip terá 3 frames: a 1ª para a tecla estática, ou seja, do jeito que ela irá ficar inicialmente; e a 2ª e 3ª para a seta quando for pressionada a seta corresponde no teclado. No primeiro frame, na camada de Actions, coloque um stop(); no primeiro frame e isole-o.

Nos dois últimos frames deste MovieClip, deixe a seta um pouco mais escura para haver diferença ao pressionar as setas.

• Pronto, agora vem o clímax deste tutorial: as Actions.
Volte para a Cena, crie uma nova camada chamada Actions e coloque a seguinte Action nela: ( Não se assustem )
bola.onEnterFrame = function () {
if (Key.isDown(Key.RIGHT)) {
direita.gotoAndPlay(2);
this._x += 5;
} else if (Key.isDown(Key.LEFT)) {
esquerda.gotoAndPlay(2);
this._x -= 5;
}
if (Key.isDown(Key.UP)) {
cima.gotoAndPlay(2);
this._y -= 5;
} else if (Key.isDown(Key.DOWN)) {
baixo.gotoAndPlay(2);
this._y += 5;
}
if (this._x<0) {
this._x = 1;
}
if (this._x>500) {
this._x = 500;
}
if (this._y<0) {
this._y = 1;
}
if (this._y>500) {
this._y = 500;
}
}
Ok, agora eu tentar explicar o que é o que aqui.
bola.onEnterFrame = function () {: Começa uma função do MovieClip com istância bola.
if (Key.isDown(Key.RIGHT)) {: Se caso ( if ) for pressionada a tecla ( Key.isDown ) para a direita ( Key.RIGHT )...
direita.gotoAndPlay(2);: Objeto de istância direita ( Seta para direita ) vai para o segundo Frame...
this._x += 5;: E o Objeto indicado ( this. ), que no caso é o MovieClip bola, anda horizontalmente ( _x ) e positivamente ( + [ + é pra direita, - pra esquerda ] ) 5 pixels.
} else if (Key.isDown(Key.LEFT)) {: Se pelo contrário ( else if ) a seta esquerda for pressionada ( (Key.isDown(Key.LEFT)) )...
esquerda.gotoAndPlay(2);: O MovieClip de istância esquerda ( A seta para a esquerda ) vai para o segundo Frame...
this._x -= 5;: E o Objeto indicado ( this. ) anda horizontalmente ( _x ) e negativamente ( -, que é igual a esquerda ) 5 pixels.
Após essas linhas terão os mesmos comandos, só que para cima e para baixo, sendo a movimentação vertical ( _y ) e - = cima e + = baixo.
if (this._x<0) {: Se o Objeto indicado ( this. ) estiver em uma posição menor que 0 ( Fora do palco da animação )...
this._x = 1;: O Objeto indicado ( this. ) vai horizontalmente para o pixel 1, ou seja, a borda.
Do mesmo modo...
}
if (this._x>500) {
this._x = 500;
}
E verticalmente também...
}
if (this._y<0) {
this._y = 1;
}
if (this._y>500) {
this._y = 500;
}
Isso serve para criar uma parede invisível, limita o espaço da bola, ela não poderá sair do palco, deu pra entender?
Bom, podem agora apertar Ctrl + Enter para testar seu filme, ele deve ficar mais ou menos assim:
• Clique aqui para ver o resultado final esperado
Espero que vocês tenham entendido isso, se tiverem qualquer dúvida, podem postar aqui.

Clique aqui para ver o .fla deste Tutorial
Abraços,
Henrique P.L.
Usuário de Flash desde 2003