Dans l'Unité, comment puis-je arrêter perpétuel mathématiques déclarations?

0

La question

La question est simple mais je ne peux pas pour la vie de moi, à le comprendre.

Ma logique, qui va comme ceci

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

La meilleure réponse

0

Pour être honnête, cette logique est assez étrange.

Pourquoi avoir cet bool drapeau si vous déjà avez un, vous voulez agir sur? Vous pouvez simplement faire

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

ou si il y a une seule ligne de toute façon, même

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

le clic de la souris ne fait pas partie de la logique réelle. dans le jeu, le joueur devra cliquer sur un bouton "accepter" pour attribuer un bonus qui augmenteront que les statistiques montant. Mon problème, c'est que c'est dans la méthode de mise à jour de sorte qu'il n'a pas d'importance ce que je fais, il serait toujours activement ajout. Merci pour la réponse, bien que j'apprécie l'aide.
joe pace

Dans d'autres langues

Cette page est dans d'autres langues

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