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

booobob 25.09.2012 22:20

странная пауза
 
Вложений: 1
Помогите разобраться, почему, при переходе на другие кадры, команда паузы продолжает работать и скидывает обратно. Нужно, чтобы при нажатии на кнопки 2, 3, 4 они стопорились на соответствующих кадрах.

mooncar 26.09.2012 00:06

Наверное, потому что setTimeout у вас уже запущен - не важно, нажали вы на кнопку или нет.
Для его отмены по нажатию на кнопки необходимо его отменять с помощью clearTimeout.
Например:
Код AS1/AS2:

var to1:Number = setTimeout(....);
 
btn.onRelease = function()
{
  clearTimeout(to1);
  gotoAndStop(...);
}

Но боюсь, что вам нужно очищать все таймауты, одним не отделаетесь, поэтому, например, сохраняйте ссылки на них в специальном массиве и очищайте все.

PS. Не пишите код на кнопках. Мой код выше будет работать в общей области видимости, если выполнить clearTimout() из обработчика, записанного на кнопке, то ссылка на таймаут не будет доступна.
Либо в каждом из кадров удаляйте все возможные таймауты.

booobob 26.09.2012 20:54

Прописал в области видимости
Код AS1/AS2:

var to1:Number = setTimeout(4000);

а на кнопках
Код AS1/AS2:

btn.onRelease = function()
{
  clearTimeout(to1);
  gotoAndStop("frame1");
}

выдает
Монтажный кадр=Монтажный кадр 1, слой=Слой 1, кадр=1, строка 1 Оператор должен находиться в обработчике on

Что я не так сделал?

mooncar 27.09.2012 13:52

1. Приведенный мной код нужно писать в кадре, а не на объектах. Кнопке задать имя экземпляра (Instance name) - btn.
2. Не забываем оформлять код в сообщении на форуме тегами.


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

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