当我们在attachMovie等操作的时候,给对像分配深度的时候有可能会用到getNextHighestDepth()方法,我这里要说的是对于_root.getNextHighestDepth()要慎用,如果在你的FLASH中如果要用到movieclip的removeMoiveClip()方法,或者要用到像Alert组件这些涉及剪辑深度的操作,在进行attachMovie等操作的时候,就不要使用_root.getNextHighestDepth()方法,因为这个方法返回的深度值好像已经超过了有效范围会导致像removieMovieClip方法的失效以及其他的一些操作产生一些意想不到的后果。
注意:如果使用第 2 版的组件,则不要使用此方法。如果您在舞台上或库中放置了第 2 版的版组件,getNextHighestDepth()
方法有时会返回深度 1048676(我自己注:这个值跟我实际测试的结果好像有出入,我测的结果是1048576),它超出了有效范围。如果使用第 2 版的组件,则应始终使用第 2 版的组件 DepthManager 类。
所以要进行像attachMovie和remoeMoiveClip这样的操作的时候,解决的方法就是给要进行操作的剪辑做一个MovieClip的容器,将所有的东西都attach到容器里去,取深度的时候取容器的getNextHighestDepth()就不会出现前面说的removeClip无效以及其他一些意想不到的怪效果了,或者就是自己来控制深度值来进行attach等操作。