在布应用程序前必须将其打包为可执行文件,打包后不允许再修改。打包前必须尽可能排除其中的错误,为此authorware提供了调试手段和调试工具。
1)语法错误
指错误地拼写函数、变量或设计图标名,遗漏了必要的参数和符号,如缺少“)”、“end if”等。authorware可发现语法错误,并在关闭设计图标或设计图标属性对话框时提出警告。
2)运行期错误
指在运行期间无法定位所需的外部函数文件,外部多媒体数据或外部库文件,此时authorwae将提示出错。
3)逻辑错误
指程序执行流程中不能正确地反映设计者意图的错误,如错误设置某个响应的激活条件,造成该响应永远不可能匹配。或者在一个循环执行的决策判断分支结构中错误设置退出分支结构的条件,造成程序无法继续执行等。逻辑错误隐蔽性较大,可能存在于打包的程序中。
避免出现各种错误应该从程序设计期间着手,在编写程序时付出的少量努力可大幅度减轻后期的调试工作量。避免程序出现错误的有效的手段有以下几种。
1)程序流程模块化
使用“群组”设计图标组合实现某一逻辑功能的多个设计图标,然后赋予其一个能够切实反映其功能的标题,可大大增加程序的可读性。
2)分块管理程序代码
在同一个“运算”设计图标中尽量避免使用过多的语句。可通过建立多个“运算”设计图标,并集中放置实现同一逻辑功能的语句,有利于定位代码中出现的错误。
3)添加注释信息
为“群组”设计图标增加,或在一个功能模块前面放置一个包含注释信息的“运算”设计图标,详细地说明模块中每个设计图标的作用,模块的功能等,这有助于调试和维护程序。在“运算”设计图标中,最好为关键性语句分别加是注释。
4)为设计图标上色
当设计窗口和设计图标数量均比较多时,为设计图标上色将有利于开发人员区分不同的功能模块。
5)嵌入变量
通过在“显示”或“交互作用”设计图标中嵌入变量,可跟踪变量值。将程序中使用的关键性变量嵌入到文本对象中后将对应的设计图标设置为“显示变量更新”方式,可使变量的当前值始终显示在“演示”窗口中,便于跟踪程序的执行。调试结束后,从文本对象中删除变量。
在多媒体交互作用程序的编制过程和程序设计完成后,都需要对程序的各模块和整个程序进行调试。根据用户的需求和编程人员的表现目的来对程序中的错误和不合理的地方进行修改调整。
程序的调试是一个交互作用应用程序设计中的重要一环。在程序的调试过程中,调试人员要模拟用户的各种状态,输入不同的内容和动作,来测试程序的健壮性和使用的灵活性、便利性。如果最终用户对程序的使用方法非常模糊、甚至某些误操作会导致整个软件系统的崩溃,这些都标志着该应用程序的失败。
所以,我们在程序的编制过程中,要全面地测试各程序模块实现的功能和与其他模块之间的通信畅通与正确,还有对用户误操作的预防和处理。
在程序的编制过程中,编程人员需要随时观察程序的效果,在大多数传统的编程语言中,编程人员要耗费大量的时间用到对源程序的编译和连接上,最终目的仅仅是为了看一看一个小小的改动对程序的影响。这种将大量的时间耗费在重复的编译连接上是非常无意义的。
多媒体的开发靠的是对图形和动画的精心组织、交互结构的精心设计和多种媒体的结合使用。媒体和动画都有很大的时效性,对于一个多媒体程序,开发的时间越短,其时效性就越好。如果将大量的时间耗费在程序的编制和调试上,多媒体产品开发周期不断拉长,则对多媒体产品的损失就越大。
authorware为开发人员提供了丰富的调试工具和检测工具。在传统的编程工具中,如果开发人员希望对程序中间的某一部分修改来看看修改的结果,必须无数次执行程序前一段的无意义内容才能够看到所修改的结果。而使用authorware编程,开发人员可以执行程序流程线上任一部分的内容,无须执行前一段或后一段的内容,单独执行修改过的内容即可。
authorware实现的多媒体编程的完全可视化,开发人员可以在设计窗口的流程线上控制和观察程序的流程,不同的设计按钮来完成不同的功能,丰富的函数和变量为authorware程序设计提供了广阔的舞台。
在该部分内容中让我们学习authorware为开发人员提供的灵活的设计和调试程序的工具。主要有以下内容。
1)“开始”和“停止”旗帜的使用:开始和停止旗帜可以放置到程序流程线上的任意位置,用来控制程序的执行起始位置和停止位置。使用这两个旗帜,开发人员可以执行整个应用程序的一部分。
2)authorware的跟踪窗口:authorware的跟踪窗口可以用来跟踪哪些设计按钮正在执行和监控变量设置的值等。在使用跟踪窗口前,读者必须首先熟悉如下内容。
①单步特性。
②进入特性。
③重置特性。
④暂停和恢复特性。
⑤ 对跟踪窗口中产生信息的含义进行学习。
一、两种旗帜介绍
在设计按钮调色板中有两个可以在设计中使用的旗帜。
1)“开始”是一个白色的小旗,可以用于在流程线上建立一个执行点。
如果在【调试】菜单中选择【从标志旗处运行】命令或使用【ctrl+alt+r】快捷键来执行程序时,则程序从“开始”旗帜所在处执行,而不是从流程线上程序的起点开始执行。在开始旗帜的辅助下,可以连续地执行作品中的一小部分,而不必每次都从程序的开始执行。这在程序的开发过程中对部分内容的调试有很大帮助。如果每一次调试都从头开始运行作品,则要花费大量的时间来运行到修改的点。
技巧:在一般情况下,我们在程序的开始要设置一些变量,这些变量要控制程序中的相关内容。例如激活菜单或匹配响应等。但是,如果程序是从“开始”旗帜所在处开始执行的话,则程序就不能执行变量的设置,这样的话,就有可能对程序的控制失控。为了解决这个问题,读者可以在“开始”旗帜后使用一个“运算”设计按钮,将变量的值临时设置在该“运算”设计按钮内。一旦程序的调试完毕,请将该“运算”设计按钮删除掉,以免程序出现混乱。
2)“停止”旗帜是一个黑色的小旗,用于在程序的设计流程线上停止作品的执行。程序运行到“停止”旗帜所在位置停止运行
当执行到程序的流程线上的“停止”旗帜后,则authorware停止应用程序的执行。这同“等待”设计按钮的功能类似,不同之处是没有活动的【继续】按钮。“等待”设计按钮单击【继续】按钮可以继续执行程序,而“停止”旗帜需要执行authorware中【调试】菜单中的【播放】命令来继续执行应用程序。
与“开始”旗帜类似,“停止”旗帜也可以用来控制执行程序的一部分。在程序的开发设计过程中,我们可以使用该工具来保证我们在编辑某一设计按钮之前不运行后面的设计按钮或设计按钮组。例如在程序中,有一个对象需要在“显示”设计按钮中显示,同时要使用“移动”设计按钮使该显示对象在展示窗口上按照一定的方式移动。
在该程序中,为了在显示设计按钮中定位显示对象的位置,而不希望执行下面的移动设计按钮,我们可以在移动设计按钮前设置一个“停止”旗帜,当程序执行到显示设计按钮后,停止程序的执行,这时我们可以对展示窗口中的显示对象进行调整和控制。对显示对象调整好后,我们再去掉“停止”旗帜,重新运行程序来观察运行的结果。
注意:“开始”旗帜和“停止”旗帜是authorware为程序设计时所提供的工具。无论读者是否从流程线上去掉它们,当程序最终打包发行给用户的时候,所有的旗帜将被忽略,而不必担心是否去掉了小旗。
技巧:在一个应用程序的设计过程中,只能分别有一个“开始”旗帜和一个“停止”旗帜出现在程序的设计窗口中。
“等待”设计按钮和“停止”旗帜的功能非常相似,在程序的设计调试过程中,我更喜欢使用“等待”设计按钮,因为“等待”设计按钮可以有【继续】命令按钮,使程序的暂停比较明显。
二、程序设计中旗帜的应用
在流程线上设置和移动旗帜和其他设计按钮相同,不同的是在设计按钮调色板上,旗帜设计按钮各只有一个,其他的设计按钮有无数多个。如果我们在设计窗口中放置了“开始”旗帜和“停止”旗帜,则设计按钮调色板中(红色矩形框内)这两种旗帜的位置会出现空缺,如图7-1所示。
图7-1 程序设计中旗帜的应用
1)使用“开始”旗帜和“停止”旗帜的步骤如下。
① 用鼠标拖曳“开始”旗帜到程序流程线上需要程序开始执行的位置。
② 拖曳一个“停止”旗帜到程序流程线上需要暂停的位置点上。
③ 如果希望程序从“开始”旗帜所在位置执行,使用【调试】菜单中的【从标志旗处运行】命令(或用【ctrl+alt+r】快捷键),否则使用【调试】菜单中的【重新开始】命令(或用【ctrl+r】快捷键)来运行程序。
当一个应用程序从“开始”旗帜所在处开始执行程序后,authorware将清理展示窗口,并将所有的变量设初值,和作品从流程线上的起始点开始运行一样。
技巧:在程序的设计和编辑过程中,我们并不需要同时使用两种旗帜,我们可以单独使用“停止”旗帜和“开始”旗帜。使用“开始”旗帜从特定的位置来开始执行程序到末尾。可以使用【停止】旗帜从最开始来执行程序到停止位置。还可以同时使用两种旗帜来设定执行应用程序的一部分。
④ 当authorware遇到“停止”旗帜停止执行程序后,设计者可以回到流程线上进一步编辑流程线上的设计按钮,也可以在展示窗口中编辑窗口中的显示对象。在这两种情况下,设计者都可以在编辑完成后,使用【调试】菜单的【播放】命令从程序停止处继续执行应用程序。
2)取消流程线上的“开始”旗帜和“停止”旗帜的方法如下。
①从设计窗口中将流程线上的“开始”旗帜或“停止”旗帜拖曳到设计按钮调色板上它们的位置上。
②用鼠标单击设计按钮调色板上旗帜位置的空缺处,旗帜会自动从设计窗口流程线上取消。
3)旗帜在流程线上位置改变的方法如下。
① 用鼠标拖动旗帜到需要的位置释放即可。
② 如果旗帜在程序的流程线上的某个位置,用户不能很快地找到,用户可以先使用上述方法2)使旗帜回到调色板上,然后再拖动旗帜到流程线上合适的位置释放。
4)使用“开始”旗帜和“停止”旗帜进行程序的调试,方法如下。
在程序的设计过程中,我们可以使用旗帜来调试程序,以便定位程序错误所在的位置。例如,我们在程序的运行过程中发现作品的运行进程和我们设计的不一样,或者在展示窗口中的显示内容同我们的期待内容不同。如果出现上述情况,我们可以使用旗帜来定位问题的所在处。
设计者可以首先使用“停止”旗帜,使程序定位在出现问题的位置,也就是,确定在“停止”旗帜位置前的程序部分引起的错误。然后使用“开始”旗帜来缩小错误的范围,逐步进行,就可以将错误的范围缩小到一个小的范围,然后再使用跟踪窗口来观察这小范围程序的执行,从而定位错误的原因,然后解决问题。
5)在程序的运行过程中修改程序,方法如下。
当我们使用“等待”设计按钮或“停止”旗帜使应用程序暂停运行后,我们有可能需要对程序中的某些内容进行修改。下面我们来介绍如何对不同的修改对象进行不同的操作,从而来修改程序中的对象。
① 修改显示在展示窗口中的正文或图片。
只需用鼠标双击需要修改的对象,此时,authorware的“图形工具箱”便出现在展示窗口中,并且该对象所属的设计按钮的图标也出现在“图形工具箱”左边的区域中。利用“图形工具箱”中的工具按钮编辑对象,完成后,使用【调试】菜单的【播放】命令继续执行应用程序。
② 修改程序中的响应类型。
只需用鼠标双击流程线上的响应类型图标,打开响应分支属性对话框,在该对话框中可以设置响应的类型等多种选项和设置。然后单击【确定】命令按钮结束对该分支结构的设置。使用【调试】菜单的【播放】命令继续执行应用程序。
③ 修改“等待”设计按钮属性设置。
首先选择【调试】菜单的【停止】命令,然后双击“等待”设计按钮,打开“等待”设计按钮属性对话框。在该对话框中设置“等待”设计按钮的相关属性。
④ 修改“交互作用”设计按钮中的热区响应。
首先选择【调试】菜单的【停止】命令,然后双击要编辑的热区对象,调整热区的大小和在展示窗口中的位置,设置完毕后,选择【调试】菜单中的【播放】命令继续执行。
技巧:如果当前内容的是“交互作用”设计按钮中的内容,并且其中含有热区或热对象。要编辑这样的对象,必须首先选择【调试】菜单的【停止】命令,然后用鼠标双击要编辑的热对象或热区。编辑完毕后,选择【调试】菜单中的【播放】命令继续执行。
以上内容是使用“开始”旗帜和“停止”旗帜来调试和编辑程序的总体介绍,在今后实际的应用中往往是用上述各种方法的结合来进行程序的设计和调试。
新闻热点
疑难解答