我尝试获得一个耐力滑块,它的工作就像能量每60秒它从滑块中减去1但是此刻我的脚本等待60秒并且它立刻减去滑块的所有耐力点 我该怎么做才能每60秒工作一次,每60秒从滑块中减1? 这是我的代码
{
"blah0": "zeroblah",
"Array": [
{
"blah1": [
"key1:val1"
],
"foobar0": "barfoo0",
"foobar1": "barfoo1"
}
]
}
答案 0 :(得分:2)
您所要做的就是将该代码放在while
循环中,以便它永远重复,直到您希望它停止为止。
bool keepSubstracting = true;
IEnumerator Start()
{
//Wait for 60 secs.
WaitForSeconds waitTime = new WaitForSeconds(60);
while (keepSubstracting)
{
yield return waitTime;
subtractstam();
}
}
void stop()
{
keepSubstracting = false;
}
答案 1 :(得分:2)
这应该有效,假设您的滑块具有最大值> 5,只附上一个脚本。
void Start ()
{
mySlider.maxValue = 100 ; // If not already set in the inspector
StartCoroutine( subtractStamPeriodically() ) ;
}
private IEnumerator subtractStamPeriodically()
{
WaitForSeconds wait = new WaitForSeconds( 60 ) ;
while( true )
{
yield return wait ;
subtractStam();
}
}
private void subtractStam()
{
mySlider.value -= 5;
}