【问题标题】:How do I replace a background image on a panel in code? C#如何在代码中替换面板上的背景图像? C#
【发布时间】:2016-04-28 01:03:03
【问题描述】:

在我在 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);

谢谢!

【问题讨论】:

    标签: c# image unity3d background panel


    【解决方案1】:

    要记住的一点是,没有面板之类的东西。 “但我刚刚创造了一个”我听到你说。当然,Unity 让您认为自己做到了。但是,如果您查看它创建的游戏对象,您会发现它只不过是一个带有 RectTransform 组件和 Image 组件的游戏对象。

    因此,如果您要将自己的组件添加到此面板,您需要做的只是类似于

    Image image = GetComponent<Image>();
    image.sprite = mySprite;
    

    所以你的代码几乎就在那里,如果不是未分配的Backgroundimage。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 2015-06-03
      • 2015-08-26
      • 2014-11-06
      • 1970-01-01
      • 2014-03-19
      • 2013-05-15
      相关资源
      最近更新 更多