首页 > 网站 > 媒体动画 > 正文

Authorware综合技巧:用分支结构完成教学流程地控制

2024-09-08 19:25:04
字体:
来源:转载
供稿:网友
在authorware中,分支结构和框架结构都是一种复合结构,有时利用它们可以实现相同的设计目的,所以从一定的意义上来说,两者有相似之处,甚至可以相互通用,但是它们之间又是有区别的。分支结构在执行路径的选择和自动循环的控制上优势要明显些,而框架结构则在页面的跳转和超链接等方面的实现上似乎要来得更加名正言顺一些。比如我们要设计一个cai课件,其中有关于某章节部分的学习,那么,如何体现课件的质量,很重要的一条就是要设法让操作者积极主动地参与到课件的进程之中去,也就是说,软件的可交互性要强。接下来本例即是从做cai课件的角度出发,谈一谈用authorware的分支结构实现教学流程控制的一点体会,欢迎与大家共同探讨。

一、实例说明: 关于课件的设计应要求其具有较强的交互性,让学习者既可以采取自动的教学方式学习,也可以采取一步一学的教学方式学习(setp by setp),另外,学习者还可以根据需要能实现到“上一步”、“重播”、“下一步”、“退出”的自由跳转。

二、创作步骤:

  1、按钮的制作:按钮是多媒体设计中常见的要素,你要是想制作出引以为豪的界面,必须少不了这一步,虽然你可以使用authorware自带的系统按钮,但authorware中那种清一色的灰色按钮早已远远不能满足人们视觉上的需要。还好authorware允许我们引入自己创建的按钮。关于按钮实际上就是一张张小图片,你可以用作图软件,诸如画笔、photoshop等来制作它,本例需要创建20幅图片,这里我们预先做出了20幅大小尺寸都相同的图片,以备引入。见下图 


第一行:前翻(左:鼠标末选中状态,中:鼠标悬停时的状态,右:按钮按下时的状态)
第二行:重复(解释同上)
第三行:后翻(解释同上)
第四行:自动(解释同上)
第五行:手动(解释同上)
第六行:退出(解释同上)
第七行:背景音乐开关 (左边的按钮状态表示背景音乐此时为开,反之为关)

  2、初始化:在流程线上放置一个“运算”图标并命名为“初始化”,双击打开后,进入程序输入框,输入内容如下图所示。
 

关于mcishowerrors0函数所需a4wmme.u32函数的装入方法:
点击 从categorg中下拉选出demo.a4p,点取load键,选择a4wmme打开,点选mcishowerrors函数load即可。(midiplay函数的调入类同)
 
3、将一显示图标放到“初始化”计算图标的下面,并命名“主界面”,双击此图标打开,从菜单上选取file>import,进入“import which file?”对话框,选取你所要导入的图片,按下“import”钮引入图片。

4、建立交互区:将一交互图标放置在“主界面”图标之下,命名为“交互区”,再将图标工具栏中的“组”图标拖到“交互”图标的右侧,出现“response type”对话框,单击“ok”按钮。并将该图标命名为“前翻”。双击“前翻”图标,弹出“properties response”对话框,选中“perpetual”选项,表示我们希望这个按钮始终显示在运行的界面上,可以随时随地利用这个按钮来实现控制;响应方式设为“single-click”鼠标单击方式,返回路径设为“exit intercation”;将光标形状设为手形。具体请看下面两张图示:


              

4、单击“群组”图标使之被选中,然后同时下“ctrl”键与“=”键,使“群组”图标上附着一“计算”图标,输入内容如下图所示,然后按下小键盘上的回车键关闭“计算”图标窗口。

 5、接下来我们在“前翻”图标的右侧分别再加入四个“群组”图标,并命名为“后翻”、“重播”、“退出”、“自动/手动”、“音乐开/关”,然后再在“后翻”、“重播”、“退出”、“自动/手动”、“音乐开/关”这些图标上各附上一计算图标,并在其中输入有关内容,具体如下:
  后  翻: next_part:=next_part
  重  播: next_part:=next_part-1
  退  出: quit(0)
 自动/手动:test(button,button:=0,button:=1) test(button,wait:=0,wait:=1) checked@"自动/手动":=button
  音乐开/关:checked@"音乐开/关":=~music_button test(music_button,music_button:=0,music_button:=1) test( ~music_button&~midiplaying(),midiplay(filelocation^"music//music"^round(random(1,6,1),2)^".mid",100, 0),midistop())

6、单击“后翻”图标上面的小按钮,弹出“properties response”对话框,在“active if”栏中输入“ next_part<pathcount@"计算"+1”,按下“ok”;

7、单击“退出”图标上面的小按钮,弹出“properties response”对话框,在“branch”一栏选中“retrun”,按下“ok”;单击“自动/手动”图标上面的小按钮,弹出“properties response”对话框,在“branch”一栏选中“retrun”,按下“ok”;单击“音乐开/关”图标上面的小按钮,弹出“properties response”对话框,在“branch”一栏选中“retrun”,按下“ok”;结果如下图所示:

8、按钮的引入:关于按钮,窗口显示的是系统提供的按钮形式,单击“前翻”图标上面的小按钮,弹出“properties response”对话框,点按,准备引入自己创建的按钮。此时会弹出一个按钮库的对话框,在按钮库的界面上单击“add...”,再按下  钮(表示鼠标末选中的状态)与钮引入我们所需要的按钮。如图所示:


          
方法同上,我们再分别引入鼠标悬停时,即的情况 和鼠标在按钮上按下时的状态,即 的情况 ;有关界面上各按钮的意义不再阐述,具体请参阅99年第32期《电脑报》李卫红的《在authorware中创建自己的按钮》一文,大家可以举一反三。通过以上方法我们可以将预先做好的20幅图片逐步引入,这样做的目的不仅在于美观,有自己的风格,而在于我们在这一步中使用了一个小小的容易被他人忽略的地方。请大家看下一步。

9、参照以上的方法分别将“后翻”、“重播”、“退出”图标的按钮引入。关于“自动/手动”与“音乐开/关”,这里需要补充说明的是“chacked”按钮的引入,这是个特殊的按钮,(注意:它在normal的右边)不是靠直接点击它来实现对它的控制,它本身不具有交互性,所以我们常常会忽略它的价值,请按示例将图片一步一步引入,(图见下)


 

由左至右按钮的依次对应为normal-up、normal-down、normal-over)

(由左至右按钮的依次对应为checkedl-up、checked-down、checked-over)
(由左至右按钮的依次对应为normal-up、checkedl-up)

10、按钮的对齐:当我们将图片引入到与之相对应的按钮之中之后,按住 “shift”键 双击“交互区”图标,用鼠标分别将按钮拖到与之相对应的位置上,并尽量对齐。(见下图)。对齐方法:可配合“shift”键选定所有按钮,然后从菜单上选取modiy>align,再进行物体校正比较。)

   

11、从图标栏中将“决策”图标引入,并命名为“计算”,具体设置见下图所示。这里【branch】域的设置是计算分支“to calcuated path”,变量“next_part”值将决定流程的流向;【repeat】域的参数设置是“until true”和“0”,这种设置将使分支结构的执行沿着“next_part”所指明的路径无限地执行。我们在“初始化”图标中把变量“next_part”的值设定为“1”,这样就能使教学流程从最初开始处执行。

12、将“群组”图标从图标工具栏中拖到“计算”图标的右侧释放,命名为“demo0”,并附上一计算图标(具体操作是用鼠标点击该图标,先按下“ctrl”键,然后再按下“=”键),在打开的框中输入 “next_part:=next_part+1”(见下图),按下小键盘上的“enter”键 关闭输入框,这样就给程序的下一个流程赋予了新值。           

13、双击“demo0”图标,在弹出的下一级流程线加入一个“交互”图标和两个“条件型响应”图标,具体请看下图,


     
14、双击打开“计算”图标,在其中输入如下内容:
  

15、双击”群组“图标上面的“=”,其“condition”的条件设置如下图所示。

       
“response”的条件设置如下:
        

  如此而已,第一步的框架就做成了,为了简便起见,可利用复制再修改的方法,先选定“demo0”图标进行复制,然后在其右侧粘贴完毕后再逐一改名,这里你可以根据内容灵活安排,这样做不仅方便而且可以节省时间。


         
  当基本骨架做好之后,接下来我们只要在其中填入有关内容充实它就可以了,这里需要交代以下几点:
  【1】:由于authorware在“分支结构下的各个分支项”中已经提供了自动擦除的功能,这里我们需要防止不需要的自动擦除。双击“demo0”图标上方的小菱形,弹出一个对话框,修改“erase contents”为“upon exit”即在退出时擦除,单击“ok”关闭该对话框,余下的“demo2、demo3……类推。这样做的目的在于:取消自动擦除,从而保证程序运行时画面的连续性,消除因自动擦除而带来的跳跃感。
  【2】:注意要将“教学方式”按钮的返回路径设为“return”,以防止在“自动、手动”的切换过程中,不需要的自动擦除。
  【3】:为了体现程序的真实性,比如:我们已经处于最上一步或最后一步了,那么,此时“前翻”与“后翻”按钮的鼠标指向和操作都应该是无效的,这里我们可以这样来设置:单击“前翻”计算图标上的小按钮,弹出“properties response”对话框,在“active if ”中输入“next_part>pathcount@"计算"+1” ;同理,在“后翻”按钮的“active if ”框中输入“next_part>2”,这样通过函数来实现我们的目的。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表