cocos2dx 3.x pageview 滑动优化

前端之家收集整理的这篇文章主要介绍了cocos2dx 3.x pageview 滑动优化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

cocos的pageview 滑动起来相当费力每次都要滑倒屏幕的一般才能滑过去

我们直接修改cocos的源码就可以达到优化的效果

修改cocos/ui/UIPageView.cpp中的void PageView::handleReleaseLogic(Touch *touch)函数

void PageView::handleReleaseLogic(Touch *touch)
{
    if (this->getPageCount() <= 0)
    {
        return;
    }
    Widget* curPage = dynamic_cast<Widget*>(this->getPages().at(_curPageIdx));
    if (curPage)
    {
        Vec2 curPagePos = curPage->getPosition();
        ssize_t pageCount = this->getPageCount();
        float curPageLocation = curPagePos.x;
        float pageWidth = getContentSize().width;
        if (!_usingCustomScrollThreshold) {
            <span style="color:#ff0000;">_customScrollThreshold = pageWidth / 2.0;</span>
        }
        float boundary = _customScrollThreshold;
        if (curPageLocation <= -boundary)
        {
            if (_curPageIdx >= pageCount-1)
            {
                scrollPages(-curPageLocation);
            }
            else
            {
                scrollToPage(_curPageIdx+1);
            }
        }
        else if (curPageLocation >= boundary)
        {
            if (_curPageIdx <= 0)
            {
                scrollPages(-curPageLocation);
            }
            else
            {
                scrollToPage(_curPageIdx-1);
            }
        }
        else
        {
            scrollToPage(_curPageIdx);
        }
    }
}

 <span style="color:#ff0000;">_customScrollThreshold = pageWidth / 2.0;</span>
修改这行代码就可以改变滑动的距离 把它改为_customScrollThreshold = pageWidth / 6.0; 就好滑多了

猜你在找的Cocos2d-x相关文章