1

您好我想在我的 unity3d 项目中添加一个滑块,我正在使用 c# 脚本和以下代码。

 public float hSbarValue;
 void OnGUI() {
         hSbarValue = GUI.HorizontalScrollbar(new Rect(25, 25, 100, 30), hSbarValue, 1.0F, 0.0F, 100.0F);
    }

这绘制了一个滑块,我必须使用鼠标拖动它。

我想把它变成一个可以自行移动的滑块(如乒乓球效果),直到按下按钮,然后将值存储在hSbarValue变量中。

任何帮助表示赞赏

4

2 回答 2

1

您可以尝试使用协程来增加它的值并在按下按钮时终止协程。就像是:

IEnumerator IncrementValue() {
    while (true) { // Or a better limit
        hSbarValue += someIncrementValue;
        yield return new WaitForSeconds(1); // Or other value
    }
}

void Start {
    StartCoroutine("IncrementValue");
}

// later inside the button press handler
StopCoroutine("IncrementValue");
于 2013-02-19T20:12:32.853 回答
1

hSbarValue = GUI.Horizo​​ntalScrollbar(new Rect(25, 25, 100, 30), Mathf.PingPong(Time.time*5.0f, 20), 1.0F, 0.0F, 50.0F);

于 2013-02-19T20:40:16.327 回答