在我在Unity3d中构建的应用程序中,我希望能够让用户为主面板选择背景图像。目前,我在调试变量时得到null。如果有人能指出我正确的方向。
public Image Background;
public Sprite theImage;
// Use this for initialization
void Start ()
{
theImage = Resources.Load<Sprite>("Sprites/sf1");
Debug.Log(theImage);
Background.GetComponent<Image>().sprite=theImage;
Debug.Log(theImage);
谢谢!
答案 0 :(得分:1)
要记住的一件事是没有面板这样的东西。 “但我刚创造了一个”我听到你说。当然,Unity会让你觉得你做到了。但是如果你看一下它创建的游戏对象,你会发现它只不过是一个带有RectTransform组件和Image组件的GameObject。
因此,如果您要将自己的组件添加到此面板中,那么您需要做的就是
Image image = GetComponent<Image>();
image.sprite = mySprite;
因此,如果不是未分配的Background
图片,那么您的代码几乎就在那里。