在cocos2dx3.0里面加入了下面多点触摸代码,同时也在对egalview设置了【__glView setMultipleTouchEnabled:YES】,但是下面的回掉还是没有反应,是怎么回事哦。
auto touchListener = EventListenerTouchAllAtOnce::create();
touchListener->onTouchesBegan = ](const std::vector<Touch*>& touchs, Event* event) {
};
touchListener->onTouchesMoved = (const std::vector<Touch*>& touchs, Event* event) {
if (touchs.size() == 2) {
auto layer = m_scrollView->getChildByName(“button_obj”);
auto preP1 = layer->convertToNodeSpace(touchs->getPreviousLocation());
auto preP2 = layer->convertToNodeSpace(touchs->getPreviousLocation());
auto curP1 = layer->convertToNodeSpace(touchs->getLocation());
auto curP2 = layer->convertToNodeSpace(touchs->getLocation());
auto preDis = preP2.getDistance(preP1);
auto curDis = curP2.getDistance(curP1);
auto diff = curDis - preDis;
auto preCenter = (preP1 + preP2) * 0.5f;
auto curCenter = (curP1 + curP2) * 0.5f;
auto center = (preCenter + curCenter) * 0.5f;
//if (diff < 0) {
//zoom out
setScrollViewScale(diff * 0.2, center);
//} else if (diff > 0) {
//zoom in
// setScrollViewScale(diff, center);
//}
}
};
_eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);