如何知道是动作脚本 1、动作脚本 2 还是动作脚本 3?

Posted

技术标签:

【中文标题】如何知道是动作脚本 1、动作脚本 2 还是动作脚本 3?【英文标题】:How to know if actionscript 1, actionscript 2, or actionscript 3? 【发布时间】:2010-12-20 08:08:40 【问题描述】:

我没有具体的代码示例,但是有没有一种通用的方法来猜测代码 sn-p 是什么版本的 Actionscript:1 或 2 或 3?

我在某处读到,如果它是时间轴中的代码,它被认为是 Actionscript 1。

【问题讨论】:

【参考方案1】:

更新:我对 AS1/2 的经验有限,这是基于我在 AS 论坛上看到的。从 cmets 看来,事件处理的第二种和第三种方法在 AS1 和 AS2 中都有效。

处理事件的语法不同:

动作脚本 3

addEventListener(MouseEvent.MOUSE_UP, handleClick);
private function handleClick(e:MouseEvent):void

  //Just do it

动作脚本 2

onRelease = function():Void //it's not void - it's Void
  //do something

动作脚本 1

on(release)
  //do something

此页面可能对您有所帮助:Migrating from AS2 to AS3

AS3 添加新子代的方式是new 后跟addChild

var s:Sprite = new Sprite();
var tf:TextField = new TextField();
this.addChild(s);
s.addChild(tf);

以前是 createMovieClipcreateTextField 方法 - 但不确定确切的版本。

_root.createTextField("mytext",1,100,100,300,100);
//that is name, depth, x, y, width, height
mytext.multiline = true;
mytext.wordWrap = true;
mytext.border = false;

之前,如果您拥有子类的name 属性,则即使父类没有名为childName 的属性,您也可以使用parent.childName 从父类访问子类。在 AS3 中,只有当父类有一个名为 childName 的属性(具有适当的类型)并且您已经为它分配了子类的引用(或者您已经在动态类 MovieClip 上创建了该属性)时,才有可能。有getChildByName() - 但它会返回具有给定名称的第一个孩子(并且在孩子列表中可能有重复的名字)。

【讨论】:

实际上你的第二个和第三个 sn-ps 在 AS1 和 AS2 中都有效。 我不相信 AS2 sn-p 在 AS1 中有效,但 AS1 sn-p 在 AS2 中有效。但是,我没有任何实际测试的方法。 onRelease = function()... 在 Flash 6 中完全有效,并且在 Flash 7 中引入了 AS2 ;) 感谢指正。我在 AS1/2 上的经验是有限的 - 在帖子中添加了细则。 尽管 ^^ ":Void" (数据类型) 是 AS2-only【参考方案2】:

AS3 和 AS1/2 之间有很多不同之处,在大多数情况下您会立即看到(在 AS3 中查找 addChild 和 addEventListener)。 然而,AS1 和 AS2 之间的区别远不那么明显,但可能最相关的语言是引入“类”概念以及用于 OOP 开发的一些语句和关键字(类、公共、私有等...... )。

编辑:看,***解释得更好:

2003–2006:ActionScript 2.0 下一个 语言的重大修订, ActionScript 2.0,在 2003 年 9 月发布 Flash MX 2004 及其对应的 播放器,Flash Player 7。响应 用户对语言的需求更好 配备更大和更复杂的 应用程序,ActionScript 2.0 特色编译时类型检查 和基于类的语法,例如 关键字类和扩展。 (尽管 这允许更结构化 面向对象的编程方法, 代码仍将编译为 ActionScript 1.0 字节码,允许它 用于前面的 Flash 玩家 6 也一样。换句话说, 基于类的继承语法是 层在现有的之上 基于原型的系统。) ActionScript 2.0,开发人员可以 将变量约束为特定类型 通过添加类型注释,以便 类型不匹配错误可以在 编译时。 ActionScript 2.0 也 引入基于类的继承 语法,以便开发人员可以创建 类和接口,就像它们一样 将使用基于类的语言,例如 Java 和 C++。这个版本符合 部分归于 ECMAScript 第四 版本草案规范。

http://en.wikipedia.org/wiki/ActionScript#ActionScript_2.0

【讨论】:

【参考方案3】:

嗯,在时间轴中有代码的不仅仅是 ActionScript 1。但是检查您正在编码的版本的一种简单快捷的方法是单击一个框架(是否为空)并按 F9。它会在左侧说它是什么版本(我很确定..):)

【讨论】:

以上是关于如何知道是动作脚本 1、动作脚本 2 还是动作脚本 3?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 FlashBuilder 中使用外部动作脚本类(我以为我知道)

如何使用动作脚本 2 绘制具有“动态角度”的“圆”?

JSP三大指令元素,七大动作元素,三大脚本元素

如何在动作脚本中舍入数字

将动作脚本 2 翻译成动作脚本 3

将变量从动作脚本 3 传递到动作脚本 2