Форум 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)
-   -   аномалии с setInterval (http://www.flasher.ru/forum/showthread.php?t=115977)

Mur4ik 17.09.2008 06:51

аномалии с setInterval
 
На сцене кнопка btnReverse и мувиклип mcVideo...
При нажатии на кнопку направление проигрывания временной шкалы клипа меняется на обратное, но на деле так не происходит, т.е реверс включается а вот аверс уже нет, хотя трейсил - интервал очищается, а клип все равно воспроизводится в реверсе.
Почему так?
Код:

var bFlag:Boolean = true;
var nTotalFrames:Number = mcVideo._totalframes;

btnReverse.onRelease = function():Void
{
        if (bFlag) {
                var nInterval:Number = setInterval(playRevers, 20);
        } else {
                clearInterval(nInterval);
                mcVideo.play();
        }
        bFlag = !bFlag;
};

function playRevers():Void
{
        mcVideo.prevFrame();
        if (mcVideo._currentframe == 1) {
                mcVideo.gotoAndStop(nTotalFrames);
        }
}

Т.е, получается, при очистке интервала playRevers() все равно продолжает выполняться... Почему?

iNils 17.09.2008 10:40

переменная nInterval локальная, и после выполнения onRelease удаляется и при следующем вызове onRelease удалять уже нечего. Вынесите определение nInterval за пределы onRelease

Mur4ik 17.09.2008 11:00

Блин, точно :) элементарно!
Пора выспаться хорошенько
Спасибо.


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

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