自动计算图片的多边形碰撞体,不需要手动点一次按钮

版本:2.4.12

主要代码:

效果:图片内部多边形的points被重新设置了。

下面是game.js的完整代码。

cc.Class({

extends: cc.Component,

editor: {

    executeInEditMode: true,//编辑器里运行脚本代码

},

properties: {

    threshold: {

        default: 3,

        serializable: false,

        visible: false

    },

    pyolnLayer: {

        default: null,

        type: cc.Node,

    },

},

onLoad() {

    var PhysicsUtils = Editor.require('scene://utils/physics');

    this.pyolnLayer.children.forEach(node => {

        if (node) {

            cc.log(`QLD node节点${node.name} 有collider的组件`)

            if (!node.getComponent(cc.Collider)) {

                node.addComponent(cc.PolygonCollider)

            }

            node.getComponent(cc.PolygonCollider).threshold = this.threshold

            PhysicsUtils.resetPoints(node.getComponent(cc.PolygonCollider), {

                threshold: node.getComponent(cc.PolygonCollider).threshold,

                // loop: true

            });

            cc.log("QLD 对节点全部进行了重画...")

        }

    });

},

});

4赞

不错不错。直接一手hitTest 岂不是更香?

hitTest不懂咧 :blush: