多边形碰撞器会触发多次

  • Creator 版本: <3.8.4>

使用多边形碰撞器时,onBeginContact会触发多次,这个怎么办

这样应该可以吧
在onBeginContact中设置isContacted变量,执行时设置true,只有false才执行。
在onEndContact中isContacted设置为false。

这样试过不行,因为onEndContact时设为false,碰撞体仍在多边形中,还会继续触发碰撞

在onPostSolve中isContacted设置为false。这样呢

好像也是不行的,因为碰撞体在多边形内部就会多次碰撞,相当于触发了好几次的onBeginContact、onEndContact,如果是box碰撞就可以,但是box也不需要加开关了

那只能在碰撞后的业务中加isContacted处理了。比如子弹碰撞,对子弹进行对象池 回收时,在重置isContacted

如果是激光那种效果怎么办,碰撞的时候不回收子弹,而是继续穿透,这样就又触发多次碰撞了

激光应该用射线检测吧

射线检测是检测一条线吧,我是想发射一种普通的子弹,然后具有穿透的效果,这样能用射线检测吗

用前端的节流方式。或者loading处理逻辑。我测试过了,是可以的