“朝闻道夕死可矣”,最近越来越深的体会了这句话。人就是为了追求真理而活,一旦悟透了真理,人生也就没有任何遗憾了。这样的心情很符合解决技术问题后的那种满足感。
最近遇到了一个不大不小的问题,发现手动拖到时间轴上的 mc 不能在脚本中删除,一时搞不懂是为什么。后来了解到 mc 的深度是有学问的,一共可分为 3 个大块,分别是:
1、时间轴区(深度范围 -16 384 ~ -1)
这个区域是用来放置在设计器中生成的那些元素,这个区域里的 mc 是不能用脚本删除的。但是脚本创建的 mc 可以制定到这个深度范围中,这样也就不能删除了。
这就可以解答好多现象,比如脚本创建的 mc 一般总会在设计器创建的之上,因为你死也不会想到深度制定在小于 -16 384? 并且大于???? -16 390(低于 -16 38x ?的深度不存在,不会被创建)的范围内才可以放到设计器创建的 mc 下面。并且我前面的问题也就不难解释了。
解决删除问题也不难,只要把那个深陷泥沼的 mc 换出来,再杀掉就 ok 了。具体点就是先是用 swapDepths() 方法来个乾坤大挪移,再用 removeMovieClip() 接上一际独孤九剑,于是世界清静了。
(注:在用户卡片的制作中我用到了 swapDepths(),用来解决单击后的卡片会放置在最上层。)
现在想想,以前做的那些 Banner 甚至没有 0 的突破,所有 mc 的 Depth 都是负数,呵呵。
2、动态区(深度范围 0 ~ 1 048 575)
这是个脚本可以肆意妄为的世界,可以直接使用独孤九剑决定任何 mc 的生死,不用费时费力的乾坤大挪移了。
3、保留区(深度范围 1 048 576 ~ 2 130 690 045)
我想这个区域的存在目的就是为了确保深度超过 1 048 575 后,创建的 mc 仍然有地方储存。要想删除这区域里的 mc 的话,还是要先拖到动态区去,然后是砍头还是腰斩随便你。(把动态区形容的有点像刑场,呵呵)
这就是 Flash 深度框架的所以然,总体上感觉还是挺牛的,用好了就可以呼风唤雨,用不好就只能到处受气。
总之就是这么点事,把以后会忘,所以记在这里。忘了解决的方法是小,忘了闻道时的喜悦就遗憾至极了。
posted on 2006-05-17 09:41
blog搬家了--[www.ialway.com/blog] 阅读(308)
评论(0) 编辑 收藏 所属分类:
AS2.0