为什么有时答案过于复杂和逃避?

Why the Overly Complex and Cop Out Answers Sometimes?

所以,我只是想知道是否有人可以给我一个简洁的答案,说明为什么主要在 AS3 文件中编写代码比在时间轴上编写代码更好?

我听说很多人回答问题时都在逃避"don't put so much code in your timeline"。我已经尝试了两种方法,并发现了每种方法的优缺点,但对我来说,让这么多人模仿一般的良好编码实践技巧似乎很愚蠢。

另一件事是,很多时候我会在编码方面寻求帮助,人们会给出如此复杂的回答,而且有一半的时间我会使用小代码片段并结合一小部分进入我的项目。此外,AS3 API 站点还提供了非常复杂的编码示例。人们为什么这样做?如果人们只是简化代码示例,我可以更快地解决我的一些问题。

不把它放在时间表上的三个充分理由:

  1. 您的代码将被困在一个二进制文件中,不允许您使用版本控制或查看对其的更改。
  2. 您将把代码隐藏在菜单后面,这样一来就很难查看。当它全部集中在一个地方时,您可以轻松地对其进行重构和更改。
  3. 通过将代码放在时间轴上,您可以使代码依赖于 Animate 编译器。 (Animate 将使用未记录的函数 addFrameScript 获取您的代码并将其注入到您的文档 class 中以使其正常工作)。如果您觉得需要用另一种语言重新编码,那么以这种形式迁移代码并不容易。

编码时请使用IDE。它将有助于防止错误,甚至可以建议使您的代码更简单的方法。 (举几个例子 IDE:FlashDevelop、VSCode、IntelliJ Idea Ultimate(付费)。)

为了消除任何混淆,在 AS3 文件而不是时间轴中编写代码并不意味着让事情变得不那么有条理或将代码放在没有意义的地方。 您应该做的是为您需要编写脚本的每个 MovieClip 创建一个新的 AS3 文件,然后进入您的 Movieclip 的 Symbol Properties 并选择 Export for ActionScript 并将 class 名称设置为您的 AS3文件。运行时将在编译时自动声明文件中的实例。您可以做的实际上是在文件中自己声明它们,以便在您的 IDE 中具有完整的完成能力。

我喜欢做的是首先将动画片段设置为导出为 actionscript,发布我的项目,然后使用 Free Flash Decompiler 打开编译后的 swf,并将生成的 class 复制粘贴到新的 AS3 文件中. (您只需要复制粘贴 class 和生成的实例变量。)然后您可以在 AS3 文件中使用已引用的 MovieClip 中包含的所有符号进行编码。