📜  unity ui 更改精灵 - C# (1)

📅  最后修改于: 2023-12-03 14:48:12.294000             🧑  作者: Mango

Unity UI 更改精灵 - C#

在 Unity 中,我们可以使用 UI 图像来创建用户界面元素。这些 UI 图像通常被称为精灵(Sprite)。在某些情况下,我们可能需要在运行时更改精灵,例如在游戏中更换角色头像。

在本文中,我们将介绍如何在 Unity 中使用 C# 脚本动态更改精灵。

步骤
  1. 创建一个 UI 图像元素,将其大小和位置设置为所需值。使用 Sprite Renderer 组件将精灵附加到图像元素上。

    ![UI 图像元素](https://i.imgur.com/hH66OEh.png)
    
  2. 创建一个 C# 脚本,我们可以在其中编写逻辑以更改精灵。我们将使用 SpriteRenderer.sprite 属性来更改精灵。假设我们已经在项目中准备好了两个精灵,存储在 SpriteASpriteB 变量中。以下是一个示例脚本:

    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;
            }
        }
    }
    
  3. 将脚本附加到创建的 UI 图像元素上(步骤 1 中创建的元素)。为脚本指定 SpriteA 和 SpriteB 变量的值,这些变量将分别是我们想要在元素上更改的两个精灵。同时,在 UI 图像元素的按钮上指定 OnButtonClick() 方法,这将触发我们在脚本中编写的精灵更改逻辑。

    ![UI 图像元素 Inspector 面板](https://i.imgur.com/4DMzC0Z.png)
    
  4. 现在,我们可以在场景中运行游戏并点击 UI 图像元素上的按钮,就可以看到精灵在 SpriteA 和 SpriteB 之间切换了。

    ![精灵更改演示](https://i.imgur.com/pqurTsL.gif)
    
总结

在本文中,我们学习了如何使用 C# 脚本在 Unity 中动态更改 UI 图像元素的精灵。我们通过在脚本中使用 SpriteRenderer.sprite 属性,可以轻松地在运行时更改精灵。