【问题标题】:crash error in unity using this condition even if has a limit使用此条件统一崩溃错误,即使有限制
【发布时间】:2021-05-01 05:17:54
【问题描述】:

hola,任何人都可以解释我为什么不能使用这个条件? Alguien me puede decir porque no puedo usar esta condicion 吗?

 private void OnTriggerStay(Collider other)
{
    if (other.name == "healerTriger")
        Healing();
}

void Healing()
{
    takingDmg = false;
    do
    {
        hpPlayer = 1 * Time.deltaTime;
    }
    while (hpPlayer< 50);
       

}

he probado if y while y sigue petando , pero no veo porque ya que la condicion tiene limite。 即使条件崩溃统一,但为什么?那里有一个限制.... Big Thz

【问题讨论】:

    标签: loops unity3d while-loop conditional-statements


    【解决方案1】:

    这是你的问题

    void Healing()
    {
        takingDmg = false;
        do
        {
            hpPlayer = 1 * Time.deltaTime; // this does not increate and you are staying in an infinite loop
        }
        while (hpPlayer< 50);
           
    
    }
    

    应该是

    void Healing()
    {
        takingDmg = false;
        do
        {
            hpPlayer += 1 * Time.deltaTime; // just put a "+" in here
        }
        while (hpPlayer< 50);
           
    
    }
    

    【讨论】:

    • 是的,你是的,我把这个函数放在更新中,但是....更新忽略了这个条件,并且总是......通常只有当 hp 小于 50 时才必须运行,对吗?
    • 是的,正确。另外,如果我的回答对您有帮助,请给我一个点并将其标记为答案。
    • 是的,不用担心善意必须得到认可
    • 别忘了将我的答案标记为正确答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多