as2到as3交换深度动画片段?

时间:2011-10-10 20:57:03

标签: flash actionscript-3

我在舞台上有两个动画片段,我想改变哪个mc出现在另一个前面 我已经阅读过setChildIndex和swapChildren方法有两种方法,但在我读过的所有教程中,如果它们在精灵中你可以改变深度,但是我不能使用精灵 我怎么能用movieclips做呢???

3 个答案:

答案 0 :(得分:2)

对于MovieClip也是如此。您提到的两个方法,setChildIndex()和swapChildren()是DisplayObjectContainer的方法,并使用DisplayObjects作为参数。由于MovieClip和Sprite都继承自DisplayObject,因此两者的工作方式相同。

这些都是正确的:

stage.swapChildren(mySprite1, mySprite2);
stage.swapChildren(myMovieClip1, myMovieClip2);

这些是:

stage.setChildIndex(mySprite, 1);
stage.setChildIndex(myMovieClip, 1);

答案 1 :(得分:1)

尝试将目标投射为影片剪辑 -

my_movie_clip.addEventListener(MouseEvent.ROLL_OVER, manageMouseOver, false, 0, true);


function manageMouseOver(event:MouseEvent):void{
     stage.setChildIndex(MovieClip(event.target), stage.numChildren - 1);
}

答案 2 :(得分:1)

Um MovieClip继承自Sprite,所以是Sprite可以做的任何事情,MovieClip也可以做到这一点,而不是相反。
只需查看继承文档的顶部

MovieClip Docs