Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带c#脚本的Unity3d_C#_Unity3d - Fatal编程技术网

带c#脚本的Unity3d

带c#脚本的Unity3d,c#,unity3d,C#,Unity3d,您好,我想在我的unity3d项目中添加一个滑块,我正在使用c#脚本和以下代码 public float hSbarValue; void OnGUI() { hSbarValue = GUI.HorizontalScrollbar(new Rect(25, 25, 100, 30), hSbarValue, 1.0F, 0.0F, 100.0F); } 这画了一个滑块,我必须用鼠标拖动它 我想把它变成一个滑块,它可以自己移动(像乒乓球效果),直到按下一个按钮,然

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

 public float hSbarValue;
 void OnGUI() {
         hSbarValue = GUI.HorizontalScrollbar(new Rect(25, 25, 100, 30), hSbarValue, 1.0F, 0.0F, 100.0F);
    }
这画了一个滑块,我必须用鼠标拖动它

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


非常感谢您提供的任何帮助

您可以尝试使用协同程序来增加其价值,并在按下按钮时终止协同程序。比如:

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

hSbarValue=GUI.HorizontalScrollbar(新的矩形(25,25,100,30),数学乒乓球(时间*5.0f,20),1.0f,0.0f,50.0f)

对我有用。注意,op提到了“乒乓球”效应,你的协同程序只会增加,所以滑块永远不会回到0。(我假设乒乓球意味着来回)@jerdak我没有为他直接编写代码,显然有必要根据他的需要修改它,在乒乓球效果的情况下,他需要检查它是否需要增加或减少。他可以付钱让我写他需要的东西:P