如何在Java/libGdx中初始化Vector2数组而不崩溃
我用libGdx(可能与我问的问题无关)画了一个截断的角矩形螺旋,这是为了学习和娱乐。 但后来我遇到了一个问题,即尝试在循环中使用一组Vector2来初始化Vector2数组,以操纵坐标集,从而减少所需的硬代码。多么可悲啊,只要我运行这个程序,它就崩溃了。比如如何在Java/libGdx中初始化Vector2数组而不崩溃,java,arrays,vector,Java,Arrays,Vector,我用libGdx(可能与我问的问题无关)画了一个截断的角矩形螺旋,这是为了学习和娱乐。 但后来我遇到了一个问题,即尝试在循环中使用一组Vector2来初始化Vector2数组,以操纵坐标集,从而减少所需的硬代码。多么可悲啊,只要我运行这个程序,它就崩溃了。比如 Vector2[] vectors = new Vector2[]{ new Vector2(x1,y1), new Vector2(x2,y2), ... }; 及 数组坐标=新数组(); 坐标。添加(
Vector2[] vectors = new Vector2[]{
new Vector2(x1,y1),
new Vector2(x2,y2),
...
};
及
数组坐标=新数组();
坐标。添加(新矢量1(x1,y1));
增加(新向量2(x2,y2));
...
但是,当我硬编码Vector2集时,程序运行流畅。我相信每次初始化这样一个数组时,都会缓存一个数组(一只小猫会死),因此它很容易崩溃
有人能解释一下如何在不崩溃的情况下初始化循环中的内联数组,或者/并解释为什么它容易崩溃吗?您会遇到什么错误?当它运行时,它崩溃了,可能是我在每个循环中创建了太多的点吗?每次大约100点,循环100次。它是如何崩溃的?错误消息是什么?哦,我明白了,我得到了运行时间,因为我初始化了一个无限循环。谢谢你们,你们帮我解决了。我可以问一下,如何从每次初始化数组中保存内存。
Array<Vector2> coordinates = new Array<Vector2>();
coordinates.add(new vec1(x1,y1));
corrdinates.add(new vec2(x2,y2));
...