![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2008
Сообщений: 10
|
В ран-тайме загружаю рисунки с сервера через Image следующим кодом:
var img:Image = new Image(); img.load(someFileName); img.visible = true; img.x = someX; img.y = someY; parentCanvas.addChild(img); если для img.width и img.height ничего не присваивать, то они равны 0 и картинки не видно... Поставить просто большие значения не могу, т.к. на этих img висят потом обработчики нажатия мыши и надо точный размер выставить. Добавлено через 42 часа 2 минуты Нашёл решение. По событию о завершении загрузки Complete в параметре как раз истинный размер картинки. Единственный нюанс, это что в это параметре вроде как нет ссылки на сам объект Image. Для этого сделал поиск по source (не совсем универсально, но для моего случая достаточно). Короче, код такой: var img:Image = new Image(); img.load(someFileName); img.visible = true; img.x = someX; img.y = someY; img.addEventListener(Event.COMPLETE, doImageComplete);//set actual size parentCanvas.addChild(img); private function doImageComplete(e:Event):void{ for (var i:int = 0;i<parentControl.numChildren;i++) { var d1:Object = parentControl.getChildAt(i); if (d1 != null) { if (d1 is Image) { var img:Image = d1 as Image; if(img.source == (e.currentTarget as Image).source) { img.width = (e.currentTarget as Image).contentWidth; img.height = (e.currentTarget as Image).contentHeight; return; } } } } } Последний раз редактировалось Сашаc; 23.02.2010 в 16:59. |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|