[LayaAir 2.0]2d物理引擎onTriggerStay不执行的bug

laya.physics.js文件中

微信截图_20200916022312.png


这个_sendEvent函数中,"_triggered"标签已经用被来区分是Enter还是Stay了。

微信截图_20200916022728.png


而在box2d.b2Contact.prototype.Update函数中,又用"!b"的方式区分了是Begin还是Stay。
这种重复的区分导致onTriggerStay一直无法被调用。
上图红框出,应该去掉"!",改为"b && c && a && a.BeginContact(this);"
已邀请:

Laya_z

赞同来自:

收到,我们确认一下

kylin9718

赞同来自:

1) 一般而言,有 onTriggerEnter 和 onTriggerExit 已经足够了,onTriggerStay 只是预留了接口,并没有真的去实现。
2) onTriggerStay 每帧都会触发,在里面写逻辑特别消耗性能,并不建议使用
3) 我基于 2.8.0beta3 实现了一版,你可以试一下,但我们不会合并到引擎中去。

要回复问题请先

商务合作
商务合作