【cocos2dx 3.8】物理引擎碰撞检测后节点位置变为极大数

本人接触cocos2dx没多久,在做Demo时遇到此奇怪的问题,特来请教大神们。

场景为:
节点A从左向右移动与障碍碰撞。
使用物理引擎检测碰撞,在onContactBegin回调中检测到碰撞则删除与障碍碰撞的节点A,然后再创建一个新的节点A’继续从左向右移动与障碍碰撞,如此往复。

现象:
通过单步调试发现,在onContactBegin回调中创建的节点A’,为其设置的位置还是正确的(此处特意返回false不处理后续碰撞)

在下一帧调用update时却发现此节点A’的位置变成了一个极大数,并且这个节点在经过许多帧的位置变化后,会突然回到onContactBegin中创建节点A’时的位置,并重新正常移动。

临时解决法:
因为我把删除节点,创建新节点的代码放在onContactSeparate里调用其结果也是一样的,所以我自己猜测可能是物理引擎在碰撞结束后还对节点进行了什么操作导致。
在使用DelayTime的Action延迟0.5秒后再创建新节点A’,成功避开了中间一段位置变成极大数的时段。

不过这个问题还是会一直困扰我,因此期望有大神能告知其原理。

自顶,不知是否有大神