多触点问题

local MainScene = class("MainScene", function()
    return display.newScene("MainScene")
end)

function MainScene:ctor()
    local layer = display.newLayer()
    self:addChild(layer);

    layer:setTouchEnabled(true);
    layer:setTouchMode(cc.TOUCH_MODE_ALL_AT_ONCE)
    layer:addNodeEventListener(cc.NODE_TOUCH_EVENT,function(...)
        dump(...)
    end)

end

function MainScene:onEnter()
end

function MainScene:onExit()
end

return MainScene
```


两个手指同时触屏,并不断移动,当一个手指离开屏幕,剩下的一个手指在屏幕无论是继续移动还是抬起,都不再产生触摸事件了。除非剩下的这个手指在新的手指按住屏幕不放时,才能产生新的触摸事件。

请问如何解决这样的问题?

没人遇到这个问题吗?
Mark~~~

找到解决办法了:
在lib/cocos2d-x/cocos2dx/layers_scenes_transitions_nodes/CCSCene.cpp:

void CCScene::ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent)
{
    dispatchingTouchEvent(pTouches, pEvent, CCTOUCHENDED);
    // remove all touching nodes
//    CCLOG("TOUCH ENDED, REMOVE ALL TOUCH TARGETS");
// touches ended之后不要清掉所有触点信息
//    m_touchingTargets->removeAllObjects(); //注释掉这一句
}
```


在CCScene::ccTouchesBegan中已经m_touchingTargets->removeAllObjects一次了。在ccTouchesBegan这里remove all不会产生另外的一个问题:
当一个触点一直按住屏幕移动时,又加入新的触点,旧的触点无论怎么移动,抬起,都没有反应。这个没问题就不去管了。。

这个 已确认