Руководство по actionscript. часть 6, стр. 050
// Обращаемся к последнему байту в буфере
buffer. position = buffer. length — 1;
var lastByte;int = buffer. readUnsignedByte( );
// Если байт «завершение передачи» отсутствует,
// значит, бинарные данные элемента загружены не полностью,
// поэтому элемент не создаем
if (lastByte!= DisplayAssetLoader. EOT) { return;
}
// Все в порядке, мы можем благополучно сгенерировать элемент из // загруженных байтов. Последний байт в буфере не является частью // элемента, поэтому отбрасываем его. buffer. length = buffer. length — 1;
// Теперь создаем объект Loader, который сгенерирует элемент // из загруженных байтов loader = new Loader( );
// Генерируем элемент из загруженных байтов 1oader.1oadBytes(buffer);
// Ожидаем завершения процесса инициализации элемента 1oader. contentLoaderlnfo. addEventLi stener(Event. INIT,
assetlnitListener);
}
// Помещает элемент на экран после завершения процесса его инициализации private function assetlnitListener (e:Event):void {
addChi1d(1oader. content);
outCAsset initialized.»);
}
// Обрабатывает ошибки ввода/вывода private function ioErrorListener (e:IOErrorEvent):void { out(«I/0 Error: » + e. text);
}
// Выводит статусные сообщения на экран и на отладочную консоль private function out (msg:*):void { trace(msg);
statusField. appendText(msg + «\n»);
}
}
}
Рассмотрим три основные части класса DisplayAssetLoader: создание и подключение к сокету, помещение байтов в буфер и создание отображаемого элемента из загруженных байтов.