Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File ActionScript 2.0单个文件是否可以用Flex 3.X mxmlc编译?_File_Command Line_Flex3_Actionscript 2 - Fatal编程技术网

File ActionScript 2.0单个文件是否可以用Flex 3.X mxmlc编译?

File ActionScript 2.0单个文件是否可以用Flex 3.X mxmlc编译?,file,command-line,flex3,actionscript-2,File,Command Line,Flex3,Actionscript 2,这个问题一直困扰着我,我在互联网上找不到直接的答案。 假设使用Adobe开源Flex SDK 3.5中的mxmlc。我通常希望开发一些较小的图形化的东西,我通常在一个.as文件中编写这些东西。然后: 我知道可以使用单个AS3.0.as文件,并使用mxmlc编译它,然后从中获得.swf(如中所示) (但是,作为AS3.0,这样的swf将无法与(比如)Gnash一起播放) 我知道一个人可以使用一个.mxml文件,并将ActionScript嵌入其中(比如) 但是,首先,我不想看各种XML节

这个问题一直困扰着我,我在互联网上找不到直接的答案。

假设使用Adobe开源Flex SDK 3.5中的
mxmlc
。我通常希望开发一些较小的图形化的东西,我通常在一个
.as
文件中编写这些东西。然后:

  • 我知道可以使用单个AS3.0
    .as
    文件,并使用
    mxmlc
    编译它,然后从中获得
    .swf
    (如中所示)
    • (但是,作为AS3.0,这样的
      swf
      将无法与(比如)Gnash一起播放)
  • 我知道一个人可以使用一个
    .mxml
    文件,并将ActionScript嵌入其中(比如)
    • 但是,首先,我不想看各种XML节点和
      CDATA[
      -因为我通常是通过原语编程在屏幕上构建任何东西;这就是为什么我不太关心mxml文件的原因-我更喜欢使用单个
      .as
      文件。而且,我认为即使这样也只适用于AS3.0上下文
最后,我想——在过去——有可能用
mtasc
将这样一个ActionScript2.0
编译成
文件,如中所示

  • 然而,在诸如“局部变量作用域”这样的语言结构中存在差异,我不想对此进行争论
重复-基本上我想使用Flex/ActionScript作为矢量绘图“脚本”引擎,将主要用于非动画文件、图形原语和文本-为此,我最喜欢使用单个
.as
文件;我将从命令行编译该文件,以获得
swf
。但是,我不想编写AS3.0,因为
无法打开它们(而且,我更愿意使用开源FlexSDK,而不是使用
mtasc
进行AS2.0编译)

因此,我的问题可以归结为:

  • 是否有可能在一个
    文件中输入ActionScript 2.0语法作为
    文件,从而由Flex3的
    mxmlc
    编译
  • 如果不是,那么在单个
    .mxml
    文件中,Flex3的
    mxmlc
    是否可以接受AS2.0语法
  • 如果没有-我是否可以使用AS3.0,强制
    mxmlc
    为“较旧”的Flash播放器生成
    .swf
    (以便
    Gnash
    能够读取它?)
    • 在这里,我尝试了“
      mxmlc-compiler.accessible HelloWorld_flex.as
      ”,但这并没有使生成的SWF显示在Gnash中(特别是,至少缺少文本标签)
好的-这里的任何评论都将不胜感激(特别是,如果有一个解决方案,一个指向示例文件的链接:)…我更喜欢AS2.0来完成这个任务,因为它更简单(对于这类任务,我真的不需要严格的子类化AS3.0的东西)-但我不介意用AS3.0编码-只要我确信“遗留”
swf
玩家能够打开最终结果

谢谢你的建议,
干杯

附言: 这可能是一个有趣的链接,与此问题类似,但甚至更早(关于AS1):

编辑:可能是相关的报价:

Pratap:正如data point Flash v9附带2个虚拟机(用于 ActionScript2和ActionScript3)。(杰夫澄清:这是 主要是因为AS2不太关心ES3兼容性 与AS3相比,我们在AS3中选择了ES3兼容性,而不是 AS2兼容性。由于ES4在设计上与ES3兼容, 这种特殊的动机并不存在于实现 ES3和ES4。)


否、否和否。MXMLC只创建与AVM2兼容的字节码。这意味着AS2已过期。句号


如果您希望以AVM1(GNASH可以执行的字节码)为目标,则需要使用Flash IDE或MTASC(可能在。与任何Adobe产品相比,MTASC与FlashDevelop的结合都是非常棒的。对我来说,在没有FD/MTASC的情况下开发AVM1 SWF是非常痛苦的。

否、否和否。MXMLC只创建与AVM2兼容的字节码。这意味着AS2已过时。句号


如果你想以AVM1(GNASH可以执行的字节码)为目标,你需要使用Flash IDE或MTASC(可能在中)。与任何Adobe产品相比,MTASC与FlashDevelop的结合是非常棒的。对我来说,在没有FD/MTASC的情况下开发AVM1 SWF是非常痛苦的。

感谢@spender给出了明确的答案!(我希望我不必等待3分钟才能接受它:)干杯!编辑:在ubuntu中,有
sudo apt get install mtasc
啊。没有发现你的操作系统。我想FlashDevelop只是Windows。感谢@spender给出明确的答案!(我希望我不必等待3分钟才能接受它:))干杯!编辑:在ubuntu中,有
sudo-apt-get-install-mtasc
啊。没有发现你的操作系统。我想FlashDevelop只是Windows。