一、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 逻辑值 、计数器