2010-06-24 81 views
0

作爲一名AS3初學者,我試圖將舊的AS2技巧翻譯成AS3。我想禁用,然後立即重新啓用與舞臺上所有顯示對象之間的任何類型的交互。例如,在等待外部資源加載或用戶點擊菜單項後。禁用/重新啓用交互性

這是我用用AS2來做:

protect_mc.onRelease = function():Void {}; 
protect_mc.enabled = false; 
protect_mc._alpha = 0; 
protect_mc._visible = false; 

然後切換protect_mc._visible爲真或假。
(protect_mc與所述階段的高度和寬度的空的影片剪輯,在最高深度)

我的第一個想法是註冊監聽器與停止所有輸入事件傳播在舞臺MouseEvent.CLICK的捕捉階段(鼠標,焦點,文本...),當一個「鎖定」靜態變量設置爲true或者什麼也不做。

設想二是使用自定義事件......

任何意見,將不勝感激:)
感謝。

回答

1

下面的代碼將禁用所有與互動顯示對象和它的孩子們:

movieClip1.mouseChildren = false; 
movieClip1.mouseEnabled = false; 
+0

的感謝!簡單和乾淨。 – jeremiemv 2010-06-25 12:52:18

1

如果你沒有直接連接到階段,你也可以使用任何聽衆:

stage.mouseChildren = false;