Просмотр полной версии : Как лимитировать значения минимального размера _xscale & _yscale?
minimalistic
31.05.2007, 21:16
На мувик "map" пишу скрипт:
mouseListener = new Object();
mouseListener.onMouseWheel = function (delta){
map._xscale = map._xscale+(delta*3);
map._yscale = map._yscale + (delta*3);
map._y = map._y + (delta*45);
};
Mouse.addListener(mouseListener);
Не могу понять как ограничить уменьшение размеров мувика скажем до 700 пикселей по горизонтали с сохранением пропорций или хотя-бы в пронцентах задать?
Наверное, цепочка рассуждений может быть следующей: как ограничить снизу ширину мувиклипа до 700 пикселей? -> надо использовать свойство мувика, которое отвечает за ширину и предложение if... -> ширина мувика хранится в свойстве _width, но ее также можно получить через пропорцию, зная ширину мувиклипа без масштабирования и текущее значение свойства _xscale -> через пропорцию вычисляем новое значение ширины с учетом потенциального масштабирования -> если новое значение ширины больше 700 пикселей - масштабируем, иначе - нет
Так подойдет?
mouseListener = new Object();
mouseListener.onMouseWheel = function (delta){
delta=map._width>700?delta:0;
map._xscale = map._xscale+(delta*3);
map._yscale = map._yscale + (delta*3);
map._y = map._y + (delta*45);
};
Mouse.addListener(mouseListener);
Интересная конструкция:
delta=map._width>700?delta:0;
а можно про нее чуть подробнее?
if ( map._width > 700 ) delta = delta;
else delta = 0;
тернарный оператор:
(условие) ? (если правда) : (если неправда);
CrazyFlasher
01.06.2007, 21:26
блин, честно говоря я сам не сразу понял что это =) без пробелов не читабельно (имхо)
Я неправильно условие написал. Исправил.
minimalistic
03.06.2007, 14:25
А почему при этом условии zoom зависает? Тоесть как упираешся в предел, назад не скролит?
А почему при этом условии zoom зависает? Тоесть как упираешся в предел, назад не скролит?
Потому что этого условия в вашей просьбе не было.
Используйте в условиях знак дельта параметра прокрутки колесика.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.