Cocos Creator 有两套碰撞系统,其中常用的是物理系统
点击添加组件。物体系统
在要发生碰撞的两个物体身上都添加这个组件
这是物理系统添加的刚体组件
1 为是否开启监听事件 如果不开启 没办法监听碰撞回调
2 是防止物理穿透
Allow Sleep 默认为true 就是指物体只会发生一次碰撞
剩下的不多做解释
使用物理碰撞盒的时候 ,为了使碰撞看起来更加流畅,要修改一下弹性系数,数值视情况而定(数值范围为0~1 数值越大,物体碰撞后发生的反弹现象越明显)
接下来就是要在脚本里开启物理系统(如果不开启物理系统,不会产生物理效果,物理系统只用开启一次)
onLoad () {
//开启物理系统
cc.director.getPhysicsManager().enabled = true;
},
然后使用碰撞回调的方法写出相对操作
// 只在两个碰撞体开始接触时被调用一次
onBeginContact: function (contact, selfCollider, otherCollider) {
console.log('有人碰到了玩家');
},
// 只在两个碰撞体结束接触时被调用一次
onEndContact: function (contact, selfCollider, otherCollider) {
},
// 每次将要处理碰撞体接触逻辑时被调用
onPreSolve: function (contact, selfCollider, otherCollider) {
},
// 每次处理完碰撞体接触逻辑时被调用
onPostSolve: function (contact, selfCollider, otherCollider) {
}