在我在 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 组件的游戏对象。
因此,如果您要将自己的组件添加到此面板,您所需要做的就是按照以下方式进行操作
Image image = GetComponent<Image>();
image.sprite = mySprite;
所以,如果不是未分配的背景
图像,您的代码就差不多了。
关于c# - 如何在代码中替换面板上的背景图像? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34929603/