本节要点:在authorware中插入swf文件 了解activex
本例简介:在authorware中插入swf文件很简单,只要使用“insert”>>“media”>>“flash...”就可很方便地插入flash的swf文件。要将flash中的变量传递给authorware,就要使用“shockwave flash object”activex控件。
完成后流程图:
运行界面:
制作步骤:
1、首先制作一个flash文件,命名为“flash”。在其中有设置变量的action script,本例中使用了“fscommand ("variable", "文件"); ”等语句。完成后发布为swf文件。如果你对flash不熟悉,请参考相关资料。
2、新建一个authorware文件,使用“insert”>>“control”>>“activex...”命令,打开选择activex窗口。找到并选中“shockwave flash object”控件后,单击“ok”确定。这时可见流程线上出现一个“activex”图标,将其命名为“activex”。
3、向流程线上拖入一个计算图标和一个交互图标,并分别命名为“play flash”和“dispaly variable”。“play flash”中的内容为:
setspriteproperty(@"activex", #movie, filelocation^"flash.swf")
callsprite(@"activex", #play)
意思为告诉swf文件的位置和开始播放flash.swf文件。
“dispaly variable”中为显示变量的内容。打开其设计窗口,在其中输入“{myvariable}”,意思是显示变量myvariable的值,这个变量将在下面定义。
4、向“dispaly variable”图标的右方拖入一个计算图标,命名为“get variable”,并将交互响应类型设为“事件(event)”。这时在“get variable”图标上方出现一个小图标,双击该图标,出现交互属性设置对话框。双击“sender”选项中的“icon activex”,使其前面有个叉号,再双击“event”选项中的“fscommand”,使其前面也有个叉号,确定刚才的设置。
5、打开“get variable”图标,在其中输入以下内容:
evalassign(eventlastmatched[#command]^" := eventlastmatched[#args]")
if variable="0" then
myvariable:=""
else
myvariable:="你刚才按下了 "^variable^" 菜单"
end if
这些语句的意义是从flash文件中读取变量“variable”的值。如果没有按下菜单,那么不显示任何内容。这些语句的详细解释请参考authorware相关文档。
技巧提示:activex控件内容大小的更改,应该在程序运行时,使其暂停,双击activex控件内容,出现虚线框,拖动其边上和角上的控点,改变其大小。
新闻热点
疑难解答