CocosCreator3.x的2D碰撞实例 教程

本文参考文档: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');
    }

 然后放入相关的节点

 然后就有输出了

 结束 有事留言

猜你喜欢

转载自blog.csdn.net/Yourset/article/details/123921494