加點整數pscore每秒
bool keepIncrementing = false;
public static int pscore = 0;
void Start()
{
StartCoroutine(IncementEachSecond());
}
IEnumerator IncementEachSecond()
{
keepIncrementing = true;
while (keepIncrementing)
{
pscore++;
yield return new WaitForSeconds(1);
}
}
void stopIncrementing()
{
keepIncrementing = false;
}
我怎樣才能從腳本中使用傳送一個變量到另一個腳本,而不 靜態
public class ScriptA : MonoBehaviour{
public int pscore = 0;
void Start()
{
}
}
訪問變量pscore
in ScriptA
從ScriptB
。
public class ScriptB : MonoBehaviour{
ScriptA scriptInstance = null;
void Start()
{
GameObject tempObj = GameObject.Find("NameOfGameObjectScriptAIsAttachedTo");
scriptInstance = tempObj.GetComponent<ScriptA>();
scriptInstance.pscore = 5;
}
}
這很奇怪,因爲它現在應該只會每秒增加1分。訪問「pscore」變量的其他代碼段是什麼?聽起來像別的東西的副作用。 –
您是否考慮過不添加定時事件,而是根據需要計算玩家根據時間多少錢? – weston
**不要在Unity中使用靜態**。很顯然你沒有看到這個警告。 – Fattie