|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Не получается получить ширину картинки...
Доброе время суток!
Вообщем вопрос таков: Имеется некий загрузчик, с помощью которого загружается картинка во флэш, когда пытаюсь обратится к ширене данной картинки, выдаёт 0. Почему или как мне узнать ширину в пикселах? Вот собственно код: Зарание благодарен!
__________________
Ошибок не делает лишь тот, кто ничего не делает! |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Ну конечно, пока он загрузит картинку - пройдет некоторое время, пусть даже картинка на локальном носителе - она загрузиться не мгновенно. (не верите - в блоге у __etc самая 1 запись).
Подписывайтесь у Event.COMPLETE, после чего смотрите.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
дык так и делаю!
__________________
Ошибок не делает лишь тот, кто ничего не делает! |
|
|||||
дык я ведь меряю после команды AddChild();
__________________
Ошибок не делает лишь тот, кто ничего не делает! |
|
|||||
Регистрация: Jul 2007
Адрес: Дубна, Моск.обл.
Сообщений: 108
|
Можно мерять и без addChild(), ведь свойство width у DisplayObject'ов есть всегда. Главное - дождаться окончания загрузки картинки (о чем и говорил Psycho Tiger)
Последний раз редактировалось musat; 09.02.2009 в 21:37. |
|
|||||
package{ import flash.display.*; import flash.net.*; import flash.xml.*; import flash.events.*; public class Galery extends Sprite{ private var gal_XML:XML = new XML(); // Определяем новый xml private var xml_rote:String = "gall.xml"; // А таакже путь к нему private var url_request:URLRequest = new URLRequest(xml_rote); // Запрос!! private var xml_loader:URLLoader = new URLLoader(url_request); // Загрузчик файла private var crnt_pic:Number = 0; //Номер текущей картинки private var pic_cnt:Number = 0; //Количество картинок //------------------------------------------------------------------- public function Galery():void{ xml_loader.addEventListener("complete",xml_loaded); gal_XML.ignoreWhitespace=true; } //------------------------------------------------------------------- private function xml_loaded(e:Event):void{ gal_XML= XML(xml_loader.data); pic_cnt = gal_XML.item.length(); trace(gal_XML.item[crnt_pic].cmt); load_pic(gal_XML.item[crnt_pic].img); xml_loader.removeEventListener("complete",xml_loaded); } //------------------------------------------------------------------- private function load_pic(pic_rote:String):void{ var pic_loader:Loader = new Loader(); var pic_url_req:URLRequest = new URLRequest(pic_rote); pic_loader.load(pic_url_req); addChild(pic_loader); trace(pic_loader.width); pic_loader.scaleX=0.1; pic_loader.scaleY=0.1; } }
__________________
Ошибок не делает лишь тот, кто ничего не делает! |
|
|||||
[+1 16.02.09]
[++1 16.02.09] Регистрация: Jan 2009
Сообщений: 41
|
musat через функцию loadPicHandler(e:Event) делает. Попробуй её с помощью листера на событие мышки показать ширину. Когда её точно увидишь на экране кликай)
Добавлено через 3 минуты А попробуй поменять addChild(pic_loader); с Trace Так: trace(pic_loader.width); addChild(pic_loader); |
|
|||||
попробывал-бестолку
__________________
Ошибок не делает лишь тот, кто ничего не делает! |
|
|||||
[+1 16.02.09]
[++1 16.02.09] Регистрация: Jan 2009
Сообщений: 41
|
Самый прикол что выдает 0 а не NaN или Undefined
|
Часовой пояс GMT +4, время: 14:09. |
|
« Предыдущая тема | Следующая тема » |
|
|