Colocando Ações Em Vários Menus de Forma Dinâmica


Falae povo.

Com base neste post, vamos agora aprender a colocar ações em vários menus de uma vez só.
Isso é muito útil para quando temos que fazer um menu de uma página, com vários itens.

É uma técnica simples, mas muito útil, e poupa um tempo danado. E é aquilo, quanto mais eu vivo, mais eu vejo gente que não conhece essas técnicas básicas de flash..rsrsr (sem ofensas).

A técnica é feita através de um loop que coloca as ações nos botões, que tem que estar renomeados de maneira ordenada (n1, n2, n3 …. nx).

Vamos tomar um menu com 4 botões. Vamos instanciá-los como botao1, botao2, botao3 e botao4.

No frame onde vc colocou os mcs, coloque o seguinte código:

var menuAtivo; // menuativo
var qtdMenu = 4; // qtd de menus
var Links:Array = new Array(”http://www.google.com.br”, “http://www.magazineluiza.com.br”, “http://www.imasters.com.br”, “http://www.thefwa.com”); //links
//loop para colocar os botões
for (i=1; i<=qtdMenu; i++) {
var clip = this["botao"+i];
clip.numArray = i;
//ação de clique
clip.onRelease = function() {
//volta o menu que está ativo
this._parent["botao"+menuAtivo].gotoAndPlay(”rollout”);
//seta o novo menu ativo com esse botão
menuAtivo = this.numArray;
//aciona o link atraves da matriz Links
getURL(Links[this.numArray-1], “_blank”);
};
//ação de rollover
clip.onRollOver = function() {
//se não for o ativo, faz a ação
if(menuAtivo!=this.numArray){
this.gotoAndPlay(”rollover”);
}
};
//ação de rollout
clip.onRollOut = function() {
//se não for o ativo, faz a ação
if(menuAtivo!=this.numArray){
this.gotoAndPlay(”rollout”);
}
};
}

O código está todo comentado.
Baixe o exemplo aqui.

, ,

  1. #1 por Daniel em Outubro 16th, 2008

    Ola Ton !

    Parabens pelo Blog, Show de bola ! É otimo poder compartilhar o conhecimento … nunca perca essa boa pratica ;)

    Seguinte, estou com uma duvida cruel … estive usando sua classe e achei bem legal, movie clip, mas antes estava usando o CAURINA, e na verdade vinha me adaptando muito bem a ele, o problema é que so podemos usar o player 6 e pararam de atualizar ele no site oficial, vc q esta antenado com essas classes qual eu é mais atual para ser usado flash player 8 em diante ? Ou ja existe outra soluáo melhor como esses de so importar um AS com uma ref legal dos comandos como era o CAURINA ?

    Valeu abs t+

  2. #2 por paulo paiva em Abril 14th, 2009

    seu blog é ótimo aprendo muito…obrigado

    mas o link pra baixar não funciona não…
    e o código deu erro

    Line 51093: Syntax error.
    Line5 1084: Syntax error: expecting rightparen before colon.
    Line 91086: Syntax error: expecting semicolon before i.

    tô tentando entender
    rs
    abs

    • #3 por Weverton Naves em Abril 30th, 2009

      paulo, já adicionei o link novo.
      Vc está utilizando as2? Confira se o código está formatado.
      Ok?

  3. #4 por ric em Maio 14th, 2009

    Desculpe, nenhum anexo bate com seu critério.

    eee laiá!!

    • #5 por Weverton Naves em Maio 15th, 2009

      Olá ric. Pode justificar melhor sua afirmação? Acabei de baixar os arquivos e estão todos corretos.

(não será publicado)
  1. Nenhum trackback.