1.7.2 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



  • This post is deleted!


  • j'ai un probleme j'ai voulue modifier le GuiIngameMenu mais quand je lance le jeu la texture est bien présente mais il n'y a pas le texte dessus une idée

    class du GuiCustomButton

    package com.mod.valerium;
    
    import net.minecraft.client.Minecraft;
    import net.minecraft.client.gui.FontRenderer;
    import net.minecraft.client.gui.GuiButton;
    import net.minecraft.util.ResourceLocation;
    
    import org.lwjgl.opengl.GL11;
    
    public class GuiCustomButton extends GuiButton {
    	public GuiCustomButton(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(new ResourceLocation("valerium:textures/gui/widgets.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

    Bonjour,
    Nous ne faisons plus de support pour la 1.7.10. Nous vous invitons à utiliser une version plus récente, comme la 1.15.2.


Log in to reply