![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2010
Сообщений: 97
|
Доброго времени суток
Поиск юзал - везде один и тот же ответ, но он мне не подходит. В общем, это код главного класса на AS3: package src.pic { import flash.display.*; import flash.net.*; import flash.events.*; public class main extends MovieClip{ private var picLoader:Loader; private var picURL:FileReference = new FileReference(); private var browseFilter:FileFilter = new FileFilter("Images","*.jpg"); // public function main () { picLoader = new Loader(); picLoader.contentLoaderInfo.addEventListener(Event.INIT, picLoaderListener); picURL.browse([browseFilter]); picURL.addEventListener(Event.SELECT, picSelectListener); } private function picSelectListener (e:Event) { trace("Picture selected"); picLoader.load(new URLRequest(e.target.name)); } private function picLoaderListener (e:Event) { trace("Picture loaded"); addChild(picLoader.content); } } } picLoader.load(new URLRequest(e.target.name)); позволяет загружать файл только из той же папки, где и сама флешка лежит. На что заменить e.target.name, чтобы можно было подгружать любой выбранный файл? |
|
|||||
|
Может все таки сначала стоит загрузить картинку через FileReference.load(), а потом полученный ByteArray (picURL.data) пихнуть в параметры loadBytes для picLoader'a, не?
__________________
...вселенская грусть |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 97
|
Может и да, ток мне это не о чем не говорит. Можешь дополнить мой код?? И файл не обязательно должен быть картинкой. Может это xml файл?? Главное из любого места чтоб этот файл погружался)
|
|
|||||
|
[+1 24.11.10]
Регистрация: Jun 2010
Сообщений: 280
|
возьмите отсюда:
internal class FileLoader extends EventDispatcher { private var file:FileReference; private static var typeFilter:Array; public var data:*; private var loader:Loader; public var bitmapData:BitmapData; public function FileLoader() { init(); } private function init():void { file = new FileReference(); file.addEventListener(Event.SELECT, select, false, 0, true); file.addEventListener(Event.CANCEL, cancel, false, 0, true); file.addEventListener(Event.COMPLETE, complete, false, 0, true); var fileFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png"); typeFilter = [fileFilter]; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initialize, false, 0, true); } public function load():void { file.browse(typeFilter); } private function select(evt:Event):void { file.load(); dispatchEvent(evt); } private function cancel(evt:Event):void { dispatchEvent(evt); } private function complete(evt:Event):void { data = evt.target.data; trace(evt.target); loader.loadBytes(data); dispatchEvent(evt); } private function initialize(evt:Event):void { bitmapData = null; var bitmap:Bitmap = Bitmap(evt.target.content); bitmapData = bitmap.bitmapData; dispatchEvent(evt); }
__________________
Ведь я только всего и хочу, чтобы все всегда было по-моему... Последний раз редактировалось Хомяк; 15.12.2010 в 01:22. |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 97
|
Хомяк, спасибо =)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 07:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|