猫史档案馆


[Box3] 判断方块的正确办法

用户:芜湖咸鱼芜湖咸鱼查看:0 回复:5 评论:0 创建时间:2021-03-01T22:09:34


如果你要判断一个位于x,y,z位置的方块是不是泥土,那么代码可能如下

if(voxels.getVoxel(x,y,z)===voxels.id("dirt")){
  // ...
}

这种代码运行起来似乎没有问题,但是自从方块可以旋转以后,就会有个很难发现的潜在问题:

旋转后的方块ID和正常的不一样

如果判断的方块正好被旋转过,那么voxels.getVoxel检测到的方块ID就和voxels.id得到的结果就会不一致,并且新手一般都没办法发现问题。

你当然可以列举出每一个旋转角度的方块ID,但是除非需要判断方块旋转情况,否则应该没有人会去记旋转过的方块的ID,而且这种需要我至今都没遇到。

那么对于不需要判断方块旋转情况,只注意方块类型的情况下,就应当采用voxels.name(id: number)

这个方喵返回所给ID的方块的名称,而任何旋转角度的dirt(泥土)都叫做dirt,所以就可以准确的判断了,所以上面的代码可以改写为

if(voxels.name(voxels.getVoxel(x,y,z))==="dirt"){
  // ...
}

这个小知识,你get了吗~


回复

上一页1 页 / 共 1下一页
蕉餅電腦蕉餅電腦

沙发

点赞0


评论


淳朴的流星猫ofTt淳朴的流星猫ofTt

地板

点赞0


评论


指令者指令者

地板

点赞0


评论


编程图bug君编程图bug君

板凳

 

点赞0


评论


高贵的木叶龙A35d高贵的木叶龙A35d

ohhhhh(但是感觉有点那啥……)

点赞0


评论