2009-10-21 35 views
0

我正在使用操作腳本3.0在Flash中處理項目。我將圖形轉換爲按鈕,以便可以在整個項目中將它用於各種按鈕,但我無法弄清楚如何僅修改舞臺上新按鈕的實例,而無需修改整個類。例如,如果我的第一個按鈕具有唯一的實例名稱並被稱爲「Click Me」,並將該按鈕的另一個實例拖放到舞臺上並嘗試給它一個新的實例名稱,然後重新標記它以表示「Next」自動修改「Click Me」按鈕以表示「Next」。任何人都可以幫助我,所以我不必爲每個按鈕創建一個新班級?修改操作腳本3.0中的按鈕

回答

0

此行爲很正常。您在庫中創建的按鈕不是實例。當你把它拖到舞臺上時,你正在創建這個實例,但是如果你改變了一些東西,比如替換它中的文本字段,那麼你正在改變這個類。

實現您想要的一種方法是創建一個動畫片段而不是按鈕。然後在你的movieclip裏面添加一個動態文本框。做這個假設裏面的動態文本

myBtn1.buttonMode = true; 
myBtn2.buttonMode = true; 

現在對於每個實例,你可以改變文本框:在您的所有影片剪輯實例(確保它,如果你從庫拖到舞臺上的名稱),添加以下代碼剪輯被稱爲txtLabel:

myBtn1.txtLabel.text = "hello"; 
myBtn2.txtLabel.text = "world"; 

如果你想翻轉狀態,那麼你可以做到這一點,首先添加關鍵幀每個狀態的影片剪輯,這樣做在一個單獨的層underthe文本框,並給他們一個幀標籤對於每個部分:

myBtn1.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver) 

function onMouseOver(e:MouseEvent) 
{ 
    myBtn1.gotoAndStop("OVER_STATE"); 
//can use e.target.gotoAndStop("OVER_STATE") instead so that you can reuse the one 
//function for all buttons. The above is just to illustrate the point. 
} 

另外也可以簡單地擴展SimpleButton類,然後添加一個屬性來更改您在其中創建的動態文本字段。