用户:
YDS尹子查看:16 回复:21 评论:16 创建时间:2020-07-02T20:54:42
先上图:
可能略微有些不圆。。不过我尽力了
下面是代码。
注意事项:
blockN是方块名
radius是半径
start是圆心位置
var blockN="water";
var radius=15;
var start={x:喵,y:30,z:喵};
function circle(block,y,rad){
for(let radius=1;radius<=rad;radius++){
for(let angle=0;angle<360;angle++){
var x=Math.round(Math.sin(Math.PI/180*angle)*radius+start.x);
var z=Math.round(Math.cos(Math.PI/180*angle)*radius+start.z);
voxels.setVoxel(x,y,z,blockN);
}
}
voxels.setVoxel(start.x,start.y,start.z,rad);
}
function ball(radiusNum,blockName){
for(let ang=0;ang<=90;ang++){
var radi=Math.round(Math.cos(Math.PI/180*ang)*radiusNum);//把球切片
var slice=Math.round(Math.sin(Math.PI/180*ang)*radiusNum);
circle(blockName,start.y+slice,radi);
circle(blockName,start.y-slice,radi);
}
}
ball(radius,start.y,blockN);
copyright© YDS尹子,All rights reserved.
代码使用愉快!
面具狐狸云绾兮尹子发出来的代码是不能在调试台用的,我给改了一下,其实就是注释删掉就可以了
var blockN="water";
var radius=15;
var start={x:喵,y:30,z:喵};
function circle(block,y,rad){
for(let radius=1;radius<=rad;radius++){
for(let angle=0;angle<360;angle++){
var x=Math.round(Math.sin(Math.PI/180*angle)*radius+start.x);
var z=Math.round(Math.cos(Math.PI/180*angle)*radius+start.z);
voxels.setVoxel(x,y,z,blockN);
}
}
voxels.setVoxel(start.x,start.y,start.z,rad);
}
function ball(radiusNum,blockName){
for(let ang=0;ang<=90;ang++){
var radi=Math.round(Math.cos(Math.PI/180*ang)*radiusNum);
var slice=Math.round(Math.sin(Math.PI/180*ang)*radiusNum);
circle(blockName,start.y+slice,radi);
circle(blockName,start.y-slice,radi);
}
}
ball(radius,start.y,blockN);点赞0
评论