問題很簡單,但我終其一生都無法弄清楚。
我的邏輯是這樣的
// Static floats are StatBase.maxHealth = 0 and rStat.maxHealth = 70
class rStat : Monobehaviour
{
public bool nomatter = false;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
nomatter = true;
}
if (nomatter == true)
{
healthcalc();
}
void healthcalc()
{
StatBase.maxHealth = rstat.maxHealth; // StatBase.maxHealth should = 70 but the
// number never stops adding
nomatter = false;
}
}
}
uj5u.com熱心網友回復:
說實話,這個邏輯很奇怪。
bool如果你已經有一個你想要采取行動的標志,為什么要擁有這個標志?你可以簡單地做
void Update()
{
if (Input.GetMouseButtonDown(0))
{
healthcalc();
}
}
// in general rather put this on class level and don't nest it under Update
void healthcalc()
{
StatBase.maxHealth = rstat.maxHealth;
}
或者即使只有一行
void Update()
{
if (Input.GetMouseButtonDown(0))
{
StatBase.maxHealth = rstat.maxHealth;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/366556.html
