const {ccclass, property} = cc._decorator;
@ccclass
export default class NewClass extends cc.Component {
rigi:cc.RigidBody=null;
onLoad () {
this.rigi=this.node.getComponent(cc.RigidBody);
}
onBeginContact(contact:cc.PhysicsContact,selfCollider:cc.PhysicsCollider,otherCollider:cc.PhysicsCollider) {
if(otherCollider.node.name=='foot'){
//this.rigi.active = false;
console.log(this.rigi); //能输出Rigidbody的信息
console.log(this.rigi.active);//输出true
}
}
}
一个球和一个地面!但是设置刚体的active为false是提示box2d.js:7223
Uncaught Error
at b2Body.293.b2Body.SetActive (box2d.js:7223)
at cc_RigidBody.set [as active] (CCRigidBody.js:413)
at NewClass.onBeginContact (barrs.ts:15)
at PhysicsContact.129.PhysicsContact.emit (CCPhysicsContact.js:385)
at PhysicsContactListener._onBeginContact [as _BeginContact] (CCPhysicsManager.js:499)
at PhysicsContactListener.151.PhysicsContactListener.BeginContact (CCPhysicsContactListner.js:58)
at b2PolygonAndCircleContact.293.b2Contact.Update (box2d.js:11896)
at b2World.293.b2World.SolveTOI (box2d.js:21132)
at b2World.293.b2World.Step (box2d.js:20263)
at CCClass.update (CCPhysicsManager.js:213)