Flash5 ActionScript高级编程指南(2)
发布时间:2008-08-14 阅读数: 次 来源:网乐原科技
废话暂时就先说到这儿,下面我们就来仔细讨论一下新的ActionScript的语法和书写规范。熟悉此项的大虾们也请看一下,说不定有你所不知道的呢!
1、脚本构成
和C++语言一样,Flash脚本也是由对象和函数构成的,只不过FAS里的“对象”实际上是影片片段而已(FAS本身的对象含义不象C++中的对象,倒更象是结构体,因为它没有真正意义上的成员函数,此点我们以后细说)。但它们之间又有本质区别。
首先,C++中的对象是由类实例化得来的,类可以被继承;而FAS中没有类的概念,所有的影片片段都是现成的,最多只能用attachMovie来动态生成一个非现成的影片片段,或用duplicateMovieClip来复制一个已有的影片片段。
其次,C++中成员函数定义在类声明里,可以被重载,且没有先后顺序;而FAS中所有的函数都定义在某个特定的影片片段中,这也就是说,如果定义函数的那个影格未被播放,函数就不存在;另外FAS中的函数不能被重载,只能被覆盖,系统始终只保留最近被执行的脚本中的函数定义。比如:
function myFunction(a) {
trace("1");
}
function myFunction(a,b) {
trace("2");
}
myFunction(1);
输出的是2而不是1。
第三,FAS中的影片片段全都是嵌套的,有着深厚的层次关系,只要写明其路径,就能直接调用任何影片片段的成员函数或变量等;而C++中虽然也有对象的嵌套,但只有外层的对象可以直接调用内层对象的公有成员。
2、基本元素
Flash脚本的基本元素有:变量、数组、对象、影片片段、影片片段)属性和函数。其中数组(一种特殊的对象)、对象(包括一些预定义对象,如Math)和自定义函数是Flash5中新增的内容。另外,老版本中的一些指令,象:
setPropery (target,property,value);
等,我们现在也把它们称为函数。这样一来,其余就只剩下为数不多的一些关键词了,下面一一列出:
code:-------------------------------------------------------------------------------- #include "..." var
new delete
if...else... ifFrameLoaded(...)...
for(...)... for(...in...)...
do...while(...) while(...)...
break continue
tellTarget(...)... with(...)...
function ...(...){...} return
on(...){...} onClipEvent(...){...}
--------------------------------------------------------------------------------
其中写明要{}的必须加上{},其他如if等在子过程只有一条语句时可省略{}。具体应用放到以后细讲。