zxcsqq
如题 求写一个方法:
Location 中的  X Y Z 整形int 包含负数


/**
* @param myLoc 我的位置
* @param a  A点
* @param b  B点
* @Return 如果我位置在A点和B点的区域内 返回true 否则 false

*/
public boolean isRegion(Location myLoc, Location a, Location b){

    ? ? ?

}



William_Shi
首先确保这几个位置,全都在同一个世界内,否则没有意义
然后直接转成向量,再用
https://bukkit.windit.net/javado ... bukkit.util.Vector-
当然也可以是
https://bukkit.windit.net/javado ... bukkit.util.Vector-
但是已有位置的情况下向量更方便

zxcsqq
William_Shi 发表于 2020-8-27 11:18
首先确保这几个位置,全都在同一个世界内,否则没有意义
然后直接转成向量,再用
https://bukkit.windit.ne ...

感谢我先补脑下Vector

天辉胡萝卜
直接比较xyz坐标不行吗?

落花雨喵
  1. public boolean isRegion(Location myLoc, Location a, Location b){
  2.     double minX = Math.min(a.getX(), b.getX());
  3.     double minY = Math.min(a.getY(), b.getY());
  4.     double minZ = Math.min(a.getZ(), b.getZ());
  5.     double maxX = Math.max(a.getX(), b.getX());
  6.     double maxY = Math.max(a.getY(), b.getY());
  7.     double maxZ = Math.max(a.getZ(), b.getZ());
  8.     return myLoc.getX() >= minX && myLoc.getX() <= maxX && myLoc.getY() >= minY && myLoc.getY() <= maxY && myLoc.getZ() >= minZ && myLoc.getZ() <= maxZ;
  9. }
复制代码




南柯郡守
https://bukkit.windit.net/javado ... bukkit.util.Vector-


仔细阅读文档