2009-07-07 124 views
3

我有一個Flash .fla文件,它具有SimpleButton。該SimpleButton基本上是一個按鈕狀的形狀,上面有一個圖標(比如說它是一個「暫停」sybol)。我想以編程方式更改該圖標的顏色,但似乎無法從AS訪問它。訪問SimpleButton兒童

我選擇了圖標,做了「轉換爲符號」,並給它一個實例名稱。這對我想要訪問的大多數其他事物都有效,但是對於這個目的而言它失敗了。我在調試器中查找過它,但我無法訪問該對象。

那麼,這樣做的方式是什麼?

+0

我現在發現,當我使按鈕成爲MovieClip而不是按鈕時,我可以訪問子MovieClip。但是,這使得我的按鈕一遍又一遍地閃爍着它的狀態。我想這不是要走的路。 – Sietse 2009-07-07 11:31:06

+0

是的,您需要使用MovieClip.Stop()來防止這種情況發生。但是如果你在我的回答中得到了狀態,你仍然可以得到孩子。您只需將狀態轉換爲DisplayObjectContainer即可。 – 2009-07-07 14:39:43

回答

2

如果您正在尋找按鈕的狀態,您可以在這裏找到它們:SimpleButton.upStateSimpleButton.overStateSimpleButton.downState

您可以通過操縱transform屬性的coulorTransform來更改顏色。在這裏看到: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/geom/ColorTransform.html

編輯: 只改變背景顏色,最好的解決辦法是正確的簡單有背景載於美國DisplayObject,然後改變這種狀況。但是你必須聽取狀態變化,以保持顏色的變化。

另外,如果你的需求足夠通用,你也許可以找到一個組件。

+0

是的,我發現了所有這些,以及那種作品。但不幸的是,他們不允許我改變按鈕的一部分。 – Sietse 2009-07-07 11:08:49

0

這裏的問題是,SimpleButton實際上不是爲這種類型的行爲而制定的類。我會建議編寫自己的快速小類,模擬SimpleButton的行爲,但允許您更改子項的外觀。在全局類路徑中編寫像這樣的類可以讓您的未來項目更容易。