繁体   English   中英

如何用代码替换面板上的背景图像? C#

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM