ScrollRect:
Вы можете подписаться на событие ScrollRect onValueChanged
, и оно будет вызываться при изменении ScrollRect
.
public ScrollRect scrollRect;
void OnEnable()
{
scrollRect.onValueChanged.AddListener(ScrollChanged);
}
void OnDisable()
{
scrollRect.onValueChanged.RemoveAllListeners();
}
void ScrollChanged(Vector2 pos)
{
Debug.Log("Scroll changed pos to: " + pos);
}
.или вы можете реализовать интерфейс IScrollHandler
и использовать функцию OnScroll
.Сценарий должен быть прикреплен к GameObject, который имеет компонент ScrollRect
, чтобы он работал.
public class ScrollDetector : MonoBehaviour, IScrollHandler
{
public void OnScroll(PointerEventData eventData)
{
}
}
Полоса прокрутки:
При использованииScrollbar
, тогда функция обратного вызова, которую вы регистрируете с помощью события onValueChanged
, должна использовать float
вместо vector2
в качестве параметра.
void ScrollChanged(float val)
{
}
или реализовать интерфейс IMoveHandler
и использовать OnMove
функция
public class ScrollDetector : MonoBehaviour, IMoveHandler
{
public void OnMove(AxisEventData eventData)
{
}
}