DAAFY (55 pts)

DEN IVANOV (260 pts)

DANIELA PIRES (86 pts)

GUILHERME SCHEIBE (49 pts)

EDUARDO PERROUD (52 pts)

NETO LEAL (116 pts)

LUI FERNANDO (151 pts)

MARCELO SIQUEIRA (96 pts)

JOÃO NETO (78 pts)

LEANDRO AMANO (83 pts)

BÁRBARA TOSTES (64 pts)

STICKMAN (155 pts)
Treinamento PontoFlash de Flash e ActionScript

Como faço pra adicionar uma site a meus favoritos via actionscript?

Consegui usar o XML com ASP, mas ainda não consegui colocar no flash.

Problemas com actions condicionais.

Quero que quando eu passar o mouse sobre um botão, um movie clipe seja carregado em um determinado ponto da tela.

Como gerar valores randômicos (aleatórios) que não se repitam?

Preciso que de um botão se abra uma nova mensagem no outlook?

Como fazer um cursor customizado mostrando a mãozinha no mouseOver do botão?

Porque quando inserimos movie clip na cena principal, o mesmo vai representado apenas por uma bolinha?

Preciso que um campo de texto exiba um arquivo txt e como usar o loadVars?

Como fazer um ponteiro de um relógio girar sem parar?

Eu gostaria de que quando alguém desse um clique num link meu filme em flash abrisse em full screen, e um botão para fecha-lo.

Como eu faço no flash para um logo girar como se fosse um 360º só que na horizonal?

Como fazer um objeto andar no MouseOver?

Como adicionar um site aos favoritos num botão do Flash?
Comunicação Flash-PHp-MySql - introdução

Criando texto neon.

Scroll - Rolagem de textos e Imagens

Dicas para otimizar seu SWF (revisado e atualizado).

Rotacionar objetos 3D no Flash.

Motion Guide (guia de movimento).

Alterando Artistic Media no Corel Draw.

Detecção do FlashPlayer.

Desenhando interativamente no Flash 5

Objeto Math.

Criando uma nova categoria (paleta) na Barra Insert do seu Dreamweaver.

Separar mensagens das listas das pessoais, usando o Outlook
Flying letters

Menu popop de pastas 2

Particles

Load image

Frameload

Zoom rotate e pan

Gettimer

Motionblur

Menu XML

Throwballs

Scroll f5

Drag Image
HOME | TUTORIAIS
Jogo da Forca (segunda parte)
por Alexandre Porto

1 / 2 / 3

 

Nessa segunda parte do tutorial Jogo da Forca, vamos criar os botões/letras para que o jogador possa ter também essa opção, além de digitar a letra. É claro que poderíamos criar 26 botões normalmente e atribuir uma letra a cada um, mas eu tenho uma idéia melhor que, além de tudo, fará com que o filme fique bem menor.

   Na verdade, usaremos um código muito parecido com o que usamos para duplicar os campos de texto no tutorial anterior. Na pior das hipóteses, você vai aprender a criar uma função simples.

   Pretendo criar um filme novo exclusivo para os botões. Por isso introduza uma ação "load movie into level", para abrire esse novo filme. Coloquei isso como FrameAction junto ao Load Variables.

loadVariablesNum ("forca.txt", 0);
loadMovieNum ("botao.swf", 1);

Para que os botões fiquem alinhados na parte de baixo do jogo, abra o arquivo "Forca.fla", pressione Ctrl+M e aumente a altura de 300 para 400. Assim criamos um espaço extra.

   Agora crie um novo filme idêntico ao filme principal (750X400). Vamos utilizar apenas os 100 pixels da parte de baixo desse novo filme, para não sobrepor a animação do principal.

   Criaremos um movieclip com dois frames. No primeiro frame colocaremos um botão ativo. No segundo, apenas um gráfico simulando o botão inativo. Numa camada superior colocaremos um campo de texto "letra" com os dois frames do movieclip. Assim a letra será mostrada nos dois estágios do botão (ativo/inativo). No primeiro frame desse movieclip, coloque uma ação de stop. Arraste esse movieclip para o canto inferior esquerdo do filme.

Crie agora um movieclip "action", nos mesmos moldes do anterior. A action introduzida nesse movieclip é muito semelhante.

onClipEvent (load) {
 nome = _parent._name;
 linha = nome.substr(1);
}
onClipEvent (enterFrame) {
 _parent.letra = _root.actionb.palavraB.charAt(linha);
}

   Nele, eu checo o nome do movieclip/botão e capturo suas strings, que serão usadas para importar a letra correspondente ao botão. Praticamente a mesma ação usada anteriormente.

Pronto o botão está feito. Agora vamos duplicá-lo 25 vezes.

   Na timeline principal crie um novo movieclip "actionb". Agora, como já introduzi, vamos criar uma função como sub-rotina. Algo bem simples.

O que é uma função e porque eu a usaria nesse caso?

O código que vou criar agora vai duplicar o movieclip/botão e gerar as diversas variáveis que serão capturadas por esses mesmos botões. Para cada botão uma letra. OK. Já fizemos isso antes na primeira parte desse tutorial. Tentei imaginar quantas vezes vou querer repetir essa ação.

1 - no início do jogo;
2 - quando o jogo for reiniciado
    2a - quando o jogador acerta a palavra;
    2b - quando o jogador ultrapassa o número de erros permitido;
3 - quando der na telha do jogador começar tudo de novo.

   Será que vou ter que copiar esse código 4 vezes? Será que não podemos colocar esse código num local pré-determinado e apenas "chamá-lo" no momento desejado? Como uma macro do MSWord, por exemplo? Podemos sim. Exatamente criando uma função.

Mas como se cria essa coisa?

Primeiro, temos que verificar as instruções que se repetiriam "n" vezes. Feito isso, vamos começar a trabalhar na função. Sempre comece nomeando a função:

function Botoes(){
}

Escreva sempre a palavra "function" seguida do nome escolhido (Botoes). Os parênteses sempre seguem o nome de uma função. Você pode acessar também pela janela de actions: Action / function. Nesse exemplo trataremos apenas de funções sem parâmetros, portanto os parênteses estarão sempre vazios.

onClipEvent (load) {
  function Botoes () {
    _root.b0._x = 20;
    posB = b0._x+45;
    palavraB = "abcdefghijklmnopqrstuvwxyz";
    nQB = 25;
    for (ib=1; ib<=nQB; ib++) {
      duplicateMovieClip (_root.b0, "b"+ib, ib);
      _root["b"+ib]._x = posB;
      posB += 25;
      }
    _root.b0.gotoAndStop(1);
    }
  Botoes();
}

   Novamente, o código é bastante similar. As diferenças se resumem ao fato de que a variável "palavrab" não é o resultado de uma função randômica. Seu valor, que será capturado pelos botões, é o abcdário. As 26 letras que compõem o nosso alfabeto. O número de quadros (nqb) também é fixo (25).

nota: para entender melhor esse código, volte ao movieclip "action" da primeira parte do tutorial.

O que é aquele "Botões()" no final do código?

Ainda bem que você perguntou. Pensei que ninguém iria notar. Será que não dá para adivinhar? Estou chamando a função. Esse movieclip será a primeira coisa a ser carregada nesse filme dos botões. Então eu o escolhi para ser o local onde vou criar a função (poderia ser no primeiro frame da timeline principal). Gosto de trabalhar com clips/actions, pois facilitam a visualização posterior. Tudo bem, cada um tem a sua mania.

   Você pode verificar que, além de criar a função, eu a chamei no mesmo evento. Preste bem atenção: a linha que chama a função não faz parte da mesma. Está diretamente subordinada ao evento "Load". É isso, primeiro crio a função e logo em seguida eu a chamo.

E naquelas outras situações em que vamos precisar reordenar os botões?

Simplérrimo.
Coloque um botão no stage e insira o seguinte código (delete-o logo depois):

on (release) {
  _root.actionb.Botoes();
}

   Sua função será chamada e, nesse caso, os botões serão reordenados, além de reativados os que tiverem sido pressionados.

Você não esqueceu as ações dos botões?

É mesmo ....
A instância do botão está apenas no primeiro frame do movieclip, certo?

on (release) {
   gotoAndStop (2);
   _level0.digitado = letra;
}

Na primeira linha, envio o filme para o segundo frame, onde estará apenas um gráfico inativo. Na segunda linha, declaro a variável "digitado". O level0 foi usado porque, não se esqueçam, estamos no level1.

   Você deve estar se perguntando se não poderia transformar as ações usadas no movieclip "action" do filme principal em uma função. A resposta é sim. Você pode ir agora mesmo fazer isso. Eu preferi esperar uma introdução mais detalhada, que foi feita aqui, para usá-la.

Neste mesmo filme, delete também aquele botão que criei para testar a letra "A".

Teste os filmes agora.

Clique aqui para ver o exemplo desse tutorial funcionando.



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
0 comentário