如何生成OpenLaszlo LZX SWF运行时应用程序的ActionScript 3源代码

时间:2012-10-22 09:32:03

标签: actionscript openlaszlo lzx

在开发OpenLaszlo应用程序时,生成用编写的应用程序的ActionScript 3源代码有时很有用,例如:当您想将OpenLaszlo编译为Adobe AIR应用程序时。

将ActionScript 3源代码生成到预定义文件夹的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

可以在lzc中找到的$LPS_HOME/WEB-INF/lps/server/bin/命令行工具具有以下选项:

--lzxonly
  for as3 runtime, emit intermediate as files, 
  but don't call backend as3 compiler

默认情况下,OpenLaszlo编译器会将ActionScript 3代码生成到系统特定的Java临时文件夹中,但$JAVA_OPTS环境变量可用于更改该文件夹。

以下是在Linux上如何将命令与$JAVA_OPTS结合使用的示例:

a)创建一个简单的LZX文件,例如

<canvas>  
  <button text="Hello world" />  
</canvas>

并将其另存为test.lzx

b)设置$JAVA_OPTS变量
以下语法适用于Linux或OS X:

export JAVA_OPTS="-Djava.io.tmpdir=./tmp -DXmx1024M"

c)将LZX编译为ActionScript 3

> lzc --lzxonly test.lzx --runtime=swf10
Compiling: test.lzx to test.swf10.swf

tmp文件夹将包含生成的ActionScript 3文件

tmp
├── lzccache
└── lzswf9
    └── build
        └── test
            ├── app.swf
            ├── build.sh
            ├── LzApplication.as
            ├── $lzc$class_basebutton.as
            ├── $lzc$class_basecomponent.as
            ├── $lzc$class_basefocusview.as
            ├── $lzc$class_button.as
            ├── $lzc$class__componentmanager.as
            ├── $lzc$class_focusoverlay.as
            ├── $lzc$class__m2u.as
            ├── $lzc$class__m2v.as
            ├── $lzc$class__m2w.as
            ├── $lzc$class__m2x.as
            ├── $lzc$class__m2y.as
            ├── $lzc$class__m2z.as
            ├── $lzc$class__m30.as
            ├── $lzc$class__m31.as
            ├── $lzc$class__mm.as
            ├── $lzc$class__mn.as
            ├── $lzc$class__mo.as
            ├── $lzc$class__mp.as
            ├── $lzc$class_statictext.as
            ├── $lzc$class_style.as
            ├── $lzc$class_swatchview.as
            ├── LZC_COMPILER_OPTIONS
            ├── LzPreloader.as
            └── LzSpriteApplication.as

文件夹结构遵循以下方案:

{JAVA_TEMP_FOLDER}/lzswf9/build/{LZX_FILENAME_WITHOUT_ENDING},因此在我们的情况下

tmp/lzswf9/build/test/

主应用程序文件是LzSpriteApplication.as,您可以查看build.sh文件,以了解Flex SDK的mxmlc命令如何用于编译生成的源代码。