[英]AS3 Hide Random Object?
我是AS3的新手,目前正在嘗試解決此問題的解決方案:
我在網格中有一個包含25個圖標(影片剪輯,但只是靜態圖像)的啟動屏幕,它們后面是按鈕。 在將每個圖標翻轉時,我希望隨機選擇25個圖標的隱藏位置-當前翻轉的圖標除外。 然后在ROLL_OUT上,所有25個圖標應再次變為可見。
您能提供的任何幫助將不勝感激!
您需要做的是遍歷所有的MoveiClip,並隨機選擇一些將其設置為不可見的。
為了使MovieClips不可見,我們將它們的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瀏覽器將有50%的機會使MovieClip不可見。
調用icon_rollOut
函數時,我們再次循環遍歷holderMC
內的每個MovieClip,但holderMC
將可見性設置為true。 這將使holderMC
每個MovieClip holderMC
可見。
我希望這足以為您的項目提供幫助。 祝好運!
我建議使用每個影片剪輯中都存在的.visible屬性。 一個簡單的例子是:
MyMovieClip.visible = false;
這將使動畫片段在調用時不可見。
解決此問題的一種可能方法是制作一系列在ROLL_OVER和ROLL_OUT上取消切換的影片剪輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.