在 Unity UI Builder 中动态更改视觉元素的背景图像

Posted

技术标签:

【中文标题】在 Unity UI Builder 中动态更改视觉元素的背景图像【英文标题】:Dynamically Change Visual Element's Background Image in Unity UI Builder 【发布时间】:2022-01-10 07:23:02 【问题描述】:

我想使用脚本在 Unity UI Builder 中添加和删除 Visual Element 背景图像。我知道这一行可以让您在 UI Builder 中动态更改标签的文本:

name_of_my_UI_Builder_Label.text = "Change Label To This Text";

我可以做类似的事情来访问我的背景图片吗?

【问题讨论】:

【参考方案1】:

visualTree.Q("TARGET_ELEMENT").style.backgroundImage = sprite;

【讨论】:

【参考方案2】:
name_of_my_UI_Builder_Label.style.backgroundImage = new StyleBackground(sprite);

【讨论】:

虽然这段代码 sn-p 可以解决问题,including an explanation 将帮助人们理解你的代码建议的原因。 这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review【参考方案3】:

最简单的方法是,

创建一个图像组件。

添加一个脚本,您可以在其中添加您希望显示为背景的精灵。

 `public Sprite[] sprites;
  public int loadIndex
  private Image image;

  private void Start()
  
   image = GetComponent<Image>();
   image.sprite = sprites[loadIndex];  
  

【讨论】:

以上是关于在 Unity UI Builder 中动态更改视觉元素的背景图像的主要内容,如果未能解决你的问题,请参考以下文章

Unity入门Unity中动态控制UI的常规思路以及UI反馈效果(3D画布透明位置交替)

Unity 在运行时更改 UI 图像颜色

在 Unity 中更改分辨率时,如何使我的 UI 文本以我的 2d 对象为中心?

Unity UI Slider 更改 UI 文本

unity3d怎么实现ui动态更新

Unity 动态更换Image图片 && UI自适应