我刚刚开始使用混合现实工具包(以前的Holotoolkit),我正在尝试使用滑块。
所以我用3DTextPrefab,一个Button和一个Slider创建了一个场景。我写了一个脚本并将其附加到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
函数。
每次单击按钮时都会执行此操作,它会调用预制脚本的单击功能。到目前为止,goo。
我尝试用滑块做类似的事情,所以我将预制件作为对象添加到Slider Gesture Control
脚本的OnUpdateEvent
并选择了它的setWaitTime
函数。
我的问题是,setWaitTime
函数有一个参数,我可以在检查器中看到。此参数必须是滑块的实际值。
你如何得到滑块的实际值?
滑块应具有可以读取的value属性。将滑块添加到脚本中,将滑块分配给检查器中的插槽,然后可以从脚本内部访问value属性。