代码之家  ›  专栏  ›  技术社区  ›  darscan

不带Flex框架/组件的MXML

  •  3
  • darscan  · 技术社区  · 17 年前

    Flex编译器可以编译不包含任何Flex组件字节码的“纯AS3”SWF文件。所以

    2 回复  |  直到 17 年前
        1
  •  8
  •   wulong    17 年前

    -compiler.keep-generated-actionscript=true mxmlc .

    bar.mxml:

    <?xml version="1.0" encoding="utf-8"?>
    <flash:Sprite xmlns:flash="flash.display.*">
    </flash:Sprite>
    

    mxmlc -compiler.keep-generated-actionscript=true bar.mxml ,它将变成以下内容。

    package {
        import flash.display.Sprite;
        // bunch of imports
        public class bar extends Sprite {
            public function bar() { super(); }
        }
    }
    
        2
  •  3
  •   cliff.meyers    17 年前

    有两种不同的编译器:一种用于将ActionScript代码编译成AVM字节码,另一种(mxmlc)用于将MXML文件编译成ActionScript代码,然后由第一个编译器依次编译。如果要查看生成的AS3代码,请将“-keep”参数传递给MXML编译器。

    从理论上讲,按照你的建议去做是可能的。我的猜测是mxmlc在UIComponent类的特性中占了很大比重,因此您可能需要对mxmlc进行一些攻击,以便它不会在非UIComponent类中呕吐。即使如此,由于像[Bindable]/data binding这样的东西利用了Flex框架特性(而不是普通的Flash Player/AVM特性),您将重写大量代码。