ActionScript 3
Загрузка внешних файлов
Поиск…
замечания
В некоторых случаях приложение не может управлять содержимым активов, загружаемых с внешнего ресурса (например, преобразовывать изображения). Я не могу точно помнить, что это такое, но я уверен, что это связано с загрузкой содержимого междоменного контента.
Загрузка внешних изображений / SWF с загрузчиком
Создайте объект Loader:
var loader:Loader = new Loader(); //import
Добавьте слушателей в загрузчик. Стандартные - полные и io / ошибки безопасности
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); //when the loader is done loading, call this function loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadIOError); //if the file isn't found loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadSecurityError); //if the file isn't allowed to be loaded
Загрузите нужный файл:
loader.load(new URLRequest("image.png"));
Создайте обработчики событий:
function loadComplete(e:Event):void { //load complete //the loader is actually a display object itself, so you can just add it to the display list addChild(loader) //or addChild(loader.content) to add the root content of what was loaded; } function loadIOError(e:IOErrorEvent):void { //the file failed to load, } function loadSecurityError(e:SecurityError):void { //the file wasn't allowed to load }
Загрузка с классом Loader является асинхронной. Это означает, что после вызова
loader.load
приложение будет продолжать работать при загрузке файла. Содержимое вашего загрузчика недоступно до тех пор, пока загрузчик не отправит событиеEvent.COMPLETE
.
требуется импорт:
import flash.display.Loader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLRequest;
Загрузка текстового файла с помощью FileStream (только для среды выполнения AIR)
Простой пример того, как читать текстовый файл UTF синхронно.
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;
//First, get a reference to the file you want to load
var myFile:File = File.documentsDirectory.resolvePath("lifestory.txt");
//Create a FileStream object
fileStream = new FileStream();
//open the file
fileStream.open(myFile, FileMode.READ);
//read the data and assign it to a local variable
var fileText:String = fileStream.readUTF();
//close the current filestream
fileStream.close();