Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tf.caldas

[Resolvido] Painel de bolas

Recommended Posts

Olá, não sou muito bom em AS2 e tenho a seguinte dúvida:

 

Tenho um painel com 70 bolas... Quando eu clicar na BOLA 5 automaticamente ela deve entrar no estado ( animação ) para mudar de cor, dessa forma informando que está selecionada. Agora quando eu clicar na BOLA 6 a bola 5 deve voltar o estado normal e logo em seguida a bola 6 que foi clicana entra no estado de selecionado.

 

Estou usando o seguinte código para fazer isso:

 

var controle:String = "";

 

bt1.onRelease = function() {

if(controle!="home"){

bt1._alpha = 50;

bt2._alpha = 100;

controle = "home";

}

 

}

 

bt2.onRelease = function() {

if(controle!="outro"){

bt2._alpha = 50;

bt1._alpha = 100;

controle = "outro";

}

 

}

 

bt3.onRelease = function() {

if(controle!="outro"){

bt3._alpha = 50;

bt2._alpha = 100;

bt1._alpha = 100;

controle = "outro";

}

 

}

 

Dessa forma funciona, mais é muito trabalhoso fazer isso pois em todos os BT tenho que fazer a comparação de todos os outros.. Qual seria a outra forma de fazer isso funcionar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, dessa forma é muito trabalhoso mesmo.

Faça o seguinte, crie um array e coloque todos os movieclips de bolas dentro dele, depois você faz uma função que recebe como parametro o movieclip clicado, dentro dessa função é só você rodar um for e comparar se o movieclip clicado é igual ao item do array, se for você marca a bola no else você faz a bola voltar ao estado normal, por exemplo:

var arBolas: Array = new Array(bt1,bt2,bt3,bt4);

for(var i: Number = 0; i < arBolas.length; i++){
 arBolas[i].onRelease = function(){
   mostraBola(this);
 }
}

function mostraBola(mc){
 for(var i: Number = 0; i < arBolas.length; i++){
  if(mc == arBolas[i]){
    arBolas[i]._alpha = 100;
  } else {
    arBolas[i]._alpha = 50;
  }
 }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, dessa forma é muito trabalhoso mesmo.

Faça o seguinte, crie um array e coloque todos os movieclips de bolas dentro dele, depois você faz uma função que recebe como parametro o movieclip clicado, dentro dessa função é só você rodar um for e comparar se o movieclip clicado é igual ao item do array, se for você marca a bola no else você faz a bola voltar ao estado normal, por exemplo:

var arBolas: Array = new Array(bt1,bt2,bt3,bt4);

for(var i: Number = 0; i < arBolas.length; i++){
 arBolas[i].onRelease = function(){
   mostraBola(this);
 }
}

function mostraBola(mc){
 for(var i: Number = 0; i < arBolas.length; i++){
  if(mc == arBolas[i]){
    arBolas[i]._alpha = 100;
  } else {
    arBolas[i]._alpha = 50;
  }
 }
}

 

Olá carneirinho, obrigado pela ajuda!!! Está tudo funcionando agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, dessa forma é muito trabalhoso mesmo.

Faça o seguinte, crie um array e coloque todos os movieclips de bolas dentro dele, depois você faz uma função que recebe como parametro o movieclip clicado, dentro dessa função é só você rodar um for e comparar se o movieclip clicado é igual ao item do array, se for você marca a bola no else você faz a bola voltar ao estado normal, por exemplo:

var arBolas: Array = new Array(bt1,bt2,bt3,bt4);

for(var i: Number = 0; i < arBolas.length; i++){
 arBolas[i].onRelease = function(){
   mostraBola(this);
 }
}

function mostraBola(mc){
 for(var i: Number = 0; i < arBolas.length; i++){
  if(mc == arBolas[i]){
    arBolas[i]._alpha = 100;
  } else {
    arBolas[i]._alpha = 50;
  }
 }
}

 

 

Olá Carneirinho, tenho outra dúvida:

 

Além de tudo acima gostaria de poder fazer o seguinte:

 

Quando eu clicar na BOLA 1 ele deve ficar no estado ativo, quando eu clicar na BOLA 2 deve acontecer o seguinte ( a BOLA 1 deve ficar em outra cor para informar que essa bola já foi ativa e automaticamente a bola que foi clicada deve ficar no modo ativo, e assim por diante.

 

Aguardo seu retorno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.