Touch Move 距离计算/
void
TouchLayer::onTouchMoved(Touch* touch, Event* event)
{
// 计算滑动过程中的滑动增量
auto diff = touch->getDelta();
//手指移动修正,因为手指触摸不像鼠标触摸那么固定
if
(
abs
(diff.x) >5||
abs
(diff.y) >5){
isMoved =
true
;
}
// 得到当前bgSprite的位置
auto currentPos =
this
->getParent()->getPosition();
// 得到滑动后bgSprite应该所在的位置
auto pos = currentPos + diff;
//边界控制,约束pos的位置
pos.x = MIN(pos.x, 0);
pos.x = MAX(pos.x, -1200 + winSize.width);
pos.y = MIN(pos.y, 0);
pos.y = MAX(pos.y, -1000 + winSize.height);
// 重设地图层位置
this
->getParent()->setPosition(pos);
}