2015-04-23 108 views

回答

1

假設你在hirerarchy按鈕命名爲按鈕,這應該說是:

GameObject button; 

void Start() { 
button = GameObject.Find("Canvas").transform.Find("button").gameObject; 
} 

爲了設置圖像:

button.GetComponent<Image>().mainTexture = /* Texture goes here */; 

而且不要忘記!在UI元素時,您需要經常調用的UI庫開始你的C#腳本:

using UnityEngine.UI; 
0

我會建議不要使用find(「按鈕」),因爲它可能會導致運行時錯誤,因爲GameObject.Find(objectname)繼電器上,如果你更改名稱....可怕的東西可能發生的對象的名稱;) 序列化,而不是:

[SerializeField] Button myButton = null;

然後只需拖動buttonreference對象與指定的腳本在編輯和電話: myButton.image.color = Color.white;

,如果你想改變紋理使用:

myButton.image.sprite = mySprite; //reference sprite in script too

這隻能如果您使用統一4.6及以上和@Zee說你需要導入UnityEngine.UI

希望有所幫助:)