怎么判断scrollView往什么方向滑动啊

Layout* ScrollView::getInnerContainer()
getlocation这个方法智能判断当前位置,老版本的guisystem里面有个getStartLocation()和一个getEndLocation()方法可以直接判断
但是2.2.2里面不能判断了

Layout* ScrollView::getInnerContainer()->getPosition()就可以直接获取到里面容器的位置了

typedef enum

{

SCROLLVIEW_EVENT_SCROLL_TO_TOP,

SCROLLVIEW_EVENT_SCROLL_TO_BOTTOM,

SCROLLVIEW_EVENT_SCROLL_TO_LEFT,

SCROLLVIEW_EVENT_SCROLL_TO_RIGHT,

SCROLLVIEW_EVENT_SCROLLING,

SCROLLVIEW_EVENT_BOUNCE_TOP,

SCROLLVIEW_EVENT_BOUNCE_BOTTOM,

SCROLLVIEW_EVENT_BOUNCE_LEFT,

SCROLLVIEW_EVENT_BOUNCE_RIGHT

}ScrollviewEventType;

这么多事件,有你需要的吧

这些事件类型不能判断手势的方向啊

自己计算起始点和一定时间后的移动点的角度。

有没有这方面的例子,我想参考一下,谢谢了

    local function ScrollViewEvent(sender, eventType)
      if eventType == ccui.ScrollviewEventType.scrollToLeft then
      elseif  eventType == ccui.ScrollviewEventType.scrollToRight then
      end
    end
    scrollView:addEventListenerScrollView(ScrollViewEvent)

监听这两个事件就可以了,还是上代码比较实际

self.Scroll.on(‘scrolling’, self.onScrollingEvent, self);
self.Scroll.on(‘scroll-began’, self.onScrollBeganEvent, self);

/**
* 滑动中监听
* @param {any} event
*/
onScrollingEvent(event){
var self = this;
var offsetY = self.Scroll.getComponent(cc.ScrollView).getScrollOffset().y;
console.log("toby: onScrollingEvent = " + event + “,” + offsetY);
if (self.lastoffsetY > offsetY) {
console.log(“toby: onScrollingEvent 向下滑动”);

    }
    else{
        console.log("toby: onScrollingEvent 向上滑动");
        
    }
    self.lastoffsetY = offsetY;
},

/**
 * 滑动开始监听
 * @param {any} event 
 */
onScrollBeganEvent(event){
    var self = this;
    self.lastoffsetY = self.Scroll.getComponent(cc.ScrollView).getScrollOffset().y;
    console.log("toby: onScrollBeganEvent = " + event + "," + self.lastoffsetY); 
},