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,这样的
将无法与(比如)Gnash一起播放)swf
- (但是,作为AS3.0,这样的
- 我知道一个人可以使用一个
文件,并将ActionScript嵌入其中(比如).mxml
- 但是,首先,我不想看各种XML节点和
-因为我通常是通过原语编程在屏幕上构建任何东西;这就是为什么我不太关心mxml文件的原因-我更喜欢使用单个CDATA[
文件。而且,我认为即使这样也只适用于AS3.0上下文.as
- 但是,首先,我不想看各种XML节点和
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。