2015-06-02 139 views
2

我想在Unity編輯器中選擇一種顏色,然後在代碼中設置顏色值以使相應的Unity Editor顏色選擇器顏色成爲GUIStyle顏色。下面是我對這個peice的:使用Unity Editor顏色選擇器在代碼中設置顏色值

public Color FontColor; 
public int FontSize; 

GUIStyle myStyle = new GUIStyle(); 
myStyle.fontSize = FontSize; 
myStyle.normal.textColor = FontColor; 
GUI.Label(new Rect(x * slotSize + stackAmountPosX, y * slotSize + stackAmountPosY, slotSize, slotSize), slotItem.amount.ToString(), myStyle); 

因此,這應該讓我設置爲任何我在Unity編輯器拾色器挑myStyle.normal.textColor。無論我在編輯器中選擇什麼顏色,它都不會呈現文字,甚至不會給我某種錯誤。我花了時間研究這個,並沒有找到任何相關的答案。

編輯:爲了進一步清晰:我沒有創建自己的彩色選擇器。我正在使用Unity 5.0.1f1 64位。也許我的問題不是很清楚。我創建了自己的OWN腳本,當連接到GameObject時,我應該允許我使用Unity Color Picker在檢查器中選擇一種顏色,以將某個變量分配給某種顏色,然後我可以使用該顏色設置文本的顏色。拾色器正常工作。我的腳本工作。但由於某些原因,Unity不會使用FontColor變量來呈現文本。它只會渲染,如果我做Color.Black。如果我使用FontColor變量並從檢查器中的Unity拾色器中選擇顏色(例如黑色),它不會呈現。

編輯:由於顯然我沒有足夠的聲望(我需要在聲望系統上閱讀),我將描述圖像。這是檢查員中Unity的顏色選擇器的圖片,我的變量分配給它。

上圖是使用FontColor變量時檢查器中可用的顏色選擇器。我從這個顏色選擇器中選擇顏色,並且它不呈現文本。如果我直接設置顏色,而不是通過變量,它只會渲染文本。

+0

你得到了什麼錯誤? – Alex

+0

請使用unity3d標籤。 –

+0

好的。這不是一個錯誤。當使用FontColor變量時,它不會在屏幕上顯示文本,但是當我設置Style.normal.textColor = Color.black或任何需要的顏色時,一切正常,但我希望能夠使用public變量,出於某種原因,如果我使用變量而不是Color.xxxxx謝謝,Unity不會渲染文本。請詢問您是否還有其他問題,謝謝! –

回答

1

還記得設置alpha通道,否則顏色將是透明的。

Color picker

+0

完美!萬分感謝! –