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

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

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

Регистрация: Feb 2007
Сообщений: 3
По умолчанию sleep() возможно?

Как я понял все задержки во флэше реализовываются через setInterval с вызовом функции.

У меня, наверное руки не оттуда растут, этот сетИнтервал так и не заработал... хоть примеров насмотрелся в инете и делал почти так же.

В любом случае бывают ситуации (у меня сейчас такая) когда алгоритм будет намного лучше смотреться и удобнее писать, если задержки будут НЕ ИМИТИРОВАТЬСЯ вызовом функций и НЕ разбрасывать один единый кусок кода по десятку callback функций.

то есть, например цикл:
Код:
for (i=0; i<n; i++)
{
    // действия {}
    sleep(5); // задержка 5 сек
}

Попытался это реализовать:
Код:
//////////////////////
// Это реализация sleep-a раз и на всегда
function sleep(time)
{
	int_id = setInterval(sleep_empty_call, time);
}

function sleep_empty_call()
{
	log_field.text += "sleep_empty_call()\r"; // для отладки присобачил
	updateAfterEvent();
	clearInterval(int_id);
}
//
//////////////////////

// это пример алгоритма
for(var i=0; i<5; i++)
{
	log_field.text += i+"\r";
	sleep(5);
}
В результате в log_field сначала вываливается все 5 циклов из
Код:
log_field.text += i+"\r";
потом спутся паузу все 5 циклов
Код:
log_field.text += "sleep_empty_call()\r";

Что не так ? нужна помощь.
То есть мне бы заставить не выполняться(приостановиться) алгоритм на X времени... а с setInterval алгоритм сразу продолжает выполняться и через указанное время абсолютно независимо стартует другая "инстанция", выполняющая callback функцию.



если через getTimer() , отказавшись от setInterval, брать время и гнать цикл:
Код:
do {} while (prev_time_stamp+sleep_time > getTimer())
то плеер начинает негодавать по поводу загрузки и кидается ноутисами с предложениями прекратить выполнение


Последний раз редактировалось vg2k; 01.03.2007 в 18:23.
Создать новую тему   Часовой пояс GMT +4, время: 09:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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