关于行为惯例

行为是预先编写的 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 placed on component instances and inside movie clips using behaviors. 
    Use the Movie Explorer to locate ActionScript 
*/

注:  如果您的代码很容易查找、文档未共享或者所有代码都位于主时间轴的各帧上,则无需使用此方法。

,