首页 > 设计 > 媒体动画 > 正文

Authorware类和函数:运用Authorware内部控件和函数完成音量控制

2020-09-19 18:43:53
字体:
来源:转载
供稿:网友

编者按:authorware是我们制作课件时常用的工具。在authorware中,要想随心所欲地控制课件中音乐的音量不是那么容易。平时也看到过一些介绍控制音量的文章:有的是用两个按钮来控制,一个控制音量增大,一个控制音量减小;另外也有用滑动条来实现的。以上方法往往都要用外部函数来实现,而且效果并不能尽如人意--用按钮控制的话不够直观,而用滑动条控制又不能实时改变音量,必须等鼠标松开后才能改变。下面介绍一种笔者目前使用的方法,全部使用authorware内部控件和函数,实现了滚动条实时拖动控制音量的目的。

制作思路

插入声音时,并不是用常用的声音图标插入所需声音,而是用directmediaxtra来导入所需声音,然后用系统函数callsprite进行声音音量的动态设置。

制作方法

1. 启动authorware7.0(在authorware5.22中制作方法类似),新建一个文件,保存为“音量控制.a7p”。

2. 单击“插入→tabuleiro xtras→directmediaxtra”命令,出现directmediaxtra属性对话框,单击[浏览文件]按钮,打开所需的声音文件。这里值得一提的是,directmediaxtra支持的声音类型比较多,midi类型的文件也是支持的。回到主流程线,将默认的directmediaxtra图标名称命名为“sound”.

3. 在主流程线上拖入一个显示图标,命名为“diban”,利用authorware自带的工具制作出如图1所示的画面,作为音量控制的背景。

4. 继续在主流程线上拖入一个显示图标,命名为“biao”,用图形工具画一个椭圆,这个椭圆在后面的设置中可以拖动,从而改变音量的大小。

接下来在“biao”显示图标的属性面板中进行如下的设置:“位置”属性选择“在路径上”,“活动”属性也选择为“在路径上”。然后单击刚才绘制的椭圆,进行路径的设置。这里要注意两点:一是路径的长度和位置跟“diban”中的三角形的长度和位置吻合,二是路径的起点在右侧,终点在左侧(图2)。

 

继续在属性面板中进行如下的设置:基点位置值为“0”,初始值为“-10”,终点值为“-100”。整个面板设置如图3所示。

到此为止,我们已经完成了初步的设置,下面对以上的设置作一个说明:

因为是用directmediaxtra导入的声音,音量的高低是可以设置的,最高时值为0,最低时为-100,所以,在设置“biao”显示属性时,我们把它设置成可以在一个特定的路径上移动,并且起点值为0,终点值为-100,这样就与音量的高低对应起来。在下面的制作中,我们将用另外一个系统变量pathposition来获得“biao”显示图标中椭圆被拖动后在路径上的值,再利用系统函数callsprite来进行设置,从而达到改变音量的目的。

5. 在主流程线上拖入一个计算图标,命名为“音量初始化”,双击打开,输入如下内容:

callsprite(@"sound", #setvolume ,int(pathposition@"biao"))

在第四步中,我们将显示图标的初始位置设置为“-10”,这里我们通过系统变量pathposition@"biao"就可以获得这个值。因为这个值默认有两位小数,所以再用int函数将它进行取整。

再用callsprite函数对声音音量进行设置,这样启动程序时,声音的音量就为-10。

6. 在主流线上拖入一个交互图标,命名为“音量控制”,在交互图标的右侧拖入一个群组图标,选择类型为“条件”,选定该条件响应,在属性面板中,选择“条件”标签,将条件设置为“mousedown”;再选择“响应”标签,将“永久”选项选中(如图4、图5所示)。

7. 双击“mousedown”条件交互下的群组图标,在二级流程线上拖入一个决策图标,命名为“判断”,选定决策图标,在属性面板中,在“重复”右侧中选择“直到判断值为真”,然后在下方中输入条件为“~mousedown”。这样,只要鼠标按下就会一直进行循环判断。在决策图标右侧拖入一个计算图标,命名为“设置音量”,双击图标输入如下内容:

callsprite(@"sound", #setvolume ,int(pathposition@"biao"))。

运行程序,拖动椭圆图形,音量就会随之改变大小了。在测试的过程中,我发现如果声音减小到-40的话,几乎就听不到了,所以以上的程序还可以进行一些改进,也就是将路径的终点值设置为-40,这样的话更符合使用习惯,有兴趣的读者不妨一试。整个程序的流程图和运行后的界面如图6所示。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表