Authorware是我们非常熟悉而且也是常用的多媒体制作工具,利用它我们可以制作出具有交互性的专业多媒体程序或课件,用于教学或演示。Authorware容易学会但不容易掌握它的技巧,笔者从事CAI工作多年,愿意将自己平时积累的一些小技巧奉献出来,供大家参考。
获取系统文件夹
有时我们在课件中有必要获取系统文件夹,以启动相应的程序。Authorware4.0及其以上版本中,新增了一类Xtras fileio内部函数,其中有一个getOSDirectory()函数,利用它就可以轻轻松松地获取系统目录,再也不必费劲地调用了Windows API了;代码如下(本文所有源代码,直接粘贴到计算图标中即可调试):
WinPath:=getOSDirectory() --获取Windows目录。
WinSysPath:=getOSDirectory( )^"system"--获取Windows的system目录。
调用关联程序
大家一定对Windows下关联程序并不陌生,在Authorware中也可以通过内部函数JumpOutReturn来使用关联程序打开文件。即JumpOutReturn(" ", document)可以调用系统默认的关联应用程序来打开用户选择的文件(引号中有一空格)。使用这个办法,你可以打开各种类型的多媒体文件,而不必编写相应的播放程序。你可以用它轻松打开AVI、MID、WAV、MPG等各种格式的多媒体文件。我们还可以用这个办法来打开LNK文件,从而在作品中调用快捷方式。
如果我们写入以下语句,则可以调用系统默认的应用程序来打印各种类型的文件;Authorware会自动为你选择好能够打印该文件的应用程序。
JumpPrintReturn(" ",document)--调用系统默认的应用程序打印用户选择的文件。比如,以下代码将为你调用yourdoc.doc:
JumpPrintReturn(" ", "yourdoc.doc")
支持GIF动画文件
GIF是网络上应用最广泛的动画格式,但Authorware程序本身并不支持GIF格式的动画播放。我们需要调用AnimGif.u32中的函数DisplayAnimatedGif (Windowhandle; Filename; left; Top; color)来播放GIF动画。
函数参数:
Windowhandle为系统变量,代表Authorware展示窗口的句柄;
Filename为动画GIF带路径的文件名;
Left与Top确定GIF相对展示窗口的位置;
Color参数有16种选择,决定GIF背景的颜色。
AnimGif.u32中还有一个EraseAnimatedGif ( )函数,清除正在显示的GIF动画。
多文件处理
在Authorware中固然可以非常方便地引入图片文件,但是图片文件较多时,如果一个一个地引入则比较麻烦。不过,只要我们利用ACDSee软件将图片文件命名成形如file00001.bmp、file00002.bmp、file00003.bmp、file00004.bmp……的文件序列后,在Authorware中可以把图片文件作为外部链接输入,然后在外部媒体浏览对话框中用变量表示图片文件的路径与名称,我们只要改变变量,就可以显示不同的外部图片。并且在图像的属性对话框中的Display栏选择“As Is,Placement”项选择居中就可以实现按外部图片的实际大小显示图片,而无扭曲变形之虑了,非常方便。
调用Windows程序
Authorware作为一个多媒体制作软件,它所完成的功能是有限的,一些低级的、系统级的功能它是无法完成的,这时候,我们就必须调用外部的Windows程序来完成。有时在Authorware作品中直接打开特定的系统程序非常简单,只需使用内部函数getOSDirectory( )和JumpOutReturn就可以做到。
WinPath:getOSDirectory( )
JumpOutReturn (WinPath^ <\Cleanmgr.exe>)调用磁盘清理程序。
JumpOutReturn (WinPath^ <\Defrag.exe>)调用磁盘碎片整理程序。
JumpOutReturn (WinPath^ <\Explorer.exe>)调用资源管理器。
JumpOutReturn (WinPath^ <\Notepad.exe>)调用记事本。
动态和彩色光标
我们都知道,在Authorware里可以引入光标到您的文件中,但是它只能引进黑白两色光标,而不能引入彩色和动态光标(这个问题Authorware至今也没有解决),这就给您的多媒体作品大打折扣。其实,我们只要使用一个名为anicur.u32动态链接库,并引入其中的set_anicur()函数;再加入以下代码就可以使用动态和彩色光标了:
int := set_anicur(WindowHandle,"Hourglas.ani")
SetCursor(int)。
|