猫史档案馆


代码岛-教你写代码 周报 第2期

用户:1086DRRalsei1086DRRalsei查看:4 回复:4 评论:4 创建时间:2020-12-19T11:47:36


代码部分:

先给大家道个歉,上周因学业繁忙...

吃瓜群众:别唠叨了

现在开始代码部分:课题是:怎么让玩家碰到的方块破裂?

问我们来认识一个命令:当碰到方块时

//格式:
world.onVoxelContact(({entity,voxel}) => {//这个voxel模块很重要的,不要弄掉!
  //触发的代码
});

刚刚为什么说不能去掉voxel返回值,是因为一会儿要用

//碰到grass(喵方块)
world.onVoxelContact(({entity,voxel,x,y,z}) => {//当玩家接触到方块 tips:因为要玩家位置的方块破裂所以要玩家的xyz坐标
    if (voxel === voxels.id('grass')){
        voxels.setVoxel(x,y,z,0) //0代表空气/破坏
    }
});

 

有人可能注意到了为什么是if (voxel === voxels.id('grass'))

是因为voxel返回的是触碰方块的id ,所以用voxels.id('grass')获取grass方块的id

注意!要区分voxel返回值和voxel模块!!!

课后作业:

怎么碰到岩浆(统一lava02)扣血?

结合上一课内容提交在评论区。

上期内容打开我的主页就能看到了

喵战代码下星期讲~

再见~~~~emotion_雷电猴_嗯嗯emotion_编程猫_加油emotion_星能猫_ye


回复

上一页1 页 / 共 1下一页
1086DRRalsei1086DRRalsei

来这里提交作业~

点赞0


评论


化石茄子的铁镐化石茄子的铁镐

world.onVoxelContact(({entity,voxel}) => {
if (voxel === voxels.id('lava02')){
        entity.hurt(entity.hp)
    }
}

点赞0


评论


该账号已被封禁该账号已被封禁

所以我认为这种的根本没必要讲....

首先onVoxelContact在地图中运用率基本没超过10%

然后onVoxelContact这种应该属于监听事件要少整吧...还要voxel完全可以使用voxels.getVoxel(x,y,z)

你代码里分号写的是中文..

直接用voxels.setVoxel(x,y,z)也是没问题的....

第四个参数好像就是可以不填...

 

点赞1


评论


8个月前的帖。。。。。。。。。

点赞0


评论