关闭

如何判断NGUI的ScrollView是否正在移动

标签: scrollview
1467人阅读 评论(0) 收藏 举报
分类:

在实际项目中,我们通常需要判断ScrollView上的item是否正在移动, 在NGUI的3.7.9的版本中,其没有提供这样的属性。ScrollView仅仅提供了下面事件的注册通知:

    /// <summary>
    /// Event callback to trigger when the drag process begins.
    /// </summary>
    public OnDragNotification onDragStarted;
    /// <summary>
    /// Event callback to trigger when the drag process finished. Can be used for additional effects, such as centering on some object.
    /// </summary>
    public OnDragNotification onDragFinished;
    /// <summary>
    /// Event callback triggered when the scroll view is moving as a result of momentum in between of OnDragFinished and OnStoppedMoving.
    /// </summary>
    public OnDragNotification onMomentumMove;
    /// <summary>
    /// Event callback to trigger when the scroll view's movement ends.
    /// </summary>
    public OnDragNotification onStoppedMoving;

它没有提供开始移动的注册通知,所以不大好弄。

其实还有一个更简单的方法:
首先,我们应该了解ScrollView (带上item)滑动或者移动的原理, 其实SrollVieW的滑动或者移动,是移动ScrollView的GameObject的位置,而Scrollview的item其实是作为ScrollView对象的子物体跟随父物体一起移动的。
然后,利用主动查看方法就很容易得到一个ScrollView是否正在移动了,具体的思想就是在update中查看ScrollView物体的位置,如果位置发生变化,就说明移动,如果没有变化,就说明没有移动。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    最新评论