Criando um game no estilo Forca no Flash 8 - Parte 1

ActionScript
Enviado por flavio em Ter, 18/03/2008 - 12:20.ActionScript

Perfil

Flávio Márcio M. Gomes é um profissional da área de informática com vasta experiência em multimídia e em diversas linguagens de programação, como: Delphi, Flash, Java, JavaScript, XML, CSS, PHP, MySQL, SqlServer, etc...
Trabalha atualmente em uma empresa de desenvolvimento multimídia educacional como consultor e a dois anos é sócio diretor da Estúdio Multimídia, empresa que desenvolve aplicativos multimídia para web, CD-ROM, DVD, portais administrativos e sistemas distribuídos.

Como desenvolver um game de foca dinâmico utilizando o Flash 8 e ActionScript 2.0

Apresentação

Atualmente, o ensino regular somente não é capaz de suprir todas as necessidades do aluno, fazendo com que as escolas e instituições de ensino busquem ferramentas auxiliarem como a tecnologia para agregar mais valor as aulas e também para que o aluno se socialize mais com esta grande ferramenta que é o micro computador, o utilizando como uma ferramenta de aprendizagem.

Hoje neste primeiro artigo, irei ensinar a vocês como desenvolver um game no estilo do forca, com alimentação dos dados através de variáveis e textos externos, vamos lá?!

O que é necessário?

Adobe Flash 8 e conhecimento básico de ActionScript 2.0;
Conhecimento básico na manipulação de objetos do Flash, como: botões, movieClips e textos;
Instanciar movieClips e botões;

Explicação:

Trabalharemos com a resolução de 800X600 para o palco, com a cor de fundo em branco(tamanho e cores poderão ser ajustados posteriormente).

Irei focar mais na programação do que no layout e diagramação da tela, pois o que nos interessa agora é fazer com que o game da forca funcione...hehehe...

Precisaremos criar alguns arquivos no formato txt. Estes arquivos conterão dados que serão transmitidos para o Flash.

Programando

Crie duas camadas. Uma para as Ações e outra para os demais elementos que compõe o nosso cenário. Para isso, clique no botão de inserir layer, como mostrado abaixo e destacado em vermelho:

Crie três quadros chave. Para isso, clique no primeiro frame e aperte a tecla “F6”, duas vezes.
Veja como ficou:

Salve seu projeto com o nome de forca, por exemplo.

Vamos começar agora com a nossa programação.
No primeiro frame das ações, copie e cole o seguinte código:

//usado para trazer a formatação de textos com a acentuação correta
System.useCodepage = true;
//variável que receberá o total de arquivos vindo de um txt
var totalArquivos:Number;
/*criaremos um objeto LoadVars para para efetuarmos o 
  carregamento das variaveis e conteúdos externos vindo de um arquivo txt*/
var arquivosParaLer:LoadVars = new LoadVars();
//método da classe LoadVars, é chamado quando houver o carregamento do arquivo
arquivosParaLer.onLoad = function(sucesso):Void  {
/*se houve sucesso no carregamento dos dados, iremos atribuir 
  a variável "totalArquivos" que está contida na variavel arquivosParaLer*/
	if (sucesso) {
		totalArquivos = this.totalArquivos;
		play();
	}
};
//método utilizado para carregar um arquivo externo, como um txt por exemplo
arquivosParaLer.load("./forca.txt");
//paramos o filme neste momento, até que o carregamento nos mande para 
// o próximo filme.
stop();

Vamos dar uma pausa na programação em flash, pois agora irei explicar como funcionará os arquivos txt.

Crie um arquivo txt com o nome de foca.txt. Este arquivo conterá a seguinte variável: totalArquivos=10
Isto significa que teremos 10 variações de palavras para serem sorteadas no nosso game da forca.

Veja abaixo como ficará:

Agora, vamos criar os arquivos que serão carregados posteriormente pelo flash.

Os arquivos deverão ter a seguinte nomenclatura:
Jogo1.txt, jogo2.txt, jogo3.txt e assim sucessivamente...

Vamos explorar e entender como funciona os arquivos dos jogos.

Variável total_letras=6
É o total de letras que contém na palavra. Note que a palavra associada é ARANHA.

Variável texto_dica=TEM: ANIMAIS
Esta variável contém o tema que está associado a palavra. No nosso banco de palavras, os temas poderão variar, como: ANIMAIS, VESTIMENTO, BRINQUEDOS, ETC...

As variáveis das letras vão de 0 até 11. Isto que dizer que poderemos ter uma palavra com até 11 caracteres.

As variáveis em arquivo txt são enviadas para o flash separadas por um &.

Veja abaixo a estrutura completa do arquivo jogo1.txt e jogo42.txt (isto porque no meu caso, eu tenho 50 arquivos. No nosso exemplo, precisaremos de apenas 10.)

Criem os dez arquivos txt restantes que precisaremos no nosso exemplo. Fiquem a vontade e usem a criatividade.

Vamos agora voltar para o Flash e começarmos a trabalhar com o layout do nosso game.

A tela conterá os seguintes elementos:
• Fundo;
• Diversos botões com as letras de nosso alfabeto e acentuação;
• Um elemento com 6 variações que servirá como erro da forca(no meu caso eu usei um robô que ira sendo montado na medida que a pessoa erra, e no final ele quebra, saindo uma fumaça na cabeça dele).
• Um botão para sortear uma nova palavra.
• Um movieClip que conterá uma caixa de texto dinâmica dentro.
• Uma caixa de texto dinâmica para aparecer a dica.
• Um movieClip para exibir as mensagens de acerto e erro no final.

Eu não sou bom para desenho, mas este game, eu contratei um design para deixá-lo bem bonito, veja:

Não precisa saber desenhar, mas precisamos ter os mesmos elementos na tela.
Tentem fazer algo parecido para que o comportamento do game seja o mesmo e tudo saia perfeito.

No terceiro frame detalharei melhor esta tela.

Notas finais

- Segunda parte
- Terceira parte
- O código está bem fácil de ser entendido. Com o tempo, você ficará apto a trabalhar com desenvolvimento de jogos/games em Flash.
- Você pode vê-lo funcionando clicando aqui.
- Visite o meu blog, adicione o seu comentário ou envie um e-mail para flavio@estudiomultimidia.com.br.

Abraços.
Flávio Márcio M. Gomes

AnexoTamanho
figura1.JPG1.79 KB
figura2.JPG11.39 KB
figura3.JPG6.91 KB
figura4.JPG14.08 KB
figura5.JPG33.44 KB


Enviado por pequeno (não verificado(a)) em Sáb, 29/03/2008 - 09:58.

oi gostei muito desse site gostaria de aprendemais sera que não dava
pra vcs enviar mais dicas pramim por e-mail.

Enviado por Anderson (não verificado(a)) em Ter, 15/04/2008 - 10:36.

Oi, tudo bem, queri pedir que por favor se puderem me enviar explicações sobre ActionScript, queria aprender o que significa seus principais códigos, obrigado!

Enviado por Flavio Márcio (não verificado(a)) em Ter, 22/04/2008 - 10:22.

Olá Anderson, como vai?

Quais são suas dúvidas? São dúvidas referentes ao script que disponibilizei? Caso seja, terei total dispor em ajudá-lo.

Abraço,
Flávio Márcio.

Enviado por guest (não verificado(a)) em Ter, 20/05/2008 - 14:19.

aonde coloca o arquivo

Enviado por guest (não verificado(a)) em Ter, 20/05/2008 - 16:36.

Olá!

Qual arquivo você está falando?
Por favor, descreva melhor o que você está precisando saber.

Obrigado e abraços,
Flávio Márcio M. Gomes

Enviado por Ester (não verificado(a)) em Sáb, 23/08/2008 - 13:09.

oi...gostaria de saber se é preciso editar o código de alguma forma??
e se é possivel fazer este game no flash mx?? eu tentei fazer mas não funciona.

Enviado por Flávio Márcio (não verificado(a)) em Seg, 25/08/2008 - 11:26.

Olá Ester, como vai?

Você pode editar sim o código, basta baixar o arquivo fonte que disponibilizei para download, veja abaixo.

O Game foi compilado com a versão 8 do Flash. E o Flash MX não abre arquivos na versão superior a ele. Será preciso adquirir o Flash 8 ou senão, faça um download da versão trial no site da Abobe. Você pode fazer o download da versão 8 ou superior.

Para ver o game funcionando, clique no link a seguir: http://www.estudiomultimidia.com.br/projetos/artigos/forca_novo.html

Para baixar uma versão para que você possa abrir e alterar, clique no link a seguir: http://www.estudiomultimidia.com.br/projetos/artigos/game_forca.zip

Atenciosamente,

Flávio Márcio M. Gomes
Estúdio Multimídia - Soluções em Tecnologia
www.estudiomultimidia.com.br
(31) 9156-2828

Enviado por Yugo (não verificado(a)) em Sáb, 06/11/2010 - 12:04.

Gostaria de saber se essa versão do actionscript é a 2.0 ou a 3.0 e se vc tem uma boa apostila sobre actinscript para iniciantes para disponibilizar.
obriado.