@kurama_1

Как сделать чтоб персонаж при входе в триггер в unity с условием нажатии кнопки выполнял код?

Вот сам код на прикосновение, принт работает, а следующее условие нет, в чем проблема?
void OnTriggerEnter2D(Collider2D coll)
            {
                    if (coll.gameObject.name == "лестница")
                    {
                        print("ударился");
                        if(Input.GetKeyDown(KeyCode.W)){
                            moveVector.y = Input.GetAxis("Vertical");
                            rb.velocity = new Vector2(moveVector.x, moveVector.y * speed);
                        }
                    }

            }
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
@Luctor
Потому что событие OnTriggerEnter2D вызывается только один раз, когда ты входишь в триггер.

Можно реализовать вот так:
private void OnTriggerStay2D(Collider2D collision)
    {
                      if(Input.GetKeyDown(KeyCode.W)){
                            moveVector.y = Input.GetAxis("Vertical");
                            rb.velocity = new Vector2(moveVector.x, moveVector.y * speed);
                        }        
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы