-
Creator 版本:2.2.2
-
详细报错信息,包含调用堆栈:
-
重现方式:
用户节点下挂刚体组件,在刚体的碰撞回调中将用户节点从TiledLayer上删除
分析:
节点作为User Node加入TiledLayer时,增加了cc.TiledUserNodeData组件,在调用cc.TiledLayer.removeUserNode时会将该组件从节点上删除。
回调时,物理系统会在刚体组件所在节点上迭代寻找同名回调方法,而迭代次数是会包含了待删除cc.TiledUserNodeData组件的,当删除了该组件之后,判断该组件是否有同名方法就会出现这个bug了:
建议判断是否有同名回调方法时,先判断组件是否存在。

