![]() |
Как достать ширину загруженной картинки?
Проблема в том, что трейс показывает НОЛЬ. Помогите.
Код:
_root.createEmptyMovieClip("imageHolder",1); |
Код:
this.createEmptyMovieClip("image_mc", this.getNextHighestDepth()); |
Скорее всего, проблема в том что ширина измеряется до того как изображение загружено. используй onLoad или SetInterval
|
Постепенно подхожу к цели, но возникла следующая проблема: как достать значение ширины, чтобы использовать его вне функции loadImage?
Код:
function loadImage(mc, img){ |
venegy
ты сначала задай ширину пустому мувиклипу. |
to Mr. Fixit: зачем?
to venegy: ты можешь узнать ширину мувика, только по наступлению события onLoadInit (т.е. картинка твоя не загружается мгновенно), вот и думай исходя из этого. |
Знаю, что это типа муветон, но я просто в _root переменную завожу или в _global. Соотв. пишешь в онЛоадИнит
Код:
_root.imgWidth = target_mc._width; |
Пробовал. Так не получается. Проблема как раз в том, что переменная не принимает нужные значения (onLoadInit отрабатывает позже, чем я обращаюсь к переменной...).
udaaff, ты намекал на что-то... Может, мне структуру функций переделать. Прежняя была такая: loadImage(mc, img) mc - куда кладем картинку, img - имя картинки для загрузки внутри неё - функция для обработчика onLoadInit (которая давала нужный мне параметр - ширину загружаемой картинки) Далее я Вызываю первичную функцию loadImage(mc, img) в цикле для загрузки картинок. Но! Мне нужна ширина картинки. Накапливая ширину каждой загруженной картинки в переменную в этом цикле я получу возможность расставлять картинки одну за другой (в длинную колбасу). Может, изначально логика неверная? Спасибо за участие. |
>>onLoadInit отрабатывает позже, чем я обращаюсь к переменной
Тогда, простите, чью ширину Вы хотите использовать? Картинки-то еще нет Да, логика неверная Цикл выдает несколько тысяч итераций в секунду, т.е. Вы начнете грузить картинки одновременно, а вот время, за которое они будут загружаться, зависит от их веса. Таким образом шестая картинка может загрузиться раньше всех - куда Вы ее поставите, если ширина остальных еще не известна? Выход - грузить картинки по-очереди, не в цикле, а загружая следующую по событию онЛоадКомплит предыдущей. Или вар.2 - загрузить все картинки в одну пачку в невидимом мувике, сделать его видимым и пересчитать координаты всех картинок. Или вар.3 - отображать некие ячейки одного размера, возможно с прелоадером внутри, при окончании загрузки каждой картинки вызывается функция пересчета всей колбасы - получится динамическая такая загрузка :) |
Первый вариант подходит больше всего моему замыслу. Вообще я хочу добиться, чтобы каждая картинка грузилась полностью (с прелоудером) и только после этого начинала подгружаться следующая.
Но как это организовать с помощью онЛоадов? |
| Часовой пояс GMT +4, время: 04:14. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.