- Creator 版本: <3.8.4>
使用多边形碰撞器时,onBeginContact会触发多次,这个怎么办
使用多边形碰撞器时,onBeginContact会触发多次,这个怎么办
这样应该可以吧
在onBeginContact中设置isContacted变量,执行时设置true,只有false才执行。
在onEndContact中isContacted设置为false。
这样试过不行,因为onEndContact时设为false,碰撞体仍在多边形中,还会继续触发碰撞
在onPostSolve中isContacted设置为false。这样呢
好像也是不行的,因为碰撞体在多边形内部就会多次碰撞,相当于触发了好几次的onBeginContact、onEndContact,如果是box碰撞就可以,但是box也不需要加开关了
那只能在碰撞后的业务中加isContacted处理了。比如子弹碰撞,对子弹进行对象池 回收时,在重置isContacted
如果是激光那种效果怎么办,碰撞的时候不回收子弹,而是继续穿透,这样就又触发多次碰撞了
激光应该用射线检测吧
射线检测是检测一条线吧,我是想发射一种普通的子弹,然后具有穿透的效果,这样能用射线检测吗
用前端的节流方式。或者loading处理逻辑。我测试过了,是可以的