【已解决】拖动精灵时会自动跳到精灵的锚点再移动,如何直接在按下点拖动呢?

刚接触cocos2d-x
试着做一个类似地图的东西,想拖动背景的地图,但是一移动,就会自动按下时的鼠标位置就会跳到精灵的锚点,要怎么解决?
如果我想多个精灵同时拖动,又该怎么做?有没例子可以参考?

这个问题我思考过,可能有点麻烦,
初步想法就是每次TouchBegan时将获取的点击位置设置到精灵的锚点上,移动结束之后再把锚点设回来.
但这样可能麻烦更多,可能拖动时精灵不会跳到锚点再移动了,但是精灵的位置在移动时可能就跑偏了.

后来看了捕鱼3 的每个控件都是拖动时会先跳到精灵锚点再移动的,估计这样做暂时没啥好办法,所以就没往下想了.

记录下鼠标移动的偏移量,移动想要移动的整个层

移动问题我自己找到解决办法了,代码贴出来:

void HelleoWorld::onTouchMoved(Touch *touch, Event event)
{
auto target = static_cast<Sprite
>(event->getCurrentTarget());
target->setPosition(target->getPosition() + touch->getDelta());
}

赞!! 回去试试

赞!!!!赞