猫史档案馆


【代码岛3.0超级干货】区块整体移动,大陆漂移和大陆下沉

用户:Alex79Alex79查看: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

好了!这就行了!很简单吧!!!

效果图:

center_image

记得顶帖!!!


回复

上一页1 页 / 共 1下一页
QBZ_QBZ_

其实这个尹子做过..区域移动

点赞1


评论


指令者指令者

DD

点赞0


评论


Architect_皮卡awaArchitect_皮卡awa

emotion_编程猫_点赞

点赞0


评论


Architect_皮卡awaArchitect_皮卡awa

for(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


评论


CJP理科生全息碎影孙悟空CJP理科生全息碎影孙悟空

emotion_编程猫_厉害了给大佬鼓掌!emotion_西瓜给大佬递西瓜

点赞1


评论


两个小八路小号两个小八路小号

emotion_编程猫_加油

点赞1


评论


流浪银河系流浪银河系

emotion_编程猫_点赞(我是流浪月球的小号)

点赞0


评论


LUS圣武士LUS圣武士

emotion_编程猫_厉害了

点赞0


评论


一个STUB用户_6923702一个STUB用户_6923702

鹅鹅鹅

 

 

点赞0


评论


芜湖咸鱼芜湖咸鱼

我寻思如果你遍历的区域的厚度大于5,那就会盖住下面的方块啊...

所以,我的建议是,把它们整体存起来(比如一个数组),先清除区域,然后遍历数组,用程序更改位置对象的y,然后再次遍历来应用更改

灵感来源: 前端框架的虚拟DOM

点赞1


评论


Architect_海绵Architect_海绵

顶瓜瓜

点赞0


评论


编程梦想家编程梦想家

dd

点赞0


评论


编程梦想家编程梦想家

dd

点赞0


评论


浮生awa浮生awa

顶顶顶·

点赞0


评论


灵清帝王吃爆一切厕所灵清帝王吃爆一切厕所

挖坟

点赞0


评论