Показать сообщение отдельно
Старый 09.07.2009, 14:52
ThyQ вне форума Посмотреть профиль Отправить личное сообщение для ThyQ Найти все сообщения от ThyQ
  № 1  
Ответить с цитированием
ThyQ

Регистрация: Apr 2008
Адрес: Moldova
Сообщений: 12
Отправить сообщение для ThyQ с помощью ICQ
По умолчанию будто уменьшает содержимое, оставляя пустые края

Здравствуйте, Уважаемые.
Этот форум для меня теперь настоящий учебник.
Взялся за написание "плагина", если "это" так можно назвать.
все элементы создаются программно. Суть в том, что указанная фотка получает возможность быть более детально рассмотрена (в той части фотки, где находится курсор мыши).
в HTML определяю четко размеры самой свфки, и передаю те же значения в свфку.
В свфке создаю несколько мувиклипов
в один гружу фоту(фон)
во второй гружу ту же фоту но умноженную в размере на множитель zoom (это даёт эффект увеличенности), из другого делаю маску, соответственно накладываю маску, и двигаю маску в соответствии с координатами мыши, смещая увеличенную фоту под маской так, чтобы в области маски показывался тот же участок, на который указывает мышь в неувеличенной фоте.
В общем функциональность присутствует.
Но есть одно "НО", при тестировании, подставляя разные фото я столкнулся с странным поведением свфки. Она будто уменьшает контент, оставляя часть свфки пустой.

pwidth и pheight - переменные передаваемые из HTML
После изнурительного поиска нашел лишь это:


Код AS1/AS2:
Stage.width=parseInt(pwidth);
Stage.height=parseInt(pheight);

но ошибка не устранилась...

Так я пытался растягивать мувиклип неувеличенной фотки на всю область свфки


Код AS1/AS2:
var mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
mcl.addListener(listener);
this.createEmptyMovieClip("the_image", 0);
mcl.loadClip(small_pic, the_image);
listener.onLoadInit = function(the_image:MovieClip) {
the_image._width=parseInt(pwidth);
the_image._height=parseInt(pheight);
};

Потом я подумав ещё предположил: "может в zoomе дело???, мол он жеж увеличвает изображение под маской, поэтому может и выделяет под себя "территорию" внутри свфки..."
Организовано это так:


Код AS1/AS2:
var mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
mcl.addListener(listener);
createEmptyMovieClip("bg_pic", 1);
mcl.loadClip(small_pic, bg_pic);
listener.onLoadInit = function(bg_pic:MovieClip) {
bg_pic._width=pwidth*zoom;
bg_pic._height=pheight*zoom;
 
bg_pic.setMask(circle_mc);
};

Но при значительном изменении значения zoom "пустая область" осталась неизменной.
Код с готовой работой тоже прилагаю, если некорректно описал, простите...2 дня уже не сплю...(((
Вложения
Тип файла: zip plugin.zip (162.3 Кб, 81 просмотров)