Страница 1 из 1

Проигрывание анимации при соблюдении 2 условий

СообщениеДобавлено: 19 окт 2021, 19:07
Amper228
Я уже обращался сюда,мне так к сожелению и не ответили,ну да ладно.Перестраиваю вопрос,как сделать так чтобы анимация проигрывалась при соблюдении двух условий.
Вот скрипт,проблема снизу.Буду очень признателен если хоть кто-то поможет мне ^:)^
Синтаксис:
Используется csharp
public class AnimScript : MonoBehaviour
{
    private Animator anim;

    void Start()
    {
        anim = GetComponent<Animator>();
    }
    void Update()
    {
        if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.S))
        {
            anim.SetBool("IsRun", true);
        }
        else
        {
            anim.SetBool("IsRun", false);
        }

        if (Input.GetKey(KeyCode.A))
        {
            anim.SetBool("IsRunL", true);
        }
        else
        {
            anim.SetBool("IsRunL", false);
        }

        if (Input.GetKey(KeyCode.D))
        {
            anim.SetBool("IsRunR", true);
        }
        else
        {
            anim.SetBool("IsRunR", false);
        }


        if (Input.GetKey(KeyCode.LeftShift))
        {
            anim.SetBool("Run", true);
        }
        else
        {
            anim.SetBool("Run", false);
        }
        if (other.gameObject.layer == 4) && (Input.GetKey(KeyCode.W));
        {
            anim.SetBool("Swim", true);
        }
    }
}

Re: Проигрывание анимации при соблюдении 2 условий

СообщениеДобавлено: 19 окт 2021, 22:18
Alkos26Rus
Синтаксис:
Используется csharp
       if (other.gameObject.layer == 4 && Input.GetKey(KeyCode.W))
        {
            anim.SetBool("Swim", true);
        }

 

Re: Проигрывание анимации при соблюдении 2 условий

СообщениеДобавлено: 21 окт 2021, 00:10
MrDmitry
if (other.gameObject.layer == 4) && (Input.GetKey(KeyCode.W));
{
anim.SetBool("Swim", true);
}



Что такое other? Вероятно этот код был скопирован вами. Использования other наталкивает меня на мысль что данный участок кода должен использоваться не в методе Update а в события связанных с попаданием объекта в триггер или коолайдер

Синтаксис:
Используется csharp
void OnTriggerEnter(Collider other)
if (other.gameObject.layer == 4 && Input.GetKey(KeyCode.W));
        {
            anim.SetBool("Swim", true);
        }
}