active后碰撞问题

没用物理引擎
active=true时,两个物体已经相碰
设置active=false时两个会触发onCollisionExit
而再设置active=true时会再次触发onCollisionEnter
我感觉这里有问题,active变化时,不应该再触发碰撞方法吧

个人觉得这样的行为比较符合预期,因为 active 会影响到 collider 组件的 enabled 与否

感觉逻辑上没什么问题呢
你非想看不到的情况还碰撞就设置透明度吧

比如我已经碰撞,这时候设置active=false再acitve=true,这时候又调用onCollisionEnter,然后 我就不知道他们是Y轴先碰的还是X轴先碰的
两个物体A,B相碰,如果是X轴相碰,则将A放在B左侧,如果是Y轴相关,则A放在B上面
但是我不知道他们是Y轴还是X轴先碰的,那么我就不知道他们怎么放置了,不知道描述清楚了没有

看起来我得使用物理系统了

你已经碰撞了,为什么又要重开碰撞组件呢?

什么叫重开碰撞组件,我是碰撞后,设置active=false再active=true
这时候,会重新调用onCollisionEnter,那么我又要计算他们碰撞的过程

设置active是他的父结点,我要隐藏父结点,所以修改active

比如你用 A 组件监听 onCollisionEnter,建议你在 onCollisionEnter 中先判断 this.enabled,然后在必要的时候 this.enabled = false;
这样下次重新 active 时就不会再次执行 onCollisionEnter 中的逻辑。