我刚刚进入面向对象的编程,我想知道,可以在时间轴上放一些代码,比如stop();和移动框架的鼠标点击事件,还是所有这些都应该在单独的文件上?如果它们属于其他文件,我将如何进行呢?
答案 0 :(得分:3)
MPO是你应该学习工具作为工具。我认为时间轴是Flash中最好的部分,如果你抛弃它,你就会让生活变得更加艰难。我认为所有工具都有“代码方式”和“其他”方式来完成他们的工作,大多数开发人员的默认设置是假设代码方式演示了你的技能和“其他”方式“显然很容易,你不值得花时间学习它。
IME,事实并非如此。我已经在几种工具/语言中学习了这些“其他方法”,并且你几乎总是因为知道这两种方式而获得更多的力量和生产力,冒着让你的同事大部分同事嗤之以鼻的风险,因为他们认为如果你真的擅长“你正在做的其他方式”,因为你无法编码。出于这个原因,很少有开发人员能够真正理解时间轴的全部深度和细微之处,而且will talk几乎没有人how to do this well。我实际上是使用时间线为客户开发可扩展的企业级Flash应用程序,这些客户的商店几乎肯定是在过去的几天里,所以我确实有相当多的经验。这片区域。我的经验法则是,如果对程序的整体功能不重要,stop()就可以了(这只是一个视觉事物)。但是,在一段时间之后继续添加它会变得乏味,所以当你到达不受最后期限压力的地方时,你可能会在某个时候用一个使用addFrameScript停止的类来替换它()。
时间轴代码的最佳用途是当您需要同步事物时(例如,使用流式声音,它具有绝对零的Actionscript句柄来获取它)。在叙述者说“点击thingamajig”的精确点处生成冒泡事件,并且您已将光标动画到thingamajig上。然后,在AS代码中使用流声音(或祖父母或其他任何东西 - 某处定位以捕获事件)来控制时间轴的父级,您将把thingamjig置于切换状态(例如通过更改数据)模型the thingamajig负责显示)。
非常偶尔,我会使用时间轴代码来做更重要的事情。一个例子是Flash Builder编译的swf知道它的舞台是什么颜色,但是没有reading the bytes of the swf的Flash Pro编译的swf。我有一个淡化图形的类,它有时只能获得真正的舞台颜色,这取决于它是如何被编译的(我不是通过读取字节的混乱 - 这是坦率的荒谬)。所以,我只是假设我们正在从白色或接近它的东西(我们大多数时候都是这样)消失。对于罕见的情况,它不是,我在ASDOCs中注意到Class可以从时间线填充颜色变量,而不用担心如何通过依赖注入来获取它。我认为这是一个穷人的Flash Components属性面板版本。
希望指出正确的方向:)。
答案 1 :(得分:1)
我认为这取决于你的意思是否可以。 (不,我不是比尔克林顿)
你很难得到积极的回应,因为SO上的大多数社区都是开发者,并且通常不是使用Flash IDE /时间轴编码的忠实粉丝。
话虽这么说,我总是保持开放的态度,并且意识到Flash IDE可以快速创建动态图像,等等。没有什么可以说你不应该在时间轴上编码,如果你绝对不应该要做到这一点,他们就不可能做到这一点。
当你开始与其他开发人员合作并且必须弄清楚他们在一些影响事物的影片剪辑中的时间轴上隐藏一些代码时,我认为会出现这个问题。对于小型项目而言,这不是一个真正的问题,进入更大的团队(一次3-5个开发人员,可能更多),然后能够独立工作,协作成为一个挑战。
最后一点,因为你说你只是在学习OOP。 AS3是一种很棒的语言,很多乐趣,运行时提供了很多功能,所以你可以跳过C / C ++中的一些细节。但是时间轴的概念是AS3独有的。因此,如果你学习基于时间轴做所有事情,那么转向说C ++或Java或C#或任何其他OOP可能会更加困难。现在我不会强调这一点,因为你刚刚开始滚动,但是当你向前迈进时,你会想到一些东西。
编辑(回应Blankenship女士的好回答和Mear先生的评论)
我认为开发人员有一些傲慢态度。我可以自言自语地说我一般都不喜欢WYSIWYG编辑(除非我尝试构建它们,然后它们没问题:)。
有几个原因:
他们在我过去的经历中一直很糟糕(以Word或DreamWeaver的代码输出为例,尝试在某个网站上工作,妈妈和流行音乐在其中一个应用程序中混在一起,你也会开始讨厌它)。
如果有人能够完全正确地做到这一点,那么它会使我积累的大量知识失效(因此它让我陷入防御姿态,而不是客观有效的理由,我知道)。
与更大的团队合作寻找代码是关键+代码编辑器不好(与任何替代方案相比,Flash Builder [我选择的工具],FDT,FlashDevelop,IntelliJ [我朋友的选择工具] )。
来自OOP背景,该背景不包含与时间轴类似的任何内容,并可能会回溯到这些技术。您可以选择在1件事情上表现出色,或者在5件事情上表现出色,您会选择什么? (我非常简化,但希望你能得到主旨)。我学会了使用Eclipse编写Java,我可以使用相同的工具编写C ++,C,PHP等。这并不是说我实际上总是使用Eclipse来做所有事情(最近一直在使用SublimeText),但我喜欢这总是一个选择。顺便说一下,我不是Eclipse“纯血统”,我早期就开始在Notepad中使用Flash IDE和HTML / JS,稍微使用Visual Studio,最终被推入Eclipse但是喜欢它一切都在一起。
最终,在这个开放式的情况下,有太多因素可以说一个解决方案就是最终的全部。用一个类比来解释,如果你要用锤子建造一个鸟舍,一些钉子和一些木头可能就是你所需要的。如果你想要建造自己的人类房屋,你将需要一些不同的工具(可能包括锤子,一些钉子和木头)。
也是相关的SO帖子(重新散列许多相同点): Why not use Interface Builder