我正在尝试在其中一款游戏中实现寻路系统,
所以我有以下问题。

我在这里得到了一个不错的ArrayList:

ArrayList<PVector> path = new ArrayList<>();


现在它为空,稍后在Process中填充PVector条目:

{5.0,6.0,0},{5.0,7.0,0},{5.0,8.0,0},{5.0,9.0,0}


那不是很好吗?但是我不能使用它,因为我只需要{5.0,6.0,0}中的5.0...。

我用path.get(0)尝试过...那里我只得到{5.0,6.0,0} ...所以我在这里找到了一些新东西:

path.get(0)[0];也不起作用...因为表达式类型需要为数组,但其解析为对象

那么,如何从索引中获取单个条目? :/
如何从5.0中取出{5.0,6.0,0}

最佳答案

对于此类问题,the reference是您最好的朋友。

但是请记住,path.get(0)返回一个PVector。然后,您可以使用the PVector API定位其位置。像这样:

ArrayList<PVector> path = new ArrayList<PVector>();
//add PVectors to path
PVector p = path.get(0);
float x = p.x;


请注意,我正在使用<PVector>泛型,以便ArrayList知道其拥有的对象类型。 p变量不是必需的;我只是用它来显示path.get()返回PVector。您也可以一行完成:

ArrayList<PVector> path = new ArrayList<PVector>();
//add PVectors to path
float x = path.get(0).x;

09-27 09:41