您需要做的是循环浏览您拥有的所有 MoveiClip,并随机选择一些设置为不可见。
为了使 MovieClip 不可见,我们将它们的 visible 属性设置为 false,这将隐藏它们。
由于您没有向我们提供您当前的任何代码,我将尝试创建一些以满足您的需求。
function icon_rollOver(e:MouseEvent):void {
for (var i:uint = 0; i < holderMC.numChildren; i++) {
if (holderMC.getChildAt(i) != e.target) {
holderMC.getChildAt(i).visible = Math.random() > 0.5;
}
}
}
function icon_rollOut(e:MouseEvent):void {
for (var i:uint = 0; i < holderMC.numChildren; i++) {
holderMC.getChildAt(i).visible = true;
}
}
// Add icon_rollOver and icon_rollOut as events to each of your MovieClips
该代码应该可以解决问题。但是,我目前无法测试代码,因此可能会出现一两个错误;但这是基本原则。
holderMC 是存储每个图标的 MovieClip。如果此 holderMC 中还有其他非图标的 MovieClip,则需要一些稍微复杂一些的代码,或者将这些非图标移动到另一个容器中。
当调用icon_rollOver 函数时,它将遍历holderMC 内的每个MovieClip,然后检查它是否与e.target 相同,其中e 是事件。 target 属性是指派发事件的对象,因此在这种情况下应该是翻转的 MovieClip。如果当前孩子不是翻身的孩子,则将其可见性设置为等于随机数(介于 0 和 1 之间)是否大于 0.5 的条件。 IE。 MovieClip 有 50% 的几率不可见。
当调用icon_rollOut 函数时,我们再次循环遍历holderMC 中的每个MovieClip,但无论如何都将可见性设置为true。这将使holderMC 中的每个影片剪辑都可见。
我希望这足以帮助您完成您的项目。祝你好运!