WEB开发网
开发学院图形图像Flash Flash AS入门教程第七课:影片剪辑第四节深度 阅读

Flash AS入门教程第七课:影片剪辑第四节深度

 2009-12-12 00:00:00 来源:WEB开发网   
核心提示: 代码分析:首先用一个for循环,将库中的图片加载到舞台上,Flash AS入门教程第七课:影片剪辑第四节深度(3),循环次数是你的图片元件的数量,下面i<6中的6用你的图片元件数量加1替换,将第一句pic1_mc.onRelease = function(){中的pic1改为pic2,就行

代码分析:

首先用一个for循环,将库中的图片加载到舞台上,循环次数是你的图片元件的数量,下面i<6中的6用你的图片元件数量加1替换。我这里是5张图片,所以我用6。

for(i=1;i<6;i++){

接下来加载这些图片元件,这里加载的深度我们用到了 this.getNextHighestDepth()方法。图片加载后指定图片的x,y坐标在一定的范围内随机的位置。这个范围应根据图片元件的大小来确定,不能太小,太小了,上面的图片会完全盖住下面的图片。也不能太大,太大了则不能产生重叠效果。总之就是要即要产生重叠效果,又不能完全盖住。

this.attachMovie("pic"+i,"pic"+i+"_mc",this.getNextHighestDepth()); 
var pic_mc = eval("pic"+i+"_mc"); 
pic_mc._x = 150 +random(200); 
pic_mc._y = 100 + random(200); 

现在图片已加载到舞台上了,并产生了不完全重叠效果。接下来就是实现点击图片让该图片移到最上层,所以用到图片MC的onRelease事件,以第一张图片为例:

pic1_mc.onRelease = function(){

在这个事件执行中首先确定最上面的图片的深度值。上面介绍了getNextHighestDepth()返回的是最大的深度值加1,那么最大的深度值自然就是getNextHighestDepth()减1了。

var zddepth = _root.getNextHighestDepth()-1;

有了最大的深度值后,就可以确定最上面的图片是哪张了:

var zd_mc:MovieClip = _root.getInstanceAtDepth(zddepth);

最后将这张图片与最大深度那张图片交换深度,那这张图片深度值就最大了,当然也就在最上面了:

this.swapDepths(zd_mc);

第一张图片的点击动作代码就完成了。下面写第二张图片的代码,因为每张图片点击事件中的代码是完全一样的,所以复制第一张图片的代码,粘帖到第一张图片代码的下面,将第一句pic1_mc.onRelease = function(){中的pic1改为pic2,就行了。

以后的以此类推,直到完成所有的图片的点击代码。

上一页  1 2 3 

Tags:Flash AS 入门教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接