关于layer的addChild的疑问

我在layer上添加(addchild)普通sprite和一个继承Sprite类的Hero对象
然后ontouchmove做了背景地图的拖动:
auto touchPos = Common::getTouchPos(touch);
Point touchMove = touchPos - m_lastTouchLoc;
m_lastTouchLoc = touchPos;
this->setPosition(this->getPosition() + touchMove);

发现:
普通sprite会跟着动,Hero对象不会
这是为什么?然后怎么改能使结果相反(普通sprite不动,Hero对象会跟着动)?

拜谢各位了。。。

查到原因是因为Hero对象加了PhysicsBody

auto body = PhysicsBody::createCircle(m_bodyRadius);
//body->setDynamic(false);

body->getShape(0)->setRestitution(10.0f);
body->getShape(0)->setFriction(10.0f);
body->getShape(0)->setDensity(10.0f);

body->setCategoryBitmask(1);
body->setContactTestBitmask(-1); 
body->setCollisionBitmask(-1);

body->setRotationEnable(false);

this->setPhysicsBody(body);

不加PhysicsBody可以解决原问题,但目前是需要PhysicsBody的,还不知道该怎么改。。。