GABRIEL SPORCH (53 pts)

DEMIS BUCCI (50 pts)

ILVA RUDEV (90 pts)

FLASHGURU (155 pts)

DANIELA PIRES (86 pts)

EDUARDO WALMOTT (226 pts)

PEDRO CLAUDIO (50 pts)

KEN AWAMURA (130 pts)

ZECA BALA (45 pts)

SASHA GUDEY (235 pts)

EDUARDO PERROUD (52 pts)

SÁVIO PONTE (39 pts)
Treinamento PontoFlash de Flash e ActionScript

Como duplicar um movieclip em três posições diferentes determinadas?

Como criar uma sistema de senhas e login usando Flash e ASP?

Alguém sabe como funciona os parâmetros do startdrag? StartDrag (beleza1, false, 70, 15, 70, 180);. O que seria estas medidas?

Como fazer um efeito alpha no Flash5?

Desenhar polígonos no Flash dinamicamente.

Como eu faria um exemplo com zoom no flash?

Como fazer um botão desligar o som com um clique e ligar com outro clique sobre ele mesmo?

Como fazer um objeto desfocado em movimento?

Tem como colocar numa máscara um moviclip gerado dinamicamnente via attachMovie?

Efeito fade (alpha gradativo) de um objeto em colisão.

Como faço um stop and play no som.

Como dar um bom dia, boa tarde e boa noite dependendo da hora?

Como fazer o FSCommand executar um outro arquivo no FlashMX?

Como fazer um efeito embaçado (efeito blur) no Flash?
O desenho animado abrindo sites.

Mouse trail.

Como fatiar um site modelo portal no Fireworks

Controlando MovieClip pelas teclas direcionais.

Imagens transparentes usando PhotoShop, Fireworks e Flash.

Objeto Movieclip - Propriedades

Scroll - Rolagem de textos e Imagens

Clica nuaicon - Photoshop 6

Action Script 2.0 (Primeira Parte)

Turbine seu Fireworks

Comunicação Flash-PHp-MySql - introdução

Plugins variados para seu trabalho em design
The Vars

Starfield

Loop infinito

Double cube

Lightball

Drag menu F5

Static

Flashdj

Photo album

Duplicate MC

Tabela periodica

Folha dobrada
HOME | TUTORIAIS
Jogo da Forca
por Alexandre Porto

1 / 2 / 3

 

Nesse tutorial vamos tentar criar um jogo de forca usando palavras importadas de um arquivo TXT. Dessa forma, você poderá alterar as palavras usadas no jogo sem ter que abrir seu arquivo FLA. Usei um arquivo txt por ser mais simples, mas é claro que você poderia fazer a integração mais dinâmica com ASP, PHP, XML etc. Mas esse não é o nosso objetivo desse tutorial. Na verdade ele traz para você algumas noções de como manipular variáveis, duplicar Movieclips, trabalhar com loops "for", mas principalmente, capturar, controlar e concatenar strings.

   Clique aqui para ver o exemplo desse tutorial funcionando. Repare que o exemplo mostrado contém campos de texto para mostrar algumas variáveis declaradas nos scripts, apenas para efeito didático.

Estou curioso.

Vamos lá.
Primeiramente vamos trabalhar esse arquivo TXT. Você já deve saber, e se não sabe vai aprender agora, que para gerar várias variáveis importáveis no Flash em um único arquivo de texto é necessário o uso do "&" como divisor. Abra o seu NotePad e digite o seguinte (ou copie e cole):

PALA0=VASCO DA GAMA&pala1=FLAMENGO&pala2=FLUMINENSE&pala3=BOTAFOGO
&pala4=CRUZEIRO&pala5=ATLETICO MINEIRO&pala6=SAO PAULO
&pala7=PALMEIRAS&pala8=CORINTHIANS&pala9=SANTOS 

Depois salve-o com o nome "forca.txt".

   Eu usei nomes de variáveis "pala" seguido de um número para facilitar a programação randômica que irá sortear a palavra usada no jogo. Mas isso você vai ver depois. Coloque tudo seguido, desse jeito, sem espaços. Se você inserir uma quebra de linha, o Flash vai entender como um caracter e bagunçar a programação. Vamos começar com 10 itens para os primeiros testes. Como sou "mapista", escolhi alguns países do nosso planeta.

E no Flash, como vai funcionar?

Bem, como as palavras que serão "pescadas" têm uma quantidade variável de letras, achei que uma boa solução seria ter um, e apenas um, campo de texto dinâmico inserido dentro de um movieclip. Este seria duplicado dinamicamente (duplicateMovieclip), de acordo com o número de letras da palavra sorteada (variavel.length). Lembre-se que eu disse que essa escolha seria randômica.

   Crie um filme com fundo preto e 700X300 pixels. Fiz comprido assim para que possa caber uma palavra ou um conjunto de palavras maiores, mas isso é detalhe. No primeiro frame da timeline principal, vamos carregar o arquivo ,TXT.

loadVariablesNum ("forca.txt", 0);

Agora vamos criar um movieclip onde serão inseridos, posteriormente, os campos de texto que mostrarão as letras escolhidas pelo jogador. Como os movieclips e letras serão gerados e posicionados dinamicamente, é preciso que você pense com antecedência o tamanho e a posição do primeiro movieclip. No meu exemplo ele recebeu o nome de instância "q0" e foi posicionado, na timeline principal, segundo as coordenadas 30X30. Nele, inseri um gráfico de 30X60 pixels.

   Vamos criar agora, na timeline principal, um outro movieclip de nome de instância "actions". Esse movieclip terá apenas actions, como indica seu nome ...

   Insira esse código nele (você pode tirar os comentários):

onClipEvent (load) {
 pos = q0._x+40;
 // variável que será usada para posicionar os campos de texto
 u = random(10);
 // seu valor randomizado será concatenado para importar a palavra
 palavra = _root["pala"+u];
 // aqui escolhemos a variável da palavra que será usada pelo jogo
 numeroQuadros = palavra.length;
 // aqui capturamos o número de letras da palavra
 for (i=0; i<numeroQuadros; i++) {  
// condicional "for" usando o número de letras de palavra
   duplicateMovieClip (_root.q0, "q"+i, i);
   // aqui duplicamos o movieclip
   _root["q"+i]._x = pos;
   // aqui posicionamos os movieclips
   pos += 35;
   // aqui definimos a distância entre os movieclips duplicados
   }
 }

esumindo, se a palavra sorteada for "brasil" (pala0), serão duplicados 5 movieclips (original + 5 = 6). Eles serão posicionados lado a lado no stage e cada um deles conterá uma variável chamada "mostrar", que terá como valor uma letra de "palavra":

Q0 =B, Q1 =R, Q2 =A, Q3 =S, Q4 =I, Q5 =L

Nota: Essa variável será criada mais tarde, quando trabalharmos no movieclip/letra (q0).

   Teste o filme.

   Se você seguiu esses passos, já vai poder ver os movieclips sendo espalhados pelo palco. Inclua uma ação trace para ver a palavra escolhida.

trace (palavra);


Bonitinho, mas eu quero jogar logo.

Calma, calma. Ainda há muito o que fazer. Vamos voltar agora para o movieclip/letra, cujo nome de instância é "q0", e programar a forma como a palavra sorteada será checada e mostrada.

   Entre na área de edição do movieclip (duplo clique nele). Vamos criar dois campos de texto dinâmicos. O campo "mostrar" mostrará a letra digitada corretamente pelo jogador. Já o campo "letraAtual" servirá apenas para você ver o funcionamento durante a edição do FLA. Delete esse campo de texto depois do trabalho concluído, pra esconder o pulo do gato :)).

Nota: coloque um campo de texto embaixo do outro, numa camada acima do
gráfico/fundo 30X60, criado acima.

   Crie agora um outro movieclip dentro desse movieclip. Você pode dar o nome de instância "action" também para ele, já que está em uma timeline diferente do outro. Se você acha que isso pode te confundir, troque para "brasilvaisercampeao". Ele também só vai conter actions. Vamos lá:

onClipEvent (load) {
 nome = _parent._name;
 // aqui eu capturo o nome de instância do movieclip,
 // que será único para cada um duplicado (q1, q2 ... etc).
 linha = nome.substr(1);
 // aqui eu capturo o segundo caracter dos nomes de instância.
_parent.letraAtual = _root.action.palavra.charAt(linha);
 // aqui eu encontro a letra correspondente ao valor de "linha".
}
onClipEvent (enterFrame) {
 // aqui tenho outro evento de repetição.
 if (_root.digitado == _parent.letraAtual) {
 // esse comando checa o botão antes de mostrar  o texto.
 // ainda vamos ver o código inserido no botão.
  _parent.mostrar = _parent.letraAtual;
  // finalmente eu mostro a letra digitada corretamente.
  }
_root.digitado = _root.digitado.toUpperCase();
  // transformo a variável em caixa alta.
}

E o botão?

Agora vamos criar a interatividade, isto é, um campo de texto de entrada e o botão que irá checar se a letra digitada pelo jogador está correta. Para esse campo de texto, eu associei a variável "entrada". Muito original, não?

Agora falta o botão. Nele será inserido o seguinte código:

on (release, keyPress "<Enter>") {
  digitado = entrada;
  entrada = "";
  Selection.setFocus("_root.entrada" );
}

   Quem sabe você também não poderia criar botões com as 26 letras do alfabeto para enviar essa informação? Veremos isso na segunda parte do tutorial. O código seria então:

on (release) {
  digitado = "a";
  // ou outra letra qualquer
  }

Não entendi ... !!!! Porque uma nova variável declarada?

Seguinte, vou explicar: você poderia simplesmente colocar, nos movieclips duplicados, diretamente um campo de texto "_root.entrada". Mas, nesse caso, assim que o jogador digitasse a letra, ela seria mostrada, e não é isso o que queremos. Ela só deve aparecer depois da confirmação, com o botão pressionado.

E quando for uma palavra composta com espaços, como Costa Rica?

hummmmmmmm.
Será que não pensei nisso?
Acho que dá para fazer uma gambiarra. No final do evento "enterframe" do movieclip "_root.q0.actions", coloque a seguinte instrução:

if (_parent.letraAtual == " ") {
  setProperty (_parent, _visible, "0");
  }

Repare que há um espaço entre as aspas. Agora, quando a palavra for composta, o movieclip duplicado correspondente ao espaço em branco fica invisível.

   Bom, por enquanto é só. Na segunda parte do tutorial, veremos como colocar botões com as letras para o jogo.


   Clique aqui para ver o exemplo desse tutorial funcionando. Repare que o exemplo mostrado contém campos de texto para mostrar algumas variáveis declaradas nos scripts, apenas para efeito didático.

   Até a próxima



Devido à reformulação implementada no site, pode ser que você encontre alguns links quebrados. Por favor, ajude-nos a corrigir eventuais problemas nos informando links quebrados
3 comentários


Comentário de Andre
| 26/9/2012 - 17:22 |
http://http://www.pontoflash.com.br/truques_con.php?autor=58

Eu estou criando um jogo e queria saber como fazer quando o ponteiro do meu relogio passar a area do relogio, a area do relogio fique com o alpha 0



Comentário de Andre
| 26/9/2012 - 17:22 |
http://http://www.pontoflash.com.br/truques_con.php?autor=58

Eu estou criando um jogo e queria saber como fazer quando o ponteiro do meu relogio passar a area do relogio, a area do relogio fique com o alpha 0



Comentário de Andre
| 26/9/2012 - 17:22 |
http://http://www.pontoflash.com.br/truques_con.php?autor=58

Eu estou criando um jogo e queria saber como fazer quando o ponteiro do meu relogio passar a area do relogio, a area do relogio fique com o alpha 0