Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 为什么有时候会有过于复杂和逃避的答案?_Actionscript 3_Flash_Adobe - Fatal编程技术网

Actionscript 3 为什么有时候会有过于复杂和逃避的答案?

Actionscript 3 为什么有时候会有过于复杂和逃避的答案?,actionscript-3,flash,adobe,Actionscript 3,Flash,Adobe,所以,我只是想知道是否有人能给我一个简洁的答案,为什么主要在AS3文件中编写代码比在时间轴上编写代码更好 我听说很多人在回答问题时都会闪烁其词:“不要在你的时间表中放太多代码”。我尝试了两种方法,并发现了各自的优点和缺点,但对我来说,这么多人模仿通用的良好编码实践技术似乎很愚蠢 关于这一点的另一件事是,很多时候我会在编码方面寻求帮助,人们会给出如此复杂的回答,而有一半的时间我会使用一些代码片段,并将一小部分合并到我的项目中。此外,AS3API站点还提供了waaaay过度复杂的编码示例。人们为什么

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

我听说很多人在回答问题时都会闪烁其词:“不要在你的时间表中放太多代码”。我尝试了两种方法,并发现了各自的优点和缺点,但对我来说,这么多人模仿通用的良好编码实践技术似乎很愚蠢


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

三个不将其列入时间表的好理由:

  • 您的代码将被卡在一个二进制文件中,不允许您使用版本控制或查看对它的更改
  • 您将在菜单后面隐藏代码,这使得在实例中很难查看代码。当它都在一个地方,你可以很容易地重构它,并改变它
  • 通过将代码放在时间轴上,可以使代码依赖于动画编译器。(Animate将使用未记录的函数addFrameScript将代码注入到文档类中,以使其正常工作)。如果您觉得需要用另一种语言重新编写代码,那么以这种形式迁移代码并不容易
  • 编码时请使用IDE。它将有助于防止错误,甚至建议使代码更简单的方法。(列举几个IDE:FlashDevelop、VSCode、IntelliJ Idea Ultimate(付费)。)

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


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

    这里没有更好的了。每种方法都有自己的目的、优点和缺点。时间轴脚本适用于较小的项目,主要用于次要逻辑和时间轴导航。问题是,随着项目规模的扩大,时间轴脚本很快就失控了。你可以处理1个脚本,也许3-5个,但是10个?20? 100? 另一方面,对于较小的项目,AS3类似乎没有必要,但它们提供了可伸缩性和可管理性。你可以使用带有自动完成、代码解析器和所有其他功能的专用IDE,这些功能使你的开发人员的生活变得非常简单。我刚刚被告知,当你转换成一个符号时,没有电影剪辑脚本的警告是正常的,你不必担心。即使我不打算马上使用它,截图也会很有帮助。如果能有它作为参考就好了。时间线代码对我来说是不可接受的。我不做没有版本控制的项目。如果你打算继续编程,我建议你自学使用git。有一种方法可以准确地回顾您在过去一个小时或昨晚凌晨3点所做的编码更改,这绝对是无价的。更重要的是,能够将您的程序回滚到特定的时间,以测试您正在跟踪的bug是否存在。