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

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

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

Регистрация: Sep 2006
Сообщений: 4
По умолчанию Оживить интерфейс при "думании" скрипта

Может кто уже сталкивался с ситуацией - как можно вывернуться: пишу actionScript для решения шахматных задачек (короче, простенькие шахматы), и понятно, что секунд на 5-10 программа должна естесственным образом задумываться. На это время интерфейс флеша при работе программы, разумеется, подвисает, пока не отработает функция "думания". Ситуация не нравится, но как бы это обойти?

Думаю о разбиении цикла "обдумывания" на итерации, которые можно запускать по EnterFrame, но это как-то криво - разбивать процесс перебора на сотни этапиков.

Может, что присоветуете?

Старый 27.09.2006, 16:39
Leezard вне форума Посмотреть профиль Отправить личное сообщение для Leezard Посетить домашнюю страницу Leezard Найти все сообщения от Leezard
  № 2  
Ответить с цитированием
Leezard
 
Аватар для Leezard

Регистрация: Oct 2004
Сообщений: 141
Попробовать LocalConnection?


Последний раз редактировалось Leezard; 27.09.2006 в 16:50.
Старый 27.09.2006, 16:55
Felix_flash вне форума Посмотреть профиль Отправить личное сообщение для Felix_flash Найти все сообщения от Felix_flash
  № 3  
Ответить с цитированием
Felix_flash

Регистрация: Sep 2006
Сообщений: 4
О, спасибо, намек ясен. В LocalConnection'ах еще не разбирался, но просмотрел доки и вижу, что LocalNet - по адресу проблемы.

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

Регистрация: Oct 2004
Сообщений: 141
Только я боюсь если вычисления объемны, тормоза системы все равно будут видны в анимации. Надо пробовать.
P.S. я тут немного запутался У Потапенко LocalNet у флэша LocalConnection


Последний раз редактировалось Leezard; 27.09.2006 в 17:02.
Старый 28.09.2006, 00:44
Felix_flash вне форума Посмотреть профиль Отправить личное сообщение для Felix_flash Найти все сообщения от Felix_flash
  № 5  
Ответить с цитированием
Felix_flash

Регистрация: Sep 2006
Сообщений: 4
да, я как раз эту страничку Потапенко нашел, так что мы поняли друг друга
Посижу, поразбираюсь.

Старый 28.09.2006, 02:42
Dendroid вне форума Посмотреть профиль Отправить личное сообщение для Dendroid Посетить домашнюю страницу Dendroid Найти все сообщения от Dendroid
  № 6  
Ответить с цитированием
Dendroid
 
Аватар для Dendroid

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
Для начала можно взять флэш-плеер 9, с его Actionscript 3, после этого 5-10 секунд превратятся где-то в 0.1-0.5 секунды (при правильной оптимизации).
Для незамораживания интерфейса делаем следующее:
1. Во время работы скрипта, например, в основном цикле, отслеживаем getTimer() - как только натикало 200 миллисекунд с начала работы цикла (100, 50, 20, 10 - подбираем нужные "тормоза" опытным путём), сохраняем обсчитанные состояния и выходим из цикла.
2. Ждём события EnterFrame как знак обновления графики.
3. Возобнавляем работу скрипта с прерванного места.
Для шахмат сделать такие разрывы в работе скрипта несложно, т.к. основное занятие - перебор ходов-кандидатов - достаточно цикличный и последовательный процесс, а функция оценки должна работать быстро.
__________________
Верить никому нельзя. Мне - можно. :)

Старый 28.09.2006, 14:56
Felix_flash вне форума Посмотреть профиль Отправить личное сообщение для Felix_flash Найти все сообщения от Felix_flash
  № 7  
Ответить с цитированием
Felix_flash

Регистрация: Sep 2006
Сообщений: 4
Спасибо, Dendroid, вариант с пропусканием EnterFrame для обноволения графики тоже в работе, но применение тут getTimer() я еще не смотрел - так что спасибо за совет - начинаю задействовать скриптовые вещи, которые мной пока во флеше задействованы не были за отсутствием соотв.задач .

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

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

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


 


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


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