Вот эта статья: "Как с помощью [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 найдется и еще какое-нибудь применение :-).