2010-04-07 25 views
0

我想做一个像Win 7 [Win] + [Tab]键切换窗口的效果。 我创建了两个“窗口”(电影剪辑),当我点击第一个时,它显示在另一个之上,但问题是当我点击第二个时,我可以看到第一个显示在其中。有没有什么办法让我把电影剪辑放在另一个上面。设置影片剪辑“on-top”

感谢

+0

AS3或AS2? 15ch – 2010-04-07 08:31:35

回答

0

如果您使用AS2,你可以使用MovieClip.swapDepths()方法在前面的其他移动一个剪辑。不过,剪辑需要一些固定的填充,否则你会透过它们看到!

例如:

//Make two clips: 
this.createEmptyMovieClip("clip1", 1); 
this.createEmptyMovieClip("clip2", 2); 

//Draw a coloured rectangle in each: 
drawRect(clip1, 0xFF0000); 
clip1._x = 50; 
clip1._y = 50; 
drawRect(clip2, 0x0000FF); 

//Add a mouseclick handler 
//(you could change this to a keypress handler) 
clip1.onRelease = function() { 
    //SWAP THE DEPTHS OF TWO CLIPS: 
    clip1.swapDepths(clip2); 
}; 

clip2.onRelease = function() { 
    clip2.swapDepths(clip1); 
}; 

function drawRect(mc, colour) { 
    mc.beginFill(colour); 
    mc.moveTo(100, 100); 
    mc.lineTo(100, 200); 
    mc.lineTo(200, 200); 
    mc.lineTo(200, 100); 
    mc.lineTo(100, 100); 
    mc.endFill(); 
} 
+0

谢谢你...但这不会帮助。我将有5个左右不同的电影剪辑与背景,图像和文字。他们将保持一致,直到我认为合适的职位,直到功能移动,看起来更接近。问题是最后一部电影剪辑始终保持在最前,其他人也工作,但留在对齐的电影剪辑之后。我需要一个函数来处理我正在写给我的影片剪辑的其他函数:“stop(); this.onEnterFrame = function(){if(rewind == true){prevFrame();}}这个.onRollOver = true(){rewind = false; play();} this.onRollOut = function(){rewind = true;}“ – 2010-04-07 10:09:03

+0

只是让我明白了:你需要循环遍历所有5个剪辑(就像洗牌一副牌)?或者你是否需要无论哪一个剪辑被点击到顶部? – 2010-04-07 11:32:48

+0

当我点击一个剪辑,我想它升到顶部 – 2010-04-07 12:56:22