我有2个循环,一个循环永远继续,另一个循环在该循环内,它应该等待变量“月”改变。继承人的代码
int monthc = 0;
while (true) {
monthc = time.month + 1;
while(monthc != time.month){
Debug.Log (monthc + " " + time.month);
yield return new WaitForSeconds (0.1f);
}
monthc = 0;
payment = loan * interest;
money.Money = money.Money - payment;
}
如果你想知道什么收益率返回新的WaitForSeconds(0.1f);它的类型与thread.sleep(100);。
相同不确定是否需要时间等级,所以无论如何我都会包含它;
public static int daytime = 1;
public static int month = 1;
public static int year = 1;
public static float speed = 2f;
Text text;
IEnumerator Time(){
while (true) {
daytime++;
yield return new WaitForSeconds (speed);
if (daytime == 31) {
daytime = 0;
month++;
}
if (month == 13) {
year++;
month = 0;
}
}
}
我也会喜欢任何反馈,以提高效率。
答案 0 :(得分:2)
至少有一个问题出在这里:
monthc = time.year + 1;
while(monthc != time.year + 1){
....
您正在将monthc
更改为等于time.year + 1
,因此它们始终相等,因此永远不会进入内部while循环。