En la Unidad ¿cómo puedo dejar de perpetua sentencias matemáticas?

0

Pregunta

La pregunta es simple pero no puedo por la vida de mí, la figura hacia fuera.

Mi lógica es así

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

Mejor respuesta

0

Para ser honesto, la lógica es bastante extraño.

Por qué tiene este bool bandera si usted ya tiene uno desea actuar? Usted puede simplemente hacer

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 si sólo hay una línea de todos modos, incluso

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

el clic del ratón no es parte de la propia lógica. en el juego el jugador se haga clic en un botón como "aceptar" para asignar un punto de estadística, que a su vez aumentará el que las estadísticas de cantidad. Mi problema es que fue en el método de actualización, así que no importa lo que yo estaba haciendo siempre acaba de ser activamente agregando. Gracias por la respuesta, aunque agradezco la ayuda.
joe pace

En otros idiomas

Esta página está en otros idiomas

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