日期:2013-11-19  浏览次数:20653 次

  一、FLASH中的数据类型

  1、字符串值 例:mytext="f4",mytex就是字符串,字符串就是由字符组成的序列

  2、数值 例 mynum=2 mynum就是数值,可以用数学运算符号对他们进行运算。


  3、逻辑值 例 mypass=false mypass就是逻辑值假,逻辑值只要两个值,一个是 true;一个是false.

  4、对象 对象是属性的集合,每个属性又有本人的名称和值,例如:a.b.c="阿", c的值是字符串“阿”,c是对象b的属性;b是对象a的属性。再例:mc.play() mc 是舞台上的影片剪辑对象,MovieClip包含的方法play可以对舞台上的对象进行控制.

  5、电影剪辑 电影剪辑是FLASH中可以播放动画的符号,它是独一援用图形元素的数据类型。

  6、空值 空值只要一个值null,它是对不存在的值的援用。

  7、未定义的值。未定义的值也只要一个值undefined ,它是用于尚未指定值的变量。

  以上7品种型只是简要的引见,不想说的过多,要想真正理解他们,还要结合变量等知识,进行综合的学习,而无法孤立的学好他们。

二、FLASH中的变量

  变量实际上就是一个信息容器。容器的特征是本身是一样的,但其中装的东西就可以不同,例如:一个酒瓶,可以装酒,也可以装水,还可以装煤油。而用数学中的代数理解:x=2之后,x也可以等于3

  FLASH中有三种变量,局部变量 时间轴变量 全局变量

  要申明一个变量很简单,比如:

var i=1 这样我们就申明了一个局部变量,并且曾经赋值。
i=1 这样我们就申明了一个时间轴变量,并且曾经赋值。
_global.i=1 这样我们就申明了一个全局变量,并且曾经赋值。

  在申明变量的时候,有几个问题值得我们留意:

  1、变量的名字由字母或者字母与数组组成,不可以全部由数字组成,当然更不可以是中文字;变量名不可以用FLASH中的关键字和逻辑值,即:像play stop 这些显示为深蓝色的单词。

  2、局部变量是只在本语句块中无效的变量;时间轴变量是可以通过目标路径进行访问的变量,全局变量是在整个FLASH中都无效的变量。

  3、建议多多采用var 申明局部变量,这样可以无效地控制变量的冲突,并且严厉的规定变量的数据类型,当输入var i:的时候,会自动的列出类型让我们选择。

  三、学会使用trace对数据进行跟踪。如今我们用实例来说明有关的变量数据知识。

例1: 将以下AS写在桢上

on (press) {//鼠标在按钮上按下
trace(myNum)//输出变量,由于没有定义,所以第一次输出是 undefined
if (myNum == undefined) {//第一次点击此条件成立
myNum = 1;//执行此定义变量并且进行赋值的命令
} else {
myNum++;//否则变量本身+=1
}
}

  点评: 第一次点击按钮后,由于myNum是未定义的,所以输出myNum之后执行myNum = 1;第二次点击后,由于曾经申明此变量,故执行myNum++,输出 2;当前输出3、4、5......

  例2:在舞台上创建一个MC,取实例名为mc ,双击此MC,在此MC内莰入一个MC ,取实例名为mc1,选中此mc1,打开动作面板,输入:

onClipEvent(load){
var i:Number=0

然后前往到场景,选中mc,打开动作面板输入:

on(press){
trace(i)
}

点击后输出的是undefined,再重新写

on(press){
trace(this.mc1.i)
}

  点评: 如今输出0了,什么缘由呢? 由于i是定义在mc1中,而当前点击的对象是mc,mc下并没有变量i ,i在mc的mc1中,因此必须通过路径才能进行访问.

例3:

function go(){
var i:Number=0
}
trace(i)
function go(){
i=0
}
trace(i)

  比较输出的结果有什么不同。

  点评:前者输出的是 undefined,由于局部变量只在本语句块无效,后者不是局部变量,因此出了语句块仍然无效。

  练习建议:下载此FLA,只在按钮上输入AS,输入单次播放;输入双次停止。提示:用数据undefined 逻辑值 、计数器

点击这里下载源文件