WordPress 中文文档

Flash8.0行为的使用

From WordPress Chinese

Jump to: navigation, search
Image:Flash8.0jch.jpg
Flash8.0教程
内容


Flash8.0教程


其它教程


外部资源


您可以使用行为来控制文档中的影片剪辑和图形实例,而无需编写 ActionScript。行为是预先编的"ActionScript"脚本,它使您可以将 ActionScript 编码的强大功能、控制能力和灵活性添加到文档中,而不必自己创建ActionScript 代码。

您可以对实例使用行为以便将其排列在帧上的堆叠顺序中,以及加载、卸载、播放、停止、直接复制或拖动影片剪辑,或者链接到 URL。此外,还可以使用行为将外部图形或动画遮罩加载到影片剪辑中。要使用行为控制影片剪辑,请使用"行为"面板将行为应用于触发对象(如按钮)。您需要指定触发行为的事件(如释放按钮),选择受行为影响的目标对象(影片剪辑实例),并在必要时指定行为参数的设置(如帧号或标签)。


  • 下表中的行为是 Flash Basic 8 和 Flash Professional 8 中所具有的。
行为 目的 选择/输入
加载图形将外部 JPEG 文件加载到影片剪辑或屏幕中。 JPEG 文件的路径和文件名。

接收图形的影片剪辑或屏幕的实例名称。

加载外部影片剪辑 将外部 SWF 文件加载到目标影片剪辑或屏幕中。外部 SWF 文件的 URL。

接收 SWF 文件的影片剪辑或屏幕的实例名称。

直接复制影片剪辑 直接复制影片剪辑或屏幕 要直接复制的影片剪辑的实例名称。

从原本到副本的 X 轴及 Y 轴偏移像素数。

在帧或标签上的 GotoAndPlay 从特定帧播放影片剪辑。 要播放的目标剪辑的实例名称。

要播放的帧号或标签。

在帧或标签处停止 停止影片剪辑,并根据需要将播放头移到某个特定帧。要停止的目标剪辑的实例名称。

要停止的帧号或标签。

移到最前将目标影片剪辑或屏幕移到堆叠顺序的顶部。 影片剪辑或屏幕的实例名称。
上移一层将目标影片剪辑或屏幕在堆叠顺序中上移一层。 影片剪辑或屏幕的实例名称。
移到最后将目标影片剪辑移到堆叠顺序的底部。 影片剪辑或屏幕的实例名称。
下移一层将目标影片剪辑或屏幕在堆叠顺序中下移一层。 影片剪辑或屏幕的实例名称。
开始拖动影片剪辑 开始拖动影片剪辑。影片剪辑或屏幕的实例名称。
停止拖动影片剪辑 停止当前的拖动操作。

目录

创建自定义行为

  • 您可以编写符合自己需要的自定义行为。这需要创建一个 XML 文件,该文件包含用于执行所需行为的 ActionScript 代码,然后将该文件保存到本地计算机的 Behaviors 文件夹中。存储行为的位置如下:
  • Windows:C:\Documents and Settings\用户名\Local Settings\Application Data\Macromedia\Flash 8\语言\Configuration\Behaviors
  • Macintosh:Macintosh HD/Users/用户名/Library/Application Support/Macromedia/Flash 8/语言/Configuration/Behaviors/
  • 创建自己的行为前,请查看各种行为 XML 文件,从而了解 XML 文件的语法以及用于创建行为的 ActionScript 代码。如果刚开始编写行为,应首先熟悉用于创建用户界面元素(如对话框)的 XML 标签,以及用于创建行为的编码语言 ActionScript。
  • 若要创建自定义行为,请执行以下操作:
  • 使用 XML 编辑器,创建新的 XML 文件,然后为该文件指定与要创建的行为相应的名称。

Image:Allwiki notice.png可以打开现有行为的 XML 文件,然后使用新文件名保存该文件。这可为您提供创建自定义行为的模板。

  • 输入类别名称。 这会在列出行为的"行为"面板中创建一个类别。

<behavior_definition dialogID="Trigger-dialog" category="myCategory"authoringEdition="pro" name="behaviorName" >

  • 输入行为的名称。 此参数定义将在"行为"面板中列出的名称。

<behavior_definition dialogID="Trigger-dialog" category="myCategory"authoringEdition="pro" name="behaviorName" >

  • 如果该行为依赖于仅在 Flash 8 的 Professional 版本中可用的功能,请为 authoringEdition 参数指定 pro。
  • (可选)如果自定义行为需要对话框,请使用 <properties> 标记和 <dialog> 标记输入参数。

要了解用于创建自己的自定义对话框的标记和参数。 在 <actionscript> 标记中,插入 ActionScript 代码来创建要创建的行为。 如果刚开始使用 ActionScript,请参阅"学习 Flash 中的 ActionScript 2.0"。


例如:




<actionscript>

<![CDATA[
   // 触发数据源行为
   // Macromedia 2003
  $TARGET$.trigger();

]]> </actionscript> </pre>


6.保存该文件。



7.测试该行为。


添加并配置行为

  • 选择将触发行为的对象,如按钮。
  • 在"行为"面板("窗口">"行为")中,单击"增加"(+) 按钮,然后从"影片剪辑"子菜单中选择所需的行为。
  • 在出现的对话框中,选择要使用行为控制的影片剪辑。

选择相对或绝对路径

绝对路径

  • 绝对路径以文档加载到其中的层名开始,一直延续到显示列表中的目标实例。也可以使用别名 _root 来指示当前层的最顶层时间轴。例如,影片剪辑 california 中引用影片剪辑 oregon 的动作可以使用绝对路径 _root.westCoast.oregon。
  • 在 Flash Player 中打开的第一个文档是加载到第 0 层。您必须给其它每个加载的文档分配层号。在 ActionScript 中使用绝对引用来引用一个加载的文档时,可以使用 _levelX 的形式,其中 X 是文档加载的层号。例如,在 Flash Player 中打开的第一个文档叫做 _level0;加载到第 3 层的文档叫做 _level3。
  • 要在不同层的文档之间进行通信,必须在目标路径中使用层名。下面的例子显示 portland 实例如何定位 georgia 影片剪辑上的 atlanta 实例(georgia 与 oregon 位于同一层):


_level5.georgia.atlanta


  • 您可以使用别名 _root 表示当前层的主时间轴。对于主时间轴,当 _root 别名被同在 _level0 上的影片剪辑作为目标时,则代表 _level0。对于加载到 _level5 的文档,当该文档被同在第 5 层上的影片剪辑作为目标时,则 _root 等于 _level5。例如,如果影片剪辑 southcarolina 和 florida 被加载到同一层上,从实例 southcarolina 调用的动作就可以使用以下绝对路径来指向目标实例 florida:


_root.eastCoast.florida


相对路径

  • 相对路径取决于控制时间轴和目标时间轴之间的关系。相对路径只能确定 Flash Player 中它们所在层上的目标的位置。例如,在 _level0 上的某个动作以 _level5 上的时间轴为目标时,不能使用相对路径。
  • 在相对路径中,使用关键字 this 指示当前层中的当前时间轴;使用别名 _parent 指示当前时间轴的父时间轴。您可以重复使用别名 _parent,在 Flash Player 同一层内的影片剪辑层次结构中逐层上升。例如,_parent._parent 控制影片剪辑在层次结构中上升两层。Flash Player 中任何一层的最顶层时间轴是唯一具有未定义的 _parent 值的时间轴。实例 charleston(较 southcarolina 低一层)时间轴上的动作,可以使用以下目标路径将实例 southcarolina 作为目标:
  • _parent
  • 要从 charleston 中的动作指向实例 eastCoast(上一层),可以使用以下相对路径:
  • _parent._parent
  • 要从 charleston 的时间轴上的动作指向实例 atlanta,可以使用以下相对路径:
  • _parent._parent.georgia.atlanta
  • 相对路径在重复使用脚本时非常有用。例如,您可以将以下脚本附加到某个影片剪辑,使其父项放大 150%:


onClipEvent (load) { _parent._xscale = 150; _parent._yscale = 150; } </pre>

  • 您可以通过将此脚本附加到任意一个影片剪辑实例上来重复使用该脚本。

Image:Allwiki notice.pngFlash Lite 1.0 和 1.1 只支持将脚本附加到按钮。不支持将脚本附加到影片剪辑。

  • 无论使用绝对路径还是相对路径,都要用后面跟着表明变量或属性名称的点 (.) 来标识时间轴中的变量或对象的属性。例如,以下语句将实例 form 中的变量 name 的值设置为 "Gilbert":
  • _root.form.name = "Gilbert";
  • 如果需要,请选择或输入行为参数的设置,然后单击"确定"。

行为的默认设置即出现在"行为"面板中。

  • 在"事件"下,单击"释放时"(默认事件),并从菜单中选择一个鼠标事件。如果要使用"释放时"事件,请保持该选项不变。

编写目标路径

  • 要控制影片剪辑、加载的影片或按钮,必须指定目标路径。为了指定影片剪辑或按钮的目标路径,必须为影片剪辑或按钮分配实例名称。加载的文档不需要实例名称,因为其层号即可作为实例名称(例如 _level5)。
  • 要指定目标路径,请执行以下操作之一:
  • 使用"动作"面板中的"插入目标路径"按钮(和对话框)。
  • 手动输入目标路径。
  • 创建一个计算目标路径的表达式。可以使用内置函数 targetPath 和 eval。
  • 要分配实例名称,请执行以下操作:
  • 在舞台上选择影片剪辑或按钮。
  • 在"属性"检查器中输入实例名称。
  • 要使用"插入目标路径"对话框来插入目标路径:
  • 选择您想为其分配动作的影片剪辑、帧或按钮实例。

它将变为控制时间轴。

  • 如果"动作"面板没有打开,请选择"窗口">"动作"显示该面板。
  • 在"动作"工具箱(面板左侧)中,选择需要目标路径的动作或方法。
  • 单击脚本中想插入目标路径的参数框或位置。
  • 单击"脚本"窗格上面的"插入目标路径"按钮。
  • 在"插入目标路径"对话框中,选择一个语法:"点"(默认语法)或"斜杠"。

对于目标路径模式,选择"绝对"或"相对"。。

  • 在"插入目标路径"显示列表中选择一个影片剪辑。
  • 单击"确定"。
  • 要手动插入目标路径:
  • 执行步骤 1 - 4,然后在"动作"面板中输入绝对或相对目标路径。
  • 要将表达式用作目标路径:
  • 执行步骤 1 - 3。
  • 执行以下操作之一:
  • 在参数框中输入一个计算目标路径的表达式。
  • 单击,可将插入点放入脚本。然后,在"动作"工具箱的"函数"类别中,双击 targetPath 函数。

targetPath 函数将对影片剪辑的引用转换为字符串。

  • 单击,可将插入点放入脚本。然后,在"动作"工具箱的"函数"类别中,选择 eval 函数。

eval 函数将字符串转换为可用于调用方法(如 play)的影片剪辑引用。


  • 下面的脚本将值 1 赋予变量 i。然后使用 eval 函数创建对影片剪辑实例的引用,并将它赋予变量 x。现在,变量 x 表示对影片剪辑实例的引用,并可以调用 MovieClip 对象的方法。


i = 1; x = eval("mc"+i); x.play(); // 它等效于 mc1.play(); </pre>

  • 也可以使用 eval 函数直接调用方法,如下所示:


eval("mc" + i).play </pre>

用户