flash - 使用 MXMLC 从命令行编译 ActionScript

标签 flash actionscript-3 actionscript command-line mxmlc

我有一个很小的 ActionScript “项目”,由两个文件组成,分别称为 foo.as 和 bar.as。由于我不会详细说明的原因,我真的很想从命令行构建 .SWF,而不设置任何类型的正式项目。我曾经使用过的每个编译器都允许您执行此操作,但我一生都无法弄清楚如何强制 MXMLC 编译这两个文件并将它们链接到 SWF。

天真地,我尝试

MXMLC foo.as bar.as

但我被告知只允许使用一个源文件。

好吧,假设我分别编译这两个文件,我如何将它们链接在一起以获得最终的 SWF?

注意:我有两个文件而不是一个文件的唯一原因是每个文件只需要一个类。我尝试将这两个类放入一个文件中,并将其中一个类设为 privateinternal,但这些想法都不起作用。我会欣喜若狂地发现我可以将多个类放入一个文件中(只有一个类是公共(public)的)。

最佳答案

这是一个由两部分组成的问题,所以我将分别回答。

将两个类文件编译为一个 SWF

MXMLC 将自动编译它从您提供的入口点(您的主类)找到的所有类。它从导入语句中查找类,以及完整的类路径定义。

这是一个非常好的guide for using MXMLC command line编译您的 AS3 项目。这篇文章有点过时了,但信息仍然很好。他详细介绍了使用命令行编译器时需要了解的内容,包括 MXMLC 选项、编写 BAT 脚本以及一些有关 AS3 的内容,如果您知道自己在做什么,则可以跳过这些内容。

一个文件中有多个类

AS3 允许每个文件有一个类,以及您喜欢的任意数量的“帮助”类。它不像 Java 那样支持 protected 类和私有(private)类。辅助类仅在它们定义的文件中可见。

帮助类位于包声明之外(这对我来说有点奇怪)。这是一个例子:

package com.mynamespace
{
     public class Foo 
     {
          private var _fooHelper:FooHelper = new FooHelper();
     }
}

// helper class imports also go outside the package.
import com.example.xml.SaxHandler;
class FooHelper
{
     private var bar:Number = Math.random();
}

关于flash - 使用 MXMLC 从命令行编译 ActionScript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/886071/

相关文章:

java - Intellij IDEA 同一个项目中的多种语言

actionscript-3 - as3crypto 中的 SSL (TLS)

JavaScript onClick函数触发ActionsScript3事件

html - 我可以在 html 电子邮件中发布嵌入对象,如 flashvideo/youtube 吗?

flash - file.asc 和 file.far

actionscript-3 - 如何使用 IExternalization?

actionscript-3 - ActionScript 中是否已存在用于搜索数组并返回元素 > some # 的第一个索引的方法?

apache-flex - 有没有办法将另一个类的成员函数作为参数传递给as3中的函数?

java - 在 Webview 中加载 Flash,我迷路了

flash - 如何在 Actionscript 3.0 中使用静态函数?