Как сделать возможность перемещения вверх и вниз?

Пока есть такая строчка, которая делает постоянный полёт объекта влево:
public GameObject obj;
  private float speed = 10f;
  void Update()
  {
  	StartCoroutine(moveObj());
  }
  IEnumerator moveObj () {
  	yield return new WaitForSeconds(1f);
  	obj.transform.Translate(Vector2.left * speed * Time.deltaTime);
  }

Но как мне сделать так, чтобы я мог управлять объектом ещё вверх и вниз, пока он летит влево, при чём удержанием пальца на экране? Слышал, что делают через IDragHandler.
Не критикуйте строго, я еще учусь, надеюсь на понимание :)
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
DanielMcRon
@DanielMcRon
C# && Unity
Что это такое? Может я уже за день отлетел от новых технологий, сделать курутину чтобы постоянно влево тянуть. Я просто не понимаю зачем вам задержка 1 секунды, но ладно

Кидаете это в апдейт или курутину

float yPoz = Input.GetAxis("Vertical");
Vector2 direction = new Vector2(-1,yPoz);
obj.transform.Translate(direction * speed * Time.deltaTime);

yPoz высчитывает вверх или вниз, а direction направление. Но, тут будет перемещаться плавно вверх или вниз, если же надо резко на 1 единицу, то через KeyCode уже надо

На счёт касаний для андроид, тут уже другой вопрос, но там просто в гугле почитать и вставить код в метод
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы