Authorware基础教程:authorware7.0设计程序代码教学文章---AWS编制程序基本

作者:网络 来源:佚名 更新时间:2008-03-24 点击:

3.1.1  变量

变量是其值可以改变的量,可以利用变量存储各种数据,比如表达式的计算结果、用户输入的字符串,以及对象的状态等,也可以利用变量获取某些系统信息,比如系统当前的时间、日期等。同变量相对的概念是常量,用于表示固定不变的量,比如on和true都表示逻辑“真”,off和false都表示逻辑“假”,其他常量还有圆周率π和欧拉常量e等。

在aws中所有的变量都是全局变量,即在整个程序范围内都起作用,没有作用域的限制。

3.1.1.1  变量的类型

根据变量存储的数据类型,可以将变量分为7大类。

1.数值型变量

数值型变量用于存储具体的数值。数值型变量能够存储的实数范围是−1.7×10308~ +1.7×10308,整数范围是−2 147 483 648~ 2 147 483 647。

2.字符型变量

字符型变量用于存储字符串。由双引号括起来的一连串字符称做字符串,构成字符串的字符可以是数字、字母、符号,比如"authorware 7"、"5*4/3"、"2003-9-26"都是字符串,在aws中,一个字符型变量最多可以容纳524 288(512k)个字符。

3.逻辑型变量

逻辑型变量用于存储true(真)或false(假)两种值,它们的值只能在这两种状态之间转换。同时aws将字符串"true"、"on"、"yes"、"t"(大小写都可)和非0的数值都视为“真”,其他任意字符串或数值都视为“假”。

4.符号型变量

符号型变量由符号“#”带上一连串字符构成,例如#awactiveif就是一个符号型变量。在aws中符号型变量主要作为对象的属性使用。

5.列表型变量

列表型变量用于存储一组常量或变量,这些常量或变量称为元素。在aws中,一共有两种类型的列表:

(1)线性列表。在线性列表中每个元素是一个单独的值,例如[1, 2, 3, "a", "b", "c"]就是一个线性列表。

(2)属性列表。在属性列表中每个元素由一个属性及其对应的值构成,属性和值之间由冒号分隔,例如[#type:#text, #rect:rect(142, 76, 272, 92), #text:"hello, welcome."]就是用于描述一个文本对象的属性列表。

6.坐标变量

坐标变量是一种特殊的列表型变量,用于描述一个点在【演示】窗口中的坐标,其形式为point(x,y),其中x和y分别代表一个点距离【演示】窗口左边界和上边界的像素数目。

7.矩形变量

矩形变量也是一种特殊的列表型变量,用于定义一个矩形区域,其形式为rect(x1, y1, x2, y2)或rect( point(x1, y1), point( x2, y2)),其中(x1,y1)指定矩形的左上角坐标,(x2,y2)指定矩形右下角的坐标。

从编程的角度来看,aws是一种“弱类型”语言,对变量类型的要求不是十分严格,往往会根据运算符来自动转换变量的类型:例如将字符串与数值型变量进行数学运算时,自动将单纯由数字和小数点组成的字符串当做数值型变量,将其他类型的字符当做数值0来处理,比如表达式"authorware 6.5"+0.5的结果是7。将逻辑型变量同数值型变量或字符串变量进行运算时,true将作为1处理,false将作为0处理,比如表达式true+9的结果是10,而表达式false^9的结果是字符串"09",在编程时要对此多加注意。

3.1.1.2  系统变量和自定义变量

从来源情况看,aws中的变量分为两种:系统变量和自定义变量。

系统变量是aws中预先定义过的一些变量,它们用于跟踪系统中的信息,比如当前系统中的时间、capslock键是否被按下、用户当前的得分情况等。系统变量根据用途被分为11类:

1.cmi

计算机教学管理变量,主要用于跟踪学生在cmi系统中的学习状态。

2.decision

决策判断变量,用于配合authorware决策判断分支结构工作。

3.file

文件管理变量,反映当前文件系统和文件操作的状态。

4.framework

框架管理变量,用于配合authorware框架结构工作。

5.general

常规变量,用于反映系统的状态,比如鼠标指针的当前坐标、事件队列的内容等。

6.graphics

绘图变量,用于配合绘图函数工作。

7.icons

设计图标管理变量,用于反映设计图标的状态,比如设计图标的id号。

8.interaction

交互管理变量,用于配合authorware交互作用分支结构工作。

9.network

网络管理变量,用于反映程序运行期间的相关网络状态。

10.time

时间管理变量,用于监视系统的时间和日期,以及程序运行的时间。

11.video

视频管理变量,用于反映当前dvd电影的一些信息。

部分系统变量可以被赋值,比如可以通过设置movable为true或false,来控制当前设计图标中的显示对象是否可以被用户拖动,通过设置[email protected]"buttonicontitle"为true或false,来改变一个按钮的选中状态。另一部分系统变量的值由authorware进行维护,设计人员只能从其中取得信息,而不能对其进行赋值,比如可以通过系统变量cursorx、cursory取得当前鼠标指针的位置坐标,但是不能通过赋值语句为鼠标指针指定一个坐标。

许多系统变量可以结合引用运算符“@”(读为"at")和设计图标的名称来使用,以取得或设置特定设计图标的信息,例如[email protected]"icontitle"返回指定设计图标(名称为icontitle)的id号码,[email protected]"icontitle"返回指定设计图标中的显示对象是否可以被用户拖动,这时变量被称为图标变量。

本套丛书中的《authorware 7.0变量与函数参考手册》对authorware 7.0提供的所有系统变量进行了详细说明。

自定义变量是由设计人员自己定义的变量,通常用于保存计算结果或者用于保存系统变量无法存储的信息。自定义变量的名称必须是惟一的,不能与系统变量或其他自定义变量重名,而且只能以字母或下划线"_"开头,长度限制在40个字符以内。设计人员同样可以定义自己的图标变量。