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

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

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

Регистрация: Oct 2008
Сообщений: 3
По умолчанию ограничение zoom'a по mousewheel

Товарищи, дело такое... Сделал zoom по колёсику мышки, теперь возникла проблема с его ограничением. Код проверки примерно такой (на примере уменьшения, то есть вращения колёсика на себя):
Код:
if( (my_mc._xscale - step) > minimal_scale)
{
 my_mc._xscale -= step;
}
Если вращать колёсико аккуратно, то всё ок, ограничение срабатывает и уменьшения не происходит по достижению минимального размера. Но если крутануть колёсико резко, на обработчик сваливается параллельно много событий, результатом чего иногда является (т.к. все события считают, что уменьшение всё ещё допустимо) уменьшение до микроскопических величин. Кто-нибудь знает, как этого избежать?

Старый 23.10.2008, 15:20
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 2  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Код:
if(my_mc._xscale <= minimal_scale){
   my_mc._xscale = minimal_scale;
}

Старый 23.10.2008, 15:55
Самурай Джек вне форума Посмотреть профиль Отправить личное сообщение для Самурай Джек Найти все сообщения от Самурай Джек
  № 3  
Ответить с цитированием
Самурай Джек

Регистрация: Oct 2008
Сообщений: 3
Такой вариант я рассматривал, но иногда заметен прыжок в минуса и быстрое выравнивание, что не есть гуд. Нельзя ли сделать некий объект синхронизации, чтобы при заходе в обработчик он захватывался и следующее событие уже ждало, пока объект освободится?

Старый 23.10.2008, 16:14
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 4  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Фрейм отрисовывается после того как все вычисления закончатся. Поэтому непонятно что за скачок?
Если вы произведете вычисления после того как окончательно установите значение масштаба, то не нужны будут синхронизаторы.

Старый 23.10.2008, 17:58
Самурай Джек вне форума Посмотреть профиль Отправить личное сообщение для Самурай Джек Найти все сообщения от Самурай Джек
  № 5  
Ответить с цитированием
Самурай Джек

Регистрация: Oct 2008
Сообщений: 3
Спасибо! Был не в курсе про последовательность отрисовки, сейчас попробовал, всё работает. Просто до этого по дурости разместил эту проверку в onEnterFrame, вот и прыгало. Ещё раз спасибо)

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

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

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


 


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


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