




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实例15 自动字典Authorware实例15 自动字典& 主要内容在该实例中,我们设计了一个自动的字典,在文本中我们设置了一些热文本,当我们用鼠标单击该热文本的时候,屏幕上会弹出一个小的窗口,在这一小的窗口中,显示的是对单击的热文本的解释。使用该实例中的方法,我们在作品中可以将一些特殊的单词或语句设置为热文本,当用户在使用作品的时候,在遇到不理解的词或语句时,只需用鼠标单击该单词或语句,就可以弹出一个对该单词或语句解释的对话框。读者可以随时查阅这些词或语句的含义。我们在发行作品的时候,只需附加上一个文本文件,在作品上就可以实现实时的查阅功能。s 基本操作提要在该实例中,我们使用了Authorware所提供的如下内容:【显示】设计按钮的使用。【框架】结构。【交互作用】分支结构。【运算】设计按钮。设计按钮的装饰。Authorware提供的系统函数和系统变量以及用户的自定义变量。文本风格的定义和超文本链接功能。在该实例中,我们使用Authorware所提供的系统函数,使该应用程序和外部文件相结合起来,实现一个字典的功能。在该实例中,我们仍然以介绍变量和函数的使用为主,让读者进一步熟悉Authorware函数和变量的使用方法,让读者体会到Authorware函数和变量的强大功能。技巧:事实上,Authorware所提供的系统变量和函数已经基本能够满足我们程序设计的需要,但我们要进一步地了解和学习系统函数和系统变量的含义和使用方法,将各种系统函数和系统变量有机地结合起来,实现特定的功能。系统变量和系统函数仅仅是一个基础的工具和砖瓦,需要用我们灵活的大脑来将它们组合起来,实现更高级的功能。& 实例过程在使用Autorware进行编程之前,我们需要做一些准备工作,具体工作内容如下:我们需要创建一个纯文本的字典。我们可以使用任意一个文本制作工具来创建该文本文件,在该文本文件中包含的是我们将要在程序中要用到的单词或语句,以及对它们的解释。我们事先将这些内容准备好,就象一个字典一样,当需要的时候,程序会打开该文件,在该文件中查找需要的内容,然后将查到的内容显示到程序的显示框中。(1) 准备文本文件内容:在该实例中,我们使用Windows 95的记事本来创建该文本文件,如图151所示。 图151 使用记事本创建文本文件在创建文本的时候,我们要使用下面的格式: “单词或语句”=“解释”例如“sample=例子”,其中“sample”为我们要解释的单词,“例子”为我们的解释。提示:在该格式中,等号两边可以是全角字符,但是,该格式中的等号必须是英文状态的半角字符。在该实例中,该格式我们是约定的格式,读者也可以在程序中创建自己的格式。文本文件中内容的格式必须和程序所认定的格式相一致。提示:请读者注意,该文本文件必须和该程序的源程序存储到同一个目录下面,否则Authorware将找不到该文本文件。(2) 保存创建的文本文件,文件名设置为popup.txt。(3) 在创建程序前,让我们对该应用程序的整体有一个大致的了解。图152所示为该应用程序的主设计窗口中的主流程线。在该流程线上我们看到有三部分组成。图152 程序的逻辑结构第一部分:一个【运算】设计按钮,该设计按钮的功能是从外部文本文件中读取文本文件中的内容,并将该内容存储在一个变量中。第二部分:一个【框架】结构,为程序的演示部分,也是程序的主体部分。事实上,如果我们将该程序应用到实际中,该部分就是用户的工作部分。字典的功能只是来辅助用户对该部分的使用。第三部分:一个只有一个分支的【框架】结构,该框架结构实现的是当用户单击热文本后,对用户单击的热文本进行处理,在外部文件的内容中查找同热文本相匹配的内容,然后在展示窗口中显示热文本的解释。(4) 程序的设计:步骤1 打开新文件:使用【Modify】菜单中【File】级联菜单的【Properties】命令选项弹出【Properties】对话框(快捷键为Ctrl+Shift+D),在该对话框中选择【Playback】命令按钮,弹出图153所示的【Properties】对话框。 图153 文件的属性设置【Properties】对话框在该对话框中,我们在【Size】选项列表中选择【Variable】选项,表示展示窗口的大小和位置是可以改变的,以用户最后一次改变的大小和位置为准。 图154 【运算】设计按钮的对话框 图155 创建glossaryText变量 步骤2 读取外部文件的内容:(1) 拖曳一个【运算】设计按钮到程序的主流程线上,命名为“读取文件”。(2) 双击打开该设计按钮,弹出图154所示的【运算】设计按钮对话框。在该对话框中的输入内容如下所述:glossaryText := ReadExtFile( FileLocationpopup.txt )该表达式的含义是将popup.txt文本文件中的内容作为一个字符串(包括分行符)赋值给自定义变量glossaryText。如图155所示。知识点:FileLocation:为系统变量,该变量存储的是当前所执行程序所在的位置。“”符号:该符号为连词符,将该符号两端的字符串连接成为一个字符串。在该实例中,FileLocationpopup.txt表示的是popup.txt文件所处的位置。例如:如果我们所执行的程序位置为:”D:bookexamp”,则FileLocation变量的值为“D:bookexamp”, FileLocationpopup.txt表示“D:bookexamppopup.txt”,为文件所处的位置和文件名。ReadExtFile():语法格式为ReadExtFile(filename)在本实例中该函数的功能是将FileLocationpopup.txt中的内容作为一个字符串读出来。然后赋值给变量glossaryText。步骤3 使用Ctrl+R打开展示窗口,设置展示窗口的大小和位置。方法参见实例10。步骤4 添加【框架】结构:(1) 拖曳一个【框架】设计按钮到程序的主流程线上,位于【运算】设计按钮后,命名为“项目”。(2) 双击该【框架】设计按钮,打开框架设计按钮内部结构,如图156所示。将该内部结构对于本实例多余的内容删除,仅留下如图157所示的交互作用分支路径,实现到下一页的功能。 图157 修改后的【框架】按钮内部结构 图156 【框架】按钮内部结构 (3) 双击打开图157中的响应类型图标,弹出响应类型属性对话框,单击该对话框中的【Button】命令按钮,来设置【Button】对话框,如图158所示。在该对话框中,【Location】输入如图所示的数字,使按钮可以显示在调整后的展示窗口中。技巧:当我们改变展示窗口的大小后,某些显示内容,如我们显示的按钮,在新调整后的展示窗口中我们不能看到,需要在图158所示的【Location】正文输入框中输入合适的数值使显示对象在展示窗口中出现。然后才可以使用鼠标来调整显示对象的位置。图158 按钮响应的【Button】对话框图159 按钮响应的【Response】对话框 (4) 单击该对话框的【Response】命令按钮,弹出图159所示的【Response】对话框。(5) 将按钮的响应设置为【Perpetual】,其它相关选项的设置如图159所示。(6) 单击图159中左上方的【Buttons】命令按钮,弹出图1510所示的【Buttons】对话框。图1510 “Button”对话框(7) 在该对话框中选择合适的按钮形状。在该实例中我们使用图示的按钮形状。提示:如果用户对该对话框中所提供的按钮形状不理想的话,读者可以使用该对话框中的【Add】命令按钮来弹出添加按钮形状对话框,来引入新的形态的按钮形状。(8) 单击1510中的【OK】命令按钮,结束对按钮的设置。(9) 单击159所示的【OK】命令按钮,结束对响应类型属性对话框的设置。步骤5 添加另外一个框架设计按钮:(1) 拖曳一个【框架】设计按钮到图1511所示的流程线上,命名为“特殊单词” 。(2) 双击打开该【框架】设计按钮,修改其内部结构,将Authorware默认的控制面板和控制按钮全部删除,删除后的内部结构如图1512所示。(3) 拖曳一个【映射】设计按钮到图1511所示的“特殊单词”框架结构下,命名为“词汇表”。 图1511 程序的逻辑结构 图1512 新建【框架】按钮内部结构 (4) 双击打开该【映射】设计按钮,来设置特殊的响应。步骤6 设置“词汇表”【映射】设计按钮:注意:该步骤的操作都是在【映射】设计按钮的设计窗口中进行的。(1) 拖曳一个【运算】设计按钮到设计窗口的流程线上,命名为“查找单词的解释”。(2) 双击打开该【运算】设计按钮,在该对话框中输入源程序,如图1513所示。提示:该【运算】设计按钮中源程序实现的功能是在读入内存的文本文件内容中查找所单击的热文本,然后显示文本文件中对该热文本的解释。图1513 在【运算】设计按钮对话框中输入源程序(3) 在该对话框中输入的内容如下所述:Definition := 为自定义变量Definition赋初值。temp := LowerCase(HotTextClicked)=该自定义变量temp存储的是热文本同“”连接的字符串。例如热文本为“some”,则temp“some=”。提示:HotTextClicked系统变量存储的是用户单击的热文本。repeat with i := 1 to LineCount(glossaryText)glossaryLine := GetLine( glossaryText, i )if Find( temp, LowerCase(glossaryLine)=1 thenDefinition:=SubStr(glossaryLine,Find(=,glossaryLine)+1, CharCount(glossaryLine) )exitend ifend repeatDefinition := GetLine( glossaryText, LineCount(glossaryText) )该循环的目的是在文本文件的所有行中,查找和热文本相匹配的行,然后将该行中对热文本的解释内容赋给变量Definition。各程序所执行的功能含义如下:glossaryText变量存储的是文本文件中所有的内容,包括分行符。LineCount(glossaryText)函数用来取得文本文件的行数。该循环用glossaryText中文本的行数来控制repeat循环的次数,也就是说在整个文件的所有行中寻找热文本。glossaryLine := GetLine( glossaryText, i )的功能是将glossaryText中第I行的内容赋值给glossaryLine变量。Find( temp, LowerCase(glossaryLine)=1: LowerCase()函数的功能是将字符串中的所有字符转化为小写字母。Find()函数的功能是在LowerCase(glossaryLine)字符串中寻找temp变量所存储的字符串。如果找到了该字符串,Find()函数的返回值为与temp字符串相匹配首位字符在LowerCase(glossaryLine)字符串中的位置。例如:Lyric := The rain in Spain falls mainly on the plainStart := Find(?ain,Lyric)?ain 匹配 rain, 所以Find()函数的返回值Start 是5。if Find( temp, LowerCase(glossaryLine)=1 thenDefinition:=SubStr(glossaryLine,Find(=,glossaryLine)+1, CharCount(glossaryLine) )exitend if该判断循环的目的是检查查找到的热文本是否是一行的开始位置。如果是开始位置,则将等号后的解释内容赋给Definition变量。然后退出该【运算】设计按钮。否则的话,会继续执行查找循环,直到查找到文件的末尾为止。提示:我们在创建文本文件的时候,设定需要解释的单词或语句在一行的最开始,紧接着是一个半角的“=”号,等号后是对解释内容。Definition := GetLine( glossaryText, LineCount(glossaryText) )如果在文件中没有查找到单击的热文本,则将文本最后一行的内容赋值给Definition变量。(4) 关闭该【运算】设计按钮对话框,确认保存输入的内容。(5) 关闭对话框后,Authorware会自动检测输入程序的变量和函数以及语法问题。弹出图1514中所示的四个新建变量I 、temp 、Definition和 glossaryLine的新建变量对话框。 图1514 新建变量对话框 (6) 拖曳一个【显示】设计按钮到图1515所示的位置,命名为“显示框”。(7) 双击该显示设计按钮,打开展示窗口。(8) 首先,单击展示窗口【图形工具箱】中的矩形绘图工具,在展示窗口中绘制一个矩形和一条直线,如图1516所示,作为显示框。 图1515 添加一个【显示】设计按钮(9) 单击【图形工具箱】中的正文输入工具,在该矩形区域中插入变量Definition 和HotTextClicked,在绘制的矩形内显示热文本和其注释,如图1517所示。 图1517 在显示框中插入变量 图1516 绘制显示框 图1518 设计按钮【Properties】对话框(10) 使用【Modify】菜单中【Icon】级联菜单中的【Properties】命令选项(快捷键为Ctrl+=),弹出其对话框,将该对话框设定为【Playback】对话框,如图1518所示。该选项的相关设置如图1518所示。(11) 拖曳一个【交互作用】设计按钮到图1519所示的程序流程线上。 图1519 程序流程结构(12) 拖曳一个【定向】设计按钮到【交互作用】设计按钮下方,如图1519所示。将响应类型选定为按钮响应。单击【OK】命令按钮。关闭响应类型对话框。(13) 双击如图1519中响应类型按钮,弹出图1520所示按钮响应属性对话框中的【Button】命令按钮,对话框转化为按钮响应的【Button】对话框。 图1520 按钮响应【Button】对话框(14) 在该对话框的【Location】区域输入如下内容:X:DisplayLeft显示框+4Y:DisplayTop显示框-3其功能是将按钮的位置显示在显示框中上方的小条中。按钮形状设置为图1520【Button】预览窗口所示的形状。将ESC作为热键,在Key(s)正文输入框中输入ESC。其它的相关设置如图1520所示。(15) 单击该对话框中的【Response】命令按钮,弹出【Response】对话框,如图1521所示。该对话框中的相关选项设置如图1521所示。 图1521 按钮响应【Response】对话框(16) 单击【OK】命令按钮,结束对按钮响应属性对话框的设置。(17) 双击图1519中的【定向】设计按钮,弹出图1522所示的对话框,在该对话框中设置【定向】设计按钮的属性。图1522 【定向】设计按钮对话框(18) 单击该对话框中的【OK】命令按钮,结束设置。(19) 对该【映射】设计按钮的设置结束,关闭第二级设计窗口,回到主设计窗口中。步骤7 定义文本风格:(1) 使用【Text】菜单的【Define Stytles】命令选项(快捷键为Ctrl+Shift+Y),打开风格定义对话框,如图1523所示。该对话框的具体设置参见图1523。使用【Add】命令按钮创建新的热对象,命名为hot Text。字体颜色设置为蓝色。字体设置为有下划线的字体。选择【cursor】选项。选中【Navigate to】选项。图1523 定义风格对话框(2) 单击【Navigate to】选项右边的按钮,弹出图1524所示的导航对话框。图1524 设置导航对话框(3) 各选项设置如图1524所示。(4) 定义的风格具有导航的功能,可以直接跳转到“词汇表”设计按钮中执行程序。 图1525 添加框架结构的页步骤8 用来设置“项目”【框架】结构:连续拖曳四个【显示】设计按钮到【框架】设计按钮下,作为框架结构的一页。如图1525所示。双击打开第一页,在展示窗口中来设置该页内容。如图1526所示。 图1526 设置文本和热文本 将我们定义的风格应用到文本中。在第四页中我们设置了一个在文本文件中没有解释的单词,在程序的执行过程中,如果用户点击该单词,则程序会自动显示文本文件最后一行的内容。提示:读者在创建文本文件时,可以将最后一行设定为如下内容:“在该字典中没有存储该单词”,则当文本文件没有存储热文本时,显示框中会弹出该提示。步骤9 程序设计结束,保存文件。请读者使用Ctrl+R来运行程序,观察程序运行的效果。警告:在Authorware程序的设计过程中,希望读者能够完全按照实例中的步骤来进行,不要漏过任何细节。在对话框的设置中,每一个选项都要和实例中的内容相同。事实上,各相关选项一点点的差别都会引起程序运行很大的不同。希望读者要细心。& 程序的完善在程序的运行中会出现如下问题:(1) 显示框遮挡了其它文本,使阅读不方便。(2) 显示框中的关闭按钮位置不对。(3) 各显示对象直接位置不协调。这些问题都是程序设计过程中不可避免的。一个好的多媒体作品,要有一个良好的界面和交互性及用户使用的灵活性。下面让我们来解决上述三个问题:问题1:显示框遮挡了其它文本,使阅读不方便;打开主流程线上“词汇表”【映射】设计按钮,如图1527所示的。 图1527 词汇表【映射】设计按钮要解决该问题,我们只需将显示框设定为可移动的对象即可。(1) 首先,我们为显示框设计按钮添加装饰,使该设计按钮中显示的对象为可移动对象。添加作为装饰的【运算】设计按钮对话框如图1528所示。 图1528 作为装饰的【运算】设计按钮对话框关闭该对话框,确认保存输入的内容。(2) 单击标题为“显示框”的设计按钮,使其处于选中状态,打开该设计按钮的【Properties】对话框。单击【Display】命令按钮,弹出【Display】对话框,如图1529所示。图 1529 【Display】对话框该对话框中相关设置如图1529所示。(3) 单击该对话框中的【Layout】命令按钮,弹出该设计按钮的【Layout】对话框,如图1530所示。在展示窗口中调整显示框的位置,如图1531所示。 图1531 调整显示框移动的区域 图1530 【Layout】对话框(4) 我们将该显示框设置为能在一定区域内移动(In Area)。方法一:在该对话框中,我们可以在【Base】、【Initial】和【End】正文输入框中输入数值来确定该显示框显示的区域。方法二:我们还可以使用鼠标在展示窗口中调整显示框的移动的区域,同时【Base】、【Initial】和【End】正文输入框中的值随读者对其位置的调整实时显示。图1531中所示的黑色边框为我们设定的显示框移动的区域。上述方法是使用输入来确定。我们还可以使用变量来控制显示框移动的区域。设置方法如图1532所示。 图1532 用变量来设置【Layout】对话框在该对话框中我们只需用鼠标确定显示框的【Base】位置,其它的位置我们使用变量来控制:【Initial】:使用变量ClickX 和 ClickY:鼠标单击热文本的位置,则显示框显示到鼠标单击的位置。【End】:使用变量WindowWidth 和WindowHeight:这两个变量为展示窗口的高和宽,使用这两个变量,将显示框的区域设定为整个展示窗口。该对话框中具体的设置如图1532所示。问题2:显示框中的关闭按钮位置不对; 图1533 程序逻辑结构(1) 双击图1533所示的设计窗口中的“关闭”分支路径的按钮响应图标,弹出图1534所示的按钮响应的对话框。(2) 单击该对话框中的【Button】命令按钮,将对话框转化为【Button】对话框,如图1534所示。 图1534 按钮响应【Button】对话框在该对话框中,我们在【Size】正文输入框中输入按钮的大小,具体大小读者可以自行设置。在【Location】正文输入框中,我们输入的值为:DisplayLeft显示框+30DisplayTop显示框+3这两个输入的内容为DisplayLeft显示框、DisplayTop显示框存储的是显示框在展示窗口中的显示位置,我们使用这两个显示位置数值作为相对位置来定位按钮的位置。读者可以在程序的设计过程中调整加减的数值,将按钮调整到实例中图示的位置。问题三:各显示对象直接位置不协调:如果这些显示对象之间的位置不协调,我们可以用鼠标双击错位的显示对象,打开编辑该对象的展示窗口,用鼠标调整该对象的位置,然后关闭展示窗口。保存修改的内容。& 程序的总体回顾程序的整体结构如图1535所示。在该实例中,读者需要注意以下要点:(1) 对Authorware默认的【框架】设计按钮控制面板的修改。(2) 利用Authorware提供的系统函数和系统变量实现应用程序和文本文件之间的通信。(3) 文本风格的设置和风格的应用。(4) 超文本链接的方式:是【Jump to Icon】还是【Call and Return】。(5) 利用变量来控制显示对象在展示窗口中的位置。(6) 利用永久性的交
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质控竞聘课件
- 象棋残局杀法课件
- 2025版苗木种植与土壤改良技术研发合作合同范本
- 2025版数字货币软件测试合同范本
- 2025版售楼部装饰施工与品牌授权合同
- 2025版蔬菜种植基地承包合作合同范本
- 2025版社保业务系统开发与维护服务合同范本
- 2025年度家居建材导购员劳动合同规范
- 2025年度三个月期房地产中介短期劳动合同模板
- 2025版团购房产投资咨询服务合同
- 第一单元 第二课 传感之古今未来 教学设计2024-2025学年人教版(2024)初中信息科技八年级上册
- 电压的测量课件
- 医美知识培训课件
- 私募股权投资协议样本
- 《炼铁高炉及其生产流程》课件
- 电气火灾消防安全教育
- 四川省2024年高等职业教育单独招生考试中职类语文试题及答案
- 木屑制粒机安全操作规程
- 湖南文艺出版社小学四年级上册全册音乐教案及计划
- 社区书记文明城市创建表态发言范文(五篇)
- 检维修管理制度
评论
0/150
提交评论