【问题标题】:Have slider value set both by script and in UI using slider handle通过脚本和使用滑块句柄在 UI 中设置滑块值
【发布时间】:2019-01-17 21:03:16
【问题描述】:

所以我的画布上有一个 UI 滑块。我还从脚本中更改滑块的值(以及手柄的位置)。但是现在滑块不能在运行时在 UI 中移动了。一旦我删除了代码中的行,它就会再次起作用。有没有办法在运行时通过鼠标从脚本和 UI 中更改值,即在脚本中更改它时阻止 unity 在 UI 中阻止它?

【问题讨论】:

  • 这应该是可能的 - 请发布阻止您在 UI 中移动滑块的相关代码(以及该特定行),我们可以提供帮助
  • 在没有看到您的代码的情况下,我建议您的脚本在每次更新时设置滑块值,从而覆盖用户尝试的任何更改。确保仅在绝对需要时从脚本更新滑块。

标签: unity3d


【解决方案1】:

@Immersive 绝对正确。该值在每一帧的 Update() 中都发生了更改。对其进行了更改,因此仅在必要时进行更改。 非常感谢。

【讨论】:

    【解决方案2】:
    using UnityEngine;
    using UnityEngine.UI;
    
    public class SliderExample : MonoBehaviour
    {
        public Slider slider;
        public Text displaySliderValue;
    
        private float sliderValue;
    
        private void Update()
        {
            displaySliderValue.text = sliderValue.ToString();
            sliderValue = slider.value;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      相关资源
      最近更新 更多