В Unity как мне остановить бесконечные математические утверждения?

0

Вопрос

Вопрос прост, но я ни за что на свете не могу в нем разобраться.

Моя логика звучит так

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

Лучший ответ

0

Честно говоря, эта логика довольно странная.

Почему у меня это bool отметьте, есть ли у вас уже тот, по которому вы хотите действовать? Вы можете просто сделать

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

или если в любом случае есть только одна строка, даже

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

щелчок мыши не является частью реальной логики. в игре игрок нажимает кнопку "принять", чтобы выделить очко статистики, которое затем увеличит эту сумму статистики. Моя проблема в том, что это было в методе обновления, поэтому не имело значения, что я делал, это всегда будет просто активное добавление. Спасибо за ответ, хотя я ценю вашу помощь.
joe pace

На других языках

Эта страница на других языках

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