【发布时间】:2017-08-23 15:29:38
【问题描述】:
我有一个问题,我必须使用静态变量,因为如果我不使用它,如果我使用普通变量,即使我点击游戏对象 3 次,它总是打印(在我 debug.log 的位置)1。它可以工作,但是当我重新加载/加载新场景时,场景变量保持不变,例如 2,但我需要它为 0。 基本上它工作正常,我只需要在再次加载当前场景后重置变量。
public static int end;
void OnMouseDown(){
end +=1;
Debug.Log (end);
if (end == 1) {
Vector2 pos1 = new Vector2 (-6,0);
Instantiate (Redstar,pos1,Quaternion.identity);
}
else if ( end == 2 ) {
Vector2 pos2 = new Vector2 (-5,0);
Instantiate (Redstar, pos2,Quaternion.identity);
}
else if ( end ==3 ) {
Vector2 pos3 = new Vector2 (-4,0);
Instantiate (Redstar, pos3,Quaternion.identity);
GameObject.Find ("ballon").SendMessage ("Finnish");
}
}
【问题讨论】:
-
你使用的是单例脚本吗?
-
我试过了,但没用。你能写给我吗?如果您认为它有效,也许我犯了一个错误
-
如果您没有在脚本中使用 DontDestroyOnLoad 函数,那么 @Woltus 的技巧就可以完成这项工作。
-
你到底要什么?不是很清楚。