用Authorware开发MCAI软件的应用技术
#1 一、充分使用系统编程语言,灵活实现特殊功能
Authorware是一种多媒体创作工具,它为开发者提供了一个灵活的工具——计算图标,通过该图标可以利用Authorware的编程语言灵活地实现一些特殊功能。如通过点击屏幕上的“声音控制”区域来实现背景音乐的开关切换,用一个热区响应与一个计算图标便可轻松解决:
假设软件前部分已初始化好所有界面,并定义了一变量“Sound”(初值为1),用来控制程序的走向。从工具菜单拖一交互图标至流程线上,并命名为“声音控制”;再拖一计算图标至该交互图标右侧,响应类型设为“热区响应”,并把热区虚线框包围在演示界面上的“声音控制”区域。打开“声音切换”计算图标,在其中写入如下程序段:
If sound=1 then
Mediepause()
Sound:=0
Else
Mediaplay()
Sound:=1
End if
另外,用Authorware的编程语言与系统函数,可以方便地实现简单的图形绘制,还可以进入绘图模式,让用户进行绘图。在流程线上加一个计算图标,并在其中加入下面的程序代码就可以在屏幕上画出一条横向的“S”型正弦曲线:
i:=100
j:=100
x:=0
Repeat While x<200
y:=SIN(x/100*3.14)*100/3.14
Line(2,i+x,j-y,i+x,j-y )
x:=x+1
End repeat
#1 二、调用外部函数播放MP3音乐、显示GIF动画
Authorware支持AIFF、PCM、SWA、VOX、WAVE格式保存的声音文件。最普通的WAVE声音文件动辄就几兆、几十兆,而很受大众欢迎的MP3之类的声音文件却无用武之地。另外,那小巧玲珑的GIF动画用Authorware调入后,只能显示第一帧图形——动画变成了“死画”。其实,只要引入一些相关的外部函数就可以解决了!打开Authorware菜单栏上的[Winndow→Function],从函数类别中选中用户的自定义函数,并单击“Load”按钮,从Authorware安装盘中的UCD文件夹中引入相应的外部函数,就可以用其中的函数来实现Authorware本不支持的功能了。
1.自制MP3播放器
用上述方法从Mp3player.u32文件中引入其中的所有函数,假设Main.mp3文件在主文件同一目录下。下面我们来制作一个MP3播放器:(流程如^03020602a^1)
在“设置窗口尺寸”计算图标中写入“ResizeWindow(350,150)”设置播放器面板大小;
在“背景”显示图标中导入一幅背景图;
在“预设”计算图标中写入 “tMsMP3CreatePlayer(WindowHandle,1)”,“tMsMP3LoadFile(FileLocation^“Main.mp3”)”
其中“tMsMP3CreatePlayer()”,“tMsMP3LoadFile()”是用于创建MP3播放程序和导入MP3文件的外部函数。
在“播放”计算图标中写入“tMsMP3Play(Repeat,Times)”,参数“Repeat”可选“True”或“False”用来控制是否循环播放,参数Times可限定播放次数(在Repeat参数为False的情况下有效);
在“暂停”计算图标中写入“tMsMP3Pause()”;
在“停止”计算图标中写入“tMsMP3Stop()”;
在“退出” 计算图标中写入“Quit(1)”。
这样,一个简洁的MP3播放器就做成了(如^03020602b^2)。
2.显示GIF动画
用同样的方法从Animgif.u32文件中引入其中的所有函数,假设Test.gif动画文件在主文件同一目录下,流程图如^03020602c^3所示。
在“显示动画”计算图标中引入函数:“DisplayAnimatedGif(WindowHandle,FileName,Left,Top,Color)”其中参数“FileName”可填为FileLocation^“Test.gif”;参数“Left”,“Top”分别用来确定动画在屏幕上的显示位置;参数“Color”用来设置动画的显示背景色,选项为1至16的数字,分别代表各种颜色,可自由选择。
在“删除动画” 计算图标中写入 “EraseAnimatedGif()”
这样,你就可以在程序中加入任何可爱的小动画了,不过千万注意:GIF动画用Authorware的删除图标或系统函数“EraseIcon()”来删除是行不通的,必须用外部函数“EraseAnimatedGif()”才能删除。而且在退出之前,必须要把该函数的所有GIF动画删除,否则,系统会警告你“执行非法操作!”,并可能导致系统崩溃。
Authorware是一套功能强大的多媒体制作工具系统,它基于设计图标、以流程线为结构的环境,面向对象可视化编程,使人们入门较容易,但要精通Authorware设计MCAI技术却非易事。笔者只是就Authorware设计技术很少的几个方面作一些探讨,希望能得到各位MCAI开发者的指教。