我想要一个UI Image
组件来更改单击时显示的精灵。
例如,显示的精灵首先是一个红色框,点击后,我想将其更改为绿色框。
我如何在OnMouseDown()
事件中执行此操作?
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class bbox1 : MonoBehaviour {
public static int x=1;
Image image;
// Use this for initialization
void Start () {
image = GameObject.Find ("box1").GetComponent<Image> ();
}
// Update is called once per frame
void Update () {
}
void OnMouseDown()
{
if (x == 1) {
x=2;
image.sprite = greenbox;
}
}
}
目前在我的脚本中,我不知道如何获得对替换精灵(greenbox
)的引用,因此我可以在image.sprite
上设置它。精灵在我的Assets文件夹中 - 如何加载它?
答案 0 :(得分:1)
听起来你需要的是Resources.Load()
方法,以便加载你希望Image
显示的新精灵。这里有一个关于如何在代码中使用它的想法(让我们说你的精灵资产的路径是&#34; Sprites / GreenBox&#34;):
void OnMouseDown()
{
if (x == 1) {
x=2;
image.sprite = Resources.Load("Sprites/GreenBox") as Sprite;
}
}
希望这有帮助!如果您有任何问题,请告诉我。