Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.04.2008, 11:29
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 1  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
По умолчанию убить setInterval(Timout)

Сабж. Как? Использование clearInterval проблему не решает
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 20.04.2008, 11:34
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Каждый setInterval или setTimeout возращает уникальный идентификатор, который и надо передать clearInterval, иначе не понятно какой именно интервал надо убить.
Код:
id = setInterval (func, time);
clearInterval (id)
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.04.2008, 12:44
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 3  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Не помогает. Ведет себя так как при не убитых onEnterFrame-ах, т.е. происходит наложения одного на другой и в результате требуемой задержки практически нет
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 20.04.2008, 12:47
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 4  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Код приведен действующий. Скорее всего, вы обьявили идентификатор интервала как локальную переменную (через var) в одной функции, а пытаетесь очистить в другой, и, понятное дело, не получается. А эта переменнная должна находиться в области видимости, глобальной по отношению к обоим функциям.
__________________
4am is time to rock

Старый 20.04.2008, 13:27
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 5  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
DarkLight, а говорят, что телепатов нет! Спасибо, дело было именно в этом +1
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 20.04.2008, 13:59
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
И не забывайте, что запущенный второй (и последующий) интервалы без убийства предыдущего будут менять значение id и к старым уже обратиться будет "нельзя".
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.04.2008, 21:18
ashDesigner вне форума Посмотреть профиль Отправить личное сообщение для ashDesigner Посетить домашнюю страницу ashDesigner Найти все сообщения от ashDesigner
  № 7  
Ответить с цитированием
ashDesigner

Регистрация: Apr 2004
Сообщений: 37
Отправить сообщение для ashDesigner с помощью ICQ
Цитата:
Сообщение от iNils Посмотреть сообщение
И не забывайте, что запущенный второй (и последующий) интервалы без убийства предыдущего будут менять значение id и к старым уже обратиться будет "нельзя".
Это не так. Главное, чтобы переменная таймера была в пределах "видимости" для оператора clearInterval. Если у вас существует пять параллельных таймеров для, например, одной и той же функции и intervalID равно, соответственно, пяти, то вы можете убить каждый из пяти процессов по отдельности. Если не верите, попробуйте сами)) Как показывает практика, таймерные процессы находятся находятся в неком системном стеке, аналоге массива с ключом intervalID. Я могу привести пример такого работающего кода, если будет интересно.
__________________
:: Anthony ::

Старый 22.04.2008, 22:15
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Я могу убить все таймеры и без запоминания intervalID, достаточно циклом пройтись от 0 до очень много. Просто в таком случаи убьются все и нужные и не нужные, поэтому я и написал нельзя в кавычках.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.04.2008, 22:24
ashDesigner вне форума Посмотреть профиль Отправить личное сообщение для ashDesigner Посетить домашнюю страницу ashDesigner Найти все сообщения от ashDesigner
  № 9  
Ответить с цитированием
ashDesigner

Регистрация: Apr 2004
Сообщений: 37
Отправить сообщение для ashDesigner с помощью ICQ
Ок, тогда все верно. Выходом из этой ситуации может быть создание собственного массива объектов с полями, например {processID:String, intervalID:Number}, чтобы точно знать, что чему соответствует. Обычно я так и делаю))
__________________
:: Anthony ::

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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