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

Korsar Nik 09.06.2006 01:26

Проблема с setInterval
 
В общем суть в следующем: есть у меня клип but, 2 текстовых поля типа Output (называются mana и reg), куда юзер вводит численные данные, после чего нажимает на кнопку. В кнопке у меня такой код:

Код:

on (press) {
        if (i == 0) {
                t = mana.text/reg.text*1000;
                trace(t);
                setInterval(function () {
                        but.gotoAndStop(2);
                }, t);
                i = 1;
        } else {
                but.gotoAndStop(1);
                }
}

Задача заключается в том, чтобы при нажатии на кнопку через интервал времени t воспроизводился 2 кадр клипа but, затем, при повторном нажатии вся схема возвращалась в исходное положение, при третьем нажатии снова через интервал времени происходил переход на 2 кадр и т.д. С моим кодом, при повторном нажатии на кнопку происходит переход на 1 кадр, но буквально через секунду-2 снова происходит переход на второй кадр.
Вот исходник: http://eng.***********/git/50347032/Magic_Alarm.fla
Подскажите, пожалуйста, в чём я ошибся.

Буньков Максим 09.06.2006 09:06

Цитата:

Сообщение от Korsar Nik
В общем суть в следующем: есть у меня клип but, 2 текстовых поля типа Output (называются mana и reg), куда юзер вводит численные данные, после чего нажимает на кнопку. В кнопке у меня такой код:

Код:

on (press) {
        if (i == 0) {
                t = mana.text/reg.text*1000;
                trace(t);
                setInterval(function () {
                        but.gotoAndStop(2);
                }, t);
                i = 1;
        } else {
                but.gotoAndStop(1);
                }
}

Задача заключается в том, чтобы при нажатии на кнопку через интервал времени t воспроизводился 2 кадр клипа but, затем, при повторном нажатии вся схема возвращалась в исходное положение, при третьем нажатии снова через интервал времени происходил переход на 2 кадр и т.д. С моим кодом, при повторном нажатии на кнопку происходит переход на 1 кадр, но буквально через секунду-2 снова происходит переход на второй кадр.
Вот исходник: http://eng.***********/git/50347032/Magic_Alarm.fla
Подскажите, пожалуйста, в чём я ошибся.

Код:

on (press) {
        if (i == 0) {
                t = mana.text/reg.text*1000;
                trace(t);
                ID=setInterval(function () {
                        but.gotoAndStop(2);
                }, t);
                i = 1;
        } else {
                but.gotoAndStop(1);
                          clearInterval(ID);
                }
}

Попробуй так вдруг пропрет?:confused:

Korsar Nik 09.06.2006 13:38

И правда, разобрался, там кроме clearInterval'a ещё баг был, теперь работает. Спасибо большое.


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

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