[Embed] в ActionScript: встраиваем .swf с ActionScript кодом, и таблицы стилей CSS

· На чтение уйдёт 1 минута · (165 слов)

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

Полезное