Ir para conteúdo

POWERED BY:

Arquivado

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

Álan_nov

[Resolvido]Problemas com contagem regressiva As2

Recommended Posts

Segue a As:

 

var numeros;
					var tempo;
					numeros = 15;
					function conta(){
					numeros = numeros - 1;
					txt.text = numeros;
					}
					
				if (acertos == 10){
					
					if (numeros <= 0){
					clearInterval(tempo);
						
					trace("zerado");
					delete _root.onEnterFrame;
					Mouse.removeListener(mouseListener);
					gotoAndStop("ganhou");
					}
					
					txt.text = numeros;
					stop();
					tempo = setInterval(conta, 1000);
					}
Não consigo parar essa contagem. Ela chega a 0 e ao invés de parar e ir para o outro frame, segue a contagem negativa.

O que poderia fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

if (numeros < 0){

Já que você quer incluir o 0...

n precisa do igual

 

E tenha certeza que o trace('zerado') ta funcionando

 

Outra coisa:

if (acertos == 10){
 
if (numeros < 0){
clearInterval(tempo);
 
trace("zerado");
delete _root.onEnterFrame;
Mouse.removeListener(mouseListener);
gotoAndStop("ganhou");
}else{
txt.text = numeros;
stop();
tempo = setInterval(conta, 1000);
}
}

Coloque o else... se não ele manda fazer o setInterval novamente se op numero for menor que zero anyway

Pois n tem condição para ele deixar de rodar o código abaixo

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom baseado no seu código eu criei a função aqui para testar... e ver o que acontece

 

Veja ela funcionando e aplique a ideia no seu codigo:

var txt:TextField = _root.createTextField('txt', 1, 20, 20, 200, 20);
var numeros;
numeros = 15;
var acertos = 10;

function conta(){
	numeros--;
	txt.text = numeros;
	hitsCheck();
}

function hitsCheck(){
	if (acertos == 10){
	
		if (numeros <= 0){					
			trace("zerado");
			delete _root.onEnterFrame;
			Mouse.removeListener(mouseListener);
			gotoAndStop("ganhou");
		}else {
		
			txt.text = numeros;
			stop();
			setTimeout(conta, 1000);
		}
	}
}
hitsCheck();

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código que o berseck postou está certinho, ta contando de 15 até 0, verifique ai como você copiou ou digitou, que você encontrará o seu erro.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um detalhe basico...

não se coloca setInterval dentro de um onEnterFrame... espero que você não esteja fazendo isso...

 

Pois pode dar loop infinito caso o computador não responda a tempo... e dar crash no browser do usuário.

 

Já fiz o teste -.- pra minha infelicidade.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato!

Copiei e colei em um fla separado fez a contagem beleza, tudo certo.

Porém no jogo que estou fazendo não está funcionando.

Por isso disponibilizei meu código para verem o que está acontecendo.

 

Desde já agredeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato!

Copiei e colei em um fla separado fez a contagem beleza, tudo certo.

Porém no jogo que estou fazendo não está funcionando.

Por isso disponibilizei meu código para verem o que está acontecendo.

 

Desde já agredeço

 

Ai cabe a você verificar essa integração, pois a sua dúvida foi respondida.

Topico resolvido, caso queira abra outro topico com a outra duvida.

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.