Résolu Problème pixel
-
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.
-
L’image ressemble à quoi à la base ?
-
l’image de base c’est ça
http://www.noelshack.com/2015-19-1431293654-xdx.png -
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 ?
-
ç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 -
Tu l’as mit au niveau de la barre activé non ?
Ça donne quoi en jeu ? -
-
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");
-
Faut enlever la ligne qui bind la texture. Ça c’est juste la déclaration.
-
-
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); }
-
Ça m’a l’air bon.
C’est résolu du-coup ?