Форум 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=178050)

djken 13.04.2012 23:56

помогите с setInterval
 
Привет всем! =) Помогите пожалуйста - нужно реализовать несколько таймеров (каждый таймер для своего мувика). Каждый таймер должен сработать только один раз. Всё работает, но только, как я понял, не срабатывает clearInterval - процесс бесконечно зациклен... Привожу упрощенную часть скрипта (весь скрипт лежит в _root):

Код AS1/AS2:

alphaOut = function(n){
        new Tween(main["part"+n], "_alpha", Regular.easeOut, 0, 100, 0.5, true);
        clearInterval(this["tm"+n]);
        }
 
for (var i=1; i<80; i++){
        main.attachMovie("part", "part"+i, main.getNextHighestDepth());
        main["part"+i]._alpha=0;
        //main["part"+i]._x = некая координата по X;
        //main["part"+i]._y = некая координата по Y;
        this["tm"+i] = setInterval(alphaOut, i*10, i);
        }


dark256 14.04.2012 10:19

А куда у вас указывает this ы каждом конкретном случае?
Заведите массив таймеров на _level0, к примеру, и туда их и прописывайте.

mooncar 14.04.2012 10:38

Цитата:

Сообщение от djken (Сообщение 1074911)
Каждый таймер должен сработать только один раз.

В таком случае нет нужды в setInterval и clearInterval - достаточно использовать setTimeout вместо setInterval + clearInterval.

А не работает скорее всего потому, что в подинтервальной alphaOut this будет скорее всего undefined.
Ради любопытства сделайте в ней
Код AS1/AS2:

trace(this)


djken 14.04.2012 12:20

Цитата:

А не работает скорее всего потому, что в подинтервальной alphaOut this будет скорее всего undefined
Точно - так и происходит... )
Сделал через setTimeout - даже и не знал о нем. Всегда работал с setInterval и clearInterval ))))
Спасибо за помощь! =)


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

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