![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Привет!Вопрос следующий:
Есть у меня 10 картинок, которые я хочу загрузить через xml...делаю следующим образом: var imageLoader:Loader; var xml:XML; var xmlList:XMLList; var xmlLoader:URLLoader = new URLLoader(); xmlLoader.load(new URLRequest("data/images.xml")); xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded); function xmlLoaded(event:Event):void { xml = XML(event.target.data); xmlList = xml.children(); for(var i:uint = 0; i< xmlList.length(); i++) { imageLoader = new Loader(); imageLoader.load(new URLRequest(xmlList[i].attribute("thumb"))); imageLoader.x = 25; imageLoader.y = i * 150 + 25; addChild(imageLoader); } } Добавлено через 2 минуты и ещё одно...как вы считаете, нужно ли мне создавать массив в который я буду сохранять объекты imageLoader, для более удобного обращения к ним позже или есть другой способ потом к ним бращаться без создания массива(с учётом, что их нет на сцене)? |
|
|||||
|
Регистрация: Jul 2005
Сообщений: 135
|
битмапу можно взять из loader.content
чтобы её можно было редактировать, нужно при load указать LoaderContext c чекполиси true если вам изменять яркость нужно только для пользователя (типа навел мышь / убрал), а не для других целей (типа изменил яркость залил на сервер), то можно применять transorm и на объект лоадер, тогда чекполиси ни к чему
__________________
хоумпага |
|
|||||
|
а если надо допустим добавить параметр smoothing, чтобы сгладить картинку?
Кстати, loader.content даёт null! |
|
|||||
|
а можно как то поменять центральную точку у объекта Loader? Или надо обязательно в спрайт кидать?
|
|
|||||
|
Цитата:
![]() Добавлено через 54 секунды опреативно отвечаете! ценю!))Добавлено через 3 минуты А если чуток поподробнее? Чтото не нахожу этого свойства в хелпе. Можно строчку кода, как это записывать? |
|
|||||
|
Регистрация: Jul 2005
Сообщений: 135
|
любой дисплей обжект имеет свойство трансформ, так же как x и y
внутри трансформа есть матрица смещения matrix, её и нужно задавать const m:Matrix = loader.transform.matrix; m.translate(-25, -25); loader.transform.matrix = m; 25 - это половина ширины/высоты объекта (в данном случае я крутил вокруг центра)
__________________
хоумпага Последний раз редактировалось kutuzov; 13.06.2010 в 18:18. |
|
|||||
|
большое спасибо за пример!
![]() а как в этом же примере можно применить к этой картинке размытие и убирать его при наведении на определённую картинку? Я делаю вот так: var imageLoader:Loader; var holder_mc:Sprite; //var image_bmd:BitmapData = new BitmapData(150, 150, false, 0x000000) var image_bmp:Bitmap; var images_arr:Array = new Array(); var m:uint; var bfOn:uint = 5; var xml:XML; var xmlList:XMLList; var xmlLoader:URLLoader = new URLLoader(); var dMap:BitmapData; var bf:BlurFilter = new BlurFilter(5, 5, bfOn); xmlLoader.load(new URLRequest("data/images.xml")); xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded); function xmlLoaded(event:Event):void { xml = XML(event.target.data); xmlList = xml.children(); for(var i:uint = 0; i< xmlList.length(); i++) { imageLoader = new Loader(); // Лоадер для картинки imageLoader.load(new URLRequest(xmlList[i].attribute("thumb"))); imageLoader.name = xmlList[i].attribute("source"); imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, showMeContent); } } function rollObj(e:MouseEvent):void { bfOn = 0; //e.target.contentLoaderInfo.content.smoothing = true; e.target.scaleX = 1.5; e.target.scaleY = 1.5; trace(e.target.getChildAt(0).bitmapData); trace(e.target.getChildAt(0)); var bf:BlurFilter = new BlurFilter(-5, -5, -5); e.target.getChildAt(0).bitmapData.applyFilter(e.target.getChildAt(0).bitmapData, e.target.getChildAt(0).bitmapData.rect, new Point(0,0), bf); trace(bfOn) } function showMeContent(e:Event):void { dMap = new BitmapData(150, 100, false, 0x000000); dMap.draw(e.target.content); var newBitmap:Bitmap = new Bitmap(dMap); holder_mc = new Sprite(); //holder_mc.addChild(e.target.content); holder_mc.x = 125; holder_mc.y = m * 150 + 25; newBitmap.x = -newBitmap.width/2; newBitmap.y = -newBitmap.height/2; //trace(e.target.content.x ); addChild(holder_mc); //newBitmap.smoothing = true; dMap.applyFilter(dMap, dMap.rect, new Point(0,0), bf); holder_mc.addChild(newBitmap); holder_mc.addEventListener(MouseEvent.ROLL_OVER, rollObj); m++; } |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|