在cocos creator中使用代碼給TileMap地圖塊添加碰撞體


cc.Class({
    extends: cc.Component,

    properties: {
        tiledMap:cc.TiledMap
    },

    // LIFE-CYCLE CALLBACKS:

    onLoad () {
     //開啟物理效果 cc.director.getPhysicsManager().enabled = true; cc.director.getPhysicsManager().debugDrawFlags = true; }, start () { let tiledSize = this.tiledMap.getTileSize(); let layer = this.tiledMap.getLayer("這里填需要添加碰撞體的組名"); let layerSize = layer.getLayerSize(); for(let i = 0;i < layerSize.width;i++){ for (let j = 0; j < layerSize.height; j++) { let tiled = layer.getTiledTileAt(i,j,true); if (tiled.gid != 0) { tiled.node.group = "這里填需要添加碰撞體的組名"; let body = tiled.node.addComponent(cc.RigidBody); body.type = cc.RigidBodyType.Static; let collider = tiled.node.addComponent(cc.PhysicsBoxCollider); collider.offset = cc.v2(tiledSize.width/2,tiledSize.height/2); collider.size = tiledSize; collider.apply(); } } } }, // update (dt) {}, });

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM