项目场景:
通过传入数据调整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;