[英]How do I replace a background image on a panel in code? C#
在我正在Unity3d中构建的应用程序中,我希望能够让用户为主面板选择背景图像。 目前,当我调试变量时,我得到的是空值。 如果有人可以指出我正确的方向。
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);
谢谢!
要记住的一件事是,没有面板这样的东西。 “但是我只是创造了一个。”我听你说。 当然,Unity让您以为自己做到了。 但是,如果您查看它创建的游戏对象,就会发现它不过是带有RectTransform组件和Image组件的GameObject。
因此,如果要在此面板中添加自己的组件,则要做的只是遵循以下步骤:
Image image = GetComponent<Image>();
image.sprite = mySprite;
因此,如果没有未分配的Background
图片,您的代码几乎就在那里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.