【Unity】获取Slider组件报错

项目场景:

通过传入数据调整Slider组件的value值,实现血量随数据更新


问题描述

通过GetComponent<>()获取Slider报错

ArgumentException: GetComponent requires that the requested component ‘Slider’ derives from MonoBehaviour or Component or is an interface.

using Tools;
using UI.Base;
using UnityEngine;
using UnityEngine.UIElements;

namespace UI {
    public class MainUI : MonoBehaviour{
        [Header("子界面")]
        [SerializeField]private GameObject HPSlider;
        private Slider slider;
        private new void Start() {
            slider = HPSlider.GetComponent<Slider>();
        }

        private void UpdateHp(Message message) {
                slider.value = (float)message.Body;
        }
    }
}

原因分析:

使用错误的引用using UnityEngine.UIElements;
在这里插入图片描述


解决方案:

使用正确的引用using UnityEngine.UI;
>提示:这里填写该问题的具体解决方案:

posted @ 2023-04-18 16:50  星空探险家  阅读(63)  评论(0)    收藏  举报  来源