UnidadeF Prezado(a) Aluno(a), Nesta unidade, você aprenderá como movimentar um objeto no palco, utilizando o teclado. Para colocar em prática tais conhecimentos, iremos desenvolver um jogo totalmente em Flash. Aproveite a experiência! CRIANDO JOGOS EM FLASH 1. MOVENDO OBJETOS COM O TECLADO Para chamar funções quando o teclado for pressionado, utilizamos o seguinte código: stage.addeventlistener(keyboardevent.key_down, faz); function faz(e:keyboardevent):void{ //faz alguma coisa trace ( estou ligado ); Vamos praticar? 1. Crie um novo arquivo no flash com o nome teclado.fla 2. Escolha o valor 30 para o FPS 3. Mude a cor do palco para amarelo 4. Desenhe um círculo preto 5. Crie um clipe de filme (movieclip) com o nome de instância mc_bola 6. Mude o nome da camada 1 para bola 7. Crie uma nova camada com o nome ações 8. Clique na camada ações e pressione F9 para abrir a caixa Ações 50
9. Digite o seguinte código: var vx:number = 0; var vy:number = 0; var ax:number = 0; var ay:number = 0; stage.addeventlistener(event.enter_frame, onenter); stage.addeventlistener(keyboardevent.key_down, onkeydown); stage.addeventlistener(keyboardevent.key_up, onkeyup); function onenter(e:event):void{ vx += ax; vy += ay; mc_bola.x += vx; mc_bola.y += vy; function onkeydown(e:keyboardevent):void{ if(e.keycode == Keyboard.LEFT){ ax = - 0.1; else if(e.keycode == Keyboard.RIGHT) { ax = 0.1; else if(e.keycode == Keyboard.UP){ ay = -0.1 else if(e.keycode == Keyboard.DOWN){ ay = 0.1; function onkeyup(e:keyboardevent):void{ ax = 0; ay = 0; 2. PROGRAMANDO UM JOGO Clique no menu Arquivo e escolha a opção Novo e ActionScript 3.0. 51
No menu propriedades mude a cor do palco para a cor preta. Com a ferramenta Retângulo, desenhe na esquerda do palco um retângulo branco na vertical e com a ferramenta círculo, faça um pequeno círculo branco no centro do palco conforme figura F.6. Selecione todo o retângulo desenhado e tecle F8 para convertê-lo em símbolo Clipe de Filme. Dê o nome jogador para a instância. 52
Selecione todo o círculo desenhado e tecle F8 para convertê-lo em símbolo Clipe de Filme. Dê o nome de bola para a instância. Abra o painel ações (F9) para começar a programar o jogo. Vamos iniciar programando e testando o jogador (retângulo). Digite o seguinte código: var direcaobolax: Number=10 var direcaobolay: Number=10 var vidas: Number = 5 stage.addeventlistener(keyboardevent.key_down, onkeydown); //stage.addeventlistener(keyboardevent.key_up, onkeyup); function onkeydown(e:keyboardevent):void{ if(e.keycode == Keyboard.UP){ jogador.y -=20; if(e.keycode == Keyboard.DOWN){ jogador.y +=20; if (jogador.y <0) { jogador.y=0 if (jogador.y >400) { jogador.y=400 Teste esta primeira parte pressionando Ctrl + Enter e movimente as setas de direção do teclado para cima e para baixo. Vamos programar agora o movimento da bolinha. Tecle F9 para abrir novamente o painel Ações e digite o seguinte código logo abaixo do código anterior: function onenter(e:event):void{ bola.x +=direcaobolax; bola.y +=direcaobolay; if (bola.y>400){ direcaobolay = -direcaobolay; 53
if (bola.x>550){ direcaobolax = -direcaobolax; if (bola.y<0){ direcaobolay = -direcaobolay; if (bola.x<0){ direcaobolax = -direcaobolax; vidas -=1; if (bola.hittestobject(jogador)){ direcaobolax= -direcaobolax; // código de vidas Podemos colocar um número de vidas em nosso jogo. Para isso crie com a ferramenta Texto um pequeno retângulo no canto superior esquerdo, mude a cor do texto para vermelho, dê o nome mostra_vidas para a instância e digite o seguinte código abaixo do comentário //código de vidas. var str:string = vidas.tostring(); mostra_vidas.text = str; Teste o seu jogo e divirta-se!!! 54
ATIVIDADE F Jogo Caro(a) aluno(a), Nesta unidade você aprendeu a mover objetos com o teclado, mas é possível mover objetos com o Mouse. Pesquise sobre o assunto compartilhando com seus colegas no Fórum Movimentando Objetos e crie um jogo de tiro ao alvo. Bom trabalho!!! 55
56