Это мой код, чтобы попытаться смоделировать жестом салфетки, поэтому, когда я создаю на мобильный, я знаю, что он будет работать. Ничто не регистрируется, и я смущен тем, почему он, похоже, не работает. Я хочу, чтобы он распечатывался в консоли, чтобы я либо нажал RTL
(справа налево), либо LTR
(слева направо). Я не вижу, что я делаю неправильно.Обнаружение жестового направления жестов
void Update()
{
if (Input.GetMouseButtonDown(0))
{
startPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
if (Input.GetMouseButtonUp(0))
{
endPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
if (startPosition != endPosition && startPosition != Vector3.zero && endPosition != Vector3.zero)
{
float deltaX = endPosition.x - startPosition.x;
float deltaY = endPosition.y - startPosition.y;
if ((deltaX > 5.0f || deltaX < -5.0f) && (deltaY >= -1.0f || deltaY <= 1.0f))
{
if (startPosition.x < endPosition.x)
{
print("LTR");
}
else
{
print("RTL");
}
}
startPosition = endPosition = Vector3.zero;
}
}
У вас слишком много проверок, особенно последний (endPosition! = Zero) не может быть правдой. Используйте флаги вместо drag = true и drag = false – Everts