关于碰撞回调系统的问题

onCollisionEnter里面的参数other不是可以用node的方法来操作吗?但是我在开发过程中发现效果可以出来,但是F12看控制台却会报错,,例子里面我用的tag,我之前用name也是错的

大佬们快来!!!

碰撞系统
other是碰撞组件Collider

所以正确方法应该是other.collider.tag??/

好吧,我看错了,这个报错是说other不存在,你看下是什么原因导致的

打个断点看下other的值或者tab的值存不存在不就完了?

具体怎么做啊

因为不知道所以才问啊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了。