关于碰撞回调系统的问题

因为不知道所以才问啊2333333,这种问题我还是第一次遇到,编辑器报错但是程序能运行233333

要找问题就打日志或打断点看,原因可能出现在other绑定的节点被删除

我是用other.node.group==“groupname”来判断的,other代表的是碰撞组件collider本身,other.node是挂载碰撞组件的节点

你去检查啊,other的tag是不是1

是1啊,现在情况就是结果能出来,可是不管是other.还是other.node都会报错

哈。。。。?

other.node的话连效果都出不来,依然报错

直接下面第一句打断点都显示错误,可是为什么会把other删除呢???

这得看你代码是怎么处理得,是不是自己把other绑定的节点删掉了

没有,我这代码才刚写这么多,只有这个回调方法里面写了other,其他没有动

按理说这个other不会undefined的,我都怀疑是不是你自己直接调用函数了。
瞧瞧你的Enemy.js的37行写啥了?

37行调用了这个碰撞回调方法,this.onCollisionEnter()

所以错误就是这个啊,你为何要手动调用了,你这个又没参数,other当然是undefined了。

不对吧…

传参了也不对

你参数传啥了,话说,这个函数就不是让你自己调用的,删了吧。

那如果发生碰撞事件调哪个api?

有点理解了,start和onload里的方法是初始化的,所以这样调用会有逻辑错误,这个函数应该是类似于事件监听类的,不需要调用在初始化方法里,谢谢老铁

发生碰撞这个函数会被调用的

你这个方法是碰撞分组的,分组后开启碰撞管理,发生碰撞后会自动调用,不需要手动调用