使用物理引擎碰撞出错

void Game::onTouchMoved(Touch * touch, Event * event) {
    //玩家位置
    Point pos = playertouch->getPosition();    
    //目标位置
    Point movepos = pos+touch->getDelta(); 

    //移动到指定位置
    if(movepos.x >= 50 && movepos.x <= 430 && movepos.y <= 750 )        
        playertouch->setPosition(movepos);    
}


```

如上根据屏幕滑动来移动精灵,当移动距离很大的或速度很快的时候回陷进去(如下图所示)
能有什么好的解决办法吗