关于行为惯例
行为是预先编写的 ActionScript 2.0 代码,可将其添加到 FLA 文件的各部分中。许多开发人员都将 ActionScript 代码输入主时间轴上的一个帧或多个帧中,或者输入到外部 ActionScript 文件中。但是,使用行为时,有时代码直接置于元件实例(如按钮、影片剪辑或组件)上,而不是置于时间轴上。
ActionScript 3.0 不支持行为。
比较时间轴代码与对象代码
若要避免由于分散 ActionScript 2.0 代码而可能引起的问题,应仔细规划使用了行为的文档。许多开发人员不将 ActionScript 置于元件实例上,而是将他们的代码置于时间轴上(时间轴代码)或类中。因为行为会将代码添加到 FLA 文件中的多个位置上,所以 ActionScript 没有集中在一起并且不易找到。当代码不集中在一起时,了解代码各片段之间的交互非常困难,且无法编写良好的代码。分散代码可能会导致调试代码或编辑文件时出现问题。
如果使用行为,请尝试通过以下功能来帮助处理行为和分散的 ActionScript:
脚本导航器
可使时间轴代码或各个对象上的代码在“动作”面板上易于查找和编辑。
查找和替换
用于在 FLA 文件中搜索和替换字符串。
脚本固定
用于在“动作”面板上固定来自不同对象的多个脚本,并同时使用这些脚本。此方法配合脚本导航器使用效果最佳。
影片浏览器
用于查看和组织 FLA 文件的内容,以及选择元素(包括脚本)以便进一步修改。
何时使用行为
含有行为的 FLA 文件和不含行为的 FLA 文件之间的主要区别在于编辑项目时必须使用的工作流程不同。如果使用行为,则必须在舞台上选择每个实例,或选择舞台,然后打开“动作”面板或“行为”面板进行修改。如果您编写自己的 ActionScript 并将您的所有代码放在主时间轴上,则只需在时间轴上进行更改。
如果您的 FLA 文件含有元件,可以在舞台上选择一个实例,然后使用“行为”面板上的“增加”菜单将行为添加到该实例。您选择的行为会自动添加附加在该实例上的代码(使用“对象代码”进行添加,例如. On() 处理函数。也可以在时间轴上选择一帧,然后使用“行为”面板将不同行为添加到帧。
确定如何构建 FLA 文件。查明要在 FLA 文件中如何使用以及在何处使用行为和 ActionScript。请考虑以下问题:
此行为包含什么样的代码?
是否必须修改行为代码?如果是,修改多少?若要对行为代码进行修改,无论程度大小,都不要使用行为。如果对 ActionScript 进行修改,则通常不能使用“行为”面板编辑行为。若要在“动作”面板上对行为进行重大编辑,则您自己在一个集中位置编写所有 ActionScript 通常会更加简单。
您还需要哪些 ActionScript?这些 ActionScript 是否必须与行为代码进行交互?在一个集中位置进行调试和修改更加容易。例如,如果时间轴上的代码与放在对象上的行为进行交互,则应避免使用行为。
必须使用多少个行为,计划将它们放在 FLA 文件中的何处?如果将行为都放在时间轴上,则它们可能在文档中会有很好的效果。或者,如果仅使用少量的行为,则可能不会影响工作流程。但是,如果对大量对象实例使用了许多行为,则在时间轴上或外部 ActionScript 文件中编写您自己的代码可能更为有效。
请记住,ActionScript 3.0 不支持行为。
保持使用的行为一致
当行为是 ActionScript 的主要源或唯一源时,请确保文档中使用的行为是一致的。使用行为最好是在 FLA 文件中没有或只有极少其他代码的情况下,或者您当前有一致的系统来管理所用的行为时。
如果向 FLA 文件添加 ActionScript,请将代码放在添加行为的同一位置上,然后记录下添加代码的方式和位置。
例如,如果将代码放在舞台(对象代码)的实例上、主时间轴(帧脚本)上以及外部 AS 文件中,则应检查文件结构。如果将代码放在所有这些位置上,项目将难以管理。但是,如果您是有逻辑地使用行为,并且将代码构建为围绕这些行为以特定方式工作(将所有内容放在对象实例上),则至少工作流程是一致的。以后文档也会较容易修改。
共享使用行为的文件
如果您计划与其他用户共享 FLA 文件,并且使用位于对象(如影片剪辑)上或对象内的 ActionScript,则那些用户即使使用影片浏览器搜索整个文档,也不容易找到代码的位置。
如果正在使用的文档很复杂,请记录行为的使用情况。根据应用程序的大小,创建流程图、列表,或在主时间轴的一个集中位置上使用清楚的文档注释。
如果您正在创建的 FLA 文件中有许多处代码,并计划共享该文件,请在主时间轴的第 1 帧上留下注释,将代码的位置以及文件的构建方式告知用户。下面的示例显示了一个告知用户 ActionScript 位置的注释(在第 1 帧上):
/* 使用行为将 ActionScript 放置在组件实例和影片剪辑内部。 使用影片浏览器定位 ActionScript */
如果您的代码很容易查找、文档未共享或者所有代码都位于主时间轴的各帧上,则无需使用此方法。