Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在libgdx中查找两个对象之间的距离_Java_Android_3d_Libgdx - Fatal编程技术网

Java 如何在libgdx中查找两个对象之间的距离

Java 如何在libgdx中查找两个对象之间的距离,java,android,3d,libgdx,Java,Android,3d,Libgdx,在我的LibGdx游戏中,我有Waypoin(ModelInstance),我需要知道它们之间的距离。 我尝试使用Transform.getTranslation(新向量3)但它返回模型的转换。我还没有找到获取模型全局位置的方法。要获取两个向量之间的距离,请使用dst方法: public float dst(Vector3 vector) Specified by: dst in interface Vector<Vector3> Parameters: vector - The o

在我的LibGdx游戏中,我有Waypoin(ModelInstance),我需要知道它们之间的距离。
我尝试使用Transform.getTranslation(新向量3)但它返回模型的转换。我还没有找到获取模型全局位置的方法。

要获取两个向量之间的距离,请使用dst方法:

public float dst(Vector3 vector)
Specified by:
dst in interface Vector<Vector3>
Parameters:
vector - The other vector
Returns:
the distance between this and the other vector

你的游戏是2D还是3D空间? 如果是2D,那么我们可以简单地使用毕达哥拉斯定理并编写我们自己的方法:

double distance(Vector2 object1, Vector2 object2){
    return Math.sqrt(Math.pow((object2.x - object1.x), 2) + Math.pow((object2.y - object1.y), 2));
}

谢谢,看起来不错,这对我很有帮助。以及如何获得模型在全局空间中的位置?您的ModelWrapper实例.getPosition()有一个Vector2.dst(x1,y1,x2,y2)方法。
double distance(Vector2 object1, Vector2 object2){
    return Math.sqrt(Math.pow((object2.x - object1.x), 2) + Math.pow((object2.y - object1.y), 2));
}