Ir para conteúdo

POWERED BY:

Arquivado

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

Freelife

[Resolvido] pegar dados de um arquivo .txt

Recommended Posts

Boa noite galera...

 

Preciso saber como é que eu posso fazer para pegar variáveis de um .txt(SEM PHP).

Sei como é que se carrega um texto, mas o que preciso é algo assim:

 

tenho as variáveis:

duracao

cor

font

quero pegar apenas elas ou o valor delas do arquivo, não para mostrar, mas para usar no .fla.

 

Alguma sugestão?

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Arquivo de texto:

duracao=Valor da variavel duracao
&cor=Valor da variavel cor
&font=Valor da variavel font
&size=Valor da variavel size

E assim por diante, basta separa cada variável com o caracter "&" - E no Flash, pode transformá-las em variável "_global" para ficar disponível em todo filme.

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pelas respostas galera...

 

então consegui em partes resolver o problema, a parte que não consegui resolver é:

 

var leitor:LoadVars = new LoadVars();
_global.tempo;
leitor.onLoad = function(txt){
	_global.tempo = this.velocidade;
	trace(_global.tempo + " - Global");//aqui funciona...
}
leitor.load("parametros.txt");

dentro da função ele me mostra o conteúdo da variável, mas se der um trace nela fora da função dá como "undefined".

 

Preciso usar ela assim:

setInterval(funcao, _global.tempo);

O que estou fazendo de errado?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só para completar, falta só essa parte de carregar os dados do txt e a parte de para uma função quando ocorrer um onRollOver e no onRollOut iniciar novamente a função.

 

as funções são:

 

mostrar(); // carrega os dados do array no campo de texto.

intervalo(); // chama a função mostrar usando "var progresso = setInterval(mostrar, _global.tempo);"

limpar(); // função que limpa o intervalo usando "clearInterval(progresso);"

 

btn.onRollOver = function(){

//algumas ações e tbém parar a função.

}

 

btn.onRollOut = function(){

//chama a função intervalo(); novamente.

}

 

seria isso, mas não descobri ainda como parar a função e nem o que está acontecendo com a variável _global.

 

Abraços e vlw por enquanto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema ai é que o evento onLoad é assíncrono, ele vai ser executado em paralelo do codigo abaixo dele

 

você tem que esperar executar o onLoad para ter acesso as variáveis fora dele,

 

você pode colocar esse código do onLoad e com um "stop()" no 1º frame, e o resto do código no segundo frame, ai dentro do onLoad você coloca: "_root.gotoAndoStop(2)"

 

assim ele vai para o segundo frame quando já tiver o valor que veio do LoadVars

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo...

 

se for usado "onData" resolve o problema mais facilmente?

 

E tbém, tem como parar a execulção de uma função e depois chama-la novamente como eu disse antes?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera... beleza?!

 

Então, consegui resolver o problema em partes. Usei um atributo do primeiro nó do xml para informar os dados que eu quero definir como parâmetros do movie. Não deu certo com o .txt...

 

Agora só falta uma coisa.

 

Como é que eu para uma função setInterval e depois chamo ela novamente a partir de onde parou(com onRollOver = para função, onRollOut = chama função)?

 

É a última parte... Preciso de ajuda.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera...

 

Problema resolvido.

Como eu estava usando uma função "setInterval" para fazer a passagem dos itens que queria mostrar, tive que usar a função "clearInterval" para que quando o mouse parasse sobre o item não continuasse o "movimento".

Na verdade eu já havia tentado fazer isso e não tinha conseguido, até que parei e ví isso:

 

minhas duas funções:

function intervalo(){
	// variável que recebe o setInterval.
	var progresso = setInterval(mostrar, _global.tempo);
}//fechou função.

//função limpar.
function limpar(){
	//limpa a variável progresso que antes tinha recebido o setInterval.
	clearInterval(progresso);
}//fechou função.

Tive que alterar para isso:

 

function intervalo(){
	// variável que recebe o setInterval.
	_global.progresso = setInterval(mostrar, _global.tempo);
}//fechou função.

//função limpar.
function limpar(){
	//limpa a variável progresso que antes tinha recebido o setInterval.
	clearInterval(_global.progresso);//essa parte eu descobri que pode ser assim como está ou: clearInterval(progresso); pois funciona do mesmo jeito.
}//fechou função.

Agora está funcionando, simplesmente quando ocorre um "onRollOver" sobre o item eu chamo a função "limpar();" e quando ocorre o "onRollOut" chamo a função "intervalo();" de onde ela parou.

 

link do arquivo.: http://rapidshare.com/files/194422528/carregandoTexto.rar

 

obs: nesse aruivo o ideal é somente carregar um total de até 24 ítens pois, se passar disso começara a sobrepor o texto e dar problema, não me detive nessa parte porquê não será usado mais que isso.

Se alguém quiser ajudar nisso acho que é ideal criar paginação.

 

 

Abraço a todos e obrigado pela ajuda

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Show de bola!

 

E como fariamos, se fosse carregar uma imagem por MovieClip nesta Action?!

 

No xml ficaria dentro da 'noticia':

 

<?xml version="1.0" encoding="iso-8859-1"?>

	<noticias value="2000" nome="Os 10 mais" imagem="news01.jpg">
		<![CDATA[ Noticia 1 <br>]]>
	</noticias>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Action

function carregando(success)
{
	if (success)
	{
		var qNoticias = xml.childNodes.length;
		trace (qNoticias);
		_global.tempo = xml.childNodes[0].attributes.value;
		var i = 0;
		while (i < qNoticias)
		{
			var noticia = xml.childNodes[i].firstChild.nodeValue;
			var titles = xml.childNodes[i].attributes;
			trace(_global.tempo+"Carregado");
			trace(_global.title+"Carregado");
			array_content.push({listar:noticia, nome:titles.nome});
			++i;
		} // end while
		var col = 0;
		var linha = 0;
		var qCol = 11;
		var j = 0;
		while (j < qNoticias)
		{
			if (col <= qCol)
			{
				duplicateMovieClip("paginacao_mc", "paginacao" + j + "_mc", j);
				eval("paginacao" + j + "_mc")._x = Math.round(15 + col * 20);
				if (linha == 0)
				{
					eval("paginacao" + j + "_mc")._y = 11;
				}
				else
				{
					eval("paginacao" + j + "_mc")._y = linha * 33;
				} // end else if
				eval("paginacao" + j + "_mc").id = j;
				eval("paginacao" + j + "_mc").paginaTxt.text = eval("paginacao" + j + "_mc").paginaTxt.text + (j + 1);
				eval("paginacao" + j + "_mc").bolinhadeFundo_mc._alpha = 55;
				eval("paginacao"+j+"_mc").onRelease = function() {
					limpar();
					this.bolinhadeFundo_mc._alpha = 100;
					dados_txt.htmlText = array_content[this.id].listar;
					title_txt.htmlText = "<b>" + array_content[this.id].nome + "</b>";
					_global.count = this.id;
					for (loop=0; loop<qNoticias; loop++) {
						if (loop != _global.count) {
							trace (loop + " - Loop");
							eval("paginacao" + loop + "_mc").bolinhadeFundo_mc._alpha = 55;
						} // end if
					} // end of for
				};
				eval("paginacao"+j+"_mc").onReleaseOutside = function() {
					this.bolinhadeFundo_mc._alpha = 55;
					mostrar();
					intervalo();
				};
				++col;
			}
			else
			{
				++linha;
				col = 0;
				--j;
			} // end else if
			++j;
		} // end while
		intervalo();
		trace (qNoticias + " Xml carregado com sucesso");
	}
	else
	{
		trace ("Erro ao carregar Xml");
		txtArea_txt.htmlText = txtArea_txt.htmlText + "Erro ao carregar Xml";
	} // end else if
} // End of the function
function mostrar()
{
	var teste = array_content.length;
	if (_global.count < teste)
	{
		dados_txt.htmlText = array_content[_global.count].listar;
		title_txt.htmlText = "<b>" + array_content[_global.count].nome + "</b>";
		eval("paginacao" + _global.count + "_mc").bolinhadeFundo_mc._alpha = 100;
		if (_global.count > 0)
		{
			eval("paginacao" + (_global.count - 1) + "_mc").bolinhadeFundo_mc._alpha = 55;
		} // end if
		++_global.count;
	}
	else
	{
		for (a = 0; a <= teste; a++)
		{
			eval("paginacao" + a + "_mc").bolinhadeFundo_mc._alpha = 55;
		} // end of for
		_global.count = 0;
	} // end else if
} // End of the function
function intervalo()
{
	_global.progresso = setInterval(mostrar, _global.tempo);
} // End of the function
function limpar()
{
	clearInterval(_global.progresso);
} // End of the function
System.useCodepage = true;
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = carregando;
var array_content = new Array();
xml.load("carregandoTexto.xml");

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.