本文参考文档:2D 物理 · Cocos Creator
能力强者可以直接看
因为准备用cocos写一个寻路的小工具,但是发现新版的cocos其实和2d还是不太一样的,主要区别如下
1、移除了2d的纯碰撞Collider,所有都归于物理碰撞
2、虽然如1,但是碰撞系统氛围Butlin(也就是cocos2.x时期的2d无物理碰撞系统)和Box2D碰撞系统(主要用于物理碰撞)
我的需求就是只要碰撞检测,无需物理相关的,所以按照文档上这样设置就行
也就是在这里
然后再这个地方,你可以设置碰撞组,就和cocos2.x一样
//初始化函数
InitialBlock() {
//注册
// 注册单个碰撞体的回调函数
let collider = this.getComponent(Collider2D);
if (collider) {
//参数1:碰撞类型
//参数2:回调函数
//参数3:信息会返回到哪个脚本(比如this就是这个,一般也是this,这里只做猜测,闲得无聊可以看源码)
collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
}
}
//回调函数
onBeginContact(selfCollider: Collider2D, otherCollider: Collider2D) {
// 只在两个碰撞体开始接触时被调用一次
console.log('onBeginContact');
}
然后放入相关的节点
然后就有输出了
结束 有事留言
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)