2009-12-04 74 views
0

我試圖找出處理使用Flash組件編寫多個GUI窗口的最佳方法。我認爲處理這個問題的最好方法是爲每個需要的窗口使用一個圖層,並簡單地隱藏/顯示我想要的窗口圖層。最好不要單獨使用動作。在Flash/Actionscript 3中處理多個GUI

由於每個圖層都包含這些GUI組件,因此我將處理它們的actionscript代碼放在每個圖層的第1幀中。這將所有GUI代碼保留在一個位置,並避免讓我在主階段類中聲明和處理每個組件。

我的問題雖然是一個範圍界定問題。主階段類可以訪問駐留在這些層上的類中的所有組件,但框架層「框架1」動作看起來並不像。我希望能夠在圖層的第1幀動作代碼內調用主舞臺類的方法。它似乎並沒有工作,我甚至嘗試將階段引用投射到我的課程參考中。不知道這是愚蠢的嘗試,但只是試圖找出一種方法。

如果有人有更好的方法去處理這個問題,請讓我知道。我的回退計劃是避免拖放組件到舞臺上,而是單獨使用動作腳本,然後將這些組件組織到它們自己的類中,或者在主舞臺上爲所有組件使用事件監聽器,這會使舞臺類膨脹所有那些GUI代碼。

謝謝!

回答

0

首先,對於每個窗口使用圖層的方法,您會遇到一些麻煩。不幸的是,這些圖層只是在Flash創作環境中使用的,代碼沒有任何方式知道什麼是在哪一層,所以你將無法(據我所知)隱藏內容每一層你打算的方式。

幾個選擇是:

  • 你把每個窗口的組件的影片剪輯中,這樣就可以使可見或不可見的是單個影片剪輯,一個希望每個窗口。它或多或少與你想要的圖層相同,但是使用包含每個窗口的動畫片段。
  • 而不是使用圖層,使用框架。將第一個窗口的所有組件放入第一幀,第二幀的組件放入第二幀。這樣,您就可以通過移動播放頭來控制您所處的窗口。

關於您有的範圍錯誤,您可以提供更多詳細信息嗎?如果閃存打印有什麼錯誤?

+0

啊,這正是我沒有想到的。使用動畫片段,並簡單地將所有組件拖拽到舞臺上並以此方式使用它。完善。這會工作。非常感謝你! – suinswofi 2009-12-04 06:43:58