1

我刚刚开始使用混合现实工具包(以前的 Holotoolkit),我正在尝试使用滑块。

所以我用一个 3DTextPrefab、一个按钮和一个滑块制作了一个场景。我编写了一个脚本并将其附加到 3DTextPrefab。这个脚本是

public class Clicker : MonoBehaviour {

    public GameObject ObjectToShow;
    public float waitTime;

    private void Awake()
    {
        ObjectToShow.SetActive(false);
    }

    public void Click()
    {

        TextMesh tm = ObjectToShow.GetComponent("TextMesh") as TextMesh;

        tm.text = "Hello with parameter" + waitTime;

        ObjectToShow.SetActive(true);
        StartCoroutine(HideAfterTimeout());
    }

    public void setWaitTime(float t)
    {
        waitTime = t;
    }

    IEnumerator HideAfterTimeout()
    {
//        yield return new WaitForSeconds(0.1f);
        yield return new WaitForSeconds(waitTime);
        ObjectToShow.SetActive(false);
    }



}

在按钮中,有“交互式”脚本(默认情况下),所以我将 3dTextPrefab 作为对象添加到OnSelectedEvents列表中并选择了它的Click功能。

每次单击按钮时都会这样做,它会调用 Prefab 脚本的单击函数。到目前为止一切顺利。

我试图用滑块做类似的事情,所以我将预制件作为对象添加到Slider Gesture Control脚本中OnUpdateEvent并选择了它的setWaitTime功能。

我的问题是,该setWaitTime函数有一个参数,我可以在检查器中看到它。此参数必须是滑块的实际值。

您如何获得滑块的实际值以将其放在那里?

4

1 回答 1

0

滑块应该有一个可以读取的值属性。将滑块添加到脚本中,将滑块分配给检查器中的插槽,然后您可以从脚本内部访问 value 属性。

于 2019-02-26T14:41:45.907 回答