如何检测用户何时单击我的滑块而不是单独滑动?

时间:2016-07-12 16:41:25

标签: c# unity3d slider unity5

我正在使用Slider控件来获取Unity用户的反馈。我知道如何检测用户在滑动箭头时何时更改滑块的值。

但是,我似乎找不到一种方法来检测用户是否只是点击滑块的当前位置,如果他们不想移动它。我想避免添加其他视觉控件。

有没有办法检测用户何时点击滑块?

3 个答案:

答案 0 :(得分:2)

来自https://docs.unity3d.com/ScriptReference/UI.Selectable.OnPointerDown.html

从那里你可以检查滑块的值是否已经改变,看看用户是否点击了当前位置。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;// Required when using Event data.

public class ExampleClass : MonoBehaviour, IPointerDownHandler// required interface when using the OnPointerDown method.
{
    //Do this when the mouse is clicked over the selectable object this script is attached to.
    public void OnPointerDown (PointerEventData eventData) 
    {
        Debug.Log (this.gameObject.name + " Was Clicked.");
    }
}

答案 1 :(得分:0)

答案 2 :(得分:-1)

您需要使用事件触发器并选择指针Click and End Drag。 我有同样的问题,我解决了这个问题。

enter image description here