ThyQ
09.07.2009, 14:52
Здравствуйте, Уважаемые.
Этот форум для меня теперь настоящий учебник.
Взялся за написание "плагина", если "это" так можно назвать.
все элементы создаются программно. Суть в том, что указанная фотка получает возможность быть более детально рассмотрена (в той части фотки, где находится курсор мыши).
в HTML определяю четко размеры самой свфки, и передаю те же значения в свфку.
В свфке создаю несколько мувиклипов
в один гружу фоту(фон)
во второй гружу ту же фоту но умноженную в размере на множитель zoom (это даёт эффект увеличенности), из другого делаю маску, соответственно накладываю маску, и двигаю маску в соответствии с координатами мыши, смещая увеличенную фоту под маской так, чтобы в области маски показывался тот же участок, на который указывает мышь в неувеличенной фоте.
В общем функциональность присутствует.
Но есть одно "НО", при тестировании, подставляя разные фото я столкнулся с странным поведением свфки. Она будто уменьшает контент, оставляя часть свфки пустой.
pwidth и pheight - переменные передаваемые из HTML
После изнурительного поиска нашел лишь это:
Stage.width=parseInt(pwidth);
Stage.height=parseInt(pheight);
но ошибка не устранилась...
Так я пытался растягивать мувиклип неувеличенной фотки на всю область свфки
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е дело???, мол он жеж увеличвает изображение под маской, поэтому может и выделяет под себя "территорию" внутри свфки..."
Организовано это так:
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 дня уже не сплю...((( :wacko:
Этот форум для меня теперь настоящий учебник.
Взялся за написание "плагина", если "это" так можно назвать.
все элементы создаются программно. Суть в том, что указанная фотка получает возможность быть более детально рассмотрена (в той части фотки, где находится курсор мыши).
в HTML определяю четко размеры самой свфки, и передаю те же значения в свфку.
В свфке создаю несколько мувиклипов
в один гружу фоту(фон)
во второй гружу ту же фоту но умноженную в размере на множитель zoom (это даёт эффект увеличенности), из другого делаю маску, соответственно накладываю маску, и двигаю маску в соответствии с координатами мыши, смещая увеличенную фоту под маской так, чтобы в области маски показывался тот же участок, на который указывает мышь в неувеличенной фоте.
В общем функциональность присутствует.
Но есть одно "НО", при тестировании, подставляя разные фото я столкнулся с странным поведением свфки. Она будто уменьшает контент, оставляя часть свфки пустой.
pwidth и pheight - переменные передаваемые из HTML
После изнурительного поиска нашел лишь это:
Stage.width=parseInt(pwidth);
Stage.height=parseInt(pheight);
но ошибка не устранилась...
Так я пытался растягивать мувиклип неувеличенной фотки на всю область свфки
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е дело???, мол он жеж увеличвает изображение под маской, поэтому может и выделяет под себя "территорию" внутри свфки..."
Организовано это так:
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 дня уже не сплю...((( :wacko: