Unity将值发送到UI Slider并更新Slider栏

时间:2016-01-14 14:06:08

标签: c# user-interface unity3d slider

我对Unity很陌生,想知道你是否可以回答这个问题。我知道如何通过脚本和On Value Changed中设置的函数从滑块中获取值。但是可以将值发送回滑块并更新Unity中的滑块位置吗?

2 个答案:

答案 0 :(得分:3)

您使用的是新的Unity UI吗?

Using UnityEngine.UI;

然后您可以使用公共字段访问Slider

public Slider mSlider;

使用Gameobject.Find非常慢,所以尽可能避免这种情况。然后,您可以在编辑器中将滑块游戏对象分配给此变量。

然后在“开始”或“更新”中,您可以像这样分配滑块的值:

mSlider.value = 0.5f;

和滑块的最大值如下:

mSlider.maxValue = 1.0f;

由于滑块值设置为最大值的一半,因此滑块应位于中间

答案 1 :(得分:1)

如果你可以使用GameObject.Find获取滑块,你可以设置它的normalizedValue属性来更新它的位置。

请注意,GameObject.Find不适用于场景中不活跃的对象,因此您可能必须在游戏开始时抓住它并将其分配给稍后可以引用的变量。