Ceci est une question de suivi de Problem with array assignmentvaleurs du tableau de float globales ne sont pas les classes
J'ai maintenant addcube fait comme si .. et tous les travaux comme prévu, quand j'imprimer le tableau. mais quand j'imprime AFTER attribution du même indice dans une autre classe Il me dit leur égale à 0
. Donc les valeurs ne sont pas 'économisantes'. Pourquoi est-ce? Comment est-ce que je corrigerais ceci?
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);
}
Dans les deux cas, je suis l'impression comme si ...
int p = 0;
while(p < 72){
System.out.println(Global.camObjCoord[p]);
p++;
}
Global.i = 0
au début.
Les seuls autres endroits, le tableau est référencé est le suivant ..
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;
}
Il n'y a pas refrences plus au tableau dans mon code.
Merci.
Nous ne pouvons pas dire, parce que vous n'avez pas montré le code qui fait l'impression. Je doute beaucoup que cela n'arrive pas à stocker les données. Je soupçonne plutôt que vous imprimez un index différent. –
Question mise à jour avec le code .. – Skizit
@Meowmix: Et qu'est ce que 'Global.i' avant l'appel à' addcube'? Vous nous laissez toujours deviner. Si vous pouviez poster un programme court mais * complet *, je suis sûr que la raison deviendra évidente - mais vous devriez vraiment, vraiment cesser d'utiliser des variables globales comme celle-ci. –