我刚刚开始使用混合现实工具包(以前的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脚本的click函数。到目前为止,一切顺利。
我试图对滑块进行类似的操作,因此我将预制件作为对象添加到了Slider Gesture Control
脚本的OnUpdateEvent
中,并选择了其setWaitTime
功能。
我的问题是setWaitTime
函数有一个参数,我可以在检查器中看到它。此参数必须是滑块的实际值。
如何获取滑块的实际值以放置在那里?
答案 0 :(得分:0)
滑块应具有value属性,您可以从中读取。将滑块添加到脚本中,将滑块分配到检查器中的插槽,然后可以从脚本内部访问value属性。