Вот эта статья: "Как с помощью [embed] встроить swf с кодом", которая и сподвигла меня написать эту короткую статью.
Очень важно то, что при внедрении файлов через мета-тег [Embed], можно заставлять компилятор не обрабатывать внедряемые данные. Достигается это при помощи указания типа данных:
[Embed("assets/filename.bin", mimeType=”application/octet-stream”)]
Этот способ я использовал для внедрения .CSS файлов, .XML файлов с данными, а теперь, возможно, буду использовать и для внедренных MovieClip'ов (.swf).
Для подгрузки .css из встроенного ресурса, можно использовать метод parseCSS класса Stylesheet, XML же получается простым new XML(source):
[geshi lang=Actionscript]
[Embed(source="/assets/userinfo.css", mimeType="application/octet-stream")]
private static var SomeEmbedClass: Class;
private function test(): void {
var sheet: Stylesheet = new Stylesheet();
var str: String = new SomeEmbedClass();
sheet.parseCSS(str);
var xml: XML = new XML(str);
// Либо так:
var bytes: ByteArray = new SomeEmbedClass();
var xml2: XML = new XML(bytes.readUTFBytes(bytes.length));
// И из вышеприведенной статьи:
var currLoader:Loader = new Loader();
var ldrContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
currLoader.loadBytes( new SomeEmbedClass, ldrContext );
}
[/geshi]
Возможно, простому ByteArray найдется и еще какое-нибудь применение :-).