Ir para conteúdo

POWERED BY:

Arquivado

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

Aikon

Url dinamica

Recommended Posts

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

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

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

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

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

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

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

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

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

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

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

×

Informação importante

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