变量、函数和表达式的使用(三)实例_课件制作
layer@"背景"+1
(4) 单击【ok】命令按钮结束设置。
使用这种设置,当程序运行时,数字化电影所播放的每一帧都在“背景”【显示】设计按钮中所显示对象的前面。

实例六:icons类,displayx和displayy变量:
这两个变量存储的是特定设计按钮内显示对象的中心与展示窗口边框的距离。displayx变量存储的是显示对象中心与展示窗口左边框的距离,以像素点为单位;displayy变量存储的是显示对象中心与展示窗口上边框的距离,以像素点为单位。
程序的逻辑结构如图6-23所示。在该实例中,我们在“circle”【显示】设计按钮中绘制一个填充为蓝色的圆,设置该圆可以在一定区域中移动(使用【in aera】选项),然后设置一个【等待】设计按钮,给用户一个能移动圆的时间,在“圆在展示窗口的位置坐标”【显示】设计按钮中输入正文对象,在正文对象中插入引用变量。如图6-24所示。
图6-24在正文对象中插入引用变量
程序的运行结果是:当用户移动圆到不同的位置时,在展示窗口的左上角将出现对象最终显示位置的坐标。程序的运行结果如图6-25所示。
图6-25程序的运行结果
实例七:interaction类,entrytext变量:
entrytext变量存储的是最后在文本输入对话框中用户输入的文本。读者在创建一个文本输入对话框时,为了获得用户在文本输入对话框中输入的内容,需要使用该变量。
该实例是让用户从一个交互作用的文本输入响应类型上输入姓名和学号,然后程序读取用户的学号和姓名,再将姓名和学号显示在展示窗口中。程序的逻辑结构如图6-26所示。
使用【交互作用】分支结构的正文输入响应让用户输入相应的内容。
【运算】设计按钮中使用entrytext变量将用户输入的内容赋给相应的变量。如:username等。【运算】设计按钮对话框中输入的内容如图6-27所示。
在该对话框中我们输入username:=entrytext
同样,在下一个【运算】设计按钮中输入如下内容:
userid:=entrytext
然后在“回显”【显示】设计按钮中显示用户输入的内容。
图6-27 【运算】设计按钮中的输入内容
实例八:time类,fulldate变量:
该变量存储的是计算机系统当前的日期,其格式"1998年9月29日"。要在应用程序的演示过程中显示计算机系统当前的日期,则可以在正文输入对象中插入变量{fulldate}。
实例九:video类,videodone变量:
videodone变量是一个逻辑型的变量,该变量有两种值,一种是true,另一种是false。在当前的视频信息播放结束时,该值为true。为了在程序执行到另一个设计按钮之前完成某个视频信息的播放,可以设置一个判定分支结构,并在图6-28所示的对话框中的【until true】正文输入框中输入videodone。例如,要使某个视频信息播放完毕后,立刻播放另一段视频,则可以在图示的对话框中进行设置。
图6-28 videodone使用实例
除了上面读者所学习的九大类中的九个变量的实例外,在下面请读者熟悉笔者在工作中经常使用的几个变量。
(1) choicenumber:authorware中的系统变量choicenumber存储的是当前交互循环中用户匹配的最后响应的编号,响应路径从【交互作用】设计按钮的左边至右边依次编号,编号从1号开始。
我们可以使用该变量来判定是否要显示特定的反馈。例如,如果用户匹配的响应是交互作用中的前三个响应中的任意一个,那么程序将快放这三个反馈分支中的内容。否则,以正常速度播放,如图6-29所示,条件响应的类型可以设置为表达式:choicenumber<4。
图6-29choicenumber在条件响应中的使用
注意:
在程序中,我们要随时跟踪choicenumber的使用位置,如果在交互分支结构中,增加或减少了路径的个数,则需要对表达式进行修改
(2) hottextclicked:当用户用单击或双击作为触发条件来敲击文本的触发器时,hottextclicked存储用户单击或双击触发的敲击文本。
使用该变量可以为读者作品中的目录创建超级链接。当用户单击热文本时,可以使用【导航】设计按钮在框架结构中查找每一页上的关键词是否为hottextclicked所存储的值,如果找到该值,则程序模块就跳转到该页中去执行相应的内容。
(3) iconid: iconid变量存储的是特定设计按钮的唯一的数字标识符。当【导航】设计按钮与一个【运算】设计按钮一起使用时,该变量具有决定性的意义。
该变量还可以连接其它的变量和函数。例如读者可以使用【擦除】设计按钮来擦除基于该变量值的一个设计按钮中的对象。使用方法如图6-30所示。
图6-30 使用iconid命令返回设计按钮的id标识
(4) lastlineclicked:lastlineclicked存储的是用户单击一个文本对象的某一行的行号。行是用回车符定义的。
读者可以利用该变量的特性,来创建一个书签系统。当用户单击一个书签名列表中的某一行文本时,authorware利用该变量来识别单击的是哪一行。然后,我们可以通过所在行数来得到其它相关的,从而,执行与该行有关的双击按钮。
(5) timeoutlimit:在程序跳转到由系统函数timeoutgoto指定的设计按钮之前,timeoutlimit以秒为单位来标志模块等待用户某种类型活动的时间量。
在演示会和展览会上,我们可以用该变量来控制系统空闲多长时间。一旦控制时间到,程序将跳至指定的双击按钮来执行该设计按钮中的内容。如图6-31所示。
图6-31 timeoutlimit控制系统空闲时间