Unity3d的API中有三种发送消息方法。
SendMessage调用目标本身脚本里的方法,SendMessageUpwards调用目标以及父级脚本里的方法,BroadcastMessage调用目标以及子级脚本里的方法。
对于这三种方法中,最常用的是SendMessage,但是这个方法存在一个问题,就是子级带有Collider组件的时候控制台会报错。即使你disactive子级也会报错。
这里的Cube任意collider组件都一样。
汇报红色Injured的方法没有接收到。
最后的解决方法,自然是将组件移除,就不会报错了,大家有其他方法也可以评论留言!