PDA

Просмотр полной версии : Проблема вызова функции. Таймер


Маруська
16.10.2012, 15:02
Есть код.
Функция StartTimer не запускает ни при входе в кадр, ни по кнопке. Что не так?

function StartTimer()
{
var seconds:Number = 120;
var seconds0:Number = (new Date()).getTime() + 800 * seconds;
var current:Number = (new Date()).getTime();
timer.min.text = Math.floor(Math.round((seconds0 - current) / 800) / 60);
timer.sec.text = Math.round((seconds0 - current) / 800);
if (seconds0 - current <= 0)
{
trace("over");
delete this.StartTimer;
}

}


onEnterFrame = function ()
{
StartTimer();
};

zan.onPress = function()
{

StartTimer();
};

lexa2000lexa
16.10.2012, 15:53
А с чего вы взяли что она не запускаеться?

Маруська
16.10.2012, 15:59
ну я компилирую. Результата нет.

lexa2000lexa
16.10.2012, 16:01
А какой должен быть резултат?

Маруська
16.10.2012, 16:05
должен начаться обратный отсчёт на 2 минуты

lexa2000lexa
16.10.2012, 16:16
если я правильно вас понял то вам нужно вот это var seconds:Number = 120;
var seconds0:Number = (new Date()).getTime() + 800 * seconds;
function StartTimer()
{
var current:Number = (new Date()).getTime();
timer.min.text = Math.floor(Math.round((seconds0 - current) / 800) / 60);
timer.sec.text = Math.round((seconds0 - current) / 800);
if (seconds0 - current <= 0)
{
trace("over");
clearInterval(id)
}

}


id = setInterval(StartTimer,1000);

zan.onPress = function()
{
seconds0 = (new Date()).getTime() + 800 * seconds;
id = setInterval(StartTimer,1000);
};

Маруська
16.10.2012, 17:13
о да, чудно! спасибо большое!

Добавлено через 3 часа 57 минут
возникла другая проблема: при выходе из данного фрейма таймер продолжает работать и что-то там (NaN) циклично выводить в output. как сделать так, чтобы clearInterval(id) можно было вызвать глобально, или как-то выполнять clearInterval(id) на выходе из фрейма?