当前位置导航:炫浪网>>网络学院>>在线图书>>图形图像教程>>Flash入门与实战>>第六章 动作脚本入门

第二节 变量、函数与语法规范(1)

现在开始学习ActionScript编程的基础知识,学习ActionScript程序的一些基本结构。通过这一节的学习,我们要从开始就养成正确阅读和书写ActionScript程序的习惯。

首先,我们一起来看一段定义在一个按钮上的小程序:

on (release) {

    var myNumber = 7;

    var myString = "Flash MX 2004 ActionScript";

    for (var i = 0; i<myNumber; i++) {

        trace(i);

        if (i+3 == 8) {

            trace(myString);

        }

    }

}

我们发现ActionScript程序其实就是由一些命令、数字和一些符号组成,是不是不难呢?当你测试包含以上小程序的影片时,单击按钮,就可以看到这段小程序的输出效果,如图6-2-1所示。

图6-2-1 程序运行情况

有了初步的认识,下面我们来学一些基本的概念。


1.常量

常量就是一种属性,是指在程序运行中不会改变的量。例如上面程序代码中的数值3、7、8和字符串“Flash MX 2004 ActionScript”都是常量。逻辑常量True和False在编程的时候也会经常用到。


2.变量

顾名思义,变量就是程序运行中可以改变的量。例如上面例子中的i,就是变量,它从0一直变到6。可以看出,我们在编写程序时往往需要存储很多的信息,就需要变量来存储这些信息。

Variables(变量):存储了任意数据类型值的标识符。

变量实际上就是一个信息容器。容器本身总是相同的,但是容器中的内容却可以修改。通过在电影播放时修改变量中的值,然后判断某些条件的真假等。例如,如果需要重复执行10次相同的命令,你就可以对命令的执行次数进行记数,判断次数是否满10,满10次就终止。

变量可以存放任何数据类型,包括数字值(如:myNumber)、字符串值(如:myString)、逻辑值、对象或电影剪辑等。

存储在变量中的信息类型也很丰富,包括:URL、地址、用户名、数学运算结果、事件发生的次数或按钮是否被单击等。

变量可以创建、修改和更新。变量中存储的值可以被脚本检索使用。在以下示例中,等号左边的是变量标识符,右边的则是赋予变量的值。

x=5;

name=“Lolo”;

customer.address=“66 7th Street”;

c=new Color(mcinstanceName);

变量由两部分构成:变量名和变量的值。

下面我们来看看变量如何使用:

(1)变量命名与规则

变量名必须符合以下原则:

u       变量的名称必须以英文字母开头。

u       变量的名称中间不能有空格,像box sum这个就是一个错误的示范。如果想用两个单词以上的单字来命名变量,可以在名称中间加上下划线符号,如:box_sum。

u       变量的名称中不能使用除了“_”(下划线)以外的符号。

u       不能使用与命令(关键字)相同的名称,例如,“var”、“new”等,以免程序出现错误。

u       变量的名称最好能达到“见名知意”的效果,尽量使用有意义的名称,而避免使用诸如a_1、x、z001之类意义不明的名称。

(2)变量的类型

变量的类型包括存储数值、字符串或其他数据类型。

在Flash中,可以不直接定义变量的数据类型。当变量被赋值时,Flash自动确定变量的数据类型。例如:

x=3;

在表达式x=3中,Flash将取得运算符右边的值,确定它是数值类型。此后的赋值语句又可能改变x的类型。例如,x=“hello”语句可以将x的数据类型改为字符串值。没有赋值的变量,其数据类型为undefined。

ActionScript会在表达式需要时自动转换数据类型。例如,当我们将一个值传递给Trace动作时,Trace会自动将其值改变为字符串并发送到【输出】面板。在包含运算符的表达式中,ActionScript会在需要时转换数据类型。例如,在和字符串连用时,加号(+)运算符会将其他运算项也转换成字符串。

Next in line,“number”+7

ActionScript将数字7转换为字符串“7”,然后添加到第一个字符串的末尾,得到的结果是以下字符串:

“Next in line,number7”

在调试脚本时,确定表达式或变量的数据类型是常用的手段。使用Typeof运算符就可以做到这一点。例如:

Trace(Typcof(VariableNema));

使用Number函数,可以把字符串转换为数字值。

使用String函数,可以把数字值转换为字符串值。

(3)变量的作用域

所谓变量的作用域,是指能够识别和引用该变量的区域。也就是变量在什么范围内是可以访问的。在ActionScript中有3种类型的变量区域:

本地(局部)变量:在自身代码块中有效的变量(在大括号内)。就是在声明它的语句块内(例如一个函数体)是可访问的变量,通常是为避免冲突和节省内存占用而使用。

时间轴变量:可以在使用目标路径指定的任何时间轴内有效。时间线范围变量声明后,在声明它的整个层级(Level)的时间线内它是可访问的。

全局变量:即使没有使用目标路径指定,也可以在任何时间轴内有效。就是在整个 Movie 中都可以访问的变量

注意它们的区别:全局变量可以在整个Movie中共享;局部变量只在它所在的代码块(大括号之间)中有效。

 

相关内容
赞助商链接