tf.caldas 0 Denunciar post Postado Outubro 11, 2011 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
carneirinho 7 Denunciar post Postado Outubro 11, 2011 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
tf.caldas 0 Denunciar post Postado Outubro 11, 2011 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
tf.caldas 0 Denunciar post Postado Outubro 12, 2011 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