Publicado por Maurício Piccini em Sem categoria
Para vocês se divertirem no fim-de-semana (não, vocês não têm nada pra fazer longe do computador, não enganam ninguém), indico o tutorial de Tonypa.
Os códigos disponíveis no site foram feitos a partir do Flash 5, e devem funcionar normalmente até o Flash 9. Estou utilizando-os na versão Adobe Flash 10, mas o modelo de uso do ActionScript foi alterado. Logo, funciona como em “compatibilidade”. Quem não possui o software de desenvolvimento Flash (agora Adobe Flash, na versão 10), boas notícias no fim do post.
Como uso os tutoriais?
Primeiro, para conhecer o jogo por dentro, identificar os mecanismos que fazem as personagens se mover e interagirem umas com as outras e com os cenários.
Segundo, para exercitar a criatividade, alterar pequenas porções do jogo e criar algo conforme nosso gosto.
No tutorial Shoot him, tut10a.swf – esse é o modelo de um jogo completo (exceto pelo som). Cenário, personagem principal, inimigos, dinâmica de movimento de um jogo de plataforma, todos os elementos estão lá. Nada foi elaborado além da parte “jogo”. As personagens não possuem personalidades distintas (apenas a cor distingue a personagem do jogador dos inimigos). O ambiente pode ser uma dungeon ou um labirinto ou qualquer coisa. São só quadrados pretos por enquanto. Código-fonte disponível em: http://www.tonypa.pri.ee/tbw/tut10a.fla.
Além dos comandos de movimento, o shift – atirar e espaço – saltar.
O mapa é descrito pelas seguintes linhas (linhas 4 a 15, no código):
myMap1 =
[[1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 1, 4, 0, 0, 0, 1],
[1, 0, 0, 5, 0, 1, 0, 1],
[1, 0, 0, 5, 0, 0, 0, 2],
[1, 1, 1, 1, 1, 1, 1, 1]];
myMap2 =
[[1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 1, 1, 1, 4, 0, 1],
[3, 0, 0, 0, 0, 5, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1]];

Os valores 1 indicam as paredes pretas; 2, um fundo cinza, que será a porta do mapa 1; 3, um fundo cinza, que será a porta do mapa 2; 4, a escada sobreposta à parede preta; e 5, a escada.Basta alterar essas linhas para alterar o mapa.
Para complicar um pouco, é possível alterar o lugar das portas. Mas alterar apenas os números no mapa não altera o destino da personagem ao atravessar a porta. Quer dizer, a porta codificada com o 3, sempre vai levar à posição x=6, y=4 (como o primeiro é sempre o zero, sétimo quadrado da esquerda para a direita e quinto de cima para baixo).
game.Tile2 = function () { };
game.Tile2.prototype = new game.Doors(2, 1, 4);
Ou “tipo 2″ é uma nova porta que leva ao mapa 2, posição x=1 (segundo quadrado, da esquerda para a direita), y=4 (quinto, de cima para baixo).
game.Tile3 = function () { };
game.Tile3.prototype = new game.Doors(1, 6, 4);
Ou “tipo 3″ é uma nova porta que leva ao mapa 1, posição x=6 (sétimo quadrado, da esquerda para a direita), y=4 (quinto, de cima para baixo).
Muito bonito, mas… e se eu estiver começando a programar jogos?

Herói 8 bits "clássico"
Sem mexer no código, é possível alterar as personagens e as imagens do ambiente. Cada uma delas é um objeto independente na biblioteca Flash.
Podemos alterar a imagem da personagem principal, que é basicamente um quadrado para fazer de conta que o jogo é de 8 bits (ou menos), e colocar um pouco de personalidade nela.

Tecnozilla 8 bits
Por exemplo, tentando fazer um TecnoZilla de 8 bits…
Então, eu não tenho Flash para programar.
Aí, já é demais, não?
Eu dou uma forcinha. É possível alterar o código para que vocês criem seus próprios jogos sem precisar programar. Vocês podem esperar o próximo post, ou algum alma caridosa pode fazer isso e enviar para Tecnozilla publicar.
Sem programar nada?
Quase, vocês vão precisar “programar” o cenário, mas como vimos não é tão difícil. Como as imagens são independentes, elas podem ser retiradas de dentro do código Flash e “chamadas” pelo jogo quando necessárias.
Mais sugestões para tutoriais ou dúvidas sobre este? É só pedir.