这个问题一直困扰着我,我在互联网上找不到一个直接的答案。
假设使用的是Adobe的开源FlexSDK3.5中的mxmlc。我通常希望开发一些较小的图形东西,通常是在一个.as文件中编码。然后:
.as文件,并用mxmlc编译它,并从中获取一个.swf (如威廉布朗街Ubuntu下的Flash/ActionScript3 3“编程”中的 )swf将不能使用,比如说,Gnash)
.mxml文件,并将ActionScript嵌入到其中(如Flex 3示例:在运行时绘制具有添加和删除点数功能的路径? MyLineRider) CDATA[ --因为我通常是以编程方式从原语构建屏幕上的任何东西;这就是为什么,我不太关心mxml文件--而且我更喜欢使用单个.as文件。而且,我认为即使这样也只适用于AS3.0上下文
最后,我想--在过去--可以用ActionScript 2.0 .as文件编译这样一个mtasc文件,如动议-Twin教程所示
重复一遍--基本上我想使用Flex/ActionScript作为矢量绘图“脚本”引擎,主要用于非动画文件、图形原语和文本--为此,我将最满意地使用一个.as文件;我将从命令行编译,以获得一个swf。但是,我不想编写AS3.0,因为那时Gnash无法打开它们(而且,我宁愿使用开源的flex而不是使用mtasc进行AS2.0编译)。
因此,我的问题归结为:
.as 2.0语法,这样就可以由Flex3的mxmlc编译mxmlc在一个.mxml文件中,AS2.0语法可以接受吗?mxmlc为“旧”Flash生成一个.swf (以便Gnash能够读取它) ?mxmlc -compiler.accessible HelloWorld_flex.as”,但这并不能使SWF在Gnash中显示(特别是,至少缺少了文本标签)。
好吧-这里的任何评论都将受到欢迎(特别是,如果有解决方案,可以链接到示例文件:) .对于这个任务,我更喜欢AS2.0,因为它更容易(对于这类任务,我真的不需要严格的AS3.0子类)--但我不介意在AS3.0中编写代码--只要我确信‘遗留’swf播放器能够打开最终结果。
谢谢你的建议,
干杯!!
PS:这可能是一个有趣的链接,类似于这个问题--但甚至更早(关于AS1):Adobe: Flash - command-line compile AS1 (-->FP6.0.65) code?
编辑:可能是一个相关的引文:2007年[ES Wiki]
Pratap:就像数据点闪存一样,v9附带了2个VM(用于ActionScript2和ActionScript3)。(杰夫澄清:这主要是因为AS2没有AS3那么关心ES3兼容性。我们在AS3中选择了ES3兼容性而不是AS2兼容性。因为ES4在设计上与ES3兼容,所以ES3和ES4的实现并不存在这种特殊的动机。)
发布于 2010-12-24 20:14:30
不,不,不。MXMLC只创建与AVM2兼容的字节码。这意味着AS2出局了。句号。
如果您想以AVM1为目标( GNASH可以执行的字节码),则需要使用Flash或FlashDevelop IDE(可能在FlashDevelop IDE中)。与任何Adobe产品相比,与FlashDevelop相结合的MTASC是非常棒的。对我来说,在没有FD/MTASC的情况下开发AVM1 SWF非常痛苦。
https://stackoverflow.com/questions/4528144
复制相似问题