MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Ajouter un bouton à un GUI

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    63 Messages 6 Publieurs 14.2k Vues 1 Watching
    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.
    • Benjamin LoisonB Hors-ligne
      Benjamin Loison
      dernière édition par

      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 réponse Dernière réponse Répondre Citer 0
      • DiabolicaTrixD Hors-ligne
        DiabolicaTrix Correcteurs Moddeurs confirmés
        dernière édition par

        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 réponse Dernière réponse Répondre Citer 0
        • Benjamin LoisonB Hors-ligne
          Benjamin Loison
          dernière édition par

          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 réponse Dernière réponse Répondre Citer 0
          • DiabolicaTrixD Hors-ligne
            DiabolicaTrix Correcteurs Moddeurs confirmés
            dernière édition par

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

            1 réponse Dernière réponse Répondre Citer 0
            • isadorI Hors-ligne
              isador Moddeurs confirmés Modérateurs
              dernière édition par

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

              1 réponse Dernière réponse Répondre Citer 0
              • DiabolicaTrixD Hors-ligne
                DiabolicaTrix Correcteurs Moddeurs confirmés
                dernière édition par

                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 réponse Dernière réponse Répondre Citer 0
                • SCAREXS Hors-ligne
                  SCAREX
                  dernière édition par

                  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 réponse Dernière réponse Répondre Citer 0
                  • DiabolicaTrixD Hors-ligne
                    DiabolicaTrix Correcteurs Moddeurs confirmés
                    dernière édition par

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

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

                      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 réponse Dernière réponse Répondre Citer 0
                      • DiabolicaTrixD Hors-ligne
                        DiabolicaTrix Correcteurs Moddeurs confirmés
                        dernière édition par

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

                        1 réponse Dernière réponse Répondre Citer 0
                        • Benjamin LoisonB Hors-ligne
                          Benjamin Loison
                          dernière édition par

                          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 réponse Dernière réponse Répondre Citer 0
                          • DiabolicaTrixD Hors-ligne
                            DiabolicaTrix Correcteurs Moddeurs confirmés
                            dernière édition par

                            1. if (packedFGColour != 0) {
                            2. l = packedFGColour;
                            3. } else if (!this.enabled) {
                            4. l = 10526880;
                            5. } else if (this.field_146123_n) {
                            6. l = 16777120; <– ICI
                            7. }

                            Tu modifie la valeur où j’ai écrit ici, c’est la couleur du texte quand ta souris est dessus. Les couleurs sont en décimal donc rouge est 16711680.

                            PS: Je t’ai envoyé un mp.

                            1 réponse Dernière réponse Répondre Citer 0
                            • Benjamin LoisonB Hors-ligne
                              Benjamin Loison
                              dernière édition par

                              Résolu comme ça je crois 🙂

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

                              1 réponse Dernière réponse Répondre Citer 0
                              • Romain120105R Hors-ligne
                                Romain120105
                                dernière édition par

                                Ça en fait des demandes d’aide….

                                J'adore le modding !  :D

                                1 réponse Dernière réponse Répondre Citer 0
                                • 1
                                • 2
                                • 3
                                • 4
                                • 3 / 4
                                • Premier message
                                  Dernier message
                                Design by Woryk
                                ContactMentions Légales

                                MINECRAFT FORGE FRANCE © 2024

                                Powered by NodeBB