用户名 密    码

Flash动画教程:ActionScript编辑器(2)

来源:互联网 作者:未知 发布时间:2010-11-10 14:29:18 网友评论 0

1. 变量的作用区域

 

变量的作用区域是指能够识别和引用该变量的区域。ActionScript中有局部变量和全局变量之分,全局变量在整个动画的脚本中都有效,而局部变量只在它自己的作用区域内有效。声明局部变量需要用到var语句。例如,在下面的例子中,i是一个局部的循环变量,它只在函数init中有效:

  function init(){

   var i;

   for(i=0; i<10; i++){

     randomArray[i] = random(100);

   }

  }

局部变量可以防止名字冲突,而名字冲突可能会导致致命的程序错误。例如,如果使用name作为局部变量,就可以在一个脚本中用它来存储用户名,而在另一个脚本中存储电影剪辑实例名,它们之间不会发生冲突,因为这些变量存在于相对独立的范围内。

在函数体内最好使用局部变量。这样,这个函数就可以作为一段独立的代码。局部变量仅在它的代码块中是可变的。如果函数内的一个表达式使用了一个全局变量,在该函数以外的某些操作可能会改变它的值,因而也就可能改变了该函数。

此外,函数的参数也将作为该函数的一个局部变量来使用,例如:

  x=3;

  function test (x)

  {

   x=1;

   a=x;

  }

test(x)

程序执行之后的结果是a=1,x=3。从这个例子可以看出test函数中的x参数的确是作为函数内部的局部变量来处理了。

2. 声明变量

 

在ActionScript中变量不需要声明,但是,声明变量是良好的编程风格,这便于掌握一个变量的生命周期,明确知道某一个变量的意义,有利于程序的调试。通常,在动画的第1帧就已经声明了大部分的全局变量并为它们赋予了初始值。每一个影片剪辑对象都拥有自己的一套变量,而且不同影片剪辑对象中的变量相互独立且互不影响。

在程序中,给一个变量直接赋值或者使用setVariables语句赋值就相当于声明了全局变量;局部变量的声明需要用var语句。在一个函数体内用var语句声明变量,该变量就成了这个函数的局部变量,它将在函数执行结束的时候被释放;在主时间轴上使用var语句声明的变量也是全局的,它们在整个动画结束的时候才会被释放。

在声明了一个全局变量之后,紧接着再次使用var语句声明该变量,那么,这条var语句无效,例如:

  aVariable = 10;

  var aVariable;

  aVariable += 1;

在上面的脚本中,变量aVariable被重复声明了两次,其中var语句的声明被视为无效,脚本执行后,变量aVariable的值将为11。

在进行变量声明时,为了能够更快的理解它所代表的意义。在声明时,在变量名称前额外加上识别字母,例如,数值变量可以命名为iMoney、iDay等;字符串变量可以为sName、sHwf、sLabel等;其中i表示integer,s表示string。其他的数组、对象也是相似的命名方式进行命名。

ActionScript把相同字母组成,而大小写不同的变量名称视为相同的变量。例如,hwf、Hwf、HWF是相同的变量。另外,自定义的变量名称不要和关键字相同。

注释:

要测试变量的值,可以使用trace动作把变量的值传送到输出窗口。

搜索栏目