////////////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);
}