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