2012-06-01 2 views
0

Intro - Я работаю над игрой iOS, используя Flash CS5.5. В моей игре я загружаю изображение через рулон камеры и собираюсь использовать изображение в игровом процессе. Я хочу, чтобы изображение загружалось обратно, когда пользователь перезапускает игру.flash.display.Loader class on iOS

Вопрос - Есть ли способ получить доступ к такому изображению снова, не открывая интерфейс рулона камеры.

Могу ли я использовать класс flash.display.Loader? Есть ли какие-то особые вещи, которые мне нужно делать или устанавливать? Или есть другой способ?

Я попытался просто сохранить файл, указанный в MediaEvent, отправленном при выборе изображения.

Но мне не повезло с использованием URL-адреса, указанного в объекте-загрузчике. Я использую пример с этой страницы в качестве базы: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/CameraRoll.html.

ответ

0

Да, это возможно. Вам нужно, чтобы сохранить изображение в каталог приложения документов, используя класс файла с чем-то вроде этого: (это использует класс Adobe JPGEncoder)

f = File.documentsDirectory.resolvePath("logo.jpg"); 

stream = new FileStream(); 
stream.open(f, FileMode.WRITE);           

j = new JPGEncoder(80); 
var bytes:ByteArray = j.encode(visualLogo.bitmapData); 
stream.writeBytes(bytes, 0, bytes.length); 
stream.writeBytes(bytes, 0, bytes.bytesAvailable); 
stream.close(); 

//I read the file back in to test that it has been successfully written 
stream.openAsync(f, FileMode.READ); 
stream.addEventListener(Event.COMPLETE, bringBoardOn, false, 0, true); 

Затем загрузите его обратно в используя что-то вроде этого:

f = File.documentsDirectory.resolvePath ("logo.jpg"); 

if (f.exists == true) { 

var _urlRequest:URLRequest = new URLRequest(f.url); 
loader=new Loader; 
loader.load(_urlRequest); 
loader.addEventListener(IOErrorEvent.IO_ERROR, function(e:IOErrorEvent):void{ trace(e) }); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ImageLoaded, false, 0, true);  
_urlRequest = null; 

} 
+0

Глядя на это сообщение, оно не представляется возможным. http://forums.adobe.com/message/3827717#3827717 – crooksy88