触摸响应中Addchild引发断言的问题

游戏中有个sprite,希望能在触摸开始的时候添加到游戏层中并显示在最上层,触摸结束的时候从游戏层中移除。
于是我在onTouchBegan中this->addChild(movePixel, 100, 30),在onTouchEnded中this->removeChildByTag(30)。但是发现AddChild会引发断言child->_parent == nullptr,而在游戏层的init函数中写this->addChild(movePixel, 100, 30)就没有问题,不知问题何在?
虽然setVisible函数也基本能满足我的需求,但是因为只是看不见,会引发一些神奇的问题,或者有没有办法让该sprite不响应触摸?

望各位大大解答。