-
Creator 版本:3.6.1
-
目标平台: 模拟器
-
重现方式:
enableAttack(bAttacking: boolean) {
if (bAttacking) {this.weaponCollider.on("onTriggerEnter", this.onTriggerEnter, this); this.weaponCollider.on("onTriggerStay", this.onTriggerStay, this); this.weaponCollider.on("onTriggerExit", this.onTriggerExit, this); } else { this.weaponCollider.off("onTriggerEnter", this.onTriggerEnter, this); this.weaponCollider.off("onTriggerStay", this.onTriggerStay, this); this.weaponCollider.off("onTriggerExit", this.onTriggerExit, this); } this.bAttacking = bAttacking; }
使用情景:
将 collider 当成武器挂接在 player 上,player 播放攻击动画控制 bAttacking 也就是开关武器的碰撞。
通过上面的代码动态开关同一个 collider 的碰撞检测:发现第一次能正常触发 onTriggerEnter,后续碰撞只会触发 onTriggerStay。直到 player 更改位置才能正确触发。