仓酷云

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

[学习教程] FLASH教程之Flash as进门(10):影片剪辑的深度-Flash actionscript

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 20:52:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
Flash广泛用于创建吸引人的应用程序,它们包含丰富的视频、声音、图形和动画。可以在Flash中创建原始内容或者从其它Adobe应用程序(如Photoshop或illustrator)导入它们,快速设计简单的动画。
本例持续解说AS的基本常识,明天我们来进修FlashAS进门系列教程第七课第四节:影片剪辑的深度,对Flash的AS编程有乐趣的伴侣能够到论坛与作者交换。
上一篇文章:Flashas进门(9):把持工夫轴
第4节MC的深度
在flash创作情况中我们对层的观点已对照熟习了。深度与层的观点对照靠近。每个在舞台上的工具都有它自已的深度,深度数字年夜的挡住比它小的工具,这就象下面的层遮住上面的层一样。我们能够把MC放到-16384至1048575的任一深度上,但某一深度上本来已有一个工具时,那末新放进的工具将交换本来的工具。这大概会碰到一个成绩,当我用利用attachMovie(MovieClip.attachMovie办法)、duplicateMovieClip(MovieClip.duplicateMovieClip办法)或createEmptyMovieClip(MovieClip.createEmptyMovieClip办法)在运转时创立影片剪辑时,一直要指定MC的深度。应当用个甚么深度值呢?假如指定的深度值上已有MC了,会不会将本来的掩盖了呢?为懂得决这个成绩,flash为我们供应了getNextHighestDepth()办法。
getNextHighestDepth()办法:MC的这个办法将前往下一个可用的深度值。更好的的了解就是以后最年夜的深度值加1。因而用这个深度值,MC将在最下面。
好比:this.createEmptyMovieClip("my_mc",this.getNextHighestDepth());
getInstanceAtDepth()办法:这个办法将前往某个特定深度值上的MC实例。
好比要断定以后最年夜深度值的MC,能够用以下代码:
varzddepth=this.getNextHighestDepth()-1;//取得以后最年夜的深度值
varmy_mc:MovieClip=this.getInstanceAtDepth(zddepth);
getDepth()办法:前往某个MC的深度
好比要前往MC,my_mc的深度:
varmymcdepth=my_mc.getDepth();
swapDepths()办法:互换两个MC的深度值,假如MC正在实行补间,则补间会中断。
好比有两个MC:mc1和mc2,如今要互换这两个MC的深度
mc1.swapDepths(mc2);
上面经由过程一个实习来熟习本节课所先容的内容。


效果以下:用鼠标点击挡鄙人面的图片,这张图片将移到最下面一层来。

制造办法:

1.新建一flash文档,导进多少图片。
2.将这些图片分离做成MC,巨细随便,但宽高不该凌驾200或可再小一些。在库平分别右击这些MC,点击“毗连”,在弹出的面板中,在为ActionSpript导出前打钩。在标识框内输出:pic1.第二个MC则输出pic2,以此类推。
3.回到主场景,翻开举措面板,输出以下代码:(注重上面的代码是以5张图片为例写的,假如你不是5张图片则应作响应修正,具体申明看前面的代码剖析)

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

this.attachMovie("pic"+i,"pic"+i+"_mc",this.getNextHighestDepth());
varpic_mc=eval("pic"+i+"_mc");
pic_mc._x=150+random(200);
pic_mc._y=100+random(200);
}
pic1_mc.onRelease=function(){
varzddepth=_root.getNextHighestDepth()-1;
varzd_mc:MovieClip=_root.getInstanceAtDepth(zddepth);
this.swapDepths(zd_mc);
}
pic2_mc.onRelease=function(){
varzddepth=_root.getNextHighestDepth()-1;
varzd_mc:MovieClip=_root.getInstanceAtDepth(zddepth);
this.swapDepths(zd_mc);
}
pic3_mc.onRelease=function(){
varzddepth=_root.getNextHighestDepth()-1;
varzd_mc:MovieClip=_root.getInstanceAtDepth(zddepth);
this.swapDepths(zd_mc);
}
pic4_mc.onRelease=function(){
varzddepth=_root.getNextHighestDepth()-1;
varzd_mc:MovieClip=_root.getInstanceAtDepth(zddepth);
this.swapDepths(zd_mc);
}
pic5_mc.onRelease=function(){
varzddepth=_root.getNextHighestDepth()-1;
varzd_mc:MovieClip=_root.getInstanceAtDepth(zddepth);
this.swapDepths(zd_mc);
}


代码剖析:
起首用一个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());
varpic_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了。
varzddepth=_root.getNextHighestDepth()-1;
有了最年夜的深度值后,就能够断定最下面的图片是哪张了:
varzd_mc:MovieClip=_root.getInstanceAtDepth(zddepth);
最初将这张图片与最年夜深度那张图片互换深度,那这张图片深度值就最年夜了,固然也就在最下面了:
this.swapDepths(zd_mc);
第一张图片的点击举措代码就完成了。上面写第二张图片的代码,由于每张图片点击事务中的代码是完整一样的,以是复制第一张图片的代码,粘帖到第一张图片代码的上面,将第一句pic1_mc.onRelease=function(){中的pic1改成pic2,就好了。
今后的以此类推,直到完成一切的图片的点击代码。

Macromedia公司已经承诺在Flash8中将有很大的变化,而且它们中的许多都与视频功能有关。
飘灵儿 该用户已被删除
10#
发表于 2015-3-30 01:58:18 | 只看该作者
FLASH广告的问题主要表现在:
精灵巫婆 该用户已被删除
9#
发表于 2015-3-19 17:15:54 | 只看该作者
常见的富媒体广告形式有横幅广告(BANNER,旗帜广告)按钮广告(BUTTON)弹出窗口广告(pop-up ads,弹窗)浮动广告(floting ads,飘浮广告,floaters)插播式广告(Interstitial)全屏广告(full screen) 
蒙在股里 该用户已被删除
8#
发表于 2015-3-11 23:34:48 | 只看该作者
不能设置“alt”属性,失去了一次被搜说引擎检索到的机会。
谁可相欹 该用户已被删除
7#
发表于 2015-3-5 03:40:30 | 只看该作者
都着重在优点方面,请尽量答的详细、深入一些,谢谢!拿了我全部的爱问分了已经
第二个灵魂 该用户已被删除
6#
发表于 2015-2-16 08:46:24 | 只看该作者
不过,要说国内在FLASH动画领域做的比较出色的,公认的是广州形动数码科技。
5#
发表于 2015-2-6 13:25:37 | 只看该作者
广告本身无法看到网址链接,不利于网站本身的搜索引擎优化,对增加网站排行的权重没有意义。
小妖女 该用户已被删除
地板
发表于 2015-1-30 14:06:10 来自手机 | 只看该作者
考虑到实际的效果,这些专业的网站并不会去单纯追求技术本身,广告设计是否FLASH不是目的,关键是获得最好的宣传效果。
若天明 该用户已被删除
板凳
发表于 2015-1-21 09:43:34 | 只看该作者
还有,艺术上的优势——各异的风格;创作手法独特;独立性和原创性;拓展出新的表达空间;
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-17 14:54:15 | 只看该作者
FLASH动画在如今的很多网站中都比较常见,其所独有的视觉效果和感染力成为各行各业宣传企业形象、推广产品的最佳平台。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 20:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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