📅  最后修改于: 2023-12-03 14:48:12.294000             🧑  作者: Mango
在 Unity 中,我们可以使用 UI 图像来创建用户界面元素。这些 UI 图像通常被称为精灵(Sprite)。在某些情况下,我们可能需要在运行时更改精灵,例如在游戏中更换角色头像。
在本文中,我们将介绍如何在 Unity 中使用 C# 脚本动态更改精灵。
创建一个 UI 图像元素,将其大小和位置设置为所需值。使用 Sprite Renderer 组件将精灵附加到图像元素上。
![UI 图像元素](https://i.imgur.com/hH66OEh.png)
创建一个 C# 脚本,我们可以在其中编写逻辑以更改精灵。我们将使用 SpriteRenderer.sprite
属性来更改精灵。假设我们已经在项目中准备好了两个精灵,存储在 SpriteA
和 SpriteB
变量中。以下是一个示例脚本:
using UnityEngine;
using UnityEngine.UI;
public class ChangeSprite : MonoBehaviour
{
public Sprite SpriteA;
public Sprite SpriteB;
private Image _image;
private bool _isSpriteA = true;
private void Start()
{
_image = GetComponent<Image>();
}
public void OnButtonClick()
{
if (_isSpriteA)
{
_image.sprite = SpriteB;
_isSpriteA = false;
}
else
{
_image.sprite = SpriteA;
_isSpriteA = true;
}
}
}
将脚本附加到创建的 UI 图像元素上(步骤 1 中创建的元素)。为脚本指定 SpriteA 和 SpriteB 变量的值,这些变量将分别是我们想要在元素上更改的两个精灵。同时,在 UI 图像元素的按钮上指定 OnButtonClick()
方法,这将触发我们在脚本中编写的精灵更改逻辑。
![UI 图像元素 Inspector 面板](https://i.imgur.com/4DMzC0Z.png)
现在,我们可以在场景中运行游戏并点击 UI 图像元素上的按钮,就可以看到精灵在 SpriteA 和 SpriteB 之间切换了。
![精灵更改演示](https://i.imgur.com/pqurTsL.gif)
在本文中,我们学习了如何使用 C# 脚本在 Unity 中动态更改 UI 图像元素的精灵。我们通过在脚本中使用 SpriteRenderer.sprite
属性,可以轻松地在运行时更改精灵。