关于数据类型
数据类型说明一个变量或ActionScript元素可以存储的信息种类。在Flash 5的ActionScript中有两种数据类型:原始数据类型(Primitive )和引用数据类型(Reference)。原始数据类型(如字符串、数值、逻辑值)有一个常数值。因此,可以存储它们所代表的元素的实际值。引用数据类型(如电影剪辑和对象)拥有可以改变的值。因此,包含了对该元素的实际值的引用。存储原始数据类型数据的变量的行为在某些情况下与存储引用数据类型数据的变量不同。每一种数据类型都有自己的规则,下面将作简要介绍。
一、字符串
字符串是一个字符(字母、数字和标点符号)序列。在ActionScript语句中输入字符串,使用单引号或双引号括住。字符串作为字符来处理而不是作为变量来处理。例如,在下面的语句中,“L7”是一个字符串:
favoriteBand = "L7";
你可以用加号(+)操作符连接两个字符串。ActionScript把字符串前后的空格作为字符串的一部分来处理。
greeting = "Welcome," + firstName;
尽管ActionScript对变量、实例名和帧标签的引用不区分大小写,但字符串是区分大小写的。例如,下面的两个语句把不同的文本放入指定的文本域变量中,因为"Hello" 和 "HELLO" 是字符串。
invoice.display = "Hello";invoice.display = "HELLO";
要在字符串中包含引号,可在它前面加上反斜杠(\),这称为字符转义。在ActionScript中,还有一些其它的字符需要使用特殊转义序列来表示:
|
Escape sequence 转义序列 |
Character 字符 |
|---|---|
|
\b |
退格符(ASCII 8) |
|
\f |
换页符(ASCII 12) |
|
\n |
换行符(ASCII 10) |
|
\r |
回车符(ASCII 13) |
|
\t |
|
|
\" |
双引号 |
|
\’ |
单引号 |
|
\\ |
反斜杠 |
|
\000 - \377 |
八进制字节 |
|
\x00 - \xFF |
十六进制字节 |
|
\u0000 - \uFFFF |
十六进制双字节编码字符 |
二、数值
数值数据类型是一个双精度浮点数。可用数学运算符加(+)、减(-)、乘(*)、除(、)、取模(%)、递增(++)、递减(--)处理数值。也可以使用预定义的Math(数学)对象的方法来处理数值。下面的例子使用sqrt(平方根)方法来返回数值100的平方根:
Math.sqrt(100);
三、逻辑值
逻辑值是true(真)或false(假)。需要时,ActionScript 也把true和false转换为1和0。逻辑值与逻辑操作符一起,常常被用在控制脚本流动的比较语句中。例如,在下面的脚本中,如果password的值为true,动画播放:
onClipEvent(enterFrame) {
if ((userName == true) && (password == true)){
play();
}
}
四、对象
对象是属性的集合。每个属性都有名字和值。属性值可以是任何Flash数据类型,甚至可以是对象数据类型。这样就可以把一个对象嵌套在另一个对象之中。要指定对象和它们的属性,可以使用点操作符。例如,在下面的代码中,hoursWorked是weeklyStats的属性,而weeklyStats又是employee的属性:
employee.weeklyStats.hoursWorked
可以使用ActionScript的预定义对象访问和处理特定种类的信息。例如,Math(数学)对象拥有一些方法,可以对传递给它的数值执行数学运算。下例使用了数学对象的sqrt方法:
squareRoot = Math.sqrt(100);
ActionScript的MovieClip(电影剪辑)对象拥有一些方法,使用这些方法可以控制编辑区中电影剪辑实例。下例使用了电影剪辑对象的play和nextFrame方法:
mcInstanceName.play();
mc2InstanceName.nextFrame();
ActionScript允许用户创建自己的对象。这样用户就可以在自己创建的动画中组织信息。当用ActionScript给动画添加交互性时,你可能需要很多不同的信息。例如,你可能需要用户名、一个球的速度、购物车中物品的名称、载入的帧数、用户的邮区代码和最后的按键等等。创建一个自定义对象,你就可以把这些信息分为组,简化你的脚本,重用你的脚本。
五、电影剪辑
电影剪辑是一种图符,这种图符可以在Flas动画中播放一个动画片段。它是与图像元素有关的唯一一种数据类型。有了电影剪辑数据类型,就可以使用电影剪辑对象的方法控制电影剪辑图符。使用点操作符可以调用电影剪辑的方法,如下所示:
myClip.startDrag(true);< parentClip.childClip.getURL( "http://www.macromedia.com/support/" + product);
