想做玩家和障碍物的碰撞阻拦,需要给玩家和障碍物添加刚体。但是添加之后还是会穿透,百度后发现玩家的移动不能通过设置坐标实现的,必须要设置刚体速度的方式来实现玩家移动。
1、给玩家、障碍物添加刚体
会看到添加了RigidBody和PhysicsBoxCollider两个组件。 PhysicsBoxCollider的形状决定了两个刚体发生碰撞的范围。
2、玩家的刚体设置。
其中我勾选了第一个,Enabled Cont...这个是用于碰撞检测的。
3、障碍物的刚体设置。
4、代码
onLoad(){
// 开启物理系统
cc.director.getPhysicsManager().enabled = true;
}
onBeginContact:function(contact, selfCollider, otherCollider){
cc.log(otherCollider.node.name);
},
还有别的碰撞函数,这里就懒得放了。
试试这样刚体会发生碰撞而且不会穿透。