如何使平台刚体瞬间失效,导致人物穿过刚体下落呢?比如按了某个按钮人物就从平台下落(站立状态下)。

如何使平台刚体瞬间失效,导致人物穿过刚体下落呢?比如按了某个按钮人物就从平台下落(站立状态下)。

使用过onBeginContact,但是需要碰撞条件下才触发,按钮不管用。
使用过sensor为true。但是他会无止境的下落。

这个试过吗
contact.disabled = true;

试过的,contact.disabled = true;就是onBeginContact内调用的嘛,按下不管用,必须要在碰撞后才执行(比如跳起来再接触平台时生效)。唉,要崩溃了~

   let component = this.node.getComponent(cc.PhysicsBoxCollider);
        component.sensor = true;
        component.apply()

记得apply

哇~生效了,可以了,万分感激~~~


可以忽略玩家后续碰到的count个刚体,不管是现在已经碰撞的还是现在还没有碰撞的
缺点是必须关闭玩家的allow sleep

为啥还要调用 component.apply() ,,,,感觉太多余了啊

嗯嗯,onpresolve是自己定义的函数嘛,我用的是js.对ts懂得不太多

用了之后我这边立马生效了,不用update刷新一会儿

文档里面都有啊
// 只在两个碰撞体开始接触时被调用一次
onBeginContact: function (contact, selfCollider, otherCollider) {}
// 只在两个碰撞体结束接触时被调用一次
onEndContact: function (contact, selfCollider, otherCollider) {}
// 每次将要处理碰撞体接触逻辑时被调用
onPreSolve: function (contact, selfCollider, otherCollider) {}
// 每次处理完碰撞体接触逻辑时被调用
onPostSolve: function (contact, selfCollider, otherCollider) {}

哦哦,感谢大佬,只了解过onBeginContact,其他还没用过,新手尴尬

该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。