![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2009
Сообщений: 11
|
Вообщем есть такая проблема . Есть программа вида
И при массовых нажатиях мышки всё естественно виснет. Хотелось блокировать нажатие мышки на время выполнения функции : но так не работает...может кто подскажет как это сделать? |
|
|||||
|
попробуй так
|
|
|||||
|
Регистрация: Jun 2009
Сообщений: 11
|
Спасибо! Тока забыл отписать что время выполнения функции может сильно меняться, так что через таймеры врят ли прокатит. Может события как-то можно для этого использовать?
|
|
|||||
|
onMouseDown и есть событие, только проблема в том, что выстреливает оно не во время реального клика, а после завершения потока обработки в этой самой функции, поэтому и установка флага не срабатывает
а с отсечкой по getTimer хоть что-то похожее на правду.. |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 11
|
блин...не айс получается...просто предполагается запуск этой функции на машинах разной производительности, и получается надо её сначала на тестах прогонять чтобы выяснить значение 10 (которая с потолка^^)...а в AS3 ничего нового по этой теме нет?
|
|
|||||
|
Модрон-ветеринар
|
Странно, а кроме такого ненадежного способа, как по времени, определить, что данная долговыполняющаяся функция отработана, разве нет? Что-то там в конце же эта функция же должна выдавать?
|
|
|||||
|
>>получается надо её сначала на тестах прогонять чтобы выяснить значение 10
не совсем так, 10 это не время выполнения функции, а максимальная ошибка таймера, она на всех машинах примерно такая будет.. вот еще почти такой же вариант сбрасываем флаг с некоторой задержкой, чтобы дать возможность кликам из очереди сработать вхолостую: |
|
|||||
|
Регистрация: May 2009
Сообщений: 9
|
вот и весь код, после констуктора кнопки переопредели эти методы эти и все)))
Последний раз редактировалось Avid; 18.07.2009 в 03:52. Причина: ошибка |
|
|||||
|
Avid, занимать onEnterFrame для этого - как минимум маразм.
И почитай что написал silin, не сработает твой вариант.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
DevastT
а если так?.. Сделать флаг видимым для обоих функций и менять уже из тормозящей функции в самом конце?.. Тут по идее должно адекватно отработать? |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|