|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
AdobeFlashProfessionalCS5.5软件可以提供行业领先、用于制作具有表现力的交互式内容的授权环境。
假如你对本篇文章很感乐趣或是在进修Flash时碰到了甚么坚苦,接待到我们的学院论坛来交换。
与AS2.0比拟较,AS3.0有了很年夜的变更,它改动了我们以往的编程习气。明天我们经由过程一个十分复杂的进门实习-下雪效果,来熟悉一下AS3.0,次要懂得一下AS3.0与AS2.0的区分。
起首,我们来先容一下AS3的一些基本常识。
在AS3中如何把库中的元件加载舞台
我们晓得在AS2中我们能够经由过程attachMovie将库中的mc加载到舞台上。在利用这个命令前我们必需要做的事变是在库中右击元件,翻开毗连面板,然后在标识符框中为元件取上一个毗连名,如许才干用attachMovie()来加载它。如今我们在AS3中来做一下,在库中右击元件,翻开毗连面板,这时候你会叫道:“为何我的标识符框是灰色的,不克不及用。”不是你的是灰色的,而是在AS3中都是灰色的,由于在AS3中是不克不及用attachMovie()来加载元件的。AS3听说是完整面向工具编程的言语了,这就必需要懂得类,工具等观点。类就是一类器材的一个称号,好比植物类就包含了一切植物,植物类上面的一切人就是人类了。又如一切电器可叫电器类,电器类上面又可有电视机类等。工具是某类的一个详细的实例。好比你就是人类中的一个详细的人,你就是人类的一个工具。看到这里你说:“我晕”,我说:“我更晕”。先容类,工具这些观点看的人不简单看懂,说的人更不简单说清。在AS3中要加载一个显式工具(我们在舞台上看得见的器材),必需要载进一个类,然后要声明这个类的一个实例,再用new关头字创立它,最初用addChild()将它加载到舞台。我们将舞台着是一个展台,将库看着是一个堆栈,如今堆栈中有一台电视秘密放到展台上,该如何做呢?起首必要一个电视机类,然后必要声明一个实例:
var电视机甲(实例名):电视机(类名)=new电视机();
addChild(电视机甲);
如今我们回到flash中来看看,如今库中有一个元件,我们要将它加载到舞台上,应当如许做:
在库中右击该元件,翻开毗连面板,我们会看到一个叫类的文本框,在这里给这个类取一个名字,好比myl.断定。如许我们就加载了一个叫myl的类了。接上去,在场景的帧举措中,输出:
varmymc:myl=newmyl();
addChild(mymc);
mymc.x=100;
mymc.y=100;
测试影片,我们会看到,库中的这个元件已被加载到舞台的(100,100)坐标处了。
AS3的事务侦听机制
甚么是事务呢?当某件事变产生的时分就做些甚么事。这个某件事变就是事务。好比:press,当鼠标按下的时分,这就是一个事务。在AS2中,我们有两种体例来完成事务驱动。一种是将代码间接写在元件上(mc或按钮)。好比,在场景中有一个叫mymc的影片剪辑元件,我们在其上点右键,翻开举措面板,输出:
on(press){
干点好事;
}
如许,当我们在mymc元件上按下鼠标时,就会往干点好事。第二种办法是在帧举措上输出代码:
mymc.onPress=function(){
干点好事;
}
如许,当我们在mymc元件上按下鼠标时,一样会往干点好事。
接上去,我们在AS3中来看看:在元件上点右键,翻开举措面板,你会看到“没法将举措使用于以后所选内容”。哦嗬,弄不成。在AS3中没法将代码写在元件上,只能写在帧举措上。而AS3的事务侦听,也有它自已,的格局,不论你愿意不愿意,你都必需如许做。AS3在事务侦听格局是:
function函数称号(事务工具:事务范例):void
{
//此处是为呼应事务而实行的举措。
}
触发事务的工具.addEventListener(事务范例.事务称号,函数称号);
必需先声明一个函数,将要实行的代码放在个中,然后触发事务的工具用addEventListener往侦听事务,假如事务产生则挪用函数。还用下面谁人干好事的例子。翻开帧举措面板,输出:
function干好事(event:MouseEvent):void{
干点好事;
}
mymc.addEventListener(MouseEvent.CLICK,干好事);
如许,当我们在mymc元件上按下鼠标时,会再一次往干点好事。下面代码中的MouseEvent是鼠标事务的意义,CLICK是单击的意义,即在元件上单击就会触发事务。
在AS3中改动工具的地位和缩放工具
我们晓得,工具在舞台上地位由其x,y轴的坐标来决意。在AS2中有两个属性:_x,和_y,用来指定工具的x,y坐标,这一点在AS3中也是一样的,只是AS3中往失落了下划线,属性名就叫x,y.好比,在AS2中,要将mymc的地位定在(100,100)处,要如许:
mymc._x=100;
mymc._y=100;
而在AS3中是如许的:
mymc.x=100;
mymc.y=100;
在AS2中工具的巨细能够用width,height,_xscale,_yscale四个属性来断定,在AS3中width和height是一样的,不再说它了。AS3用scaleX和scaleY属性代替了_xscale,_yscale属性。同时它们的值也是有区分的。AS2中的,_xscale,_yscale属性值是百分比。而AS3中的scaleX和scaleY值是一分比。一分比?这是我创造的,博士公用名词,嘿嘿。scaleX和scaleY值实践就是缩小减少的倍数。好比,在AS2中mymc._xscale=30;这是将mymc的宽度减少到本来的30%。
在AS3中mymc.scalex=30;这是将mymc的宽度缩小到本来的30倍。要将宽度减少到30%,就要用
mymc.scale=0.3;
好了,基本常识就先容这么多,本文就当是AS3的进门教程吧,先容的就几个进门常识。
上面我们就来做一个下雪效果的实习,将下面的常识点使用到实例中。
实例实习-下雪效果
效果演示:
http://myarticle.enet.com.cn/images/2008/0724/1216857328865.swf
翻开flashcs3,选择新建flash文件(ActionScript3.0).
导进一张背景图片,在场景中放好。
新建一个影片剪辑元件,将舞台缩小到800%,用椭园工具,画一个无笔触,添补色为放射将红色左色标通明度为100%,右色标通明度0%的椭园,巨细这4x3,用选择工具调剂一下,使其不太划定规矩。在第30帧拔出关头帧。拔出引诱层,画一条由上向下的曲折引诱线。回到第一层,在第一帧和30帧,分离将椭园放到引诱线的两头,创建补间动画。
如图:
缩小至800%时
翻开库,在元件上右击,翻开毗连面板,在类文本框中输出:xl,断定。
回到主场景,新拔出一图层,定名为action,翻开举措面板:输出:
vari:Number=1;
addEventListener(Event.ENTER_FRAME,xx);
functionxx(event:Event):void{
varx_mc:xl=newxl();
addChild(x_mc);
x_mc.x=Math.random()*550;
x_mc.scaleX=0.2+Math.random();
x_mc.scaleY=0.2+Math.random();
i++;
if(i>100){
this.removeChildAt(1);
i=100;
}
}
ok,完成。
下面的代码,在基本先容中都已申明了,应当一看就分明了。有几句注释一下。
x_mc.scaleX=0.2+Math.random();
x_mc.scaleY=0.2+Math.random();
0.2+Math.random();会发生0.2-1.2间的随机数,这就让雪花减少到20%到缩小到120%间,落上去的雪花,巨细纷歧,显得加倍实在一些。
removeChildAt(n);是删除已加载的显式工具,个中的n是已加载的工具的索引号。从addEventListener(Event.ENTER_FRAME,xx);这一句能够看出,运转一帧,就会从库中加载一个雪花,同时i加,如许当i即是100时,场景中就已有100个雪花了。这个时分我们用this.removeChildAt(1);将开始加载的雪花删除。然后将i设为100,到下一帧,i就又年夜于100了,那末要加载1个雪花,同时又删除一个雪花,这就到达了一个静态均衡,场景中一直只要100个雪花。要否则,就会雪越下越多,形成雪灾就欠好了。
使用Flash创作的各个内容单元称为应用程序,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的Flash应用程序。 |
|