Résolu [1.7.10] Comment centrer un gui ?
-
Bonjour, j’aimerais savoir comment centrer un gui.
Merci de votre aide.
-
Un gui, de base est centré.
-
Non, parce qu’il faut choisir des coordonnées lorsque qu’on utilise la méthode : drawTexturedModalRect
-
att…Il y a combien de parametres de type int a l’intereuir car c’est pas pour definir la taille d’une image car moi j’ai jamais eu besoin de l’utiliser pour la pos ca c’est centré (normalement).
-
Il y en’a 6.
-
Regarde sur une gui de la meme type que toi(exemple:Si ta classe est extend de Gui Screen regarde dans le code du jeu une classe qui est extend de guiscreen (ils sont tous centrés))
-
Ok merci, tu m’expliquer à quoi correspond width et height. Je sais que c’est la longueur mais je sais pas de quoi.
-
Je peux voir le code de la classe que tu regarde car je pense que c’est la taille de l’image mais j’en suis pas sur
-
package fr.kraniax.moreutilities.gui; import org.lwjgl.opengl.GL11; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import fr.kraniax.moreutilities.Reference; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.util.ResourceLocation; public class CalculatorGui extends GuiScreen { private static int guiWidth = 138; private static int guiHeight = 256; private GuiButton one, two, three, four, five, six, seven, eight, nine, ten; @Override public void drawScreen(int x, int y, float ticks) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.drawDefaultBackground(); this.mc.renderEngine.bindTexture(new ResourceLocation(Reference.MODID + ":textures/gui/background.png")); this.drawTexturedModalRect(getScaledWidth(), getScaledHeight(), 0, 0, guiWidth, guiHeight); super.drawScreen(x, y, ticks); } @Override public void initGui() { buttonList.clear(); buttonList.add(one = new GuiButton(0,getScaledWidth() ,guiHeight/3,40,20, "1")); buttonList.add(two = new GuiButton(1,getScaledWidth() + guiWidth/2 ,guiHeight/3,40,20, "2")); buttonList.add(three = new GuiButton(2,getScaledWidth() + guiWidth ,guiHeight/3,40,20, "3")); // buttonList.add(four = new GuiButton(3,getScaledWidth() ,guiHeight/3,50,20, "4")); // buttonList.add(five = new GuiButton(4,getScaledWidth() ,guiHeight/3,50,20, "5")); // buttonList.add(six = new GuiButton(5,getScaledWidth() ,guiHeight/3,50,20, "6")); // buttonList.add(seven = new GuiButton(6,getScaledWidth() ,guiHeight/3,50,20, "7")); // buttonList.add(eight = new GuiButton(7,getScaledWidth() ,guiHeight/3,50,20, "8")); // buttonList.add(nine = new GuiButton(8,getScaledWidth() ,guiHeight/3,50,20, "9")); // buttonList.add(ten = new GuiButton(9,getScaledWidth() ,guiHeight/3,50,20, "0")); // super.initGui(); } public static int getScaledWidth() { ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); int guiX =(sr.getScaledWidth() - guiWidth) / 2; return guiX; } public static int getScaledHeight() { ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); int guiY = (sr.getScaledHeight() + guiHeight) / 22; return guiY; } }
-
ok donc le seul truc que je vois a rapport avec ton precedent message que le guiWidth et guiHeight et ca c’est bien la taille de l’image
-
Non, la taille de mon image est de 256x256 mais lorsque je met une valeur plus basse mon image s’affiche quand même.
J’ai été voir dans le code du hopper, la valeur height est pas la même que la taille de l’image qui est de 256. -
Je parle de la taille de l’image par Minecraft!(pas de ton vrai image)
-
J’ai pas compris la taille de l’image par Minecraft.
-
La taille reperé par Minecraft(genre si je met x = 20 et y = 20 il va couper mais toi c’est pas le cas(J’ai vu le truc de la transparence: ) ))(Attends on parle de centrage pas de taille?)
-
Ah ok, oui je parle de centrer l’image mais pour la centrer il faut qu’il y est le bon guiWidth et guiHeight et ensuite faire :
int guiX = (width - guiWidth) / 2 int guiY = (height - guiHeight) / 2
-
J’ai fait un calcul
(ecran de 256 px avec gui de 256px et le result est 0(debut de la pos mais je vais test pour un screen de 1280*720 donc ul demmare dans le width a 512 et height a 232 apres j’ai pas verif si c’est le milieu mais bof bof on fait avec)) -
Le result, c’est quoi ?
-
512 et 232
-
Oui, mais ça signifie quoi le result, c’est la valeur de “width” et “height” ?
-
ouais c’est la pos que t’auras sur un screen 1280*720