• Hey , j’ai essayer de mettre une image sur un bouton ça a bien marché 2 problème le premier l’image se pixelise :x et deuxième problème quand on passe la souris la texture pars en couille 😕 texture en 256x256

    ​
    package fr.westmenu.client.customwestmenu;
    
    import net.minecraft.client.Minecraft;
    import net.minecraft.client.gui.FontRenderer;
    import net.minecraft.client.gui.GuiButton;
    import net.minecraft.client.renderer.OpenGlHelper;
    import net.minecraft.util.ResourceLocation;
    
    import org.lwjgl.opengl.GL11;
    
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    @SideOnly(Side.CLIENT)
    public class CustomButton extends GuiButton
    {
    
        public CustomButton(int id, int x, int y)
        {
            super(id, x, y, 200, 20, "");
        }
    
        public void drawButton(Minecraft mc, int x, int y)
        {
            if (this.visible)
            {
                FontRenderer fontrenderer = mc.fontRenderer;
                mc.getTextureManager().bindTexture(new ResourceLocation(WestMenu.MODID, "textures/gui/test.png"));
                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);
                System.out.println(k);
                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);
            }
        }
    }
    

  • Résolue juste autiste je crée la classe je l’apelle pas i love ❤


  • Résolue :x


  • Le bouton changeant de taille, c’est dur de trouver une image adaptée, donc je pense que l’image va être souvent pixelisée.

  • Administrateurs Rédacteurs Moddeurs confirmés

    L’image ressemble à quoi à la base ?


  • Administrateurs Rédacteurs Moddeurs confirmés

    Normal alors. Regarde l’image de base de Minecraft. Sur la même texture il y a plusieurs trucs. En gros actuellement seule un morceau de ton image s’affiche.
    Donc soit tu changes ton image, soit tu changes la fonction qui la draw. Donc ça :
               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);


  • Je ne vois pas quel autre fonction niveaux draw je suis partie du coté minecraft.jar 😕 et le code est le même de plus je ne peux faire que des texture du multiple d e 2 ?

  • Administrateurs Rédacteurs Moddeurs confirmés

    ça c’est l’image de Minecraft : http://i.imgur.com/84y9DIi.png
    Comme tu vois le bouton n’occupe qu’une très petite partie de l’image.


  • Oui je vois bien donc j’ai fais le test sur une image et malheureusement bah ça rends pas du tous :x 
    http://www.noelshack.com/2015-20-1431367269-5.png

  • Administrateurs Rédacteurs Moddeurs confirmés

    Tu l’as mit au niveau de la barre activé non ?
    Ça donne quoi en jeu ?


  • Non je l’avais crée a part entière en fait x) mais en la remplaçant comme ça ça rends plutôt bien pas trop de pixelisation :x donc pour mes futur bouton je suis obligé de faire ça ? a chaque fois ? ( modifier l’image ci-dessous )

  • Administrateurs Rédacteurs Moddeurs confirmés

    Tu peux agrandir la résolution de l’image. (passe en 512x512 ou 1024x1024)


  • En gros j’ai codé une classe useless je changer juste le widget et ça aurais marché T_T


  • Je profite de l’occasion et pour evite refaire un sujet

    J’aimerais enlever le fait que le launcher joue un titre ce qui me permettrais de mettre l’écriture sur le background

    J’ai pensé enlever ce code la mais le background recrée un title par dessus le background très moche

    ​    private static final ResourceLocation minecraftTitleTextures = new ResourceLocation("textures/gui/title/minecraft.png");
    
  • Administrateurs Rédacteurs Moddeurs confirmés

    Faut enlever la ligne qui bind la texture. Ça c’est juste la déclaration.


  • Tu parle de ça ?

    ​        this.mc.getTextureManager().bindTexture(minecraftTitleTextures);
    

    Le truk quand je le delete regarde ^^

  • Administrateurs Rédacteurs Moddeurs confirmés

    Regardes les autres fonctions qui se trouvent en dessous.


  • Ah bah oui ça va mieux j’ai supprime ça et ça work mais au cas ou si j’ai fais une connerie ^^

    ​ this.mc.getTextureManager().bindTexture(minecraftTitleTextures);
    
            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    
            if ((double)this.updateCounter < 1.0E-4D)
            {
                this.drawTexturedModalRect(k + 0, b0 + 0, 0, 0, 99, 44);
                this.drawTexturedModalRect(k + 99, b0 + 0, 129, 0, 27, 44);
                this.drawTexturedModalRect(k + 99 + 26, b0 + 0, 126, 0, 3, 44);
                this.drawTexturedModalRect(k + 99 + 26 + 3, b0 + 0, 99, 0, 26, 44);
                this.drawTexturedModalRect(k + 155, b0 + 0, 0, 45, 155, 44);
            }
            else
            {
                this.drawTexturedModalRect(k + 0, b0 + 0, 0, 0, 155, 44);
                this.drawTexturedModalRect(k + 155, b0 + 0, 0, 45, 155, 44);
            }
    
  • Administrateurs Rédacteurs Moddeurs confirmés

    Ça m’a l’air bon.
    C’est résolu du-coup ?