猫史档案馆


如何用控制台代码速建一个圆形或球体?

用户:Cherry_妍晞Cherry_妍晞查看:6 回复:3 评论:6 创建时间:2022-12-30T08:28:53


在地图的创作端中,我们要如何使用控制台代码,速建一个圆形和球体(分开),而且可以自定义大小、自定义方块类型?

注:不是椭圆

请各位大佬给个代码吧(不要报错a)


回复

上一页1 页 / 共 1下一页
SCS_user_LoeheodVOQSCS_user_LoeheodVOQ

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

点赞0


评论


Cherry_妍晞Cherry_妍晞

点赞0


评论


卑微OIer卑微OIer

function quickmake2(pos,rad,fillFunction){
    /*传入pos类型Box3Vector3,rad半径,fillFuntion同上*/
    for(let x=pos.x-rad;x<=pos.x+rad;x++)
        for(let z=pos.z-rad;z<=pos.z+rad;z++)
            if((x-pos.x)*(x-pos.x)+(z-pos.z)*(z-pos.z)<=rad*rad)
                fillFunction(x,pos.y,z);
}
let fillStyle = (x,y,z) => { // 自定义填充方式,可以更改~
/*这里的填充方式为x坐标的奇偶来选择该方块填充白色或者黑色*/
    if(x%2==0)voxels.setVoxel(x,y,z,'black');
    else voxels.setVoxel(x,y,z,'white');
}
quickmake2(new Box3Vector3(30,30,30),20,fillStyle);



function quickmake2(pos,rad,fillFunction){/*传入pos类型Box3Vector3,rad半径*/
    for(let x=pos.x-rad;x<=pos.x+rad;x++)
        for(let y=pos.y-rad;y<=pos.y+rad;y++)
            for(let z=pos.z-rad;z<=pos.z+rad;z++)
                if((x-pos.x)*(x-pos.x)+(z-pos.z)*(z-pos.z)+(y-pos.y)*(y-pos.y)<=rad*rad)
                    fillFunction(x,y,z);
}
let fillStyle = (x,y,z) => { // 自定义填充方式,可以更改~
/*这里的填充方式为x坐标的奇偶来选择该方块填充白色或者黑色*/
    if(x%2==0)voxels.setVoxel(x,y,z,'black');
    else voxels.setVoxel(x,y,z,'white');
}
quickmake2(new Box3Vector3(100,30,100),10,fillStyle);

点赞0


评论