У меня есть представление прокрутки, содержащее несколько кнопок в качестве дочерних элементов под панелью содержимого. Иерархия выглядит так:
Я реализовал подобное событие OVRTouchpad.TouchHandler
в своем скрипте, прикрепленном к ScrollView:
void Start()
{
#if OVR && !UNITY_EDITOR
OVRTouchpad.Create();
OVRTouchpad.TouchHandler += HandleTouchHandler;
#endif
}
void HandleTouchHandler (object sender, System.EventArgs e)
{
OVRTouchpad.TouchArgs touchArgs = (OVRTouchpad.TouchArgs)e;
if(touchArgs.TouchType == OVRTouchpad.TouchEvent.Left || touchArgs.TouchType == OVRTouchpad.TouchEvent.Up)
{
// Code to scroll UP for swipe in directions LEFT/UP
}
else if(touchArgs.TouchType == OVRTouchpad.TouchEvent.Right || touchArgs.TouchType == OVRTouchpad.TouchEvent.Down)
{
// Code to scroll DOWN for swipe in directions RIGHT/DOWN
}
}
Проблема:
Поскольку я использую модуль ввода OVR, он обрабатывает Tap
ввода, даже если я пытаюсь провести пальцем. Поэтому каждый раз, когда я прокручиваю в любом направлении, глядя на кнопку (дочерний вид прокрутки). Кнопка нажата, и я попадаю в какое-то другое меню. Я не уверен, что это желаемое поведение системы ввода Gear VR. Как я видел в приложении Oculus Home (и других приложениях в магазине), он только прокручивается, не вызывая щелчков по дочернему элементу.
Есть ли способ предотвратить щелчок/касание при обнаружении смахивания?
Любая помощь высоко ценится.