仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1100|回复: 8
打印 上一主题 下一主题

[学习教程] 来讲讲:Flash as进门(5):进修AS数组-Flash actionscript

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 20:56:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Flash可以包含简单的动画、视频内容、复杂演示文稿和应用程序以及介于它们之间的任何内容。
本例持续解说AS的基本常识,明天解说的是AS进家世五课:数组。
一课:FlashAS进门教程第四课:AS经常使用语句
在后面先容变量时,我们说将内存分红有数个房间,用来寄存数据.每一个房间中只能住一个数据,好比房间华夏来住着5,厥后8又住进这个房间,因而一脚将5踢了进来.如今大概有这类情形,就是8住出去后,不把5踢进来,两个合租.现实上这也是同意的,这类情形就被称为数组.在房间中的各个成员被称为元素,这一些元素的数据范例纷歧定是不异的.也就是说在如今开放的年月,男女合租是同意的.好比在房间中又住出来a,它是字符与后面的5、8数字的数据范例就不不异.房间中每一个元素都有一个编号,我们在援用这些元素时,只需用编号就行.就如在牢狱中的犯人一样,你叫道:3365出来.因而号数为3365的犯人出来了.咋一不当心就将数组中的元素整进牢狱了呢?必要注重的是,数组中的元素编号是从0入手下手的.好比下面我们建的数组,5是0号、8是1号、a是2号.
创立数组:能够用以下格局创立数组
格局一:
var
数组名:Array=newArray(元素1,元素2,……)
格局二:var
数组名:Array=newArray();

数组名[0]=值;

数组名[1]=值;


例:我们下面建的数组,如许写

varmyarray:Array=newArray(5,8,a);
或:
varmyarray:Array=newArray();

myarray[0]=5;

myarray[1]=8;

myarray[2]="a";
数组元素的援用创立数组后,就能够援用其元素了,格局为:
数组称号[元素编号];
好比要援用上述数组第一个元素的值就能够如许写:
myarray[0]
能够测试一下上面这段代码:

varmyarray:Array=newArray(5,8,a);

varb=myarray[0];

trace(b);
输入应当是5.
数组是工具,便是工具,那末就有它自已的属性和办法,上面我们就来熟悉一下:
数组的属性:只先容一个属性,length:这是指组数的元素的数目.如下面的数组,myarray一共有三个元素5,8,a,那末这个数组的length属性为3
例1:varmyarray:Array=newArray(5,8,a);
b=myarray.length;

trace(b);

输入了局为3.


For....in轮回:在上一课先容轮回语句时,说过for....in轮回留到这一课来先容.这个轮回是遍历一个汇合的一切工具的轮回,好比遍历数组元素.就是说一个一个中央问每个元素.数组中有几个元素它就轮回几回
例2:varmyarray:Array=newArray(5,8,"a");

for(variinmyarray){


b=myarray;

trace(b);

}
输入了局为:a

8

5
例3:用for轮回和length属性也能够完成遍历数组:

varmyarray:Array=newArray(5,8,"a")

for(vari=0;i<myarray.length;i++){


b=myarray;

trace(b);

}

输入了局为:5,8,a
能够看出,这两个轮回都是将数组中的轮回方问了一遍,只是了局的按次分歧.例2中使用了数组的length属性,这个属性最经常使用的就是用在for轮回中,在今后的课程中会常常用到.
数组的办法:
concat():
将参数中指定的元素与数组中的元素毗连,并创立新的数组。假如value参数指定的是数组,则毗连该数组的元素而不是数组自己。
例4:varmyarray:Array=newArray(5,8,"a")
myarray1=myarray.concat("b");

for(variinmyarray1){

c=myarray1;

trace(c);


}
输入为:b

a

8

5
用myarray1=myarray.concat("b");将b毗连到myarray数组中并创立新数组myarray1.
例5:varmyarray:Array=newArray(5,8,"a")

myarray1=myarray.concat("b");

myarray2=myarray.concat(myarray1);

for(variinmyarray2){

c=myarray1;

trace(c);


}
这时候myarray2应当是:myarray2[5,8,a,5,8,a,b],这是用concat()办法将两个数组毗连起来了.

join():将数组中的元素转换为字符串、在元素间拔出括号中指定的分开符、毗连这些元素然后前往了局字符串。假如括号中没有指定分开符,那末分开符将用逗号.
例6:varmyarray:Array=newArray(5,8,"a");

c=myarray.join(“-“);

trace(c);
输入为:5-8-a
例7:在括号中不设分开符则将用逗号作分开符

varmyarray:Array=newArray(5,8,"a");

c=myarray.join();

trace(c);
输入为:5,8,a

pop():删除数组中最初一个元素,并前往该元素的值。
例7:varmyarray:Array=newArray(5,8,"a");

varc=myarray.pop();

trace(“被删的是:”+c);

trace(“被删后的数组:”+myarray);
输入了局是:被删的是:a
被删后的数组:5,8

push():将一个或多个元素增加到数组的开头,并前往该数组的新长度。
例8:varmyarray:Array=newArray(5,8,"a");

varc=myarray.push(“b”,”c”);

trace(“增加元素后数组的长度是:”+c);

trace(“增加元素后的数组:”+myarray);
输入了局是:
增加元素后数组的长度是:5
增加元素后的数组:5,8,a,b,c

reverse():当场倒转数组。

例9:varmyarray:Array=newArray(5,8,"a");

trace(原数组是:+myarray);

myarray.reverse();

trace(被倒转后的数组是:+myarray);
输入了局是:原数组是:5,8,a
被倒转后的数组是:a,8,5


shift():删除数组中第一个元素,并前往该元素。
拜见pop()办法
slice(startIndex,endIndex):
前往由原始数组中某一局限的元素组成的新数组,而不修正原始数组。前往的数组包含startIndex
元素和从其入手下手到endIndex
元素(但不包含该元素)的一切元素。例10:
varmyarray:Array=newArray(1,2,3,4,5);
varmyarray1:Array=myarray.slice(0,3);
trace(myarray1);输入了局是:1,2,3sort():
对数组中的元素举行排序。Flash依据Unicode值排序。(ASCII是Unicode的一个子集。)
默许情形下,Array.sort()
按上面的列表中的申明举行排序:

*排序辨别巨细写(Z
优先于a)。
*按升序排序(a
优先于b)。
*修正该数组以反应排序按次;在排序后的数组中不按任何特定按次一连安排具有不异排序字段的多个元素。
*数值字段按字符串体例举行排序,因而100优先于99,由于"1"的字符串值比"9"的低。
例11:varmyarray:Array=newArray(3,4,1,2,5);
myarray.sort();
trace(myarray);输入为:1,2,3,4,5对数组举行了从头排序.
splice(startIndex,[deleteCount],[value]):
给数组增加元素和从数组中删除元素。此办法会修正数组但不制造正本。
参数startIndex:D一个整数,它指定拔出或删除举措入手下手处的数组中元素的索引。您能够指定一个负整数来指定相对数组开头的地位(比方,-1是数组的最初一个元素)。


deleteCount:[可选]D一个整数,它指定要删除的元素数目。该数目包含startIndex
参数中指定的元素。假如没无为deleteCount
参数指定值,则该办法将删除从startIndex
元素到数组中最初一个元素之间的一切值。假如该参数的值为0,则不删除任何元素。
value:[可选]D指定要在startIndex
参数中指定的拔出点处拔出到数组中的值。

例12:varmyarray:Array=newArray(1,2,3,4,5);

myarray.splice(1);

trace(myarray);
输入了局为:1.本例在splice()办法中只用了一个参数1,这是指在拔出或删除的地位,数组编号从0入手下手,那末1的地位是第2个元素.第二参数未设置则将删除从第2个元素入手下手的一切元素.第三个参数未设置则不拔出新元素.以是实行后数组中就只剩下第0号元素了.
例13:varmyarray:Array=newArray(1,2,3,4,5);

myarray.splice(1,2);

trace(myarray);
输入了局是:1,4,5
本例用了两个参数,第2个参数是2,就是说将删除2个元素.
例14:varmyarray:Array=newArray(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()办法

Macromedia公司已经承诺在Flash8中将有很大的变化,而且它们中的许多都与视频功能有关。
小魔女 该用户已被删除
沙发
发表于 2015-1-17 15:12:54 | 只看该作者
FLASH网站建设的页面非常美观,互动性很强。在企业网站中,FLASH动画作用主要在于突出企业品牌的效应,彰显企业形象的实力。
再现理想 该用户已被删除
板凳
发表于 2015-1-26 17:38:58 来自手机 | 只看该作者
alpha通道,图像的一部分可以变成透明,透明度可以从完全不透明到完全不可见。Alpha通道支持没有副作用。
山那边是海 该用户已被删除
地板
发表于 2015-2-4 21:50:24 | 只看该作者
不能制作色彩丰富变化的图像,核心竞争力小,而且有一定的局限性。要想制作优秀的动画,就要充分了解软件的优点和缺陷。
爱飞 该用户已被删除
5#
发表于 2015-2-10 21:57:45 | 只看该作者
在Web页面上使用声音是可能的,但是在精确的时间播放声音几乎是不可能的。Flash通过把声音放入时间期限内解决了这个问题,因此你现在可以把声音连接到动画的特定部分或者某个用户交互过程。
小妖女 该用户已被删除
6#
发表于 2015-3-1 17:12:11 | 只看该作者
都着重在优点方面,请尽量答的详细、深入一些,谢谢!拿了我全部的爱问分了已经
金色的骷髅 该用户已被删除
7#
发表于 2015-3-10 23:53:25 | 只看该作者
在Web上只好把动画做得很小。即使最简单的动画也需要较长的下载时间。Flash的流技术和矢量图形对这种情况做了改变。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-17 18:08:26 | 只看该作者
作为奖赏,你可以使用关键祯动画支持和tweening- 两个最主要的节省时间的方式。本质上,关键祯是动画中显著事件发生的位置。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-24 21:45:24 | 只看该作者
用户在观看广告的时候,无法通过正常点击鼠标来查看广告的尺寸、字节数、所链接的URL广告本身信息。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-29 06:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表