我想断开一个joint,但不删掉它,
按方式1的顺序,joint在游戏里仍然有效,方式2和方式3都是好用的,求大佬解惑
//方式1
joint.connectedBody = null;
joint.enabled = false;
//方式2
joint.enabled = false;
joint.connectedBody = null;
//方式3
joint.enabled = false;
我想断开一个joint,但不删掉它,
按方式1的顺序,joint在游戏里仍然有效,方式2和方式3都是好用的,求大佬解惑
//方式1
joint.connectedBody = null;
joint.enabled = false;
//方式2
joint.enabled = false;
joint.connectedBody = null;
//方式3
joint.enabled = false;
enabled置为false的时候,会执行CCJoint.js里的_destroy,然后会跳到CCPhysicsManager里的_removeJoint,在这里会判断joint.isVaild(),因为方式1先将connectedBody置为null了,导致这里的isVaild返回false,所以不会执行物理引擎的相关关节删除操作,后两种方式isVaild返回的true