Ir para conteúdo

POWERED BY:

Arquivado

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

silviamjr

Relógio com contagem regressiva em AS3.0

Recommended Posts

Oi pessoal, sou nova no Forun e estou com um problema no projeto de um jogo em Flash. Fiz um relógio em contagem regressiva, quando zera mando ir para uma determinada label.

Ele obedece o comando mas indica o seguinte erro: Error #1009: Não é possível acessar uma propriedade ou um método de uma referência de objeto nula.

Se alguém puder me ajudar eu agradeço muito.

 

Este é o código:

 

//contagem regressiva

import flash.utils.Timer;

import flash.events.TimerEvent;

 

var tempo:Timer = new Timer(1000);

var minutos:Number;

var segundos:Number;

var s:String;

var m:String;

 

tempo.addEventListener(TimerEvent.TIMER, atualizaTempo);

function atualizaTempo(event:TimerEvent):void {

if (segundos < 1) {

minutos--;

segundos = 60;

segundos--;

} else {

segundos--;

}

 

minutos < 10 ? m = String(0) + String(minutos) : m = String(minutos);

segundos < 10 ? s = String(0) + String(segundos) : s = String(segundos);

if ((segundos < 1) && (minutos == 0)) {

tempo.removeEventListener(TimerEvent.TIMER,atualizaTempo);

gotoAndStop ("gameOver");

}

txtTempo.text = m + ":" + s;

}

 

function inicia(min:int = 3, seg:int = 0):void {

minutos = min;

segundos = seg;

tempo.start();

}

 

inicia();

Compartilhar este post


Link para o post
Compartilhar em outros sites

o "txtTempo.text = m + ":" + s;" deve estar antes do gotoandstop

eu coloquei vários traces no script e descobri onde estava o erro.

provavelmente não tem outro txtTempo nesse gameover

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daniel, esse era um dos erros. O outro foi não ter removido as funções para passar de nível.

 

if ((segundos < 1) && (minutos == 0)) {

stage.removeEventListener(KeyboardEvent.KEY_DOWN, moverBolinha1);

stage.removeEventListener(KeyboardEvent.KEY_DOWN, colisao1);

stage.removeEventListener(KeyboardEvent.KEY_DOWN, fadeMenos1);

stage.removeEventListener(KeyboardEvent.KEY_DOWN, cadastro);

tempo.removeEventListener(TimerEvent.TIMER,atualizaTempo);

trace('gameOver');

gotoAndStop ("gameOver");

 

essas funções de fade, mover bolinha...etc, vem antes da função atualizaTempo.

Valeu pela ajuda.

brigadão

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.