论文部分内容阅读
摘 要:Authorware作为以交互著称的多媒体集成平台,在构建计算机模拟训练系统中得到广泛应用。本文对模拟按键从功能的角度进行了分类,重点将复用键的程序设计进行了概略解析。
关键词:AUTHORWARE;模拟按键;程序设计
中图分类号:TP317.4
在我们生活、工作中,作为功能性选择的按键可谓无处不在。我们熟悉的手机、遥控器、鼠标、键盘、控制面板等都是按键应用的代表之作。按键的种类繁多,应用如此广泛而重要,业已成为基于Authorware平台构建计算机模拟训练系统中必须认真加以研究、分析和解决的关键环节之一。
1 模拟按键的分类
对于应用环节上的按键而言,其种类之多、取材之广,可作不同的分类。根据按键的功能及模拟显示的不同情况,通常可把模拟按键分为单功键、双功键和复用键。相对于单一功能的单功键和具有两个功能的双功键,复用键具有步进增减与变化功能。这类按键我们接触也很多,比如电视遥控器中的音量增、减键和节目上、下选择键等。在处理这类模拟按键时,流程的处理往往较为复杂,特别是其中的逻辑关系必须透彻地理清并仔细地在程序设计时逐点实现。
2 复用键的程序设计
2.1 设定程序功能
下面以实际应用中的程序为原型进行简化处理,使程序更加典型化。本例中需要模拟的是四个复用键:增、减、左、右,显示屏显示位数限定为3位。其中“增”键是每按一次将数字增加1个整数量级(0-9),“减”键是每按一次将数字减少一个整数量级(9-0),“左”键是把设定为三个显示位数的闪动光标向左移动一位,“右”键则把闪动光标向右移动一位,其间各键之间关联度较高。
2.2 程序设计流程
(1)在流程线上拖曳【计算】图标“初始设定”。输入以下语句:
s1:=0--第1位数值
s2:=0
s3:=0
s1:=""--显示第1位数值初始为空
s2:=""
s3:=""
shan:=1--闪动的指示光标
jw:=1--计位,确定数值所在位置
fz1:=0--分支1
fz2:=0
(2)拖曳【显示】图标“显示屏”,在其中把显示屏的底图放置到位,并在显示数字变化的三个对应位置上输入如下内容:{s1}{s2}{s3}。注意在其显示图标的属性选项栏中勾选“更新显示变量”项。
(3)拖曳【显示】图标“按键图”,把相应的按键放置在合适位置。
(4)拖曳【交互】图标“复用键”。在其右侧设置“增”、“减”、“左”、“右”四键图标,其后有“退出”、“shan=1”、“shan=2”、“shan=3” 等辅助图标。
①拖曳【群组】图标置于【交互】图标右侧,取名“增”。类型选为热区域(Hot spot),在响应属性栏中将“范围”(Scope)复选框“永久”(Perpetual)选中。打开“增”的群组图标,我们设置如下程序流程:
a.【计算】图标“Jw1”。输入如下语句:
if jw=1 then
fz1:=1
else if jw=2 then
fz1:=2
else if jw=3 then
fz1:=3
end if
这段程序对按键的定位显示做了划分,按三种情况对其进行处理。
b.【决策】图标“fz1”。在其属性栏中的“重复”项选“不重复”,在“分支”栏选“计算分支结构”并设条件项为“fz1”。通过“fz1”这个自变量来有效控制三位数字显示所需的各自独立的数字增减变化量的三个分支,即【决策】图标右侧的【计算】图标s1、s2、s3。其中【计算】图标“s1”中输入如下语句:
s1:=s1+1
if s1=10 then
s1:=9
end if
它使得处在第一位的显示数字在每按一次“增”键后有整数量级的一个增加,并且限定在达到最高的“9”后就不再增加。【计算】图标“s2”、“s3”与之相似。
②拖曳【群组】图标置于【群组】图标“增”的右侧,取名“减”。响应类型及属性等与“增”相同,结构也相似。与“增”不同的是“减”的【群组】图标中变量设为fz2,将与【计算】图标“s1”等对应的图标设为“a1”,在其中输入语句:
s1:=s1-1
if s1=-1 then
s1:=0
end if
它使得处在第一位的显示数字在每按一次“减”键后有整数量级的一个减少,并且限定在达到最低的“0”后就不再减少。【计算】图标“a2”、“a3”与之相似。
③拖曳【计算】图标置于【群组】图标“减”的右侧,取名“左”。响应类型及属性等与“增”相同。“减”的主要功能是实现对显示数字所处位置的向左调整,即每按一次“减”键,闪动光标向左移一位,显示数字在新的位置进行调整。其中输入如下语句:
jw:=jw-1
if jw=0 then
jw:=1
end if
shan:=jw
程序在完成位置调整的过程中,同时对闪动的光标作出相应调整,实现并行事件的恰当处置。由于本例设为三位显示,因此当位置处于最左侧,则限定光标及数字调整的位置不再向左变化。
④在“左”的右侧设置【计算】图标“右”,其响应类型及属性等与“增”相同。主要功能与“左”不同的是调整的方向为右。其中输入语句: jw:=jw+1
if jw=4 then
jw:=3
end if
shan:=jw
⑤在“右”的右侧设置【计算】图标“退出”,这只是为了程序上相对的完整,在属性响应栏分支项中设为“退出交互”。在【计算】图标中输入“quit(0)”即可。
⑥在“退出”的右侧设置【条件】图标“shan=1”。设置“shan=1”及其后的“shan=2”、“shan=3”,是要实现光标闪动的效果。当设计程序满足条件时,光标就会在指定的位置出现闪动。将其属性的“条件”(Condition)栏中“条件”项设为“shan1=1”,将“自动”(Automatic)项设为“为真”(When True)。
【条件】图标“shan=1”的流程由如下图标组成:
a.【显示】图标“t1”。将闪动光标底图设置在显示屏显示的左边第一位。
b.【等待】图标“0.3s”。通过测试,我们得出当等待时长为0.3秒时与实际效果较为接近。
c.【擦除】图标“cd1”。擦除底图“t1”。
d.【等待】图标“0.3s”。
e.【计算】图标“gt1”。其中输入语句:GoTo(IconID@"t1"),使程序跳转到“t1”图标重新开始循环。
⑦【条件】图标 “shan=2”、“shan=3”设置在“shan=1”其右,流程与设计要点与“shan=1”相同,只是要将光标的底图分别设置在显示屏数字显示的中间和最右的位置上,其条件响应的条件分别为“shan=2”、“shan=3”。
⑧调整好热区与按键的对位,测试并调整光标闪动位置,检测、运行程序。
3 结束语
由于按键的应用广泛和种类的繁多,使得模拟按键在实践应用中占有重要的一席之地,其程序的设计也呈多样化和复杂之势。本文受篇幅所限,在程序设计的解析中对一些细节未加展开,如“Perpetual”属性的设定、交互响应出现次序的处理等都深有讲究,应在程序设计和处理中恰当把握、稳妥处置。细节的处理,往往是决定系统成败的关键。
参考文献:
[1]袁海东,尹功勋.Authoware7.0 ShowMe范例精选[M].电子工业出版社,2004.
[2]汪红.Authoware7.09的多媒体课件实用教程[M].清华大学出版社,2005.
作者简介:丁站民,职位:高级工程师。
作者单位:61590部队,福州 350003
关键词:AUTHORWARE;模拟按键;程序设计
中图分类号:TP317.4
在我们生活、工作中,作为功能性选择的按键可谓无处不在。我们熟悉的手机、遥控器、鼠标、键盘、控制面板等都是按键应用的代表之作。按键的种类繁多,应用如此广泛而重要,业已成为基于Authorware平台构建计算机模拟训练系统中必须认真加以研究、分析和解决的关键环节之一。
1 模拟按键的分类
对于应用环节上的按键而言,其种类之多、取材之广,可作不同的分类。根据按键的功能及模拟显示的不同情况,通常可把模拟按键分为单功键、双功键和复用键。相对于单一功能的单功键和具有两个功能的双功键,复用键具有步进增减与变化功能。这类按键我们接触也很多,比如电视遥控器中的音量增、减键和节目上、下选择键等。在处理这类模拟按键时,流程的处理往往较为复杂,特别是其中的逻辑关系必须透彻地理清并仔细地在程序设计时逐点实现。
2 复用键的程序设计
2.1 设定程序功能
下面以实际应用中的程序为原型进行简化处理,使程序更加典型化。本例中需要模拟的是四个复用键:增、减、左、右,显示屏显示位数限定为3位。其中“增”键是每按一次将数字增加1个整数量级(0-9),“减”键是每按一次将数字减少一个整数量级(9-0),“左”键是把设定为三个显示位数的闪动光标向左移动一位,“右”键则把闪动光标向右移动一位,其间各键之间关联度较高。
2.2 程序设计流程
(1)在流程线上拖曳【计算】图标“初始设定”。输入以下语句:
s1:=0--第1位数值
s2:=0
s3:=0
s1:=""--显示第1位数值初始为空
s2:=""
s3:=""
shan:=1--闪动的指示光标
jw:=1--计位,确定数值所在位置
fz1:=0--分支1
fz2:=0
(2)拖曳【显示】图标“显示屏”,在其中把显示屏的底图放置到位,并在显示数字变化的三个对应位置上输入如下内容:{s1}{s2}{s3}。注意在其显示图标的属性选项栏中勾选“更新显示变量”项。
(3)拖曳【显示】图标“按键图”,把相应的按键放置在合适位置。
(4)拖曳【交互】图标“复用键”。在其右侧设置“增”、“减”、“左”、“右”四键图标,其后有“退出”、“shan=1”、“shan=2”、“shan=3” 等辅助图标。
①拖曳【群组】图标置于【交互】图标右侧,取名“增”。类型选为热区域(Hot spot),在响应属性栏中将“范围”(Scope)复选框“永久”(Perpetual)选中。打开“增”的群组图标,我们设置如下程序流程:
a.【计算】图标“Jw1”。输入如下语句:
if jw=1 then
fz1:=1
else if jw=2 then
fz1:=2
else if jw=3 then
fz1:=3
end if
这段程序对按键的定位显示做了划分,按三种情况对其进行处理。
b.【决策】图标“fz1”。在其属性栏中的“重复”项选“不重复”,在“分支”栏选“计算分支结构”并设条件项为“fz1”。通过“fz1”这个自变量来有效控制三位数字显示所需的各自独立的数字增减变化量的三个分支,即【决策】图标右侧的【计算】图标s1、s2、s3。其中【计算】图标“s1”中输入如下语句:
s1:=s1+1
if s1=10 then
s1:=9
end if
它使得处在第一位的显示数字在每按一次“增”键后有整数量级的一个增加,并且限定在达到最高的“9”后就不再增加。【计算】图标“s2”、“s3”与之相似。
②拖曳【群组】图标置于【群组】图标“增”的右侧,取名“减”。响应类型及属性等与“增”相同,结构也相似。与“增”不同的是“减”的【群组】图标中变量设为fz2,将与【计算】图标“s1”等对应的图标设为“a1”,在其中输入语句:
s1:=s1-1
if s1=-1 then
s1:=0
end if
它使得处在第一位的显示数字在每按一次“减”键后有整数量级的一个减少,并且限定在达到最低的“0”后就不再减少。【计算】图标“a2”、“a3”与之相似。
③拖曳【计算】图标置于【群组】图标“减”的右侧,取名“左”。响应类型及属性等与“增”相同。“减”的主要功能是实现对显示数字所处位置的向左调整,即每按一次“减”键,闪动光标向左移一位,显示数字在新的位置进行调整。其中输入如下语句:
jw:=jw-1
if jw=0 then
jw:=1
end if
shan:=jw
程序在完成位置调整的过程中,同时对闪动的光标作出相应调整,实现并行事件的恰当处置。由于本例设为三位显示,因此当位置处于最左侧,则限定光标及数字调整的位置不再向左变化。
④在“左”的右侧设置【计算】图标“右”,其响应类型及属性等与“增”相同。主要功能与“左”不同的是调整的方向为右。其中输入语句: jw:=jw+1
if jw=4 then
jw:=3
end if
shan:=jw
⑤在“右”的右侧设置【计算】图标“退出”,这只是为了程序上相对的完整,在属性响应栏分支项中设为“退出交互”。在【计算】图标中输入“quit(0)”即可。
⑥在“退出”的右侧设置【条件】图标“shan=1”。设置“shan=1”及其后的“shan=2”、“shan=3”,是要实现光标闪动的效果。当设计程序满足条件时,光标就会在指定的位置出现闪动。将其属性的“条件”(Condition)栏中“条件”项设为“shan1=1”,将“自动”(Automatic)项设为“为真”(When True)。
【条件】图标“shan=1”的流程由如下图标组成:
a.【显示】图标“t1”。将闪动光标底图设置在显示屏显示的左边第一位。
b.【等待】图标“0.3s”。通过测试,我们得出当等待时长为0.3秒时与实际效果较为接近。
c.【擦除】图标“cd1”。擦除底图“t1”。
d.【等待】图标“0.3s”。
e.【计算】图标“gt1”。其中输入语句:GoTo(IconID@"t1"),使程序跳转到“t1”图标重新开始循环。
⑦【条件】图标 “shan=2”、“shan=3”设置在“shan=1”其右,流程与设计要点与“shan=1”相同,只是要将光标的底图分别设置在显示屏数字显示的中间和最右的位置上,其条件响应的条件分别为“shan=2”、“shan=3”。
⑧调整好热区与按键的对位,测试并调整光标闪动位置,检测、运行程序。
3 结束语
由于按键的应用广泛和种类的繁多,使得模拟按键在实践应用中占有重要的一席之地,其程序的设计也呈多样化和复杂之势。本文受篇幅所限,在程序设计的解析中对一些细节未加展开,如“Perpetual”属性的设定、交互响应出现次序的处理等都深有讲究,应在程序设计和处理中恰当把握、稳妥处置。细节的处理,往往是决定系统成败的关键。
参考文献:
[1]袁海东,尹功勋.Authoware7.0 ShowMe范例精选[M].电子工业出版社,2004.
[2]汪红.Authoware7.09的多媒体课件实用教程[M].清华大学出版社,2005.
作者简介:丁站民,职位:高级工程师。
作者单位:61590部队,福州 350003