我有一个很小的 ActionScript “项目”,由两个文件组成,分别称为 foo.as 和 bar.as。由于我不会详细说明的原因,我真的很想从命令行构建 .SWF,而不设置任何类型的正式项目。我曾经使用过的每个编译器都允许您执行此操作,但我一生都无法弄清楚如何强制 MXMLC 编译这两个文件并将它们链接到 SWF。
天真地,我尝试
MXMLC foo.as bar.as
但我被告知只允许使用一个源文件。
好吧,假设我分别编译这两个文件,我如何将它们链接在一起以获得最终的 SWF?
注意:我有两个文件而不是一个文件的唯一原因是每个文件只需要一个类。我尝试将这两个类放入一个文件中,并将其中一个类设为 private
或 internal
,但这些想法都不起作用。我会欣喜若狂地发现我可以将多个类放入一个文件中(只有一个类是公共(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/