Input Unity не выдает координаты первого нажатия
У меня в коде с помощью Action в в новой системе ввода узнается координата тапа(игра для андроид), и координаты первого тапа всегда равны (0,0).После первого тапа координаты выдает верно. Как это исправить?
private void Awake()
{
touchControls = new TouchControls();
touchControls.Touch.TouchPress.started += ctx => StartTouch(ctx);
touchControls.Touch.TouchPress.canceled += ctx => EndTouch(ctx);
}
private void StartTouch(InputAction.CallbackContext context)
{
if (OnStartTouch != null)
{
OnStartTouch(touchControls.Touch.TouchPosition.ReadValue<Vector2>(), (float)context.startTime);
}
}
Вот код привязки к событию тапа на экран.
private void OnEnable()
{
inputManager.OnStartTouch += Aiming;
inputManager.OnEndTouch += Shoot;
}
private void Aiming(Vector2 screenPosition,float time)
{
if(firstInput||(!canShoot))
{
return;
}
if (!aiming)
{
startPos = screenPosition;
print(startPos);
aiming = true;
}
}
Это уже в самом скрипте стрельбы начало прицеливания привязывается к событию нажатия на экран
Ответы (1 шт):
Автор решения: drillkillaa
→ Ссылка
В общем поискав информацию в интернете и просмотрев форумы, пришел к выводу что это баг самого фреймворка, много людей пишут об этом, еще не пофиксили.