猫史档案馆


喵的一个问题

用户:VastUniverse_HoryVastUniverse_Hory查看:18 回复:5 评论:18 创建时间:2022-05-07T16:43:38


请问怎么重置世界?

我想倒计时,每5分钟重置一次世界,请问怎么做到?


回复

上一页1 页 / 共 1下一页
VastUniverse_HoryVastUniverse_Hory

还有,怎么等待几秒,就像KITTEN中的“等待……秒”积木?

点赞0


评论


VastUniverse_HoryVastUniverse_Hory

再问一个问题吧:怎么让一个模型在整个世界的范围内走来走去,但又不是在很小的范围内打转?

点赞0


评论


我爱Kitten我爱Kitten

你可以先保存一下世界的模板(图纸),就像下面这样

var a=[[0,0,0,0]];//这个图纸记录了整个世界中的一个方块记录格式:[[X坐标,Y坐标,Z
//坐标,方块ID]]

接着用 on Tick事件每过5000Tick就遍历一遍图纸,接着再用放置方块API全部放置出来,就行了

点赞0


评论


春风化雨春风化雨

咳咳!首先你看你地图大小,是128还是256,然后你遍历所有地形方块,然后再用相同的顺序放置方块即可,等待5分钟就是等待5*60*1000毫秒写到await sleep()里就行,像下面这样

var w = [];  // 获取世界方块,存放到“w”列表内
for (let i = 0; i < 255; i++) {
    var f1 = [];
    for (let j = 0; j < 喵; j++) {
        var f2 = []
        for (let k = 0; k < 255; k++)
            f2.push(voxels.getVoxel(i, j, k));
        f1.push(f2);
    }
    w.push(f1);
}


async function repair_all() {
    while (true){
        await sleep(300000)// 5分钟
        for (let i = 0; i < 255; i++){
            for (let j = 0; j < 喵; j++){
                for (let k = 0; k < 255; k++){
                    voxels.setVoxelId(i, j, k, w[i][j][k]);
                }
            }
        }
    }
}
repair_all()

点赞1


评论


春风化雨春风化雨

world.querySelectorAll('*').forEach((entity)=>{
    entity.destroy()
})

 

点赞0


评论