2016-04-02 17 views
0

我有包含在動畫片段按鈕中的動態文本框。我設置這樣的文字:buttonA.label_txt.text。但是,當按鈕被擊中時,按鈕的顏色將根據我設置的內容而改變,但文本缺失。如何設置動態文本的屬性?

我已經檢查了文本框的屬性,並且已經確定顏色是黑色的,因爲它應該是。但它仍然缺失。

下面是代碼:

var _list:Array = ["XXXquestionsXXX"]; 
var _marks:Array = []; 
var i:int; 
var myscore = 0; 

question_txt.text = _list[0]; 

buttonA.label_txt.text = "A. Chicken"; 

buttonA.addEventListener(MouseEvent.CLICK, q1); 

function q1(event:MouseEvent):void 
{ 
    if(event.currentTarget == buttonA) 
    { 
     _marks.push(" A. chicken /" + "Correct"); 

     var SelColor1:Number = 0XFFFF0; 
     var myColorTransform1 = new ColorTransform(); 
     myColorTransform1.color = SelColor1; 
     buttonA.transform.colorTransform = myColorTransform1; 
    } 
} 

回答

1

當您使用ColorTransform改變影片剪輯(或任何DisplayObjectContainer)的顏色會影響所有內容的對象,所以你的情況文字變成與背景相同的顏色,並且看不到它。顏色只是你的按鈕的背景,你需要將transform應用到背景物體在您的按鈕,如:

myButton.background_mc.transform.colorTransform = myColorTransform; 

或者可能:

myButton.getChildAt(0).transform.colorTransform = myColorTransform; 
+0

我沒有任何背景對象在我的按鈕。我只是創建一個矩形並將其轉換爲動畫片段。但是,我試圖在按鈕內添加一個小矩形作爲背景並應用第一個建議。什麼都沒有然後我嘗試改變並使用第二種編碼,當光標點擊它時,按鈕的邊框發生了變化,但出現錯誤#Error1006:getChildat不是函數。爲什麼? –

+0

我找出問題所在。第一選擇是爲我工作。但是,框的顏色仍然保留在下一幀。它應該會恢復正常.. –

+0

它不會在正常情況下恢復正常。要恢復正常的顏色轉換:'transform.colorTransform = new ColorTransform()' – Aaron