• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Mauvaise taille de GUI

    1.7.x
    1.7.10
    2
    9
    2071
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Algorythmis
      Algorythmis dernière édition par

      Plop 🙂

      Bon, voilà mon problème : le GUI de mon bloc est tout le temps affiché trop petit, du coup les slots sont au mauvais endroits et on ne voit qu’une partie du GUI. (mon image fait 176*188px mais j’ai l’impression que le jeu affiche l’image coupée à (100,100))

      #Classe GUITableAssembly :(Classe GUITableAssembly 🙂

      package sasukz.etheriam.common.gui.blocks;
      
      import net.minecraft.client.gui.inventory.GuiContainer;
      import net.minecraft.client.resources.I18n;
      import net.minecraft.entity.player.InventoryPlayer;
      import net.minecraft.inventory.IInventory;
      import net.minecraft.util.ResourceLocation;
      
      import org.lwjgl.opengl.GL11;
      
      import sasukz.etheriam.common.Etheriam;
      import sasukz.etheriam.common.blocks.tileentities.TETableAssembly;
      import sasukz.etheriam.common.gui.containers.ContTableAssembly;
      
      public class GUITableAssembly extends GuiContainer {
      private static final ResourceLocation texture = new ResourceLocation(
      Etheriam.MODID, "textures/gui/table_assembly.png");
      private TETableAssembly te;
      private IInventory pInv;
      
      public GUITableAssembly(TETableAssembly ta, InventoryPlayer inv) {
      super(new ContTableAssembly(ta, inv));
      te = ta;
      pInv = inv;
      allowUserInput = false;
      xSize = 176;
      ySize = 188;
      }
      
      @Override
      protected void drawGuiContainerBackgroundLayer(float prt, int x, int y) {
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      mc.getTextureManager().bindTexture(texture);
      int k = (width - xSize) / 2,
      l = (height - ySize) / 2;
      drawTexturedModalRect(k, l, 0, 0, xSize, ySize);
      }
      
      @Override
      protected void drawGuiContainerForegroundLayer(int x, int y) {
      String tileName = I18n.format(te.getInventoryName());
      fontRendererObj.drawString(tileName,
      (xSize - fontRendererObj.getStringWidth(tileName)) / 2, 6, 0);
      String invName = pInv.hasCustomInventoryName() ? pInv
      .getInventoryName() : I18n.format(pInv.getInventoryName());
      fontRendererObj.drawString(invName,
      (xSize - fontRendererObj.getStringWidth(invName)) / 2,
      ySize - 96, 0);
      }
      }
      

      Merci d’avance 😛

      Mes mods :

      • Cookie Ore (1.7.10)

      Mod en cours : **E…

      1 réponse Dernière réponse Répondre Citer 0
      • SCAREX
        SCAREX dernière édition par

        C’est l’image qui fait 176188 ou c’est ton fichier .png qui fait 176188 ? Quel est la taille de ton fichier (256x256, 512x512, etc) ?

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

        1 réponse Dernière réponse Répondre Citer 0
        • Algorythmis
          Algorythmis dernière édition par

          @‘SCAREX’:

          C’est l’image qui fait 176188 ou c’est ton fichier .png qui fait 176188 ? Quel est la taille de ton fichier (256x256, 512x512, etc) ?

          Euh l’image c’est mon fichier .png ._.’

          Mes mods :

          • Cookie Ore (1.7.10)

          Mod en cours : **E…

          1 réponse Dernière réponse Répondre Citer 0
          • SCAREX
            SCAREX dernière édition par robin4002

            Ton fichier doit avoir comme taille une puissance de 2 : 128x128, 256x256, 512x512. Une fois fait, tu prend la taille de ton GUI à l’intérieur de l’image et tu regardes sa taille sur une base 256.

            EDIT : regarde cette image.

            0_1537563885589_explication GUI.png

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

            1 réponse Dernière réponse Répondre Citer 0
            • Algorythmis
              Algorythmis dernière édition par

              Faut vraiment que ça soit une puissance de 2? Je pense pas vu qu’y’a ça dans la classe GuiContainer :

              /** The X size of the inventory window in pixels. */
              protected int xSize = 176;
              /** The Y size of the inventory window in pixels. */
              protected int ySize = 166;
              

              Mes mods :

              • Cookie Ore (1.7.10)

              Mod en cours : **E…

              1 réponse Dernière réponse Répondre Citer 0
              • SCAREX
                SCAREX dernière édition par

                Regarde le message au-dessus.

                Effectivement tu peux le mettre dans une autre taille mais ensuite la division sera plus difficile car il faut toujours le mettre sur une base 256. Sauf si ton GUI prend toute ton image, à ce moment là il faudra mettre this.xSize = 256 et this.ySize = 256.

                Site web contenant mes scripts : http://SCAREXgaming.github.io

                Pas de demandes de support par MP ni par skype SVP.
                Je n'accepte sur skype que l…

                1 réponse Dernière réponse Répondre Citer 0
                • Algorythmis
                  Algorythmis dernière édition par

                  Base 256? Wut?

                  Mes mods :

                  • Cookie Ore (1.7.10)

                  Mod en cours : **E…

                  1 réponse Dernière réponse Répondre Citer 0
                  • SCAREX
                    SCAREX dernière édition par

                    La taille de l’image doit être une puissance de 2 : 128x128, 256x256, etc.

                    Ensuite à l’intérieur tu y mets ta texture en mettant de la transparence autour de ta texture (Comme Minecraft : à gauche et en bas).

                    Puis tu récupère la taille de ta texture en pixels. Si ton fichier fait du 256x256, tu peux garder la taille trouvée. En revanche si ton fichier fait du 512x512, alors il faudra diviser par 2, car 512 / 256 = 2.

                    Une fois ces 2 tailles récupérées, tu les mets dans le constructeur de ton Gui : this.xSize et this.ySize.

                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                    Pas de demandes de support par MP ni par skype SVP.
                    Je n'accepte sur skype que l…

                    1 réponse Dernière réponse Répondre Citer 0
                    • Algorythmis
                      Algorythmis dernière édition par

                      Euh… ok.
                      J’ai mis mon GUI sur une image en 256*256 avec fond transparent et ça a résolu le problème.
                      Merci 🙂

                      Mes mods :

                      • Cookie Ore (1.7.10)

                      Mod en cours : **E…

                      1 réponse Dernière réponse Répondre Citer 0
                      • 1 / 1
                      • Premier message
                        Dernier message
                      Design by Woryk
                      Contact / Mentions Légales

                      MINECRAFT FORGE FRANCE © 2018

                      Powered by NodeBB