文/周福群 用Authorware制作课件,经常会设置一些按钮响应,它可以实现某项功能或转而执行某个特定的分支流程,直观方便。只是,每一个按钮只能实现一项功能,这就有点美中不足了。想想我们电视机上的开关按钮,一按就开,再一按就关了,再按又开了,如此循环,一个按钮实现了“开”、“关”两项功能。
想不想在自己的课件中也设置这样的双功能按钮,使操作更简便,界面更简洁呢?那 就跟我一起动手吧,我们将用一个文件中的两个“开关”例子来加以说明。
实例分析
新建文件命名为“开关按钮”(如图1),先拖动一个Sound icon(声音图标)到流程线上,命名为“背景音乐”,并导入一段音乐作为背景音乐。再在其下面放一个交互图标“音乐”,并下挂两个计算图标“开”与“关”,设置响应类型为“Button(按钮)”。在“开”的计算图标中输入语句“MediaPlay(IconID@"背景音乐")”,在“关”的计算图标中输入语句“MediaPause(IconID@"背景音乐", TRUE)”。然后对各图标的属性作如下设置:
图1
1、双击声音图标,打开“Properties:Sound Icon”属性对话框,把“Timing”选项卡中的“Concurrency”的选项设置为“Concurrent(在播放音乐的同时进行下续流程)”。
2、双击第一个按钮响应标签,打开“Properties:Response”属性对话框(如图2),在“Response”选项卡中,把“Scope:Perpetual”复选框选上,把“Branch”选项设置为“Return”,在“Active If”后面的文本框中输入“SoundPlaying=FALSE(表示此按钮只在无声音播放的情况下响应)”。再点击[Buttons…]按钮,打开“Button”属性对话框,选择按钮形状(当然也可以点击[Add…]按钮,引入一个自己定制的图片作为按钮)。最后,点击[Edit…]按钮,打开“Button Editor”对话框,在左边的“State栏”中点击“Disabled”所在行与“Noumal”所在列的交叉处(选中时外部有黑色方框),接着把右边的“Graphic”选项设置为“None”,表示此按钮不响应时隐藏,然后一路[OK],便OK了。
图2
3、双击第二个按钮响应标签,打开“Properties:Response”属性对话框,在“Active If”后面的文本框中输入“SoundPlaying=TRUE(表示此按钮只在有声音播放的情况下响应)”。其余各选项的设置与步骤2完全一样(包括按钮的形状和图案)。
开始演示,背景音乐响起,而界面上只有一个按钮[关],单击之,音乐停了,此按钮消失了,而另一按钮[开]出现了。再单击按钮[开],音乐又奏起来了,按钮[开]消失了,而按钮[关]又复现了。现在你只要把这两个“忽隐忽现”的按钮“合二为一”(把它们的位置设置成相同),不就有了一个双功能的开关了吗。
更深的探索
为什么我们还要看第二个例子呢?你可能已经发现,控制音乐的“开”、“关”按钮属性中的“Active If(响应条件)”有系统变量可用,那么其他“开关”呢?接下来我们作更为一般的研究:在刚才的流程线下面添加一个交互图标“切换”,并下挂两个Map icon(组图标)“流程1”、“流程2”,设置响应类型为“Button(按钮)”(如图3)。
图3
在第一个响应属性中,设置“Active If”中的条件为“aaa=0(aaa为自定义变量)”,在第二个响应属性中,设置“Active If”中的条件为“aaa=1”,其余各项设置与上例一样。在两个组图标中分别加入一个计算图标和一个显示图标,在计算图标“1”中输入语句“aaa:=1”, 在计算图标“2”中输入语句“aaa:=0”,在两个显示图标中分别输入“这是流程1”、“这是流程2”(只是为调试用,内容自定)。然后演示、调试、“合二为一”。
通过这番演练,我们对“开关”的制作已了如指掌了,其实,你只需将例2稍作延伸,还可以制作出多功能循环的按钮,这比电视机的开关功能可强多了。
(责任编辑 Ardeler)
|