簡體   English   中英

AS3隱藏隨機對象?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM