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)。
AuthorWare中的热字的妙用 (作者:江苏省如东县掘港小学 韶亚军 来源:中国电脑教育报)
在Authorware中提供了11种交互方式,我们可以利用它们进行组合,灵活运用制作出多种高级的交互效果,对一般用户来说已经足够用了。其实还用一种交互——热字,我们一般可以将它配合框架进行超文本操作。本文是介绍它的另一种用法,实现一种能移动的“热区”。
大家知道按钮和热区一旦设定,位置就不能动,用热对象(Hot object)的话,Authorware把整个图标都看成一个对象,如果要实现一个类似对话框的"模式子窗口",窗口中有按钮,窗口还能拖动(按钮自然要跟着动),该如何处理呢?在一般情况下,我们可以用函数及运算式进行控制,但这太麻烦,其实热字这时就派上用场了,我们只在图标中画上窗口和按钮,然后在按钮处放上一个热字,内容全是空格,模式为透明,这样就成了看不见的热区了,最后把图标设置为可拖动就行了。非常简单,一个专业级的对话框就生成了,不过要注意的是,选用的字体一定是系统最常用的,否则在其它机器上没有该字体时,系统就用其它字体代替,这样就会出现热区大小和位置的错误。(到时候,用户可能会怀疑自己的Windows是不是坏了,那责任该谁负呢?)