作为标题,我一直在改变UI的背景。通过C#统一按钮。可以帮助我:)。我阅读了UI.Button API并看到它有一个名为image的属性。我试图构建一个图像并将其分配给Button。图像,但它没有工作!!
答案 0 :(得分: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;
答案 1 :(得分:0)
我建议不要使用查找(&#34;按钮&#34;),因为它可能导致运行时错误,因为GameObject.Find(objectname)
会中继对象名称并更改名称。 ......可怕的事情可能发生;)
序列化它:
[SerializeField] Button myButton = null;
然后只需将按钮引用拖动到编辑器中带有该指定脚本的对象,然后调用:
myButton.image.color = Color.white;
如果你想改变纹理使用:
myButton.image.sprite = mySprite; //reference sprite in script too
这仅适用于使用Unity 4.6及更高版本且@Zee表示您需要导入UnityEngine.UI
希望有帮助:)