Résolu Probleme Boucle For dans mon Container
-
Salut, j’ai fait une boucle for, mais mon jeu arrive out of memory, je ne comprends pas pourquoi:
public MinefusContainerPlayer(EntityPlayer player, InventoryPlayer inventoryPlayer, MinefusInventoryPlayer inventoryMinefus) { this.thePlayer = player; int i, j = 1; this.addSlotToContainer(new SlotArmor(player, inventoryPlayer, inventoryPlayer.getSizeInventory() - 1, 118, 7, 0)); this.addSlotToContainer(new SlotArmor(player, inventoryPlayer, inventoryPlayer.getSizeInventory() - 2, 118, 25, 1)); this.addSlotToContainer(new SlotArmor(player, inventoryPlayer, inventoryPlayer.getSizeInventory() - 3, 28, 61, 2)); this.addSlotToContainer(new SlotArmor(player, inventoryPlayer, inventoryPlayer.getSizeInventory() - 4, 28, 79, 3)); for(i = 8 ; i < 99; i =+ 18 & j++){ this.addSlotToContainer(new Slot(inventoryMinefus, j, 8, i)); } this.bindPlayerInventory(inventoryPlayer); }
-
essaie += 18 au lieu de =+ 18 . si ce n’est pas çà je ne peut rien pour toi
-
Merci, plus de probleme mais ca fait plein de slots en trop, j’ai essayé de convertir se code:
this.addSlotToContainer(new Slot(inventoryMinefus, 1, 8, 8)); this.addSlotToContainer(new Slot(inventoryMinefus, 2, 8, 26)); this.addSlotToContainer(new Slot(inventoryMinefus, 3, 8, 44)); this.addSlotToContainer(new Slot(inventoryMinefus, 4, 8, 62)); this.addSlotToContainer(new Slot(inventoryMinefus, 5, 8, 80)); this.addSlotToContainer(new Slot(inventoryMinefus, 6, 8, 98));
Et ca a donné ca:
int i, j = 1; for(i = 8 ; i < 99; i += 18 & j++){ this.addSlotToContainer(new Slot(inventoryMinefus, j, 8, i)); }
C’est correct ?
-
heu je sais pas çà dépend : combien de slot en trop as-tu ?
-
En faite c’est une ligne verticale, en haut plein de slot superposé et en bas normal^^
-
Ce sont des slots (http://gyazo.com/b62dd1d515867dd40be52dfce3368220) ^^ Il y en a … a peine trop ? x)
-
je travaille peu avec les container peut tu me donner quel valeur est associé a quoi dans la commande s’il te plait
-
J c’est l’id du slot et i c’est le y dans le gui
-
@‘sosoh’:
J c’est l’id du slot et i c’est le y dans le gui
Dans ce cas c’est beaucoup plus propre de faire comme ça :
for(i = 8 ; i < 99; i += 18){ this.addSlotToContainer(new Slot(inventoryMinefus, ++j, 8, i)); }
Pour tes slots en trop, met un point d’arret, lance en mode débug et fait une trace pas a pas.
-
ok et inventoryMinefus et le 8 ? est-ce que le container marchait quand tu faisait les commande une par une
-
InventoryMinefus c’est le nom du container, et 8 c’est le x… Et oui cela marchait