![]() |
Не получается получить ширину картинки...
Доброе время суток!
Вообщем вопрос таков: Имеется некий загрузчик, с помощью которого загружается картинка во флэш, когда пытаюсь обратится к ширене данной картинки, выдаёт 0. Почему или как мне узнать ширину в пикселах? Вот собственно код: Код AS3:
|
Ну конечно, пока он загрузит картинку - пройдет некоторое время, пусть даже картинка на локальном носителе - она загрузиться не мгновенно. (не верите - в блоге у __etc самая 1 запись).
Подписывайтесь у Event.COMPLETE, после чего смотрите. |
дык так и делаю!
|
Нельзя померить ширину/высоту, того чего еще не видно.
|
дык я ведь меряю после команды AddChild();
|
Можно мерять и без addChild(), ведь свойство width у DisplayObject'ов есть всегда. Главное - дождаться окончания загрузки картинки (о чем и говорил Psycho Tiger)
Код AS3:
|
Код AS3:
|
musat через функцию loadPicHandler(e:Event) делает. Попробуй её с помощью листера на событие мышки показать ширину. Когда её точно увидишь на экране кликай)
Добавлено через 3 минуты А попробуй поменять addChild(pic_loader); с Trace Так: trace(pic_loader.width); addChild(pic_loader); |
попробывал-бестолку :(
|
Самый прикол что выдает 0 а не NaN или Undefined
|
1. Из справки
Цитата:
2. Данные объекта доступны после события Event.INIT, а не Event.COMPLETE |
Цитата:
|
Большое пасибо! Всё работает
|
А в чём разница между Loader() и download()
Если я правильно понимаю, то loader грузит только картинки и swf, а даунлоад вообще чё угодно может грузить? И куда он это "чё угодно" складывает? Добавлено через 6 минут и запуститься ли лоадер если его вызвать как Код:
var pic_loader:Loader = new Loader(new URLRequest("filename.jpg"));Добавлено через 19 минут Я не понял нюанса: В AS3 reference есть пример который показывает использование Loader() без обработчика событий, просто сразу после load() идёт addChild(). Т.е. когда картинка загрузится, она автоматически попадёт в контейнер видимых объектов(или как там его), но доступа к свойствам не будет пока не произойдёт событие INIT этой картинки??? А почему у Sajaxt loader вызывал событие complete, но не вызывал событие INIT. Как я понимаю сразу после выполнения события complete, автоматически должно происходить событие INIT... или я нифига не понимаю. INIT это инициализации картинке в муве? |
Код AS3:
|
Цитата:
Цитата:
|
| Часовой пояс GMT +4, время: 03:22. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.