Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   не могу остановить функцию (http://www.flasher.ru/forum/showthread.php?t=145316)

vepr 04.10.2010 20:18

не могу остановить функцию
 
На первом кадре имею:

Код AS1/AS2:

stop();
var msec = 3000;
var timerstart;
countDown = function(){
        var csec = msec - Math.floor((getTimer() - timerstart)/10);
        sec = Math.floor(csec/100);
        dsec=csec-sec*(100);
        time_txt.text=sec+":"+dsec;
}
 
timerstart = getTimer();
setInterval(countDown, 48);

также текстовое окно и кнопку:

Код AS1/AS2:

on(release){
        delete countDown;
        clearInterval(countDown);
        gotoAndStop(2);
}

при компиляции и нажатии кнопки, переходит на второй кадр, но на втором кадре функция не останавливается и секундомер продолжается
Как поступить?
Как удалить функцию?
Как сделать так чтобы она перестала что либо делать?
Ведь это же Interval её повторяет?

Zik. 04.10.2010 21:02

В clearInterval надо вписывать ID
Пример
Код AS1/AS2:

stop();
var ID:Number;
var msec = 3000;
var timerstart;
countDown = function(){
        var csec = msec - Math.floor((getTimer() - timerstart)/10);
        sec = Math.floor(csec/100);
        dsec=csec-sec*(100);
        time_txt.text=sec+":"+dsec;
}
 
timerstart = getTimer();
ID = setInterval(countDown, 48);
 
<any_button>.onRelease = function():Void {
            clearInterval(ID);
            delete countDown;
            gotoAndStop(2);
}

<any_button> - имя кнопки, написанное в instance name (ищется путем выделения кнопки мышкой и нажатием Ctrl+F3)

vepr 04.10.2010 21:19

спасибо!!!


Часовой пояс GMT +4, время: 23:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.