In Unità come faccio a interrompere la perpetua matematiche?

0

Domanda

La domanda è semplice ma non posso per la vita di me a capire.

La mia logica è questa

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

Migliore risposta

0

Per essere onesti, che la logica è un po ' strana.

Perché questo bool bandiera se già avere quello che si desidera agire su? Si può semplicemente fare

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

o se c'è solo una linea comunque anche

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

il mouse non fa parte della vera logica. nel gioco il giocatore dovrà fare clic su un pulsante del tipo "accetto" per allocare una stat punto che aumenterà che le statistiche importo. Il mio problema è che è stato il metodo di aggiornamento in modo da non importa quello che stavo facendo, sarebbe sempre e solo essere attivamente aggiunta. Grazie per la risposta anche se apprezzo l'aiuto.
joe pace

In altre lingue

Questa pagina è in altre lingue

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