【问题标题】:convert action script 2 to action script 3将动作脚本 2 转换为动作脚本 3
【发布时间】:2016-03-27 15:46:00
【问题描述】:

好的,我阅读了论坛,似乎任何询问将 AS2 转换为 AS3 的人都会被诸如“你为什么要使用 AS2,只需在 AS3 中从头开始重写它”之类的帖子激怒。所以请不要这样回答,我只需要帮助弄清楚代码的这个特定的sn-p。这是 AS2,我不知道它在做什么。

if (_root.components == undefined) {
     _root.components = "";
}
_root.components = _root.components + _root.getInstanceAtDepth(this.getDepth()) + " ";

我用谷歌搜索了单独的方法“getInstanceAtDepth”和“getDepth”,并了解到它们处理电影的分层。麻烦是'_root.components'。如果这是将影片剪辑称为“根”,则没有名为“组件”的方法或属性。您可以将组件放在舞台上并使它们成为movieclip fla 文件的一部分,但这似乎并不能解释代码在做什么。有谁知道 _root 在这里可能指的是什么,什么对象具有“组件”属性?

谢谢,

【问题讨论】:

  • 在 AS3 中 _root 已更改为 root
  • @FraserCrosbie 是的,.components 似乎是问题所在......我将 _root 更改为 root,编译器说“通过静态类型 flash.display:DisplayObject I 的引用访问可能未定义的属性组件猜猜我是否知道“根”指的是什么类型的对象,那么我可以添加正确的导入语句
  • 不管你怎么想,要求将 AS2 转换为 AS3 与要求将 python 转换为 C# 没有什么不同。答案总是一样的:你不能转换,所以你必须从头开始。像你这样的人总是要求将 AS2 转换为 AS3 的唯一原因只是因为他们的名字中都有“AS”,一个有“2”,另一个有“3”,所以转换它们应该很容易,只是因为那个'1'的区别。最后你可以随心所欲地抱怨你仍然需要在 AS3 中从头开始编写它。
  • 投了反对票。正如他自己所说,他已经用谷歌搜索了这个主题,答案总是一样的:“不可能,所以从头开始”。所以他想,既然他不喜欢这些答案,他再次发帖只是要求不要发布相同的答案,他会得到一个不同的答案……太棒了。
  • @botmaster 我用谷歌搜索其他人对这个问题的答案。如果您不知道答案,请不要浪费我的时间回复。为什么你在这里回复只是为了听你自己说话?

标签: actionscript-3 actionscript actionscript-2


【解决方案1】:

我认为您想了解 AS2 代码而不是转换它。

该代码显然是在组件(按钮、电影剪辑)的代码中使用的,它只是试图将该组件的名称连接到一个全局字符串 (_root.components)。

例如,如果我有一个名为 button 的按钮和一个名为 movieclip 的 MovieClip,当我使用它们的 onPress() 函数执行该代码时,我会得到这样的结果:

_level0.button _level0.movieclip

希望能有所帮助。

【讨论】:

    猜你喜欢
    • 2010-12-09
    • 2016-01-23
    • 1970-01-01
    • 2014-09-02
    • 2015-09-01
    • 2010-12-20
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多