GÉRIO (93 pts)

FLASHGURU (155 pts)

ILVA RUDEV (90 pts)

MANGOOST (80 pts)

NILTON BICALHO (61 pts)

AMAURY BENTES (123 pts)

SÁVIO PONTE (39 pts)

RICARDO FIGUEIRA (33 pts)

LUIZ HERRERA (117 pts)

DAUTON JANOTA (255 pts)

JOTA LAGO (40 pts)

PEDRO CLAUDIO (50 pts)
Treinamento PontoFlash de Flash e ActionScript

Tenho 3 botões e quero que cada um toque uma música diferente.

Tem como abrir um PDF (acrobat reader) entro do Flash? Pode ser com Delphi?

Tem como eu controlar um movieclip de outro movieclip?

Como eu faço para carregar, com load movie, um swf, num ponto específico e com um tamanho específico?

Exemplo de uma máscara com dois objetos criados via métodos de desenho do FlashMX.

Como movimentar um movieclip no palco ao comando de botões acionados por eventos na TimeLine?

Quero que um movieclip filho cheque a colisão (hitTest) com um terceiro colocado na timeline principal.

Tenho duas músicas no site, como crio um botão para mudar de música?

Quero que numa conta (divisão) apareçam, no resultado, somente 2 casas decimais.

Como funciona o combobox para gerar variáveis?

Estou precisando de um preloader (carregando) para o meu site.

Quero fazer um objeto ficar pulando no filme randomicamente sem sair do palco. Como o protetor de tela do WindowsXP.

É possível trocar variáveis entre filmes abertos com load movie?

Como faço um stop and play no som.
AttachSound.

Time Delay

Nikefootball, uso e abuso do flash - Avaliação de sites

Includes.

Sistema de busca utilizando Flash + ASP .

Rave Generation no PhotoShop.

Dicas e truques - Fireworks

HACKED - ANONYMOUS

Desenhando um avião no Flash

Níveis dentro do Flash - Load Movie e Load Variables (segunda parte)

Quando usar vetor ou bitmap?

Degradé com tons metálicos - Fireworks
Clip Over e Out

Arion 3

Loop menu

Iluminação com foco

Pointer

Bate e volta

Nudemask2

Timer

Tint rgb

Pintar

Filtro de cores

Drag open menu
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