c# - 如何在代码中替换面板上的背景图像? C#

标签 c# image unity-game-engine background panel

在我在 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/

相关文章:

C# 创建包含多个文件的 ZIP 存档

c# - 如何使用 C# 在 PC 上模拟 PS4 Controller 的操纵杆?

c# - 为什么我不能将一个游戏对象分配给另一个游戏对象的公共(public)变量

node.js - 将 websocket 压缩与 uWebSockets.js 和 Websocket-Sharp 结合使用

jquery 3.3.1 未捕获类型错误 : e. indexOf 不是 w.fn.init.w.fn.load 处的函数

C#.NET VS2010 断点不工作

c# - 用于检查给定密码是否至少包含一个数字和一个字母的正则表达式?

C# 登录屏幕 - 在 SQL 表中查找用户并更新字段

python - 在python中检测像素化图像

java - 图像上传 Servlet 在 Chrome 中不工作,但在其他浏览器中工作