(4)声明和使用变量
使用变量前,最好使用var命令先加以声明。在声明变量的时候,一般要注意以下内容:
u 要声明常规变量,可使用Set Varible动作或赋值运算符(=),这两种方法获得的结果是一样的。
u 要声明本地变量,可以在函数主体内使用var语句。
例如:
var myNumber = 7;
var myString = "Flash MX 2004 ActionScript";
u 要声明全局变量,可以在变量名前面使用_global标识符。
例如:_global. myName = "Global";
u 要测试变量的值,可以使用trace动作将变量的值发送到输出窗口。
例如:
trace(i)
trace(myString)
就可以将变量i的值发送到测试模式的输出窗口中。也可以在测试模式的调试器中检查和设置变量值。
如果要在表达式中使用变量,则必须先声明该变量。如果使用了一个未声明的变量,则变量的值将是mdenned,脚本也将产生错误。
例如:
getURL(myWebSite);
myWebSite="http://bbs.flasher123.com/";
这段程序代码没有在使用变量myWebSite前声明它,结果就会出现问题。所以声明变量mywebSite的语句必须首先出现,只有这样,getURL动作中的变量才能被替换。
在脚本中,变量的值可以多次修改。在以下示例中,变量x被设置为15,在第2行中,该值被复制到变量y中,在第3行中,变量x的值被修改为30,但是变量y的值仍然保持为15,这是因为变量y不是引用了变量x的值,而是接受了在第2行传递的实际值15。
var x=15;
var y=x;
var x=30;
函数(function)是什么呢?函数就是在程序中可以重复使用的代码,你可以将需要处理的值或对象通过参数的形式传递给函数,然后由函数得到结果,从另一个角度说,函数存在目的就是为了简化编程的负担,减小代码量和提高效率。
(1) 系统函数
所谓系统函数,就是Flash内置的函数,用户在编写程序的时候可以直接拿来使用。下面是一些常用的系统函数。
Boolean:转换函数,将参数转换为布尔类型。
GetVersion:函数获取Flash play的版本号。
ParseInt:数学函数,将字符串分析为整数。
Escape:将参数转换为字符串,并以URL编码格式进行编码,在这种格式中,将所有非字母数字的字符都转义为%十六进制序列。
IsFinite:数学函数,测试某数字是否为有限数。
String:将数字转换为字符串类型。
Eval:函数返回由表达式指定和变量的值。
IsNN:数学函数,测试某数字是否为NaN(不是一个数字)。
TargetPath:返回指定电影剪辑的目标路径字符串。
Getproperty:返回指定电影剪辑的属性。
Number:转换函数,将参数转换为数据类型。
Unescape:对URL编码的参数进行解码所得到的字符串。
GetTimer:影片开始播放以来经过的毫秒数。
ParseFlost:数学函数,将字符串分析为浮点数。
Object:转换函数,将参数转换为相应的对象类型。
Array:转换函数根据参数构造数组
(2)自定义函数
除了系统函数,我们在编写程序时还需要自己定义一些函数,用这些函数去完成指定的功能。在Flash中定义函数的一般形式为:
function 函数名称(参数1,参数2,……,参数n){
//函数体。即函数的程序代码
}
假设我们要定义一个计算矩形面积的函数,可以这样:
function areaOfBox(a, b) {//自定义计算矩形面积的函数
return a*b; //在这里返回结果,也就是得到函数的返回值
}
你自定义了函数以后,就可以随时调用并执行它了。调用执行函数的一般形式为:
函数名称(参数1,参数2,……,参数n);
假设程序中我们要调用上面自定义的areaOfBox()函数,可以这样:
area = areaOfBox(3, 6);
trace("area="+area);
函数就像变量一样,被附加给定义它们的电影剪辑的时间轴,必须使用目标路径才能调用它们。此外还可以使用_global标识符声明一个全局函数,全局函数可以在所有时间轴内有效,而且不必使用目标路径,这和变量很相似。