如何知道动作脚本1,动作脚本2或动作脚本3?

时间:2009-11-25 15:26:34

标签: flash actionscript-3 actionscript actionscript-2

我没有特定的代码示例,但有一般方法可以猜测代码段的ActionScript版本是什么:1还是2或3?

我在某处读到如果它是时间轴中的代码,则会将其视为Actionscript 1。

3 个答案:

答案 0 :(得分:7)

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

处理事件的语法不同:

ActionScript 3

addEventListener(MouseEvent.MOUSE_UP, handleClick);
private function handleClick(e:MouseEvent):void
{
  //Just do it
}

ActionScript 2

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

ActionScript 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属性,即使父级没有名为parent.childName的属性,您也可以使用childName从父级访问该子级。 。对于AS3,只有当父类具有名为childName(适当类型)的属性并且您已为其指定了子项的引用(或者您已在动态类MovieClip上创建了该属性时,才有可能)。有getChildByName() - 但它将返回具有给定名称的第一个子项(并且子列表中可能有重复的名称)。

答案 1 :(得分: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

答案 2 :(得分:0)

好吧,它不仅必须是在时间轴中包含代码的ActionScript 1。但是,查看您正在编码的版本的简单快捷的方法是单击一个框架(空或不)并按F9。它会在左侧说出它是什么版本(我很确定......):)