MFF

    Minecraft Forge France
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Forge Events
      • Auto
      • Dark
      • Light
    • Register
    • Login

    Ajouter un bouton à un GUI

    Scheduled Pinned Locked Moved Solved 1.7.x
    1.7.10
    63 Posts 6 Posters 14.2k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Benjamin LoisonB Offline
      Benjamin Loison
      last edited by

      Mode comme ça ? :')

      ​package fr.altiscraft.altiscraft.common;
      
      import org.lwjgl.opengl.GL11;
      
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.audio.PositionedSoundRecord;
      import net.minecraft.client.audio.SoundHandler;
      import net.minecraft.client.gui.FontRenderer;
      import net.minecraft.client.gui.GuiButton;
      import net.minecraft.client.renderer.OpenGlHelper;
      import net.minecraft.util.ResourceLocation;
      
      @SideOnly(Side.CLIENT)
      public class GuiAC extends GuiButton {
      public GuiAC(int p_i1020_1_, int p_i1020_2_, int p_i1020_3_, String p_i1020_4_) {
      super(p_i1020_1_, p_i1020_2_, p_i1020_3_, p_i1020_4_);
      }
      
      protected static final ResourceLocation buttonTextures = new ResourceLocation(ModAltisCraft.MODID,
      "textures/gui/widgets.png");
      }
      

      >! Développeur de Altis-Life (Arma III) sur Minecraft !
      >! Site web     : https://lemnoslife.com

      1 Reply Last reply Reply Quote 0
      • DiabolicaTrixD Offline
        DiabolicaTrix Correcteurs Moddeurs confirmés
        last edited by

        Essaie comme ça:

        ​package fr.altiscraft.altiscraft.common;
        
        import org.lwjgl.opengl.GL11;
        
        import cpw.mods.fml.relauncher.Side;
        import cpw.mods.fml.relauncher.SideOnly;
        import net.minecraft.client.Minecraft;
        import net.minecraft.client.audio.PositionedSoundRecord;
        import net.minecraft.client.audio.SoundHandler;
        import net.minecraft.client.gui.FontRenderer;
        import net.minecraft.client.gui.GuiButton;
        import net.minecraft.client.renderer.OpenGlHelper;
        import net.minecraft.util.ResourceLocation;
        
        @SideOnly(Side.CLIENT)
        public class GuiAC extends GuiButton {
        
        protected static final ResourceLocation buttonTextures = new ResourceLocation(ModAltisCraft.MODID,
        "textures/gui/widgets.png");
        
        public GuiAC(int p_i1020_1_, int p_i1020_2_, int p_i1020_3_, String p_i1020_4_) {
        super(p_i1020_1_, p_i1020_2_, p_i1020_3_, p_i1020_4_);
        }
        
        @Override
        public GuiAC(int id, int xPosition, int yPosition, int width, int height, String displayString) {
        this.width = 200;
        this.height = 20;
        this.enabled = true;
        this.visible = true;
        this.id = id;
        this.xPosition = xPosition;
        this.yPosition = yPosition;
        this.width = width;
        this.height = height;
        this.displayString = displayString;
        }
        
        public void drawButton(Minecraft mc, int x, int y) {
        if (this.visible) {
        FontRenderer fontrenderer = mc.fontRenderer;
        mc.getTextureManager().bindTexture(buttonTextures);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.field_146123_n = x >= this.xPosition && y >= this.yPosition
        && x < this.xPosition + this.width && y < this.yPosition + this.height;
        int k = this.getHoverState(this.field_146123_n);
        GL11.glEnable(GL11.GL_BLEND);
        OpenGlHelper.glBlendFunc(770, 771, 1, 0);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 46 + k * 20, this.width / 2, this.height);
        this.drawTexturedModalRect(this.xPosition + this.width / 2, this.yPosition, 200 - this.width / 2,
        46 + k * 20, this.width / 2, this.height);
        this.mouseDragged(mc, x, y);
        int l = 14737632;
        
        if (packedFGColour != 0) {
        l = packedFGColour;
        } else if (!this.enabled) {
        l = 10526880;
        } else if (this.field_146123_n) {
        l = 16777120;
        }
        
        this.drawCenteredString(fontrenderer, this.displayString, this.xPosition + this.width / 2,
        this.yPosition + (this.height - 8) / 2, l);
        }
        }
        }
        
        1 Reply Last reply Reply Quote 0
        • SCAREXS Offline
          SCAREX
          last edited by

          Non, il faut ré-écrire la fonction où la texture est dessinée.

          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 Reply Last reply Reply Quote 0
          • Benjamin LoisonB Offline
            Benjamin Loison
            last edited by

            Donc je suis bon SCAREX avec le dernier code que j’ai envoyé ? 🙂

            >! Développeur de Altis-Life (Arma III) sur Minecraft !
            >! Site web     : https://lemnoslife.com

            1 Reply Last reply Reply Quote 0
            • SCAREXS Offline
              SCAREX
              last edited by

              Le “non” était pour ton message, pas pour DiabolicaTrix. Regarde ce qu’a fait DiabolicaTrix.

              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 Reply Last reply Reply Quote 0
              • Benjamin LoisonB Offline
                Benjamin Loison
                last edited by

                Ah ok :') j’ai pris son code mais :

                The annotation @Override is disallowed for this location

                et toujours cette même erreur : Implicit super constructor GuiButton() is undefined. Must explicity invoke another constructor

                >! Développeur de Altis-Life (Arma III) sur Minecraft !
                >! Site web     : https://lemnoslife.com

                1 Reply Last reply Reply Quote 0
                • DiabolicaTrixD Offline
                  DiabolicaTrix Correcteurs Moddeurs confirmés
                  last edited by

                  Elle est où l’erreur?

                  1 Reply Last reply Reply Quote 0
                  • robin4002R Offline
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    last edited by

                    En effet il ne devrait pas avoir de @Override sur le constructeur.

                    1 Reply Last reply Reply Quote 0
                    • DiabolicaTrixD Offline
                      DiabolicaTrix Correcteurs Moddeurs confirmés
                      last edited by

                      Je voulais le mettre sur drawButton mais je me suis trompé, quoique je ne sais pas si il le faut vraiment

                      1 Reply Last reply Reply Quote 0
                      • Benjamin LoisonB Offline
                        Benjamin Loison
                        last edited by

                        Toujours cette erreur : [size=x-smallImplicit super constructor GuiButton() is undefined. Must explicity invoke another constructor ligne 25 sur public GuiAC(…) :]

                        ​package fr.altiscraft.altiscraft.common;
                        
                        import org.lwjgl.opengl.GL11;
                        
                        import cpw.mods.fml.relauncher.Side;
                        import cpw.mods.fml.relauncher.SideOnly;
                        import net.minecraft.client.Minecraft;
                        import net.minecraft.client.audio.PositionedSoundRecord;
                        import net.minecraft.client.audio.SoundHandler;
                        import net.minecraft.client.gui.FontRenderer;
                        import net.minecraft.client.gui.GuiButton;
                        import net.minecraft.client.renderer.OpenGlHelper;
                        import net.minecraft.util.ResourceLocation;
                        
                        @SideOnly(Side.CLIENT)
                        public class GuiAC extends GuiButton {
                        
                        protected static final ResourceLocation buttonTextures = new ResourceLocation(ModAltisCraft.MODID,
                        "textures/gui/widgets.png");
                        
                        public GuiAC(int p_i1020_1_, int p_i1020_2_, int p_i1020_3_, String p_i1020_4_) {
                        super(p_i1020_1_, p_i1020_2_, p_i1020_3_, p_i1020_4_);
                        }
                        
                        public GuiAC(int id, int xPosition, int yPosition, int width, int height, String displayString) {
                        this.width = 200;
                        this.height = 20;
                        this.enabled = true;
                        this.visible = true;
                        this.id = id;
                        this.xPosition = xPosition;
                        this.yPosition = yPosition;
                        this.width = width;
                        this.height = height;
                        this.displayString = displayString;
                        }
                        
                        public void drawButton(Minecraft mc, int x, int y) {
                        if (this.visible) {
                        FontRenderer fontrenderer = mc.fontRenderer;
                        mc.getTextureManager().bindTexture(buttonTextures);
                        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                        this.field_146123_n = x >= this.xPosition && y >= this.yPosition
                        && x < this.xPosition + this.width && y < this.yPosition + this.height;
                        int k = this.getHoverState(this.field_146123_n);
                        GL11.glEnable(GL11.GL_BLEND);
                        OpenGlHelper.glBlendFunc(770, 771, 1, 0);
                        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
                        this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 46 + k * 20, this.width / 2, this.height);
                        this.drawTexturedModalRect(this.xPosition + this.width / 2, this.yPosition, 200 - this.width / 2,
                        46 + k * 20, this.width / 2, this.height);
                        this.mouseDragged(mc, x, y);
                        int l = 14737632;
                        
                        if (packedFGColour != 0) {
                        l = packedFGColour;
                        } else if (!this.enabled) {
                        l = 10526880;
                        } else if (this.field_146123_n) {
                        l = 16777120;
                        }
                        
                        this.drawCenteredString(fontrenderer, this.displayString, this.xPosition + this.width / 2,
                        this.yPosition + (this.height - 8) / 2, l);
                        }
                        }
                        }
                        
                        

                        >! Développeur de Altis-Life (Arma III) sur Minecraft !
                        >! Site web     : https://lemnoslife.com

                        1 Reply Last reply Reply Quote 0
                        • DiabolicaTrixD Offline
                          DiabolicaTrix Correcteurs Moddeurs confirmés
                          last edited by

                          Essaie ça:

                          ​package fr.altiscraft.altiscraft.common;
                          
                          import org.lwjgl.opengl.GL11;
                          
                          import cpw.mods.fml.relauncher.Side;
                          import cpw.mods.fml.relauncher.SideOnly;
                          import net.minecraft.client.Minecraft;
                          import net.minecraft.client.audio.PositionedSoundRecord;
                          import net.minecraft.client.audio.SoundHandler;
                          import net.minecraft.client.gui.FontRenderer;
                          import net.minecraft.client.gui.GuiButton;
                          import net.minecraft.client.renderer.OpenGlHelper;
                          import net.minecraft.util.ResourceLocation;
                          
                          @SideOnly(Side.CLIENT)
                          public class GuiAC extends GuiButton {
                          
                          protected static final ResourceLocation buttonTextures = new ResourceLocation(ModAltisCraft.MODID,
                          "textures/gui/widgets.png");
                          
                             public GuiAC(int id, int xPosition, int yPosition, String nomdubouton)
                             {
                                 super(id, xPosition, yPosition, longueurdubouton, largeurdubouton, nomdubouton);
                             }
                          
                          public void drawButton(Minecraft mc, int x, int y) {
                          if (this.visible) {
                          FontRenderer fontrenderer = mc.fontRenderer;
                          mc.getTextureManager().bindTexture(buttonTextures);
                          GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                          this.field_146123_n = x >= this.xPosition && y >= this.yPosition
                          && x < this.xPosition + this.width && y < this.yPosition + this.height;
                          int k = this.getHoverState(this.field_146123_n);
                          GL11.glEnable(GL11.GL_BLEND);
                          OpenGlHelper.glBlendFunc(770, 771, 1, 0);
                          GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
                          this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 46 + k * 20, this.width / 2, this.height);
                          this.drawTexturedModalRect(this.xPosition + this.width / 2, this.yPosition, 200 - this.width / 2,
                          46 + k * 20, this.width / 2, this.height);
                          this.mouseDragged(mc, x, y);
                          int l = 14737632;
                          
                          if (packedFGColour != 0) {
                          l = packedFGColour;
                          } else if (!this.enabled) {
                          l = 10526880;
                          } else if (this.field_146123_n) {
                          l = 16777120;
                          }
                          
                          this.drawCenteredString(fontrenderer, this.displayString, this.xPosition + this.width / 2,
                          this.yPosition + (this.height - 8) / 2, l);
                          }
                          }
                          
                          }
                          

                          Donc quand tu appelle ça donne: buttonList.add(new GuiAC(0, guiX + 8, guiY + 12 + 5, label));

                          Il faut que tu retire la grandeur du bouton et que tu l’ajoute à la main dans ta classe GuiAC u il est écrit: longueurdubouton, largeurdubouton

                          1 Reply Last reply Reply Quote 0
                          • Benjamin LoisonB Offline
                            Benjamin Loison
                            last edited by

                            C’est bon merci énormément mais sinon j’ai une autre question ^^ comment changer la couleur du message qu’on a mis lorsqu’on passe la souris dessus comme “RETIRER” ?

                            >! Développeur de Altis-Life (Arma III) sur Minecraft !
                            >! Site web     : https://lemnoslife.com

                            1 Reply Last reply Reply Quote 0
                            • DiabolicaTrixD Offline
                              DiabolicaTrix Correcteurs Moddeurs confirmés
                              last edited by

                              Que evux-tu dire: “comme “RETIRER”?”?

                              1 Reply Last reply Reply Quote 0
                              • isadorI Offline
                                isador Moddeurs confirmés Modérateurs
                                last edited by

                                tu parle du changement de texture l’ors du mouseOver? dans ce cas la utilise la fonction isMouseOver et tu rebind la texture

                                1 Reply Last reply Reply Quote 0
                                • DiabolicaTrixD Offline
                                  DiabolicaTrix Correcteurs Moddeurs confirmés
                                  last edited by

                                  public int getHoverState(boolean p_146114_1_)
                                  {
                                  byte b0 = 1;
                                  
                                  if (!this.enabled)
                                  {
                                  b0 = 0;
                                  }
                                  else if (p_146114_1_)
                                  {
                                  b0 = 2;
                                  }
                                  
                                  return b0;
                                  }
                                  

                                  Essaye de bidouiller avec ça, la fonction retourne 1 si le bouton est désactivé, 2 si le bouton est activé et deux si la souris la “survole”

                                  1 Reply Last reply Reply Quote 0
                                  • SCAREXS Offline
                                    SCAREX
                                    last edited by

                                    Il faut regarder la position de la souris, regarde dans la classe GuiButton

                                    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 Reply Last reply Reply Quote 0
                                    • DiabolicaTrixD Offline
                                      DiabolicaTrix Correcteurs Moddeurs confirmés
                                      last edited by

                                      J’ai justement envoyé la fonction que GuiButton utilise.

                                      1 Reply Last reply Reply Quote 0
                                      • SCAREXS Offline
                                        SCAREX
                                        last edited by

                                        Pas vraiment, cette fonction ne fait pas tout, il faut changer le draw.

                                        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 Reply Last reply Reply Quote 0
                                        • DiabolicaTrixD Offline
                                          DiabolicaTrix Correcteurs Moddeurs confirmés
                                          last edited by

                                          Ouais je sais mais j’ai dit ce que la fonction faisait, elle retourne 0, 1 ou 2

                                          1 Reply Last reply Reply Quote 0
                                          • Benjamin LoisonB Offline
                                            Benjamin Loison
                                            last edited by

                                            Pour faire sur mon code du bouton “RETIRER”.

                                            Bon par exemple mon ATM il est comme ça : 

                                            Et quand on passe la souris sur le bouton “RETIRER” ça prend cette tête :

                                            Mais j’aimerais que si on zoom bien on voit “RETIRER” (le texte) qui a changé de couleur fait à partir d’un montage comment le faire vraiment ?

                                            >! Développeur de Altis-Life (Arma III) sur Minecraft !
                                            >! Site web     : https://lemnoslife.com

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 3 / 4
                                            • First post
                                              Last post
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB