cocos createor 2.4.10 物理引擎向上跳穿过时忽略碰撞

export default class Player extends cc.Component{

private _rigidBody:cc.RigidBody;
private _disabledColliders:cc.PhysicsCollider[]=[];

private onLoad():void{
	this._rigidBody=this.node.getComponent(cc.RigidBody);
	this._rigidBody.enabledContactListener=true;//激活接触侦听
}

private onPreSolve(contact:cc.PhysicsContact,selfCollider:cc.PhysicsCollider,otherCollider:cc.PhysicsCollider):void{
	let index=this._disabledColliders.indexOf(otherCollider);
	if(index>-1){
		//此碰撞器已经被忽略碰撞,则直接忽略碰撞
		contact.disabled=true;
	}else{
		let normal=contact.getWorldManifold().normal.mulSelf(-1);
		if(normal.y<-0.7){
			//加入_disabledColliders列表
			this._disabledColliders.push(otherCollider);
			contact.disabled=true;
		}
	}
}

private onEndContact(contact:cc.PhysicsContact,selfCollider:cc.PhysicsCollider,otherCollider:cc.PhysicsCollider):void{
	//接触结束,从_disabledColliders列表中移出
	let index=this._disabledColliders.indexOf(otherCollider);
	if(index>-1)this._disabledColliders.splice(index,1);

}

}

根本就不能解决物理引擎向上跳穿过时忽略碰撞的问题,向上跳到一半的时候,就卡在碰撞器里面了,onEndContact 2个碰撞器还没有完全分开,就执行了,请问怎样办呢?

onBeginContact

能不能解决这个问题

onBeginContact 是开始接触的时候触发的,并不能检测2个碰撞体分开后的事件