Это следующий вопрос из Проблема с присвоением массива
Теперь у меня есть addcube, сделанный так ... и все работает как положено, когда я печатаю массив. но когда я печатаю назначение AFTER того же индекса в другом классе, оно говорит мне, что они равны 0
. Таким образом, значения не являются «сохранением». Почему это? Как бы я исправить это?
public void addcube(float highx, float lowx, float highz, float lowz){
//Constructing new cube...
System.out.println("f = " + f);
Global.cubes++;
float y = 1.5f;
System.out.println("highx = " + highx + "lowx = " + lowx + "highz = " + highz + "lowz = " + lowz);
//FRONT
Global.camObjCoord[Global.i] = highx;
Global.i++;
System.out.println("cube i = " + Global.i);
}
В обоих случаях я печатаю так ...
int p = 0;
while(p < 72){
System.out.println(Global.camObjCoord[p]);
p++;
}
Global.i = 0
в начале.
Единственными другими местами, на которые ссылается массив, является следующее.
cubeBuff = makeFloatBuffer(Global.camObjCoord);
FloatBuffer makeFloatBuffer(float[] arr) {
ByteBuffer bb = ByteBuffer.allocateDirect(arr.length*4);
bb.order(ByteOrder.nativeOrder());
FloatBuffer fb = bb.asFloatBuffer();
fb.put(arr);
fb.position(0);
return fb;
}
В моем коде нет дальнейших ссылок на массив.
Спасибо.