分享
 
 
 

如何正确理解_root/_level/depth的关系

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

_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的制作经验,那么这也就类似于它的层,上面的可以遮住下面的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有