猫史档案馆


求代码帖,

用户:某只sans喵呀某只sans喵呀查看:266 回复:11 评论:51 创建时间:2022-06-11T12:04:02


建筑师在线求助,

如何在一片圆柱体中的air全部替换成water,

用手搭了一天,就只搭了一点

center_image

最好是给我代码呀


回复

上一页第 1 页 / 共 1 页下一页
某只sans喵呀某只sans喵呀

说实话,搭那个半径123的圆环,我用了一夜,呜呜X﹏X,肝不保呀

点赞0


评论


开心的熊仔开心的熊仔

你用的是手机吗imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%BF%BB%E7%99%BD%E7%9C%BC.gif"alt="emotion_编程猫_翻白眼"

点赞0


评论

不然呢

要我帮忙吗

不用,谢谢

请问可以考律一下进我的工作室吗

算了

恩打扰了

没事

可以互关吗

当然可以

谢谢

我之前帮帮别人建过

嗯,但是这是我进入architect的建筑,我想自己来

那可以麻烦你帮我的工作室多一点人吗

emm,我也不会啊

意思是不知道你愿不愿意进来【不强迫你】只是问问

emm,到时候我把你工作室的的链接放里,OK?

放哪里?

地图里


VisualProgramerVisualProgramer

https://docs.box3.codemao.cn/box3voxels.html  

点赞0


评论

额,好的,我研究一下

有用吗?

没看懂😂


VisualProgramerVisualProgramer

按上面的写之后点运行试试

 

点赞0


评论


VisualProgramerVisualProgramer

试试这个
/* 在指定位置快速建造一个圆柱体 */
function cylinder(vox, cx, cy, cz, radius, height){
    let xend = cx+radius
    let yend = cy+height
    let zend = cz+radius
    for(let x=cx-radius; x<=xend; x++){
    for(let z=cz-radius; z<=zend; z++){
        let dx = x-cx;
        let dz = z-cz;
        if(Math.round(Math.sqrt(dx*dx+dz*dz)) <= radius){
            for(let y=cy; y<yend; y++){
                voxels.setVoxel(x,y,z,vox)
            }
        }
    }}
}

cylinder('stone',63,12,63,10,4)  // 调用方法。在{x:63, y:12, z:63} 位置,建造一个半径10格,高度4格的圆柱体

点赞0


评论

那如何不覆盖原有建筑

APl我都快能背下来了

这个应该就不会覆盖,你用空白地图试试

试过,会覆盖

。。。。。。

要不你给我协作链接?我先看看怎末回事

或者你试试复历史版本

https://shequ.codemao.cn/community/357016

要不你问吉吉喵吧

额,屑吉吉是不会来的,算了,累就累吧

我还剩不到10分钟时间,我先挂机了。明天有时间再说

好的

其实 只需要加个判断 如果这个位置的方块id是0 就填充

你应该知道怎么获取某个位置的方块id吧? (API里有的,你既然已经背过了,就应该会吧?)


开心的熊仔开心的熊仔

下次拉我进你的地图玩行嘛

点赞0


评论

好的,建完之后

嗯嗯,谢谢


调皮的乔治调皮的乔治

for(let x=0;x<126;x++){;  //x坐标的初始与结尾
    for(let y=3;y<9;y++){;  //y坐标的初始与结尾
        for(let z=0;z<126;z++){;  //z坐标的初始与结尾
            let num = voxels.getVoxel(x,y,z); //获取当前方块id
            if (num == 0){;  //判断当前方块是否为air
                voxels.setVoxel(x,y,z,"water");  //将当前方块转换为water
            };
        };
    };
};

点赞0


评论

谢谢!!!!!

az,这不是圆柱体a

把这个设到圆柱的极限值)))

……但是如果圆柱边缘是空气呢……

在吗

咋了

你这个地图是啥主题的(我不是来帮忙的,就是想来问问)

申请加入architect的地图

az不必这么复杂的()

搞个建筑就刑()

房子之类的()

你往回翻翻20年的帖子()

啊喵21年

有我申请加入的帖()


VisualProgramerVisualProgramer

 let num = voxels.getVoxel(x,y,z); //获取当前方块id
            if (num == 0){;  //判断当前方块是否为air
                  function cylinder(vox, cx, cy, cz, radius, height){
                  let xend = cx+radius
                  let yend = cy+height
                  let zend = cz+radius
                  for(let x=cx-radius; x<=xend; x++){
                  for(let z=cz-radius; z<=zend; z++){
                  let dx = x-cx;
                  let dz = z-cz;
                     if(Math.round(Math.sqrt(dx*dx+dz*dz)) <= radius){
                         for(let y=cy; y<yend; y++){
                             voxels.setVoxel(x,y,z,vox)
            }
        }
    }}
}
}

cylinder('stone',63,12,63,10,4)  // 调用方法。在{x:63, y:12, z:63} 位置,建造一个半径10格,高度4格的圆柱体

这应该是圆柱体

点赞0


评论


tiger666250tiger666250

肝帝nb!

点赞2


评论


银河本尊银河本尊

我来,链接

点赞0


评论


SCS_user_LoeheodVOQSCS_user_LoeheodVOQ

用手搭也可以搭快的,有批量建筑工具

点赞0


评论