吐槽:cocos2d-x代码的问题

cocos2d-x-3.2alpha0和cocos2d-x-3.0的代码变化真大,而且某些地方还引入了不少BUG,举个例子:

bool ScrollView::scrollChildrenHorizontal(float touchOffsetX, float touchOffestY)
{
    bool scrollenabled;
    float realOffset = touchOffsetX;
    if (_bounceEnabled)
    {
        float icRightPos = _innerContainer->getRightBoundary();
        if (icRightPos + touchOffsetX <= _bounceRightBoundary)
        {
            realOffset = _bounceRightBoundary - icRightPos;
            scrollToRightEvent();
            scrollenabled = false;
        }
        float icLeftPos = _innerContainer->getLeftBoundary();
        if (icLeftPos + touchOffsetX >= _bounceLeftBoundary)
        {
            realOffset = _bounceLeftBoundary - icLeftPos;
            scrollToLeftEvent();
            scrollenabled = false;
        }
    }
    else
    {
        float icRightPos = _innerContainer->getRightBoundary();
        if (icRightPos + touchOffsetX <= _rightBoundary)
        {
            realOffset = _rightBoundary - icRightPos;
            scrollToRightEvent();
            scrollenabled = false;
        }
        float icLeftPos = _innerContainer->getLeftBoundary();
        if (icLeftPos + touchOffsetX >= _leftBoundary)
        {
            realOffset = _leftBoundary - icLeftPos;
            scrollToLeftEvent();
            scrollenabled = false;
        }
    }
    moveChildren(realOffset, 0.0f);
    return scrollenabled;
}

```


看到问题了吗,第一句bool scrollenabled;没有初始化,最后返回的可能是一个未初始化的值。
再来一个:

bool ScrollView::scrollChildrenVertical(float touchOffsetX, float touchOffsetY)
{
    float realOffset = touchOffsetY;
    bool scrollEnabled = false;
    if (_bounceEnabled)
    {
        float icBottomPos = _innerContainer->getBottomBoundary();
        if (icBottomPos + touchOffsetY >= _bounceBottomBoundary)
        {
            realOffset = _bounceBottomBoundary - icBottomPos;
            scrollToBottomEvent();
            scrollEnabled = false;
        }
        float icTopPos = _innerContainer->getTopBoundary();
        if (icTopPos + touchOffsetY <= _bounceTopBoundary)
        {
            realOffset = _bounceTopBoundary - icTopPos;
            scrollToTopEvent();
            scrollEnabled = false;

        }
    }
    else
    {
        float icBottomPos = _innerContainer->getBottomBoundary();
        if (icBottomPos + touchOffsetY >= _bottomBoundary)
        {
            realOffset = _bottomBoundary - icBottomPos;
            scrollToBottomEvent();
            scrollEnabled = false;
        }
        float icTopPos = _innerContainer->getTopBoundary();
        if (icTopPos + touchOffsetY <= _topBoundary)
        {
            realOffset = _topBoundary - icTopPos;
            scrollToTopEvent();
            scrollEnabled = false;
        }
    }
    moveChildren(0.0f, realOffset);
    return scrollEnabled;
}
```


还是scrollEnabled ,我看不出哪里scrollEnabled 会为True,全部为false,那这个scrollEnabled 有什么意义呢。
今天真是不得不吐槽一下,这么多明显的代码问题,怎么能发布呢,你们把lua-tests里面关于UI控件的Demo都跑一遍,就知道问题所在了。


表示2.2.3的UI动画,动画播放状态永远为false :11: