首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将代码从Actionscript 2转换为Actionscript 3

将代码从Actionscript 2转换为Actionscript 3
EN

Stack Overflow用户
提问于 2011-10-27 23:52:48
回答 1查看 802关注 0票数 0

我有一小段我从朋友那里得到的代码,但是我不能设法将它翻译成工作在AS3.0中。无论我做了什么修改,我都会遇到编译器错误。这是一段原始的代码,如果你能仔细看一看,我会非常感激。

代码语言:javascript
复制
laser_nodes = 2;
for (var x=1; x<=laser_nodes; x++) {
    node = _root.attachMovie("laser", "laser_"+x, x, {_x:Math.random()*460+20, _y:Math.random()*310+20});
    node.onPress = function() {
        startDrag(this);
    };
    node.onRelease = function() {
        stopDrag();
    };
}

_root.createEmptyMovieClip("ray", _root.getNextHighestDepth());

ray.onEnterFrame = function() {
    this.clear();
    this.lineStyle(3, 0xff0000);
    this.moveTo(_root.laser_1._x, _root.laser_1._y);
    for (x=2; x<=laser_nodes; x++) {
        this.lineTo(_root["laser_"+x]._x, _root["laser_"+x]._y);
    }
    this.lineTo(_root.laser_1._x, _root.laser_1._y);
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-28 00:12:13

这里有很多问题。一些是语法上的,而另一些则需要新的方法。

例如:

AS3中不存在

  • _root。在AS3中,它变成:MovieClip(root)
  • attachMovie在AS3中不可用,你必须用var node = new laser(); ...
  • onPress和AS3中不支持的构造函数调用来替换它。您将需要研究如何在MouseEvent类中使用addEventListener。与Sprites相同,(Event.ENTER_FRAME)
  • createEmptyMovieClip()成为new MovieClip();
  • the图形绘制命令现在嵌套在onEnterFramegraphics对象中。

为此,您似乎需要深入研究一下AS3。这不是一个非常简单的代码来转换。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7918687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档