如题 求写一个方法:
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){
? ? ?
}
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){
? ? ?
}
首先确保这几个位置,全都在同一个世界内,否则没有意义
然后直接转成向量,再用
https://bukkit.windit.net/javado ... bukkit.util.Vector-
当然也可以是
https://bukkit.windit.net/javado ... bukkit.util.Vector-
但是已有位置的情况下向量更方便
然后直接转成向量,再用
https://bukkit.windit.net/javado ... bukkit.util.Vector-
当然也可以是
https://bukkit.windit.net/javado ... bukkit.util.Vector-
但是已有位置的情况下向量更方便
William_Shi 发表于 2020-8-27 11:18
首先确保这几个位置,全都在同一个世界内,否则没有意义
然后直接转成向量,再用
https://bukkit.windit.ne ...
感谢我先补脑下Vector
直接比较xyz坐标不行吗?
- public boolean isRegion(Location myLoc, Location a, Location b){
 
-     double minX = Math.min(a.getX(), b.getX());
 
-     double minY = Math.min(a.getY(), b.getY());
 
-     double minZ = Math.min(a.getZ(), b.getZ());
 
-     double maxX = Math.max(a.getX(), b.getX());
 
-     double maxY = Math.max(a.getY(), b.getY());
 
-     double maxZ = Math.max(a.getZ(), b.getZ());
 
-     return myLoc.getX() >= minX && myLoc.getX() <= maxX && myLoc.getY() >= minY && myLoc.getY() <= maxY && myLoc.getZ() >= minZ && myLoc.getZ() <= maxZ;
 
- }