![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 6
|
Проблема в следующем:
Есть Loader-ы с загруженными изображениями. Требуется, чтобы при наведении мыши картинка увеличивалась в размерах, а при уведении курсора - возвращалась в нормальное состояние. / Соответственно, сделал обработчики onRollOver и onRollOut, в которых делаю изменение _xscale и _yscale. _root["my_loader"].onRollOver = function() { this._xscale = 150; this._yscale = 150; } _root["my_loader"].onRollOut = function() { this._xscale = 100; this._yscale = 100; } Применение SetSize дает тот же эффект. Как с этим бороться? И заодно глупый вопрос: как обработать для UIScrollBar событие прекращения скроллинга? |
|
|||||
|
Модрон-ветеринар
|
Вроде нет зацикливания при вашем коде на тестовом мувике. Навели (произошло onRollOver) - mc увеличился - убрали (произошло onRollOut) - mc восстановился до 100%.
А движение влево зачем? |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 6
|
Цитата:
Это, кстати, и в хелпе задокументировано: Цитата:
Последний раз редактировалось SeekerIU5; 24.07.2009 в 18:09. |
|
|||||
|
Модрон-ветеринар
|
Если содержимое мувика ориентировно по центру, и нет никаких движений, а только изменение масштаба, то все нормально.
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 6
|
Цитата:
![]() |
|
|||||
|
Модрон-ветеринар
|
Часто приходится иметь дело с динамическим контентом и я использую для этих целей специально написанную функцию, очень удобно:
//////// ФУНКЦИЯ ПОДГОНКИ ЗАГРУЖЕННЫХ КАРТИНОК ПО РАЗМЕРУ И ЦЕНТРУ СЛОТА ///////////////// resizeClip = function(mc, maxWidth, maxHeight) { var ratio_x = maxWidth / mc.image._width; var ratio_y = maxHeight / mc.image._height; if (ratio_x <= ratio_y) { if (ratio_x < 1) { // ширина равна максимальной а высота в соответствии с пропорцией mc.image._width = maxWidth; mc.image._yscale = mc.image._xscale; } } else { if (ratio_y < 1) { // высота равна максимальной а ширина в соответствии с пропорцией mc.image._height = maxHeight; mc.image._xscale = mc.image._yscale; } } // центруем mc.image._x = -1 * Math.round(mc.image._width/2); mc.image._y = -1 * Math.round(mc.image._height/2); //сглаживаем mc.image.forceSmoothing = true; }; var mcLoader:MovieClipLoader = new MovieClipLoader(); var listener:Object = new Object(); mcLoader.addListener(listener); //после загрузки, ресайзим о центруем: listener.onLoadInit = function(target_mc:MovieClip) { resizeClip(target_mc._parent, 126, 84); } //а перед загрузкой где-то, где нужно создается контейнер и внутри него еще контейнер image: slide_mc.createEmptyMovieClip("image", 0); mcLoader.loadClip(url, slide_mc.image); Логика скрипта здесь такая - выполняется снизу вверх. Это немного видоизмененный вариант функции с урока: http://noregret.org/tutor/resize/ Последний раз редактировалось mooncar; 24.07.2009 в 19:01. |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 6
|
Спасибо большое. Все таки повторю глупый вопрос(отдельной темы для него жалко): как обработать событие прекращения сскролллинга? Т.е. момент, когда пользователь прекратил перетаскивание ползунка?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|