Ajouter texture à un bouton



  • Bonjour,

    J'ai créer mon menu custom en 1.7.2 et je voulais savoir si il était possible d'ajouter une texture spécifique pour les boutons.

    Merci d'avance.

    PS : Joyeux noël à tous 😉


  • Moddeurs confirmés Rédacteurs Administrateurs

    Salut,
    Oui il faut faire un bouton custom et changer le lien du resourcelocation.



  • @'robin4002':

    Salut,
    Oui il faut faire un bouton custom et changer le lien du resourcelocation.

    J'ai créer une nouvelle classe où j'ai définis un nouveau lien pour la texture mais j'ai une erreur sur le "bindTexture".
    Voici la classe du code :

    ​package com.example.examplemod;
    
    import net.minecraft.client.Minecraft;
    import net.minecraft.client.gui.FontRenderer;
    import net.minecraft.client.gui.GuiButton;
    
    import org.lwjgl.opengl.GL11;
    
    public class CustomButton extends GuiButton
    {   
    public CustomButton(int par1, int par2, int par3, int par4, int par5, String str)
    {
       super(par1, par2, par3, par4, par5, str);
    }
    
    public void drawButton(Minecraft par1Minecraft, int par2, int par3)
    {  
    par1Minecraft.renderEngine.bindTexture("/gui/gui.png");
    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    
    boolean flag = par2 >= xPosition && par3 >= yPosition && par2 < xPosition + width && par3 < yPosition + height;
    int i = getHoverState(flag);
    
    drawTexturedModalRect(xPosition, yPosition, 0, 0 + i * 20, width / 2, height);
    drawTexturedModalRect(xPosition + width / 2, yPosition, 200 - width / 2, 0 + i * 20, width / 2, height);
    
    mouseDragged(par1Minecraft, par2, par3);
    
    FontRenderer fontrenderer = par1Minecraft.fontRenderer;
    
    }
    }
    

  • Moddeurs confirmés Rédacteurs Administrateurs

    Normal, il faut passer par un resourcelocation ….
    new ResourceLocation("modid", "textures/gui/custom_button.png") par exemple, et dans ce cas la texture est nommé custom_button.png et va dans le dossier assets/modid/textures/gui/



  • @'robin4002':

    Normal, il faut passer par un resourcelocation ….
    new ResourceLocation("modid", "textures/gui/custom_button.png") par exemple, et dans ce cas la texture est nommé custom_button.png et va dans le dossier assets/modid/textures/gui/

    Merci j'ai ajouté cette ligne mais je fais fais quoi de la ligne suivant :

    ​par1Minecraft.renderEngine.bindTexture("texture/gui/custom_button.png");
    

  • Moddeurs confirmés Rédacteurs Administrateurs

    par1Minecraft.renderEngine.bindTexture(new ResourceLocation("modid", "textures/gui/custom_button.png"));
    Comme ça …



  • Merci la texture s'affiche bien mais je ne comprend pas le texte du bouton ne s'affiche pas.
    Voici le code du boutton dans la classe du menu :
      this.buttonList.add(new CustomButton(5, width / 2 - 100, height / 4 + 24, 100, 20, "Test"));


  • Moddeurs confirmés Rédacteurs Administrateurs

    Parce que dans ta fonction drawButton tu n'affiche pas le bouton. Retourne voir la fonction drawButton de GuiButton.java.



  • Merci problème résolu 😉



  • Bonjour j'ai réussi à créer mon bouton custom mais comme Sebenf0rce le texte n’apparaît pas,

    j'ai regarder dans la fonction drawbutton mais rien trouvé de concluant…

    Merci d'avance


Log in to reply