簡體   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