Ir para conteúdo

POWERED BY:

Arquivado

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

Ritz

Intervalo dentro de um if

Recommended Posts

Olá pessoal,

 

Estou com dificuldades em colocar um intervalo no meu código, preciso que o flash leia um txt e fique um tempo lendo ele, depois passe para o outro txt e fique um tempo nele tb...e assim por diante, até terminar os txts, será que alguém pode me ajudar?

 

Meu cerebro já ta falhando! rsss...esta var id, é um dos testes que não deram certo. :(

 

Segue o código:

 

onClipEvent (load){

var i;

var id = setInterval(pause, 20000);

}

onClipEvent (enterFrame) {

for( i = 0; i < 4; i++){

if(i == 0){

trace("primeiro");

loadVariables("SaoPaulo-SP.txt", _root);

clearInterval(id);

}

else if(i == 1){

trace("segundo");

loadVariables("RiodeJaneiro-RJ.txt", _root);

clearInterval(id);

}

else if(i == 2){

trace("terceiro");

loadVariables("BeloHorizonte-MG.txt", _root);

clearInterval(id);

}

else if(i == 3){

trace("quarto");

loadVariables("Brasilia-DF.txt", _root);

clearInterval(id);

};

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

onClipEvent (load){
var i;
var id = setInterval(pause, 20000);
}
onClipEvent (enterFrame) {
for( i = 0; i < 4; i++){
if(i == 0){
function pause(){
trace("primeiro");
loadVariables("SaoPaulo-SP.txt", _root);
clearInterval(id);
}
id = setInterval(pause, 20000);
}else if(i == 1){
funtion pause(){
trace("segundo");
loadVariables("RiodeJaneiro-RJ.txt", _root);
clearInterval(id);
}
id = setInterval(pause, 20000);
}
else if(i == 2){
function pause(){
trace("terceiro");
loadVariables("BeloHorizonte-MG.txt", _root);
clearInterval(id);
}
id = setInterval(pause, 20000);
}
else if(i == 3){
funtion pause(){
trace("quarto");
loadVariables("Brasilia-DF.txt", _root);
clearInterval(id);
}
};
}
}

Acho que assim deve funcionar...

Testa ae...

Mas a melhor maneira de fazer isso funcionar não é assim -.-

 

Da uma pesquisada direito no setInterval... e metodos de carregar texto em array...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o nome da função não pode ser pause caso funcione acredito que possa dar algum problema

tenta por como pause2 pelo menos

 

 

é basicamente isso:

Se você reparou o pause fica azul e o nome da função não pode ficar azul.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi gente,

 

Bom coloquei o nome da função como intervalo, mas agora não esta lendo nenhum txt...:( :

 

onClipEvent (load){

var i;

var id = setInterval(intervalo, 20000);

}

onClipEvent (enterFrame) {

for( i = 0; i < 4; i++){

if(i == 0){

function intervalo(){

trace("primeiro");

loadVariables("SaoPaulo-SP.txt", _root);

clearInterval(id);

}

id = setInterval(pause, 20000);

}else if(i == 1){

function intervalo(){

trace("segundo");

loadVariables("RiodeJaneiro-RJ.txt", _root);

clearInterval(id);

}

id = setInterval(pause, 20000);

}

else if(i == 2){

function intervalo(){

trace("terceiro");

loadVariables("BeloHorizonte-MG.txt", _root);

clearInterval(id);

}

id = setInterval(pause, 20000);

}

else if(i == 3){

function intervalo(){

trace("quarto");

loadVariables("Brasilia-DF.txt", _root);

clearInterval(id);

}

};

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom cara...

 

Faça diferente...

Coloque todos os textos em um arquivo chamado arquivotexto.txt

 

Ai como você tem 3 textos ou mais faça assim

Separe com # ou com o que você desejar...

&texto=blablabla1 # blablabla2 # blablabla3 # blablabla4

 

 

var textos:Array = new Array();
var carregar:LoadVars = new LoadVars();
carregar.load("arquivotexto.txt")
carregar.onLoad = function(ok){
	if(ok){
		var separador:String = new String();
		separador = carregar.texto;
		textos.push(separador.split("#"));
		trace(textos[0][0]);
	}else {
		trace("erro ao carregar texto");
	}
}

Ai toda vez que você for chamar um texto depois de carregar isso tudo

Você faz textos[0] "<--- sempre" textos[0][0] <------ para o primeiro

textos[0][1] <--------- para o segundo e assim por diante

 

Ai você coloca ao final de carregar tudo alguma função que chame sua função de texto...

 

Por exemplo assim:

var textos:Array = new Array();
var carregar:LoadVars = new LoadVars();
carregar.load("arquivotexto.txt")
carregar.onLoad = function(ok){
	if(ok){
		var separador:String = new String();
		separador = carregar.texto;
		textos.push(separador.split("#"));
		trace(textos[0][0]);
			   carrega();
	}else {
		trace("erro ao carregar texto");
	}
}

function carrega(){
   for(var i = 0; i < 4; i++){
	  var id = setInterval(intervalo, 20000);
	  function intervalo(){
		 campo.text = textos[0][i]; // campo.text é um campo de texto dinâmico instanciado de campo
	  }
   }
}

Isso deve funcionar...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Berseck,

 

Sou uma mina e não um cara..kkkkkk...eu ia colocar meu nome, mas não dava, então deixei como Ritz, mas sou Rita.

 

Então, o problema em usar assim, é que tenho aqui todos os txts prontos, cada um para uma cidade e nele contém informações daquela cidade, tais como dia, temperaturas máximas e mínimas, precipitação de chuvas e ícones para cada dia de cada cidade...a animação que deveria ler um txt por um determinado tempo corre sempre a mesma para 3 dias de previsão, sendo que cada vez que anima, ele trás na animação variáveis chamando as informações que citei acima...td isso chama do nosso banco de dados e já esta pronto, entendeu? Por isso preciso montar tudo conforme esta ai, chamando um txt por vez.

 

Tá complicadinho ne?rss...isso é só o começo, pq depois ainda tenho que dar um jeito do flash ler uma outra variável que de acordo com seu resultado chame um frame num movie, e neste frame chame uma imagem externa que serão os ícones aparecendo, eu até já tenho isso montado, pois já existe flash que eu fiz aqui com essas informações, mas terei de adaptar a esse novo flash. Caso consiga fazer ne...rss

Tudo isso para que simplifique a atualização deles...to cansada...rss

 

Bem, valeu mesmo pela ajuda...mas, preciso continuar quebrando a cabeça para que o intervalo entre nesse sistema de código, lendo um txt por vez. :)

 

Obrigada e se você tiver mais alguma idéia que posso novamente me ajudar, agradeço!

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então olá senhorita ;)

 

Apesar de que aqui no rj todo mundo é cara...

 

Você pode simplesmente alterar meu código para que ele receba tudo de uma feita então...

Só que vai ter de criar carregamentos separados:

 

Exemplo

var tempo = setInterval(intervalo, 20000);
var inic:Number = 0;
var cidades:Array = ["SaoPaulo-SP","RiodeJaneiro-RJ","BeloHorizonte-MG","Brasilia-DF.txt"]
function intervalo(){
var textos:LoadVars = new LoadVars();
var carregar:LoadVars = new LoadVars();
carregar.load(cidades[inic] +".txt")
carregar.onLoad = function(ok){
	if(ok){
		textos.tempo = carrega.tempo;
		textos.informcoes = carrega.informacoes; // e assim sucessivamente sempre textos.nome que ta no txt
		carrega();
	}else {
		trace("erro ao carregar texto");
	}
};
function carrega(){
 // aqui você vai carregar os textos no seu campo de texto se quiser colocar campos separados pode
 // Exemplo:
 // campo.text = textos.tempo;
};
inic++;
};

Ahh não esqueça de colocar um if(inic > 3) inic = 0;

 

Abraços ;)

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.