În Unitate cum pot opri perpetuă matematica declarații?

0

Problema

Întrebarea este simplă, dar nu pot pentru viața de mine, mi dau seama.

Logica mea spune ca aceasta

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

Cel mai bun răspuns

0

Pentru a fi sincer că logica este destul de ciudat.

De ce au acest bool steagul dacă deja ai unul care vă doresc să acționeze? Puteți face pur și simplu

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

sau dacă există doar o singură linie, oricum chiar

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

mouse-ul faceți clic pe nu face parte din logica reală. în joc, jucătorul va faceți clic pe un buton de genul "accept" pentru a aloca un stat punct care apoi va crește statistici sumă. Problema mea este că a fost în metoda de actualizare, astfel că nu contează ce am făcut-o întotdeauna va fi activ adăugarea. Mulțumesc pentru răspuns, deși apreciez ajutorul.
joe pace

În alte limbi

Această pagină este în alte limbi

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