per*_*rez 4 flash actionscript actionscript-2 actionscript-3
我没有特定的代码示例,但有一般方法可以猜测代码片段的ActionScript版本是什么:1还是2或3?
我读到某个地方,如果它是时间轴中的代码,它被认为是Actionscript 1.
更新:我对AS1/2的体验有限,这是基于我在AS论坛中看到的.从注释看来,事件处理的第二和第三种方法在AS1和AS2中都是有效的.
处理事件的语法是不同的:
ActionScript 3
addEventListener(MouseEvent.MOUSE_UP, handleClick);
private function handleClick(e:MouseEvent):void
{
//Just do it
}
Run Code Online (Sandbox Code Playgroud)
ActionScript 2
onRelease = function():Void{ //it's not void - it's Void
//do something
}
Run Code Online (Sandbox Code Playgroud)
ActionScript 1
on(release){
//do something
}
Run Code Online (Sandbox Code Playgroud)
您可能会发现此页面很有用:从AS2迁移到AS3
AS3添加新孩子的方式new紧随其后addChild
var s:Sprite = new Sprite();
var tf:TextField = new TextField();
this.addChild(s);
s.addChild(tf);
Run Code Online (Sandbox Code Playgroud)
它曾经是createMovieClip和createTextField早期的方法 - 虽然不确定确切的版本.
_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;
Run Code Online (Sandbox Code Playgroud)
之前,如果您拥有子项的name属性,parent.childName即使父类没有调用属性,您也可以使用父项的子项childName.对于AS3,只有当父类具有一个名为childName(适当类型)的属性并且您已经为其指定了子对它的引用(或者您已在动态类上创建了该属性)时,才有可能MovieClip.有getChildByName()- 但它将返回具有给定名称的第一个子(并且可能在子列表中具有重复的名称).