Ir para conteúdo

POWERED BY:

Arquivado

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

cassiano óliver

Sortear variaveis de um txt externo...

Recommended Posts

Bom como taí no titulo, to tentando sortear variaveis de um txt externo...

mexendo aki, mexendo ali consegui isso até agora...

 

no arquivo TEXTO.TXT ta assim...

&var1=frase1

&var2=frase2

&var3=frase3

 

no FLASH ta assim....

System.useCodepage = true;var Sorter:Array = new Array();Sortear[0] = "var1";Sortear[1] = "var2";Sortear[2] = "var3";var n = random(2);var txt:LoadVars = new LoadVars();txt.load("texto.txt");txt.onLoad = function(carregado) {	if(carregado) {		campo.html = true;		campo.htmlText = this.Sortear[n];	}	else {		campo.htmlText = "Falha no carregamento do texto";	}}

Só que no "campo" do flash aparece undefined...

 

Agora se eu mudar a linha:

if(carregado) {	campo.html = true;	campo.htmlText = this.Sortear[n];}
por

if(carregado) {	campo.html = true;	campo.htmlText = this.var1;}

aí funciona...

mas eu preciso q as frases sejam aleatórias...

 

*** Ah, antes q alguem sugira, isso aí eu consigo fazer utilizando array, mas gostaria de fazer com txt externo pois ficaria mais facil pra atualizar...

 

como resolvo isso ái???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom como taí no titulo, to tentando sortear variaveis de um txt externo...mexendo aki, mexendo ali consegui isso até agora...no arquivo TEXTO.TXT ta assim...&var1=frase1&var2=frase2&var3=frase3no FLASH ta assim....

System.useCodepage = true;var Sorter:Array = new Array();Sortear[0] = "var1";Sortear[1] = "var2";Sortear[2] = "var3";var n = random(2);var txt:LoadVars = new LoadVars();txt.load("texto.txt");txt.onLoad = function(carregado) {	if(carregado) {		campo.html = true;		campo.htmlText = this.Sortear[n];	}	else {		campo.htmlText = "Falha no carregamento do texto";	}}
Só que no "campo" do flash aparece undefined...Agora se eu mudar a linha:
if(carregado) {	campo.html = true;	campo.htmlText = this.Sortear[n];}
por
if(carregado) {	campo.html = true;	campo.htmlText = this.var1;}
aí funciona...mas eu preciso q as frases sejam aleatórias...*** Ah, antes q alguem sugira, isso aí eu consigo fazer utilizando array, mas gostaria de fazer com txt externo pois ficaria mais facil pra atualizar...como resolvo isso ái???
peço desculpa, podias me dizer qual é o nome da variavel do dynamic text? so para compreender o codigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho no flash o seguinte codigo:

System.useCodepage = true;carrega = new LoadVars()carrega.load("texto.txt")carrega.onLoad = function() {	shoutblock.text = carrega.variavel}

a variavel da dynamic text é "shoutblock" onde tem este codigo para carregar o txt, nao sei se tenho mal http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

 

tenho um imput text k envia para o php e depois para o txt... ai tudo correcto, ele envia para o txt tudo mas nao consigo ver o txt no dynamic text

 

 

eu tenho no ficheiro txt &variavel= para carregar mas nada

 

o k ta mal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você digitou o nome errado do Array

 

var Sorter:Array = new Array();Sortear[0] = "var1";Sortear[1] = "var2";Sortear[2] = "var3";

você declarou "Sorter" e chamou "Sortear", falta um "a" http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

ah, e a melhor maneira de pegar informações externas é por xml e n por txt

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw orig..mudei mas continua aparecendo "undefined"...Artur,não coloquei nd no campo "var" pq as variaveis vao ser sortiadas do arquivo txt..."campo" é o nome de instancia do campo dinamico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Cassiano, beleza?Tenta colocar desse modo como está abaixo, assim quando você quiser colocar mais do que 3 variaveis no txt, você não precisa editar o Flash:

 

var sortear = new Array();
var txt:LoadVars = new LoadVars();
txt.load("texto.txt");
txt.onLoad = function(){
	for(var i in this){
		if(typeof(this[i]) == "string" && this[i] != ""){
			sortear.push(this[i]);
		}
	}
	campo.html = true;
	campo.htmlText = sortear[Math.floor(Math.random() * sortear.length)];
}

abraço,

 

Carneirinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw orig..

 

mudei mas continua aparecendo "undefined"...

 

Artur,

não coloquei nd no campo "var" pq as variaveis vao ser sortiadas do arquivo txt...

"campo" é o nome de instancia do campo dinamico

substitua:

campo.htmlText = this.Sortear[n];
por apenas:

campo.htmlText = Sortear[n];
qdo você coloca this você esta fazendo referencia a instancia do LoadVars, no seu caso chamado de txt, como dentro da instancia txt n existe Sortear, ele n vai pegar

Compartilhar este post


Link para o post
Compartilhar em outros sites

orig...

sem o "this" ou txt."variavel" não funciona...

já tinha tentado...

 

 

beleza carneirinho...

vo tentar do jeito q você passou e depois posto o resultado...

 

Se não for pedir d+ teria como você comentar isso ae? ahhaahha

txt.onLoad = function(){	for(var i in this){		if(typeof(this[i]) == "string" && this[i] != ""){			sortear.push(this[i]);		}	}	campo.html = true;	campo.htmlText = sortear[Math.floor(Math.random() * sortear.length)];}

só a partedo for...

 

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

orig...sem o "this" ou txt."variavel" não funciona...já tinha tentado...beleza carneirinho...vo tentar do jeito q você passou e depois posto o resultado...Se não for pedir d+ teria como você comentar isso ae? ahhaahha

txt.onLoad = function(){	for(var i in this){		if(typeof(this[i]) == "string" && this[i] != ""){			sortear.push(this[i]);		}	}	campo.html = true;	campo.htmlText = sortear[Math.floor(Math.random() * sortear.length)];}
só a partedo for...abraço!
pode n ter funcionado qdo você tentou pq você tinha declarado o array com o nome errado como eu disse no meu primeiro post, há 2 erros no seu codigo, qdo você tirou o this, o nome estava "Sorter" e n "Sortear", por isso continuou dando erro, creio q seja isso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

orig...

é verdade..

acabei de testar aki e nao apareceu o UNDEFINED ahhaha...

apareceu: "var1", "var2"....

aí no array estava assim:

Sortear[0] = "var1";Sortear[1] = "var2";Sortear[2] = "var3";
mudei assim:

Sortear[0] = var1;Sortear[1] = var2;Sortear[2] = var3;

aí voltou o UNDEFINED, tentei com txt.var1 e tbm nao deu certo, continua o UNDEFINED..

 

 

carneirinho...

ainda nao testei o q você postou, vo testar amanha...

acabei d chegar e to cansadao hahah

 

té +

Compartilhar este post


Link para o post
Compartilhar em outros sites

orig...é verdade..acabei de testar aki e nao apareceu o UNDEFINED ahhaha...apareceu: "var1", "var2"....aí no array estava assim:

Sortear[0] = "var1";Sortear[1] = "var2";Sortear[2] = "var3";
mudei assim:
Sortear[0] = var1;Sortear[1] = var2;Sortear[2] = var3;
aí voltou o UNDEFINED, tentei com txt.var1 e tbm nao deu certo, continua o UNDEFINED..carneirinho...ainda nao testei o q você postou, vo testar amanha...acabei d chegar e to cansadao hahahté +
bem, estamos progredindo hehehehehefaça o seguinte coloque as aspas novamente, e dentro do onLoad coloque desta forma
this[Sortear[n]];
e no random, coloque 3 e n 2resumindo, o codigo fica assim:
System.useCodepage = true;var Sortear:Array = new Array();Sortear[0] = "var1";Sortear[1] = "var2";Sortear[2] = "var3";var n = random(3);var txt:LoadVars = new LoadVars();txt.load("texto.txt");txt.onLoad = function(carregado) {	if(carregado) {		campo.html = true;		campo.htmlText = this[Sortear[n]];	}	else {		campo.htmlText = "Falha no carregamento do texto";	}}
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw orig....

po kra, agora ta 50% hahaahh

o meu verdadeiro objetivo em montar esse Action é fazer com q seja carregada uma frase diferente a cada dia...

agora vo dar uma estudada na classe DATE e tentar fazer o q eu kero...

caso nao consiga, volto aki dnovo hahah

 

ah, dexa eu te perguntar...

pq você usou os colchetes? É pq está se referindo ao ARRAY???

this[Sortear[n]];

carneirinho...

testei aki seu metodo e tbm funcionou certinho...

vlw msm

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw orig....

po kra, agora ta 50% hahaahh

o meu verdadeiro objetivo em montar esse Action é fazer com q seja carregada uma frase diferente a cada dia...

agora vo dar uma estudada na classe DATE e tentar fazer o q eu kero...

caso nao consiga, volto aki dnovo hahah

 

ah, dexa eu te perguntar...

pq você usou os colchetes? É pq está se referindo ao ARRAY???

this[Sortear[n]];
carneirinho...

testei aki seu metodo e tbm funcionou certinho...

vlw msm

 

abraços!

esses colchetes são usados p/ unir instancias com outras instancias ou variaveis que são "montadas" digamos assim

 

por exemplo

 

você tem 2 instancia dentro de mc instanciado: instancia1 e instancia2

 

ai você pode fazer:

instancia.instancia1

instancia.instancia2

 

mas digamos que esse numero venha de uma variavel, Numero por exemplo

 

ai se você fizer:

 

Numero = 1;

instancia.("instancia" + Numero);

 

vai dar erro

 

o correto tem q fazer assim:

 

Numero = 1;

instancia["instancia" + Numero];

 

ou seja, você ta juntando a primeira instancia a segunda que está sendo "montada" com string e variavel

 

como no seu caso, essa "montagem" se constituia apenas de uma variavel, não precisou ter nada somado dentro dos colchetes, porem os colchetes foram usados p/ poder funcionar

 

espero ter explicado bem hehehehe

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.