好文档 - 专业文书写作范文服务资料分享网站

Flash ActionScript2.0教程 

天下 分享 时间: 加入收藏 我要投稿 点赞

for?in循环:这是遍历或者叫循环访问一个组对象中的成员.比如影片剪辑的子级、对象的属

性、数组等.由于数组等在前面还没有介绍,因此我们将for?in循环放到下一课介绍数组时再祥细介绍

while循环:有点类似if语句,只要条件成立就执行相应语句. 格式:

while(条件表达式){ 要执行的语句 计数语句 }

当条件表达式为真时,执行大括号中的语句,执行计数语句,然后用计数语句的结果再次检测条件表达式,如此反复循环.直到条件表达式为假为止.这里需要注意的是,如果没有计数语句,或者计数语句的结果永远不能使条件表达式为假,那么循环将水远无休止地反复,这就形成了一个死循环,我们在编程的过程中一定要避免这种情况.

例1:下面的代码是一个死循环,请不要测试. var a=0;

while(a<10){ trace(a); }

看看这段代码,程序执行时a等于0,然后进入循环,条件表达式a〈10成立,执行trace(a),输出0,然后再检查条件表达式,因为没有计数语句,a没发生变化,条件表达式仍成立,于是又输出一个0,然后又反复,一直不停地输出0,无休无止,直到天荒地老.

例2:下面的代码是一个死循环,请不要测试. var a=0;

while(a<10){ trace(a); a--; }

这一例加上了计数语句a--,但a的初始值为0,每一个循环它减1,这样条件表达式a<10也是永远为真,因此循环也是永不停息,直到地老天荒.

例3: var a=0;

while(a<10){ trace(a); a++; }

这一例将计数语句改为a++,这样每一循环,a加1,当10个循环后,a为10,条件表达式a<10为假,循环停止.测试本例我们会在输出面板中看到:

0 1 2 ? 9

do?while循环:这个循环实际和while循环是一样的,只是它先执行一次语句,然后再检测条件语句,而while循环是先检测条件语句再执行大括号内的语句.

do?while循环的格式为: do{

要执行的语句 计数语句

}while(条件表达式);

第五课 数组

在前面介绍变量时,我们说将内存分成无数个房间,用来存放数据.每个房间中只能住一个数据,比如房间中原来住着5,后来8又住进这个房间,于是一脚将5踢了出去.现在可能有这种情况,就是8住进来后,不把5踢出去,两个合租.事实上这也是允许的,这种情况就被称为数组.在房间中的各个成员被称为元素, 这一些元素的数据类型不一定是相同的.也就是说在现在开放的年代,男女合租是允许的.比如在房间中又住进去a,它是字符与前面的5、8数字的数据类型就不相同.房间中每个元素都有一个编号,我们在引用这些元素时,只需用编号就行.就如在监狱中的囚犯一样,你叫道:3365出来.于是号数为3365的囚犯出来了.咋一不小心就将数组中的元素整进监狱了呢?需要注意的是,数组中的元素编号是从0开始的.比如上面我们建的数组,5是0号、8是1号、a是2号.

创建数组:可以用下列格式创建数组 格式一: var

数组名:Array=new Array(元素1,元素2,??) 格式二: var

数组名:Array=new Array(); 数组名[0]=值; 数组名[1]=值; ?

例:我们上面建的数组,这样写

var myarray:Array=new Array(5,8,a); 或:

var myarray:Array=new Array(); myarray[0]=5; myarray[1]=8; myarray[2]=\

数组元素的引用 创建数组后,就可以引用其元素了,格式为: 数组名称[元素编号];

比如要引用上述数组第一个元素的值就可以这样写: myarray[0]

可以测试一下下面这段代码:

var myarray:Array=new Array(5,8,a); var b=myarray[0]; trace(b); 输出应该是5.

数组是对象,即是对象,那么就有它自已的属性和方法,下面我们就来认识一下: 数组的属性:只介绍一个属性, length:这是指组数的元素的数量.如上面的数组,myarray一共有三个元素5,8,a,那么这个数组的length属性为3

例1: var myarray:Array=new Array(5,8,a); b = myarray.length; trace(b); 输出结果为3.

For....in循环:在上一课介绍循环语句时,说过for....in循环留到这一课来介绍.这个循环是遍历一个集合的所有对象的循环,比如遍历数组元素.就是说一个一个地方问每一个元素.数组中有几个元素它就循环几次

例2: var myarray:Array=new Array(5,8,\for (var i in myarray){ b = myarray; trace(b); }

输出结果为:a

8 5

例3:用for循环和length属性也可以实现遍历数组: var myarray:Array=new Array(5,8,\for(var i=0;i

输出结果为:5,8,a

可以看出,这两个循环都是将数组中的循环方问了一遍,只是结果的顺序不同.例2中应用了数组的length属性,这个属性最常用的就是用在for循环中,在以后的课程中会经常用到.

数组的方法: concat( ):

将参数中指定的元素与数组中的元素连接,并创建新的数组。如果 value 参数指定的是数组,则连接该数组的元素而不是数组本身。

例4: var myarray:Array=new Array(5,8,\myarray1 = myarray.concat(\for(var i in myarray1){ c = myarray1; trace(c); }

输出为:b a 8 5

用myarray1 = myarray.concat(\将b连接到myarray数组中并创建新数组myarray1. 例5: var myarray:Array=new Array(5,8,\myarray1 = myarray.concat(\

myarray2 = myarray.concat(myarray1); for(var i in myarray2){ c = myarray1; trace(c); }

这时myarray2应该是:myarray2[5,8,a,5,8,a,b],这是用concat()方法将两个数组连接起来了.

join( ): 将数组中的元素转换为字符串、在元素间插入括号中指定的分隔符、连接这些元素然后返回结果字符串。如果括号中没有指定分隔符,那么分隔符将用逗号.

例6: var myarray:Array=new Array(5,8,\c = myarray.join(“-“); trace(c); 输出为:5-8-a

例7:在括号中不设分隔符则将用逗号作分隔符 var myarray:Array=new Array(5,8,\c = myarray.join( ); trace(c); 输出为:5,8,a

pop():删除数组中最后一个元素,并返回该元素的值。 例7: var myarray:Array=new Array(5,8,\var c = myarray.pop(); trace(“被删的是:” + c);

trace(“被删后的数组:” + myarray);

输出结果是: 被删的是:a 被删后的数组:5,8

push():将一个或多个元素添加到数组的结尾,并返回该数组的新长度。 例8: var myarray:Array=new Array(5,8,\var c = myarray.push(“b”,”c”); trace(“添加元素后数组的长度是:”+c); trace(“添加元素后的数组:”+myarray); 输出结果是:

添加元素后数组的长度是:5 添加元素后的数组:5,8,a,b,c reverse():就地倒转数组。

例9: var myarray:Array=new Array(5,8,\trace(原数组是:+myarray); myarray.reverse();

trace(被倒转后的数组是:+myarray); 输出结果是: 原数组是:5,8,a 被倒转后的数组是:a,8,5

shift():删除数组中第一个元素,并返回该元素。 参见pop()方法

slice(startIndex, endIndex):

返回由原始数组中某一范围的元素构成的新数组,而不修改原始数组。返回的数组包括 startIndex

元素以及从其开始到 endIndex

元素(但不包括该元素)的所有元素。例10: var myarray:Array=new Array(1,2,3,4,5); var myarray1:Array = myarray.slice(0,3); trace(myarray1);输出结果是:1,2,3sort():

对数组中的元素进行排序。Flash 根据 Unicode 值排序。(ASCII 是 Unicode 的一个子集。) 默认情况下,Array. sort()

按下面的列表中的说明进行排序: ? 排序区分大小写(Z ? 优先于 a)。 ? * 按升序排序(a ? 优先于 b)。

? * 修改该数组以反映排序顺序;在排序后的数组中不按任何特定顺序连续放置具有相同排

序字段的多个元素。

? * 数值字段按字符串方式进行排序,因此 100 优先于 99,因为 \的字符串值比 \的

低。

例11: var myarray:Array=new Array(3,4,1,2,5); myarray.sort();

trace(myarray);输出为:1,2,3,4,5 对数组进行了重新排序. splice(startIndex, [deleteCount], [value]):

给数组添加元素以及从数组中删除元素。此方法会修改数组但不制作副本。

参数startIndex:― 一个整数,它指定插入或删除动作开始处的数组中元素的索引。您可以指定一个负整数来指定相对于数组结尾的位置(例如,-1 是数组的最后一个元素)。

deleteCount: [可选] ― 一个整数,它指定要删除的元素数量。该数量包括 startIndex 参数中指定的元素。如果没有为 deleteCount 参数指定值,则该方法将删除从 startIndex

元素到数组中最后一个元素之间的所有值。如果该参数的值为 0,则不删除任何元素。 value: [可选] ― 指定要在 startIndex 参数中指定的插入点处插入到数组中的值。

例12:var myarray:Array=new Array(1,2,3,4,5); myarray.splice(1); trace(myarray);

输出结果为:1.本例在splice()方法中只用了一个参数1,这是指在插入或删除的位置,数组编号从0开始,那么1的位置是第2个元素.第二参数未设置则将删除从第2个元素开始的所有元素.第三个参数未设置则不插入新元素.所以执行后数组中就只剩下第0号元素了.

例13: var myarray:Array=new Array(1,2,3,4,5); myarray.splice(1,2); trace(myarray); 输出结果是:1,4,5

本例用了两个参数,第2个参数是2,就是说将删除2个元素. 例14: var myarray:Array=new Array(1,2,3,4,5); myarray.splice(5,0,6); trace(myarray);

输出结果是:1,2,3,4,5,6

本例用了三个参数,第一个参数为5,则是在数组的第6个位置上执行操作,第二个参数是是0,是不删除任何元素.第三个参数是6,是插入一个新元素6.

unshift():将一个或多个元素添加到数组的开头,并返回该数组的新长度 参见push()方法

第六课 文本与字符 第一节 创建文本

在制作flash动画时,常常会用到文本和字符串,首先来看看文本. 一 创建文本框

在创作环境中创建文本框

在创作环境中创建文本框很简单,新建一flash文件,用文本工具在舞台上画一个文本框,这样文本框就建好了.文本框建好后,需要进行设置.现在打开属性面板.首先要确定文本框的类型,点开类型下拉列表可以看到共有三种文本框类型可供选择:静态文本、动态文本、输入文本.静态文本相当于标签,在AS中不能进行操作,本课程不介绍.以下文本框均是指动态文本和输入文本.动态文本和输入文本可在运行时进行操作.动态文本是运行时动态改变文本问容;输入文本是在运行时可由用户输入文本内容.为了在AS中对其进行操作应在属性面板中为其命名.有两种方法可以读取和设置文本框的内容,一种方法是设置或读取文本框的text属性.text属性代表文本框的内容.

例:在舞台上画一文本框,设置其类型为动态文本,为其取名为mytext1_txt.然后在帧动作面板中输入:

mytext1_txt.text=\动态文本框\

测试影片,文本框中将显示\动态文本框\

在属性面板中,还可以设置大小、位置、字体、字体大小、颜色、边框等属性.

设置和读取文本内容的另一个方法是给文本框设置变量.这种方法现在不推荐使用,而主张使用text属性.在属性面板的右下部有一\变量\文本框,在这里可以为文本框设一变量,那么这一变量就代表文本框的内容.例我们在这里输入a,然后将帧动作中的代码改为:

a=\动态文本框\

测试影片,文本框中同样显示\动态文本框\运行时创建文本框

运用TextField类的createTextField()方法可以在运行时创建文本框.格式为: createTextField(名称,深度,x坐标,y坐标,宽度,高度)

深度:相当于层的概念,深度数字越大就越在上面.同一深度只能包含一个对象,如果在同一深度添加新的对象,那么新的对象会覆盖同一深度上原来的对象.关于深度的详细内容将在影片剪辑课程中介绍.

Flash ActionScript2.0教程 

for?in循环:这是遍历或者叫循环访问一个组对象中的成员.比如影片剪辑的子级、对象的属性、数组等.由于数组等在前面还没有介绍,因此我们将for?in循环放到下一课介绍数组时再祥细介绍while循环:有点类似if语句,只要条件成立就执行相应语句.格式:while(条件表达式){要执行的语句计数语句}当条件表达式为真
推荐度:
点击下载文档文档为doc格式
62uuu423a46cyp27mpdk
领取福利

微信扫码领取福利

微信扫码分享