2013-02-19 60 views
1

你好我想添加一個滑塊到我的unity3d項目,我使用c#腳本和下面的代碼。Unity3d與c#腳本

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

這繪製了一個滑塊,我必須用鼠標拖動它。

我想將它變成一個自己移動的滑塊(如乒乓效果),直到按下按鈕,然後將值存儲在hSbarValue變量中。

任何幫助表示讚賞

回答

0

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

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"); 
+0

感謝您的回答,但這並不適合我 – 2013-02-19 20:18:50

+0

它爲什麼不工作?有錯誤嗎? – 2013-02-19 21:14:56

+0

適合我。值得注意的是,該操作提到了一些關於「乒乓」效果的東西,您的協同程序只會增加,所以滑塊永遠不會回到0.(我假設乒乓來回指示) – Jerdak 2013-02-20 02:48:01