每当玩家与敌人的激光碰撞时,我都试图降低其健康状况,但是我编写的脚本无法正常工作,并且给我以下错误:
资产/脚本/激光/HealthManager.cs(19,21):错误CS0029:无法将void类型隐式转换为UnityEngine.UI.Slider。
有人可以花一些时间查看我的代码并告诉我healthbar为什么不起作用吗?谢谢。
HealthManager脚本:
map
答案 0 :(得分:3)
HealthBar是Slider类型。 CalculatingHealth是一个不会返回任何内容的函数(因此无效)。 您尝试将变量初始化设置为将Slider类型键入为无效值。这是不可能的。
您可以:
float CalculatingHealth()
{
return healthdecrease = CurrentHealth / MaxHealth;
}
还有
HealthBar.value = CalculatingHealth();
注意:https://docs.unity3d.com/ScriptReference/UI.Slider-value.html