三、设置剪辑参数
你可以在智能剪辑中编写动作脚本,用已定义的参数来改变智能剪辑的行为。 举一个简单的例子,如果你用Frame定义了一个剪辑参数,你就可以在这个智能剪辑中编写下面的脚本, 这个脚本使用了Frame参数:
onClipEvent(load){
gotoAndStop(Frame);
} 然后,你可以在编辑区中选择该智能剪辑,使用剪辑面板设置Frame参数的值,改变被播放的帧。
设置智能剪辑的剪辑参数的具体步骤:
| 1 |
在编辑区选择智能剪辑参数实例。 |
|
智能剪辑属于电影剪辑,所以在设计模式只显示第一帧。 |
| 2 |
选择Window>Panels>Clip Parameters(窗口>面板>剪辑参数),显示剪辑参数面板。 |
| 3 |
在剪辑参数面板执行以下操作之一: |
 |
双击Value域选择它,为每个参数输入值。 |
|
如果该参数已经被定义为List(列表),就会显示一个弹出菜单。 |
 |
如果定义了一个自定义界面,使用所提供的介面元素。 |
| 4 |
选择 Control>Test Movie(控制>测试动画),观察智能剪辑的行为变化。 |
四、创建自定义界面
自定义界面是一个Flash动画,使用它你可以输入传递给智能剪辑的值。自定义界面取代剪辑参数面板的界面。下图是拥有自定义界面动画的剪辑参数面板。
下图是剪辑参数面板中没有自定义界面的同一智能剪辑。
你用自定义界面输入的任何值,都会通过自定义界面中的中介或交换电影剪辑从剪辑参数面板传递给智能剪辑。交换电影剪辑必须拥有实例名xch。如果在Define Clip Parameters(定义剪辑参数)对话框中选择了一个自定义界面,该智能剪辑实例把已定义的参数传递给xch电影剪辑,在自定义界面输入的任何新的值被拷贝给xch,并传回给该智能剪辑。
你必须把xch剪辑放在自定义界面动画的主时间轴中,而且xch必须一直被载入。xch电影剪辑应该只包含要传递给智能剪辑的值,不应该包含任何图像、其他电影剪辑或动作脚本语句;xch仅仅是一个容器,只是通过它来传递值而已。你可以通过xch剪辑传递顶级对象,如Arrays(数组对象)和 Objects(对象对象),但你不能传递嵌套的Arrays和Objects。
创建智能剪辑的自定义界面的具体步骤:
| 1 |
选择File > New(文件>新建),创建一个新的Flash动画。 |
| 2 |
选择Insert > New Symbol(插入>新图符),创建交换电影剪辑。 |
| 3 |
创建一个新层,命名为Exchange Clip(交换剪辑)。 |
| 4 |
在Exchange Clip层被选中的情况下,从图符库中把交换电影剪辑拖到编辑区第1帧。 |
| 5 |
在编辑区中选择交换电影剪辑,选择Window>Panels>Instance(窗口>面板>实例),输入名字xch。 |
| 6 |
创建动画设计者用来设置剪辑参数的界面元素。例如弹出菜单、单选钮或拖放菜单项等。 |
| 7 |
使用set variable动作拷贝变量和对象的值给xch实例。 |
|
例如,如果一个按钮被用作界面元素,这个按钮就要有一个动作来设置变量vertical的值,并把它传递给xch,如下所示: |
|
on (release){
_root.xch.vertical = true;
} |
| 8 |
输出动画文件(SWF)。 |
 |
|
要在智能剪辑中使用自定义界面的SWF文件,你需要用定义剪辑参数对话框在包含该智能剪辑的图符库中链接它们。最好是把自定影义界面的SWF文件保存在包含该智能剪辑的FLA文件相同的目录中。 如果你在另一个文件中重用该只能剪辑,或把它传递给另一个开发者, 该只能剪辑和自定义界面的SWF文件必须保持相同的相对位置。