Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Então galera, já postei isso aqui uma vez, não obtive resultados, e fiz a coisa no braço. Agora estou diante de um problema de novo que pode ser solucionado com for i, mas não sei fazer esse troço funcionar direito.
Resumidamente: possuo 8 botões no meu stage, instanciados como botao1...botao8.
Quero que quando eu pressione um deles, o que chama um movie clip, TODOS os botões sejam desabilitados, para tanto, estou usando o seguinte código em um dos botões
on(press){
for(i=1;i<9;i++){
varbotao = ("botao"+i)
varbotao.enabled = false
trace(varbotao)
}
}
Este trace me resulta bem certinho, botao1...botao8, ou seja, a lógica me parece correta, porém, todos os botões continuam ativos.
Já tentei usar outra notação, que alguém havia me passado uma vez, igualando varbotao à (botao), neste caso, o trace me retorna só "undefined".
Me dêem uma luz, preciso entender como essa coisa funciona de uma vez por todas.
Valeu pessoal.
Ok, ok, me ensina essa mágica também, hehehe.Pois é, funfou utilizando o _root["botao"+']. Eu só gostaria de entender por quê funcionou, se eu estou dentro de um movie carregado na _root, através da target Alvo. Pensei que tivesse de colocar _root.Alvo["botao"+ i], mas não foi necessário.Obrigadão Antônio, me salvou DO trabalho braçal kra.Abraço.
Esse parênteses aí não estão fazendo nada, hehe. Simplesmente você está criando uma String, um texto, com o nome do botão. Isso é diferente de criar um caminho para o botão.Pra entender melhor, vamos analizar o seu trace. Ele deve vir assim:botao1botao2botao...Certo? Errado. O certo deveria ser, por exemplo:_level0.botao1_level0.botao2_level0.botao...Sacou? E como conseguir essa mágica? Tem alguns jeitos:varbotao = _root["botao"+i]; //já que os botões estão dentro do _rootvarbotao = eval("botao"+i); //um outro comando que também "acha" os botõesbeleza? Flw cara
Ã... deveria ser o que você falou então, hehe. Tipo, você tem os botões dentro do swf carregado no ALVO dentro do _root?
Exatamente. _root carrega filme através da target Alvo. Dentro deste swf eu brinco com os botões.PS: parou de funfar, sei lá pq, heheheh
Ã... deveria ser o que você falou então, hehe. Tipo, você tem os botões dentro do swf carregado no ALVO dentro do _root?
Faz então com:_root.Alvo["botao"+ i];Mas o seguinte: só vai funcionar se você testar o swf carregando ele dentro do principal. Se testar ele sozinho, não vai funcionar. Acho que você sacou porque. ;)Flw
Sim, pois é cara, eu não tô entendendo mais nada.Na timeline do filme que está sendo carregado dentro de _root.Alvo, eu tive que utilizar eval("botao"+i), daí funcionou.Quando eu pressiono qualquer um dos 8 botões, eles irão desabilitar todos os botões da tela e irão abrir um outro movie interno, dentro ainda do mesmo swf. Dentro deste outro movie, quando eu pressiono o botão pra retornar, eu quero que ele ative novamente todos os 8 botões, que no caso, estão na timeline principal do filme carregado em _root.Alvo. Sacou?No entanto, quando eu utilizo eval("botao"+i) dentro deste movie, simplesmente não funciona. Daí já usei _root, _root.Alvo, eval.....aaaaaaaaaaaaaaaaaaaaahhhhh.Daí que o retorno eu fiz no braço mesmo, hehehehe.Valeu pela tua atenção amigo.. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Faz então com:_root.Alvo["botao"+ i];Mas o seguinte: só vai funcionar se você testar o swf carregando ele dentro do principal. Se testar ele sozinho, não vai funcionar. Acho que você sacou porque. ;)Flw
Esse parênteses aí não estão fazendo nada, hehe. Simplesmente você está criando uma String, um texto, com o nome do botão. Isso é diferente de criar um caminho para o botão.Pra entender melhor, vamos analizar o seu trace. Ele deve vir assim:botao1botao2botao...Certo? Errado. O certo deveria ser, por exemplo:_level0.botao1_level0.botao2_level0.botao...Sacou? E como conseguir essa mágica? Tem alguns jeitos:varbotao = _root["botao"+i]; //já que os botões estão dentro do _rootvarbotao = eval("botao"+i); //um outro comando que também "acha" os botõesbeleza? Flw cara