Authorware模块化的库与知识对象
添加时间: 2007-7-4 3:06:21 作者: 第九软件网 阅读次数:50 来源: http://www.d9soft.com
Authorware 6.5 轻松学
第五部分 模块化的库与知识对象
在利用Authorware进行多媒体设计中,经常会遇到重复使用的情况,例如某段计算执行代码,某部分程序分支流程结构等等,假如每次都重新编写设计一次,那不是显得Authorware"生硬笨拙"?程序设计编写尚且讲究代码"模块化",难道Authorware 6.5就不可以作到这一点?
其实Authorware 6.5一样可以做到"模块化",只不过它的实现方式是通过库与知识对象而已。这一节魔岩将给大家带来两个新的知识点:库、知识对象。
本节导读:
一、库的应用
库的概念
库的建立与使用
库的典型应用
二、知识对象的应用
知识对象的概念
Authorware 6.5提供的8大类知识对象简介
三、典型范例:看图学英语
本节制作讲解一个典型范例《看图学英语》,它主要是利用Authorware 6.5增加的TalkText V3 KO这个新知识对象制作实现的。程序执行后学习者通过眼看耳听,一个一个地学习英语单词的词义和发声,特别适合于儿童英语教学。文章末尾提供源文件下载。
一、库的应用
库的概念
简单的说,库(Library)即是各种设计图标的合集,是存放各种设计图标的仓库。一般情况下我们把经常使用的某些设计图标进行"入库",当在程序流程设计中需要再次使用使时,只需从库里"调用"即可,而程序则只保存库里调用的设计图标与程序之间的链接关系,这样做的好处一方面是体现程序与数据分离的优化,方便对程序的更新与修改,另一方面是避免设计者的重复劳动,节省文件存储空间,加快主程序的执行速度。
库的建立与使用
库文件的建立十分简单,和建立新的"a6p"Authorware文件没有区别,执行菜单【File】/【New】/【Library】或者快捷键Ctrl+Alt+N即可建立一空白内容的库文件,其文件后缀为"a6l"。
在程序设计过程中,当需要把某一设计图标进行"入库"时,只需打开相应的库文件,把流程线上的某一设计图标拖入到库文件里即可,此时该设计图标自动与库文件建立了链接关系,如图1所示。需要注意的是一旦程序流程线上的设计图标与库文件里的设计图标建立了"调用"链接关系后,对设计流程上的设计图标进行更名或者对库文件相应的设计图标进行更名都不影响它们之间的链接关系,这种保持关系同样体现在对设计图标的属性修改上。

图1
编辑库文件更是方便,一般和程序流程设计图标的编辑过程一样。例如删除库文件里的某一设计图标时,只须选定该设计图标后,按下"Delete"键或者执行菜单【Edit】/【Clear】即可;假如该设计图标还与流程线上的某一设计图标存在"调用"链接关系,强制删除库文件里的设计图标后,流程线上的设计图标将变为空内容,因此在删除前切记考虑清楚,否则很容易造成不必要的错误与损失,特别是对于比较复杂的大型多媒体设计。库文件进行修改删除等操作后,记得进行保存。
提示技巧
前面我们提过库与程序之间的这种特殊的链接保持关系同样体现在对设计图标的属性修改上,也就是说建立"调用"链接关系后,修改库文件里设计图标的属性,其实并不影响先前程序流程线上任何已经与该设计图标建立链接关系的设计图标的属性,但是我们可以人为地进行选择性的更新,执行菜单【Xtras】/【Library Links...】可以选择存在链接关系的程序流程线上的设计图标,使其更新保持为和最新版本的库文件有一致的设计图标属性,如图2所示。

图2
库的典型应用
一个大型的多媒体程序,我们强烈推荐使用库,为什么呢?因为Authorware打包程序在执行前都需要把程序文件自身数据调入到内存,然后才开始播放执行,出现程序界面。假如不使用库,而把所有的资源都内置于程序本身,势必造成程序文件的臃肿,增加程序的执行读取时间;而利用库,在程序中保存的却是一种资源的"调用"链接关系,需要用到什么才从库里读取什么,不需要的依旧存放在库里,这样就提高了程序的执行响应速度,令多媒体程序"跑"起来更加地流畅,同时也体现了程序设计优化论的程序资源与数据资源分离的思想。当然我们在打包发行程序的时候,也需要把对应的库文件一起打包发行,否则破坏了程序与库文件之间的链接关系,程序只能成为一个丢失了内容的"空心"萝卜,无法正确执行。
二、知识对象的应用
知识对象的概念
模块(Model)的概念,相信大家也不陌生,Authorware同样提供了一个模块的功能,它与库文件的区别主要在于模块是功能的集合,而库是设计图标的集合。在使用模块时,Authorware是把对应模块的内容复制到流程线上,而不是库文件所保持的"调用"链接关系;使用完毕后,模块与程序流程并无任何关系,即它们之间的修改互不相干。自从Authorware 5.0开始,模块就渐渐地从Authorware的前台设计退隐到了后台,转而以知识对象KO(Knowledge Object)的形式出现为主,因此知识对象其实就是模块的扩展,是带有可视化配置向导的模块。通过类似"所见即所得"的使用属性配置向导,设计者可以很方便快捷地使用已有的知识对象,而无须再次经历一次重复性的流程设计工作。值得高兴的是越来越多的Authorware扩展开发厂商开始进行知识对象的开发设计,为Authorware爱好者提供了许多实用的知识对象,使用户无须了解复杂的程序编写知识也可设计出专业的多媒体作品。
Authorware 6.5知识对象简介
Authorware 6.5一共提供了8大类的知识对象,如图3所示。在使用知识对象进行程序设计以前,我们先简单介绍一下它们的功能类型。

图3
1.Accessibility类型的知识对象
这类知识对象是Authorware 6.5新增加的,提供了包括常规的多媒体程序的一般框架结构、声音解决方案(TTS)、交互反馈等5个实用的KO,通过它们可以更快的完成一个功能齐全的多媒体作品。其中的TalkText V3 KO可以让你的课件程序发声,具体配置过程在后面的典型范例里我们将有详细的讲解。
2.Assessment类型的知识对象
这类知识对象主要用于知识系统测试,提供了包括是非题、单选题、多选题、简答题等类型的题目设计模板,还提供了登陆、答案判断、分数记录等测试系统功能。利用它们来开发多媒体自检测练习题测试系统最方便不过了。
3.File类型的知识对象
这类知识对象提供了常用的文件相关的KO,包括有系统字体增删、文件拷贝、光驱盘符查找、Authorware文件跳转、INI文件的存取以及文件属性的设置等共7个知识对象,方便了设计用户对文件相关的控制设计工作。
4.Interface Components类型的知识对象
这类知识对象主要用于创建各种用户界面及其控制,包括有各类型的消息对话框、鼠标控制、文件的打开、浏览、保存对话框、滚动条、Windows窗口属性控制等13个知识对象。通过这些知识对象,使Windows的交互界面设计变得更加标准和容易。
5.Internet类型的知识对象
顾名思义,此类知识对象主要是提供常见的互联网络功能,例如发送邮件、打开默认浏览器、Authorware播放器安全设置等。
6.New File类型的知识对象
这类知识对象主要提供了一般的程序流程框架,最引人注目的莫过于Authorware Application Accessibility Kit,它提供了一套完整的程序流程模板,初学者可以从中学习一下总体程序流程设计的思路!
7.RTF Objects类型的知识对象
这类知识对象是一个控制RTF(Rich Text Format)对象的知识对象工具包,包括对RTF对象的创建、编辑修改、保存、常规查找等功能。RTF对象支持插入各种图形,可设置多种文本格式,是开发图文并茂的多媒体程序常用的文件类型之一。
8.Tutorial类型的知识对象
这类知识对象提供了导航控制相关的知识对象,包括CameraParts和TakePictures两个KO。
三、典型范例:看图学英语
范例介绍说明
本节制作讲解的典型范例《看图学英语》主要是利用Authorware 6.5增加的TalkText V3 KO这个新知识对象制作实现的。如图4所示的程序执行预览界面,学习者通过眼看耳听,一个一个地学习英语单词的词义和发声,特别适合于儿童英语教学。

图4
范例流程设计
这个范例看起来似乎很复杂,其实流程设计相当的简单,主要是"沾"了模块化的知识对象的使用方便而功能实用的"光彩"。《看图学英语》整个程序的流程如图5所示,简单明了,关键的一步就是对TalkText V3配置向导的设置问题而已,下面我们来详细讲解它的配置过程。

图5
1.配置单词发声引擎
Authorware 6.5比以往的任何版本提供了更加全面的TTS语音技术支持,其中的TalkText V3知识对象就是一个重要表现,它是一个能够使程序发声的新知识对象。启动Authorware 6.5新建一个a6p文件后,按快捷键Ctrl+Shift+K调出知识对象浏览窗口,浏览并选择"TalkText V3"知识对象,此时流程线上就会自动添加一名为"TalkText V3"的知识对象图标。打开知识对象配置窗口(默认自动打开),开始进行TalkText V3知识对象配置工作。
首先出现的是TalkText V3知识对象的文字介绍,即第一步"Introduction";不想看的就单击"Next"按钮进入下一步"Set Components",这一步骤系统会自动检测反馈当前用户操作系统是否安装了Microsoft SAPI(Microsoft 语音应用程序编程接口)及其版本号,因为TalkText V3知识对象的正确使用必须保证计算机上安装有Microsoft SAPI 4.0a或更新版本的SAPI,如果检测到系统没有安装,可以到微软的官方网站自行下载安装。
如果系统已经安装了SAPI,则可以单击"Next" 按钮继续进入下一步的配置"Select Voice"选择发声嗓音,如图6所示。在此步骤里除了可以选择发声嗓音,即朗读人物角色外,还可以设置朗读速度及发声音量大小,一般我们保持默认值即可。

图6
"Select Voice"步骤配置完毕后,单击"Next" 按钮继续进入下一步的配置"Set Text"设置发声的文本内容,如图7所示。这里我们选择一个动态改变的自定义变量"Word"作为朗读发声内容,因此选择"a variable"选项,并在其下的输入框内输入=word即可,这样在程序执行过程中就会根据变量"word"的变化而自动改变发声内容。

图7
"Set Text"步骤配置完毕后,单击"Next" 按钮继续进入下一步的配置"Advanced Topics",此步骤主要是告诉您如何利用程序语句对TalkText V3知识对象进行控制,因此建议大家仔细阅读一遍。最后单击"Done"按钮完成TalkText V3知识对象即发声引擎的配置工作。这里提醒大家,KO的所有步骤的都是可逆的,即假如发现前面某一步骤需要重新配置,直接单击该步骤进入然后进行修改即可。
2.其它程序流程设计
其它的流程设计主要是利用了框架图标的导航结构,如图5右图所示即为框架图标"Learn English"的内部流程,其中显示图标"BackGround"存放的是程序背景图,而交互图标"Learn"则是框架导航交互,其交互分支"下一页"即为框架导航的"Next"功能,两个计算分支"跟我读"和"休息下"的计算代码分别如下所示:
--//计算图标"跟我读"的计算代码:
TalkText@"TalkText V3":=word
--//计算图标"休息下"的计算代码:
Quit(0)
至于框架图标的三个页面显示图标分支"1"、"2"、"3"分别存放的是"乌龟"、"蜜蜂"和"鲨鱼"三副图片,其附带计算代码分别为:word:="tortoise"、word:="bee"、word:="shark",即根据图片内容给自定义变量word赋发声的单词,然后由发声引擎,即TalkText V3知识对象负责单词的发声教学工作。
OK,《看图学英语》的整个程序流程讲解完毕,同学们可以参考它的设计思路,尝试自己开发一个内容更加复杂的英语学习软件了。
上一篇文章: Authorware轻松的网络发布功能 下一篇文章: Authorware直观灵活的程序语句

