W Unity jak mi zatrzymać niekończące matematyczne twierdzenia?

0

Pytanie

Pytanie jest proste, ale ja za nic w świecie nie mogę się w nim połapać.

Moja logika brzmi tak

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

Najlepsza odpowiedź

0

Szczerze mówiąc, ta logika jest dość dziwna.

Dlaczego u mnie to bool zaznacz, czy masz już ten, na którym chcesz działać? Możesz po prostu zrobić

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

lub jeśli w każdym przypadku istnieje tylko jeden wiersz, nawet

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

kliknięcie nie jest częścią prawdziwej logiki. w grze gracz naciska przycisk "akceptuj", aby zaznaczyć punkt statystyk, które następnie zwiększy tę kwotę statystyk. Mój problem polega na tym, że to było w metodzie aktualizacji, więc nie miało znaczenia, co robiłem, to zawsze będzie tylko aktywne dodawanie. Dziękuję za odpowiedź, choć doceniam twoją pomoc.
joe pace

W innych językach

Ta strona jest w innych językach

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