wagnerdp 0 Denunciar post Postado Junho 14, 2006 É o seguinte, tenho vários botões que tem duas ações cada um.uma é on press, e outra on release.só que a de onPress, é a mesma função pra pra todos. Ao invés de escrevê-la várias vezes em cada botão, como eu faço para essa ação ser rodada para todos os botões escrevendo apenas uma vez a ação mas que ela seja aceita para todos?Ex.:bt1.onPress = function(){ cortina.send("china", "gotoandstop", "2");}bt2.onPress = function(){ cortina.send("china", "gotoandstop", "2");}bt3.onPress = function(){ cortina.send("china", "gotoandstop", "2");}todos essas funções fossem atribuídas a uma só.entenderam??? Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 14, 2006 Vê se esse código te ajuda: var bots:Array = Array("bt1","bt2","bt3"); //Array com o nome das instancias dos botõesfor (var name in this) { for (i = 0; i<bots.length;i++) { if (name == bots[i]) { this[name].onPress = function() { cortina.send("china", "gotoandstop", "2"); } } } } Falow Compartilhar este post Link para o post Compartilhar em outros sites
wagnerdp 0 Denunciar post Postado Junho 14, 2006 funfô sim Ludoman.vlw!mas t´´a dando um erro nesse código, dá uma olhada nele pra mim, faz o favor?bt1.onPress = function(){ milisegundos_bt = 1000; intervalo_bt1 = setInterval(function(){ getURL(menu.childNodes[0].childNodes[0].attributes.link, "load"); _root.back.menu.titulos.tit_esquerda.text = (menu.childNodes[1].childNodes[1].attributes.tit_esquerda); _root.back.menu.titulos.tit_meio.text = (menu.childNodes[1].childNodes[1].attributes.tit_meio); _root.back.menu.titulos.tit_direita.text = (menu.childNodes[1].childNodes[1].attributes.tit_direita); clearInterval(intervalo_bt1); },milisegundos_bt);};ele funfa....só q qdo dou dois quiques (tipo pra abrir uma pasta) ele dá um erro loco, fica em looping.tá dando erro por causa do setInterval , pois qdo tiro ele funfa de boa. Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 16, 2006 Não enteni porque você usa um setInterval se, no primeiro ciclo, ao executar a função, ele dá um clearInterval....Com certeza esse é o problema dos loopings loucos... você clica uma vez e atribui um intervalo à variável. ai, antes de dar o clear, você clica novamente e executa o mesmo código novamente, atribuindo um outro intervalo apra a variável.Quando você dá um clear depois, ele para de rodar o segundo intervalo, mas não o primeiro...Minha dúvida é:Porque você quer usar um setInterval, que executa a função de 1 em 1 segundo, se essa função só roda 1 vez?Falows Compartilhar este post Link para o post Compartilhar em outros sites
evertonfraga 0 Denunciar post Postado Junho 21, 2006 Ae Ludô.. tipo, eu entendi a lógica do código q você botou ae... mas só num entendi uma coisa, a aplicação do [for (var name in this)] é realmente necessária?e pra que serve?flw! Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Junho 21, 2006 Pode usar associação múltipla:bt1.onPress = bt2.onPress = bt3.onPress = function(){cortina.send("china", "gotoandstop", "2");}Ou criar uma função e atribuir a todos:function meuPress{cortina.send("china", "gotoandstop", "2");}bt1.onPress = meuPress;bt2.onPress = meuPress;bt3.onPress = meuPress;Abraço Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Junho 22, 2006 A única idéia de usar aquele for é você setar só os nomes dos botões num array...var bots:Array = Array("bt1","bt2","bt3");Imagine se fossem 30 botões com a mesma action... esse esquema de colocar os nomes deles num array é melhor... mas se for só uns 3, 5 botões, o esquema do Antonio é melhor.Falows Compartilhar este post Link para o post Compartilhar em outros sites