V Jednotě jak mohu zastavit věčné matematické výroky?

0

Otázka

Otázka je jednoduchá, ale nemůžu za život mi zjistit.

Moje logika jde takhle

// 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;

        }
    }
}
c# if-statement static unity3d
2021-11-24 04:05:05
1

Nejlepší odpověď

0

Abych byl upřímný, že logika je docela divné.

Proč to bool vlajka, pokud již máte jeden, který chcete hrát? Můžete jednoduše udělat

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; 
}

nebo pokud je tam jen jeden řádek každopádně i

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        StatBase.maxHealth += rstat.maxHealth;
    }
}
2021-11-24 08:08:45

myší klikněte není součástí skutečné logiky. ve hře se hráč bude klepněte na tlačítko jako "přijmout", aby přidělit stat bodu, který pak bude zvýšení, že statistiky množství. Můj problém je, že to bylo v metodě update, takže nezáleželo na tom, co jsem dělal, bylo by to vždy být jen aktivně přidávat. Díky za odpověď i když jsem si pomoci.
joe pace

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................