用户:
芜湖咸鱼查看: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了吗~