Flash5ActionScript教程 五十四
在Flash 5中,要想通过动作来控制电影剪辑或载入的动画,必须使用目标路径指定一个目标。目标路径指向的电影剪辑必须有实例名。可以使用下列不同的方式指定目标:使用动作面板中的插入目标路径按钮和对话框输入目标路径。 |
在脚本中手工输入电影剪辑的目标路径。 |
使用对电影剪辑的引用或使用预定义函数targetPath和eval创建表达式。 |
使用插入目标路径对话框插入目标路径的操作步骤:
1 | 选择你要分配动作的电影剪辑、帧或按钮实例。 |
本时间轴将成为控制时间轴。 | |
2 | 选择 Window $#@62; Actions(窗口$#@62;动作),显示动作面板。 |
3 | 在工具箱列表中,从动作类型(Actions)中选择一个动作,或从对象类型(Objects)中的电影剪辑类型(MovieClip)中选择一种方法。 |
4 | 单击目标(Target)框(或脚本中要插入目标路径处),把光标置于目标框中。 |
5 | 单击动作面板右下角的插入目标路径按钮。 |
6 | 在弹出的插入目标路径(Insert Target Path)对话框中,选择一种语法:点语法(默认值)或斜杠语法。 |
7 | 选择绝对(Absolute)或相对(Relative)目标路径模式。 |
8 | 执行以下操作之一,指定目标: |
在插入目标路径显示列表中选择一个电影剪辑。 | |
使用点语法,在目标框(Target)中用绝对或相对路径手工输入一个目标。 | |
9 | 单击OK。 |
注:要手工插入目标路径,可以按照上述1-4步,在动作面板中输入绝对或相对目标路径。
使用表达式作为目标路径的操作步骤:
1 | 按上述1-4步操作。 |
2 | 执行以下操作之一: |
手工输入一个引用,作为目标路径。通过对引用的计算,确定目标路径。可以使用一个引用作为with 动作的参数。在下面的例子中,变量index 被计算,并乘上2。计算结果被用作Block 实例中被请求播放的电影剪辑的名字。 | |
with (Board.Block[index*2]) { play(); } | |
在工具箱列表的函数类型(Functions)中,选择targetPath函数。 | |
targetPath函数把对电影剪辑的引用转换为一个字符串供动作(如tellTarget)使用。 | |
在下面的例子中,targetPath函数把引用Board.Block[index*2+1]转换为一个字符串: | |
tellTarget (targetPath (Board.Block[index*2+1])) { play(); } | |
上面的例子等价于下面的斜杠语法: | |
tellTarget ("Board/Block:" + index*2+1)) { play(); } | |
在工具箱列表的函数类型中,选择eval 函数。 | |
eval函数把字符串转换为对电影剪辑的引用,作为目标路径供动作(如with)使用。 | |
下面的脚本计算变量i,并把计算结果添加到字符串"cat"中,再把结果赋给变量x 。变量x现在是一个对电影剪辑实例的引用,可以调用MovieClip对象的方法,如下所示: | |
x = eval ("cat" + i); x.play(); | |
你也可以使用eval 函数直接调用方法,如下所示: | |
eval ("cat" + i).play();. |