原书作者:Colin Moock 翻译:alvinlee ( http://alvinlee.has.it )
在一个典型的使用脚本编辑的电影中,我们必须跟踪并操作每一件事情 —— 从帧的数字编号到用户的密码甚至是Flash游戏中的太空船发射出的光子鱼雷的速率。为了管理并操作所有这些信息,我们需要将它们存储在变量中,变量是ActionScript的主要信息存储容器。 一个变量就如同一个银行帐号,不同的是银行账号持有存款,而变量持有信息(数据)。创建一个新变量就如同设立一个新账号:我们建立一个场所(尽管它是虚拟的)用于存储未来需要的某些东西(钱和变量)。并且就象每个银行账号都有它的账号号码一样,每个变量也都有一个变量名。可以通过账号号码来处理(取出和存入)账号中的存款;同样地,可以通过变量名来访问变量中的数据。
一旦某个变量被创建,我们可以随时将新的数据放入其中 —— 如同向账号中存钱。或者我们可以通过使用变量名来发现该变量中存储的数据是什么 —— 如同查询账号的收支平衡表。如果我们不再需要该变量,可以象注销账号那样删除该变量。
需要注意的关键点是:变量让我们可以使用数据,这些数据在电影播放过程中既可以改变也可以用于计算。尽管银行账号的余额发生变化但是账号号码保持不变,同样地,尽管变量中包含的数据可以改变但是变量名是固定不变的;通过使用固定的变量名来访问变量中所包含的可变化的内容,我们可以完成复杂的数学计算、跟踪扑克游戏中的每个单牌、保存访客名册的输入、或者根据条件的改变派遣播放头到不同的位置,以及其他各种各样的任务。
你的眼睛兴奋地闪亮吗?很好,不过,我想那些关于银行账号的比喻可能让你迷惑,让我们通过观察如何创建变量来开始对其的探索。
2. 创建变量
创建一个变量在术语中称为声明。如果还使用银行账号的比喻,那么声明等同于“开设一个账号”,在这一步中我们正式地使变量事实存在。 当一个变量被首次声明时,它是空的 —— 好像一张白纸等着你在上面写点什么,在这种状态下,该变量包含一个特殊的值,称为:undefined(未定义或无数据)。 为声明一个新变量,我们使用var语句。例如: var speed; var bookTitle; var x;
单词var告诉解释器我们正在声明一个变量,而随后的文本,如speed,bookTitle,或者x,都成为我们的新变量名。我们可以在任何能够附着代码的地方创建变量:一个关键帧、一个按钮、或一个电影剪辑。
我们也能够使用一个var语句来声明多个变量,象这样: var x, y, z;
不过,这样做削弱了我们为相邻的每个变量加注释的能力。
一旦某个变量被创建,我们可以为其赋值。但是,在我们学习如何为变量赋值之前,让我们考虑一些变量声明中的敏感细节。
1.变量自动生成 许多编程语言都要求在将数据存入变量之前必须首先声明变量;忽略声明会导致错误发生。ActionScript并不是那么严格,如果我们向一个并不存在的变量(未声明的变量)赋值,解释器会为我们创建一个新变量。银行,继续那个比喻,会自动地开设一个账号 —— 当你还没有账号但是试图做第一次存款时。
当然,这种便利需要代价。如果我们不主动声明变量,在检查代码的时候就不会有详细的程序清单作为参考;此外,用var语句显式地声明变量和由解释器隐式地声明变量(即允许自动生成变量)对比,有时会产生不同的结果。先声明然后使用(即显式声明)是最安全的方式,贯穿本书,我们将全部使用显式声明变量的方式。
2.合法变量名 在开始创建变量之前,首先要明了变量名: √ 变量名必须由且仅由字母、数字,和下划线组成。任何空格、破折号、或其他的标点符号都是不被允许的。 √ 变量名必须由且仅由字母或下划线开头。 √ 变量名必须不能超过255个字符。好吧,好吧,这是一句谎话,不过,如果你的变量名真的超过了255个字符,请重新评估一下你的变量命名策略吧。 √ ActionScript的变量名是大小写不敏感的。大写字母和小写字母被认为是完全一样的,尽管如此,你仍应该保持变量名使用的一致性。
这是一些合法的变量名: var first_name; var counter; var reallyLongVariableName; var i;
而这些是不合法的变量名,它们将导致错误的发生: var 1first_name; // starts with a number
上一篇:Flash MX UI 组件的初级应用
下一篇:使用Random函数创建随机数
复制本页网址和标题,发送给你QQ/Msn的好友一起分享