Отслеживание кнопки работает один раз, но когда я нажимаю ее второй раз, ничего не происходитC#

Место общения программистов C#
Ответить
Anonymous
 Отслеживание кнопки работает один раз, но когда я нажимаю ее второй раз, ничего не происходит

Сообщение Anonymous »

В Unity у меня есть идея простой игры, в которой, если дочерний объект сталкивается с объектом с тегом «стена» и нажимает кнопку W, родительский объект перемещается к столкнувшемуся объекту. Все работало нормально без нажатия кнопки, когда объект последовательно перемещался к нескольким объектам, но когда я добавил элемент нажатия кнопки, он сработал только один раз, и при повторном нажатии кнопки ничего не происходило.
public class wallcheck : MonoBehaviour
{
private bool trigger = false;
private bool press = false;
public Vector2 pos;
public float hight = 5f;

private void OnTriggerStay2D(Collider2D collision)
{
if (collision.gameObject.tag == "wall")
{
pos = collision.transform.position;
trigger = true;
}
}

private void Update()
{
if (trigger && Input.GetKeyUp(KeyCode.W))
{
press = true;
}

if (trigger && press)
{
transform.parent.position = Vector2.MoveTowards(transform.parent.position, pos, hight * Time.deltaTime);

if (Vector2.Distance(transform.parent.position, pos) < 0.01f)
{
trigger = false;
press = false;
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... ng-happens
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»