domingo, 19 de agosto de 2007

Jogo 1: O enigma das luzes

O enigma das luzes contém um painel com vários botões azuis e um cadeado. O objetivo do jogo é simplesmente abrir o cadeado, mas para conseguí-lo você precisará deixar todos os botões verdes. Cada click sobre um botão irá alterar sua cor e também a cor dos botões vizinhos.



Ler tutorial * Montagem
Crie um novo símbolo (Ctrl+F8).
No símbolo, desenhe a figura de um botão azul.
Adicione um keyframe no quadro 2 do símbolo.
No keyframe 2, altere o botão para verde.
Crie outro símbolo (Ctrl+F8).
Nesse símbolo, desenhe um cadeado fechado.
Insira um novo keyframe e desenhe um cadeado aberto.
Volte para o documento (Ctrl+E).
Insira (arraste para o palco) 25 botões (5x5).
Clique no cadeado e altere seu nome na janela de propriedades para 'cadeado'.
Clique no primeiro botão (acima a esquerda) e altere seu nome (na janela de propriedades) para 'n00', o próximo botão (a direita) altere para 'n01' e continue até 'n04'. Na linha seguinte, mude o nome dos botões para 'n10' até 'n14'. Continue alterando até o último botão se chamar 'n44'.

* Programação
Abra a janela de ActionScript (F9).
Na timeline do cadeado, clique no keyframe 1 e digite:
stop(); Na timeline do botao, clique no keyframe 1 e digite:
stop();

mudar = function() {
if (_currentframe==1) gotoAndStop(2);
else gotoAndStop(1);
}

onPress = function() {
_root.checar(_name);
}
Na timeline do documento, clique no keyframe 1 e digite:
q = 5;

checar = function(nome) {
m2 = m1 = m = nome.charAt(1);
n2 = n1 = n = nome.charAt(2);
m1--; n1--;
m2++; n2++;
this["n"+m+n].mudar();
if (m>0) this["n"+m1+n].mudar();
if (m<q-1) this["n"+m2+n].mudar();
if (n>0) this["n"+m+n1].mudar();
if (n<q-1) this["n"+m+n2].mudar();
for (m=0; m<q; m++)
for (n=0; n<q; n++)
if (this["n"+m+n]._currentframe==1) {
cadeado.gotoAndStop(1);
return;
}
cadeado.gotoAndStop(2);
}