Em Unity como faço para parar de perpétua instruções matemática?

0

Pergunta

A pergunta é simples, mas eu não posso para a vida de mim, de descobrir.

A minha lógica é mais ou menos assim

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

Melhor resposta

0

Para ser honesto, essa lógica é muito estranho.

Por ter este bool bandeira se você já tem um que você deseja atuar? Você pode simplesmente fazer

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 se existe apenas uma linha de qualquer forma, mesmo

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

o clique do mouse não é parte da lógica real. no jogo, o jogador irá clicar em um botão do tipo "aceitar" para atribuir um stat ponto que irá aumentar esse estatísticas de quantidade. O meu problema é que no método de atualização, de modo que não importa o que eu estava fazendo seria sempre apenas adicionar ativamente. Obrigado pela resposta que agradeço a ajuda.
joe pace

Em outros idiomas

Esta página está em outros idiomas

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