Unity2D Как заставить основную камеру непрерывно двигаться вверх по оси Y после того, как я щелкнул левой кнопкой мыши?

Я предлагаю вам отключить собственный подготовленный оператор PDO, поэтому вопросительные знаки будут игнорироваться:

$pdo->setAttribute(\PDO::ATTR_EMULATE_PREPARES, true);
1
задан Grant Scott 9 March 2019 в 17:31
поделиться

1 ответ

Один вариант заключается в использовании сопрограмм:

Coroutine moveCoroutine;
IEnumerator StartMovingUp() {
  float moveSpeed = 2f;
  while(true) {
    transform.Translate(0, moveSpeed * Time.deltaTime, 0);
    yield return null;
  }
}
void Update() {
  if (Input.GetMouseButtonDown(0) && moveCoroutine == null) {
    moveCoroutine = StartCoroutine(StartMovingUp());
  }
}

другой делает это в функции Update с полями для состояния. Что-то еще может сделать код слишком сложным.

bool isMovingUp;
float moveSpeed = 2f;
void Update() {
  if (Input.GetMouseButtonDown(0)) {
    isMovingUp = true;
  }
  if (isMovingUp) {
    transform.Translate(0, moveSpeed * Time.deltaTime, 0);
  }
}
0
ответ дан Gazihan Alankus 9 March 2019 в 17:31
поделиться
Другие вопросы по тегам:

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