|
_root/_level/depth在AS中是基础,正确理解三者的作用和关系,对AS初级学习者有很大的帮助……
最近看到很多朋友发贴说不清楚_root和_level是干什么的,更有一个depth(深度)。经常把人搞得晕乎。xx( 所以痛下决心一定要让各位深入了解。假如认为说的对的给点掌声,认为说的错的扔点砖头顺带一起研究。
_level和路径
在开始教程之前先说一下文档的目录结构,因为这种结构和swf中的路径结构十分相似
在我的电脑里有一个mypath.swf的文档,他存放在我的电脑的C盘的downloads目录的 A star算法实例目录中。我们访问的时候能够这么访问c:\downloads\A star算法实例\mypath.swf。这一长串路径说明了mypath.swf在我的电脑里的存储位置。Flash中MC或其他对象在swf中的存储也遵循着同样的规则。
还是以上面为例,假如我们把我的电脑看成一个Flash文档,那么下面的C D E盘就相当于flash中的_level0 _level1 _level2,downloads和A star算法实例这两个目录就相当于两个MC,而mypath.swf就是最终的mc。和文档的访问方式相同在这里访问mypath.swf您能够用_level.downloads.A star算法实例.(mypath.swf)来访问他了。是不是有点明白了?但是注意上面的_level.downloads.A star算法实例.(mypath.swf)只是说明一下原理真正使用时您不能用mypath.swf这种名字给MC命名的。
关于_root
_root相当于根,还是先用上面第一张图的文档结构来说明:对于c:\downloads\A star算法实例\mypath.swf这个文档,他的根就是C盘。针对c盘的任何一个文档她的根就是C盘,针对于任何一个D盘的文档她的根就是D盘以此类推。同样在flash里面也是如此。针对任何一个_leve0的Mc,他的_root就是_level0.依此类推。
什么是depth
Depth表示的是深度,这和_level和_root是两码事。因为depth至于显示有关,Depth越大,就显示在上面。而_level和_root的最重要的作用是用来识别MC在flash 中的路径。
要注意的是_level是有各自默认的Depth,并且每个mc中都有自己的Depth能够分配。
为什么说_level有各自默认的Depth。因为任何的_level(包括_level0、_level1、_level2......)他们实际上都从属于一个更上一级的MC,大概就是SWF本身了。_level0位于SWF的-16384这个位置_level1位于SWF的-16383这个位置依此类推,Flash大概支持955599999999个_level(具体的没有册出来),假如还是用文档的方式来理解,那么就是说能够有955599999999左右的盘符。
假如您不想用系统对_level的默认深度您甚至能够交换_level0和level1的深度,别不信。试试知道了
下面我们做一个例子说明一下
在flash中新开一个文档, 第一桢写入loadMovie("logo.jpg",1); //这里的logo.jpg当然是填入您本地的任何一个jpg文档然后新建一个层随便画点什么东西在,确保这个层一直存在到30桢,一定要确保新加载的图片和这个层上面的东西重叠,否则无法看到效果的。
第15帧写入 trace("_level0 depth="+this.getDepth()); trace("_level1 depth="+_level1.getDepth()); this.swapDepths(1);
第30帧写入 trace("_level0 depth="+this.getDepth()); trace("_level1 depth="+_level1.getDepth()); stop();
好了运行以下,您能够看到当_level0和depth 1 交换时,_level0上的东西移到了_level1的上面结果是
_level0 depth=-16384
_level1 depth=-16383
_level0 depth=1
_level1 depth=-16383
是不是很有意思 ?
提示:各个level中必须有东西才能够trace,假如您没有使用loadMovie到_level1,那么trace(_level1.getDepth())是无效的。
前面说到的每个MC拥有自己能够分配的depth,这也好理解。就是说假如_level1中能够有自己的depth 1位置的MC,_level2中能够有自己的depth 1位置的MC。两个不会冲突,谁显示在最前面取决于_level2和_level1谁的depth 大depth(深度)。
补充:所谓depth(深度),也就是几个mc的叠加位置。depth(深度)越大,位置越上。假如您有过aw的制作经验,那么这也就类似于他的层,上面的能够遮住下面的。
以上内容由 华夏名网
收集整理,如转载请注明原文出处,并保留这一部分内容。
| “华夏名网” http://www.sudu.cn 和 http://www.bigwww.com 是成都飞数科技有限公司的网络服务品牌,专业经营虚拟主机,域名注册,VPS,服务器租赁业务。公司创建于2002年,经过近5年的高速发展,“华夏名网”已经成为我国一家知名的互联网服务提供商,被国外权威机构webhosting.info评价为25大IDC服务商之一。 |
华夏名网网址导航: 虚拟主机 双线主机 主机 域名注册 cn域名 域名 服务器租赁 酷睿服务器 vps vps主机 cdn
(阅读次数:)
|