微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Update() 之外从 C# 脚本更改滑块的值?

如何解决在 Update() 之外从 C# 脚本更改滑块的值?

由于某种原因,我得到了 nullReferenceException,但在尝试更改 slider.value 的同时,某些代码在 Update() 中运行良好!

所以我创建了一个由一些脚本引用的函数来尝试更改滑块值但总是得到错误

NullReferenceException: Object reference not set to an instance of an object
UIModController.ChangeSliderValue (system.int32 value) (at Assets/scripts/UIModController.cs:145)
ToggleSwitch.Switch () (at Assets/scripts/ToggleSwitch.cs:165)
UnityEngine.Events.InvokableCall.Invoke () (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:166)
UnityEngine.Events.UnityEvent.Invoke () (at C:/buildslave/unity/build/Runtime/Export/UnityEvent_0.cs:58)
UnityEngine.UI.Button.Press () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:66)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:108)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler,UnityEngine.EventSystems.BaseEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:50)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target,UnityEngine.EventSystems.BaseEventData eventData,UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:261)
UnityEngine.EventSystems.EventSystem:Update() (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/EventSystem.cs:377)

出于某种原因,行 SliderController.value = value; 仅适用于 Update() ,这对我不起作用!这是我想从中更改滑块值的函数

public void ChangeSliderValue(int value)
{
    SliderController.value = value;
}

任何帮助将不胜感激:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。