Aikon 0 Denunciar post Postado Março 26, 2007 Eu to com um problema, eu tenho um if, e cada vez q ele faz esse if, ele attach um botão no palco, só que eu quero que cada botão tenha um link diferente, no caso, eu to fazendo alguns testes, ou seja, eu só quero que cada botão de um numero diferente pra uma caixa de texto.Eu tentei usando a variavel i mas quando eu clico no botão, ele pega o ultimo numero gerado e nao um numero diferente pra cada botão, tipo, botão 1 ao clicar ele da o numero 1.o codigo: i=1conta=1total=10while(i<=total){attachMovie("btn_all","btn_all"+i,1*i);eval("btn_all"+i)._y=140eval("btn_all"+i)._x=40*contaeval("btn_all"+i).btn_text.text=i//Aqui começa a parte do botãoeval("btn_all"+i).btn_hit.onRelease = function () { _root.numero.text=i};//E aqui termina :oconta++i++} Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 27, 2007 tenta assim i=1 conta=1 total=10 while(i<=total){ attachMovie("btn_all","btn_all"+i,1*i); eval("btn_all"+i)._y=140 eval("btn_all"+i)._x=40*conta eval("btn_all"+i).btn_text.text=i //Aqui começa a parte do botão eval("btn_all"+i).btn_hit.num = i eval("btn_all"+i).btn_hit.onRelease = function () { _root.numero.text=this.num }; //E aqui termina ohmy.gif conta++ i++ } Compartilhar este post Link para o post Compartilhar em outros sites
Aikon 0 Denunciar post Postado Março 27, 2007 yay.. você é O cara :Dfuncionou direitinho ^^agora é só adaptar o codigo ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Aikon 0 Denunciar post Postado Março 27, 2007 Agora mais um problema :Peu quero que cada botão que eu aperte ele chame um conjunto de linhas do xml, só que se eu boto o codigo que chama o xml dentro da function que da link ao botão, ele não funciona :Xo codigo: // Codigo pra aceitar caracteres estranhosSystem.useCodepage = true;// Carrega o XMLvar meuXML:XML = new XML();meuXML.load("masterpiece.xml");meuXML.ignoreWhite = true;meuXML.onLoad = function(){// Declara as variáveisi=1conta=1total=this.childNodes[1].childNodes[0].attributes.id// Começa o laçowhile(i<=total){ // Bota o filme no palcoattachMovie("btn_all","btn_all"+i,1*i);// Da as posições X e Yeval("btn_all"+i)._y=350eval("btn_all"+i)._x=40*conta// Da o texto do botãoeval("btn_all"+i).btn_text.text=i// Da o link pros botõeseval("btn_all"+i).btn_hit.num = ieval("btn_all"+i).btn_hit.onRelease = function () {if(this.num==1){ soma=0} else { soma=5} _root.numero.text=this.childNodes[0].childNodes[this.num+soma].attributes.id};// Aumenta as variaveisconta++i++}} Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 28, 2007 mas o q ele joga na caixa de texto? undefined?tenta dar um trace(dentro do onRelease) pra ver os conteudos de :trace(this.num)trace(soma)trace(this.num + soma) Compartilhar este post Link para o post Compartilhar em outros sites
Aikon 0 Denunciar post Postado Março 28, 2007 Sim, na caixa da undefined, eu botei os traces e quando eu clico no botão 1 ele da isso:101quando eu clico no botão dois da isso:257Eu tava pensando que podia ser pq o xml usa this.childnodes... e o botão ta dentro de um mc, ai ele não acha usando this ja que o codigo ta no root, mas eu botei _root, _parent, _global, e nenhum funcionou. :$ Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 28, 2007 vamu alterar o codigo então // Da o link pros botõesif(i==1){soma=0} else {soma=5}total=this.childNodes[0].childNodes[i+soma].attributes.ideval("btn_all"+i).btn_hit.num = totaleval("btn_all"+i).btn_hit.onRelease = function () {_root.numero.text= this.num}; Compartilhar este post Link para o post Compartilhar em outros sites
Aikon 0 Denunciar post Postado Março 28, 2007 mas ai não ia adiantar, eu preciso que quando a pessoa clicar no botão, a caixa de texto pegue o conteudo do xml, se ela clica no btn 1, ele pega a linha 1, se clica no btn 2 pega a linha 2... e se eu fizer desse jeito não da pra mudar assim.. :X Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 29, 2007 mas ele ainda ta fazendo a mesma coisa, eu só alteirei para ele fazer o IF de somar antes de atribuir o valor no botãomas naum funcinou esse codigo q te passei Compartilhar este post Link para o post Compartilhar em outros sites
Aikon 0 Denunciar post Postado Março 29, 2007 olha, tem q ser assim: quando você clica no botão, ele vai chamar a linha do xml, e no lugar do [this.num] vai o numero, e ai ele pega a linha especifica. algo assim: eval("btn_all"+i).btn_hit.onRelease = function () { _root.numero.text=this.childNodes[0].childNodes[this.num].attributes.id}; pq se a pessoa clica no numero 1, ele pega a linha 1 e assim por diante, e se o codigo do xml ficar fora do link do botão não vai funcionar.. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 29, 2007 você naum pode fazer assim, para pegar algo do xml eval("btn_all"+i).btn_hit.onRelease = function () { _root.numero.text=this.childNodes[0].childNodes[this.num].attributes.id }; aquele this, dentro do evento onRelease, faz referencia ao botão e naum ao XML é só você testar eval("btn_all"+i).btn_hit.onRelease = function () { trace(this) }; por isso q ta errado, você deve passar para o botão, no variavel [this.num] o valor exato q deve ser mostrado, então o correto é total = this.childNodes[0].childNodes[ i ].attributes.id eval("btn_all"+i).btn_hit.num = total eval("btn_all"+i).btn_hit.onRelease = function () { _root.numero.text=this.num }; Compartilhar este post Link para o post Compartilhar em outros sites
Aikon 0 Denunciar post Postado Março 30, 2007 ahhh.. entendi :P agora sim funcionou ^^, vlw mesmo pela ajuda deu certinho \o/ o codigo pra quem quiser aproveitar: Só lembrando q esse codigo pega as noticias mais novas para as mais velhas, a mais nova é sempre a numero 1 barra.visible=false// Codigo pra aceitar caracteres estranhosSystem.useCodepage = true;// Carrega o XMLvar meuXML:XML = new XML();meuXML.load("masterpiece.xml");meuXML.ignoreWhite = true;meuXML.onLoad = function(){// Declara as variáveisi=1numerovar=1conta=1total=this.childNodes[1].childNodes[0].attributes.idtotal2=total*6a=total2-6b=total2-5c=total2-4d=total2-3e=total2-2f=total2-1// Começa o laçowhile(total>=i){ // Bota o filme no palcoattachMovie("btn_all","btn_all"+total,1*total);// Da as posições X e Yeval("btn_all"+total)._y=380eval("btn_all"+total)._x=20*conta// Da o texto do botãoeval("btn_all"+total).btn_text.text=numerovar// Cria as variaveis de numero e conteudo e da o link pros botõeseval("btn_all"+total).btn_hit.num = totaleval("btn_all"+total).btn_hit.textoa = this.childNodes[0].childNodes[a].attributes.ideval("btn_all"+total).btn_hit.textob = this.childNodes[0].childNodes[b].attributes.ideval("btn_all"+total).btn_hit.textoc = this.childNodes[0].childNodes[c].attributes.ideval("btn_all"+total).btn_hit.textod = this.childNodes[0].childNodes[d].attributes.ideval("btn_all"+total).btn_hit.textoe = this.childNodes[0].childNodes[e].attributes.ideval("btn_all"+total).btn_hit.textof = this.childNodes[0].childNodes[f].attributes.id// Cria a função dos botõeseval("btn_all"+total).btn_hit.onRelease = function () { titulo.text="LATEST MASTERPIECE - "+this.textob texto.text=this.textoc if(texto.maxscroll > 1){ barra.visible = true;} else { barra.visible = false;} };// Aumenta e diminui as variaveisnumerovar++conta++total=total-1a=a-6b=b-6c=c-6d=d-6e=e-6f=f-6}}//Aqui acaba Compartilhar este post Link para o post Compartilhar em outros sites