打印

[Flash教程] flash mx2004入门与进阶实例——动作脚本(4)

flash mx2004入门与进阶实例——动作脚本(4)



第六章 动作脚本入门
第二节 变量、函数与语法规范(2)

(4)声明和使用变量
使用变量前,最好使用var命令先加以声明。在声明变量的时候,一般要注意以下内容:
u 要声明常规变量,可使用set varible动作或赋值运算符(=),这两种方法获得的结果是一样的。
u 要声明本地变量,可以在函数主体内使用var语句。
例如:
var mynumber = 7;
var mystring = " mx 2004 actionscript";
u 要声明全局变量,可以在变量名前面使用_global标识符。


1 2 3 4 5 6


例如:_global. myname = "global";
u 要测试变量的值,可以使用trace动作将变量的值发送到输出窗口。
例如:
trace(i)
trace(mystring)
就可以将变量i的值发送到测试模式的输出窗口中。也可以在测试模式的调试器中检查和设置变量值。
如果要在表达式中使用变量,则必须先声明该变量。如果使用了一个未声明的变量,则变量的值将是mdenned,脚本也将产生错误。
例如:
geturl(mywebsite);
mywebsite="http://bbs.flasher123.com/";
这段程序代码没有在使用变量mywebsite前声明它,结果就会出现问题。所以声明变量mywebsite的语句必须首先出现,只有这样,geturl动作中的变量才能被替换。


1 2 3 4 5 6


在脚本中,变量的值可以多次修改。在以下示例中,变量x被设置为15,在第2行中,该值被复制到变量y中,在第3行中,变量x的值被修改为30,但是变量y的值仍然保持为15,这是因为变量y不是引用了变量x的值,而是接受了在第2行传递的实际值15。
var x=15;
var y=x;
var x=30;
3.函数
函数(function)是什么呢?函数就是在程序中可以重复使用的代码,你可以将需要处理的值或对象通过参数的形式传递给函数,然后由函数得到结果,从另一个角度说,函数存在目的就是为了简化编程的负担,减小代码量和提高效率。
(1) 系统函数


1 2 3 4 5 6


所谓系统函数,就是flash内置的函数,用户在编写程序的时候可以直接拿来使用。下面是一些常用的系统函数。
boolean:转换函数,将参数转换为布尔类型。
getversion:函数获取flash play的版本号。
parseint:数学函数,将字符串分析为整数。
escape:将参数转换为字符串,并以url编码格式进行编码,在这种格式中,将所有非字母数字的字符都转义为%十六进制序列。
isfinite:数学函数,测试某数字是否为有限数。
string:将数字转换为字符串类型。
eval:函数返回由表达式指定和变量的值。
isnn:数学函数,测试某数字是否为nan(不是一个数字)。
targetpath:返回指定电影剪辑的目标路径字符串。
getproperty:返回指定电影剪辑的属性。
number:转换函数,将参数转换为数据类型。


1 2 3 4 5 6


unescape:对url编码的参数进行解码所得到的字符串。
gettimer:影片开始播放以来经过的毫秒数。
parseflost:数学函数,将字符串分析为浮点数。
object:转换函数,将参数转换为相应的对象类型。
array:转换函数根据参数构造数组
(2)自定义函数
除了系统函数,我们在编写程序时还需要自己定义一些函数,用这些函数去完成指定的功能。在flash中定义函数的一般形式为:
function 函数名称(参数1,参数2,……,参数n){
//函数体。即函数的程序代码
}


1 2 3 4 5 6


假设我们要定义一个计算矩形面积的函数,可以这样:
function areaofbox(a, b) {//自定义计算矩形面积的函数

return a*b; //在这里返回结果,也就是得到函数的返回值
}
你自定义了函数以后,就可以随时调用并执行它了。调用执行函数的一般形式为:
函数名称(参数1,参数2,……,参数n);
假设程序中我们要调用上面自定义的areaofbox()函数,可以这样:
area = areaofbox(3, 6);
trace("area="+area);
函数就像变量一样,被附加给定义它们的电影剪辑的时间轴,必须使用目标路径才能调用它们。此外还可以使用_global标识符声明一个全局函数,全局函数可以在所有时间轴内有效,而且不必使用目标路径,这和变量很相似。


1 2 3 4 5 6


TOP

返回顶部
AYBlue

Processed in 0.052682 second(s), 7 queries.

当前时区 GMT+8, 现在时间是 2009-1-9 03:44 京ICP备06054220号

清除 Cookies - 联系我们 - 163K.com - Archiver - WAP