用户:Alex79查看:11 回复:15 评论:11 创建时间:2020-08-02T18:38:26
有时我们想让一些建筑物整体整体移动,或作出大陆漂移或大陆下沉的效果,我们该怎么做?
下面直接上我写好注释的代码:
for(var x = 0;x<=喵;x++){ //遍历x区域,我这里遍历的区域是0~喵,可以自行更改
for(var y = 0;y<=50;y++){ //遍历y区域,我这里遍历的区域是0~50,可以自行更改
for(var z = 0;z<=喵;z++){ //遍历z区域,我这里遍历的区域是0~喵,可以自行更改
voxels.setVoxelId(x, y-5, z, voxels.getVoxelId(x,y,z)); //根据遍历的区块,将整个区块的所有方块在指定坐标重建,我这里在原来的基础上把y坐标减了5,就是让大陆整体下沉五格
voxels.setVoxel(x, y, z, 0); //删除旧的区块
}
}
}
这是让大陆上浮下沉,如果想让大陆漂移就可以把第4行的y-5改成x或z
好了!这就行了!很简单吧!!!
效果图:

记得顶帖!!!
Architect_皮卡awafor(var x = 0;x<=64;x++){ //遍历x区域,我这里遍历的区域是0~64,可以自行更改
for(var y = 0;y<=50;y++){ //遍历y区域,我这里遍历的区域是0~50,可以自行更改
for(var z = 0;z<=64;z++){ //遍历z区域,我这里遍历的区域是0~64,可以自行更改
voxels.setVoxelId(x, y-5, z, voxels.getVoxelId(x,y,z)); //根据遍历的区块,将整个区块的所有方块在指定坐标重建,我这里在原来的基础上把y坐标减了5,就是让大陆整体下沉五格
voxels.setVoxel(x, y, z, 0); //删除旧的区块
}
}
}点赞0
评论
芜湖咸鱼我寻思如果你遍历的区域的厚度大于5,那就会盖住下面的方块啊...
所以,我的建议是,把它们整体存起来(比如一个数组),先清除区域,然后遍历数组,用程序更改位置对象的y,然后再次遍历来应用更改
灵感来源: 前端框架的虚拟DOM
点赞1
评论