![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Здравствуйте, Уважаемые.
Этот форум для меня теперь настоящий учебник. Взялся за написание "плагина", если "это" так можно назвать. все элементы создаются программно. Суть в том, что указанная фотка получает возможность быть более детально рассмотрена (в той части фотки, где находится курсор мыши). в HTML определяю четко размеры самой свфки, и передаю те же значения в свфку. В свфке создаю несколько мувиклипов в один гружу фоту(фон) во второй гружу ту же фоту но умноженную в размере на множитель zoom (это даёт эффект увеличенности), из другого делаю маску, соответственно накладываю маску, и двигаю маску в соответствии с координатами мыши, смещая увеличенную фоту под маской так, чтобы в области маски показывался тот же участок, на который указывает мышь в неувеличенной фоте. В общем функциональность присутствует. Но есть одно "НО", при тестировании, подставляя разные фото я столкнулся с странным поведением свфки. Она будто уменьшает контент, оставляя часть свфки пустой. pwidth и pheight - переменные передаваемые из HTML После изнурительного поиска нашел лишь это: но ошибка не устранилась... Так я пытался растягивать мувиклип неувеличенной фотки на всю область свфки 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 дня уже не сплю...((( ![]() |
|
|||||
|
.
|
ThyQ, я не увидел четко сформулированного вопроса.
Из фразы "она будто уменьшает контент, оставляя часть свфки пустой" попытаюсь предположить, что контент не должен уменьшаться, и тем более не оставлять часть свфки пустой. |
|
|||||
|
Цитата:
Цитата:
Может я в алгоритме где-нить пропустил чего? Или просто какую-то мелочь ещё не знаю? Вы прикреплённый файл смотрели, там сразу видно что я имел в виду. (запускать надо хтмл файл, хотя думаю вы знаете) Попробую переформировать вопрос: Как заставить содержимое растянуться по всей области выделенной под свф так, чтобы не оставалось пустот? Цитата:
Последний раз редактировалось ThyQ; 09.07.2009 в 23:57. |
|
|||||
|
.
|
Я посмотрел Ваш исходник. Оптимизированную версию выложу вскоре. Но главный затык в неправильном вычислении координат big_pic в обработчике someListener.onMouseMove
Попробуйте такой вариант: c this.big_pic._y аналогично. |
|
|||||
|
Цитата:
![]() Прошу прощения, но предоставленная Вами формула работает недостаточно корректно, смещение не точное, изображение под маской не соответствует точке на видимом, "фоновом" изображении Моя формула работает именно так как надо...по крайней мере по отношению к маске. Может дело в том, что при создани fla у меня стоит 800х600 (размер рабочей площади указываемый в самом приложени)? Есть ли возможность изменять её? Последний раз редактировалось ThyQ; 10.07.2009 в 03:10. |
|
|||||
|
Цитата:
Но мой вопрос здесь всё же не решился...точнее задал я его наверное некоректно, за что многократно извиняюсь. Выспавшись, переформирую вопрос: Вставляемая видимая фотка должна занимать всю площадь свфки, которая в свою очередь принимает переданные из хтмл значения. Т.е. если передаю из хтмла параметры: 400х400 то и фотка и свфка принимают размеры 400х400, передаю параметры: 1024х768, то и фотка в свфке и свфка принимают эти размеры. А в моём случае получается что фотка 600х800, но вставляет он её будто уменьшенной ~ 500х665, а остальная область остаётся пустой. В осиленном Вами примере вы вовсе не передаёте значения размеров растянутой (в случае, если вставляемая фотка меньше от природы) фотки. Как же эту фотку растянуть от "края до края" самой свфки? Вместить её (фотку) заполнив всё внутреннее пространство?Должен же быть какой-то метод? Последний раз редактировалось ThyQ; 10.07.2009 в 18:55. |
|
|||||
|
.
|
Изменяйте размер флешки из JavaScript. Я вкладывал объект FP в таблицу и изменял ее размер. Можно воспользоваться классом ExternalInterface, чтобы передавать странице нужные размеры, после загрузки картинки.
|
|
|||||
|
А без Яваскрипта сделать это никак? Внутри флешки, с помошью AS 2.0
Он ведь беспорядок наводит в самой свфке. Последний раз редактировалось ThyQ; 11.07.2009 в 18:33. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:45. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| stage |
| Опции темы | |
| Опции просмотра | |
|
|