Aller au contenu
Riikog

[1.7.x] Créer un écran de chargement !

Recommended Posts

Bon je vois que personne ne le dit , donc je le dit à leur place

Encore un magnifique tutoriel ! GG à toi :P

PS : est t-il possible de faire un DrawRect (une bar gris transparant et mettre dedans Bonjour XXX)

Partager ce message


Lien à poster
Partager sur d’autres sites

Tiens Zelouiix:

this.drawRect(0, 0, this.width, 20, 0x66000000);
//Le code se décompose comme ça :
this.drawRect(Ne pas toucher, Ne pas toucher, Longueur (X), Hauteur (Y), Couleur);

Merci pour vos commentaires, ça fait plaisir ! ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut j'ai crée un bouton de connexion direct a mon serveur , mais j'aimerais savoir que lorsque je clique sur mon bouton sa me met se menu de chargement, mais je ne sais pas comment m'y prendre...

Partager ce message


Lien à poster
Partager sur d’autres sites

Franchement faut revoir les bases et chercher un peu.

Dans ta classe GuiMainMenu, tu dois avoir une fonction qui s'appelle actionPerformed et à l'intérieur un truc du genre.


        if (p_146284_1_.id == IDDUBOUTONDECONNEXIONAUTO)
        {
            this.mc.displayGuiScreen(new GuiMachinTrucBiduleChouetteDuSwagDeLaMortEtDuSaucissonEtDuCassoulet());
        }

Donc tu me remplaces ça par:

        if (p_146284_1_.id == IDDUBOUTONDECONNEXIONAUTO)
        {
            this.mc.displayGuiScreen(new GuiLoadingScreen());
        }

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai suivi le tuto a la lettre mais il ne fais pas le chargement

package fr.theazkaze.client.custommenu;


import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.multiplayer.GuiConnecting;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.ResourceLocation;

import org.lwjgl.opengl.GL11;


public class GuiLoadingScreen extends GuiScreen
{
	/**
	 * L'image à dessiner en arrière plan.
	 */
	private static final ResourceLocation backgroundImage = new ResourceLocation("textures/gui/title/mojang.png");
	private transient long updateCounter = 0;

	/**
	 * Le nom du serveur.
	 */
	public String serverName = "Nom du serveur !";

	/**
	 * tiquette affichée au dessus du nom du serveur.
	 */
	public String bfsName = "§fServeur:";

	/**
	 * Message de chargement.
	 */
	public String loading = "§aChargement...";

	/**
	 * L'ip du serveur auquel il faudra se connecter une fois le chargement
	 * terminé.
	 */
	public String serverIp = "62.210.232.161";

	/**
	 * Le port du serveur auquel il faudra se connecter une fois le chargement
	 * terminé.
	 */
	public int serverPort = 12694;

	@Override
	public void initGui()
	{
		// On ajoute le bouton pour annuler.
		this.buttonList.add(new GuiButton(0, this.width - 100, this.height - 30, 60, 20, "Annuler"));
	}

	public void drawBack()
	{
		// On bind la texture à afficher.
		this.mc.getTextureManager().bindTexture(backgroundImage);

		/**
		 * Instance du Tessellator, utilisée pour dessiner le carré de fond.
		 */
		Tessellator tessellator = Tessellator.instance;

		// On va dessiner un rectangle !
		tessellator.startDrawingQuads();
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
		tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);

		// On ajoute les vertices et leurs positions sur la texture.
		{
			tessellator.addVertexWithUV(0, 0, this.zLevel, 0, 0);
			tessellator.addVertexWithUV(0, this.height, this.zLevel, 0, 1);
			tessellator.addVertexWithUV(this.width, this.height, this.zLevel, 1, 1);
			tessellator.addVertexWithUV(this.width, 0, this.zLevel, 1, 0);
			tessellator.draw();
		}
	}

	@Override
	public void updateScreen()
	{
		super.updateScreen();
		this.updateCounter++;

		//Si le pourcentage est à 100, on se connecte au serveur.
		if (this.updateCounter == 100)
		{
			this.mc.displayGuiScreen(new GuiConnecting(this, mc, serverIp, serverPort));
		}

		// Si la connexion est annulée ou n'a pas fonctionné, on renvoie le joueur au menu principal.
		if (this.updateCounter >= 101)
		{
			this.mc.displayGuiScreen(new GuiMainMenu());
		}
	}

	@Override
	public void drawScreen(int par1, int par2, float par3)
	{
		// On dessine l'image en arrière plan.
		// Il faut appeler cette ligne en premier pour qu'elle soit bien en arrière plan.
		this.drawBack();

		// Cadre éléments
		drawHorizontalLine(0, this.width, this.height - 47, 0xff000000);
		drawHorizontalLine(0, this.width, this.height - 46, 0xff737373);
		this.drawRect(0, this.height - 45, this.width, this.height, 0xff333333);

		// Barre de progression 
		drawRect(this.width / 2 - 101, this.height - 28, this.width / 2 + 101, this.height - 15, 0xfd8d8d80);
		drawRect(this.width / 2 - 100, this.height - 27, this.width / 2 + 100, this.height - 16, 0xf0000000);
		drawRect(this.width / 2 - 100, this.height - 27, width / 2 - 100 + (int) updateCounter * 2, this.height - 16, 0xf00aa000); //Texte chargement 
		this.drawCenteredString(this.fontRendererObj, loading, this.width / 2, this.height - 40, 16777215);

		// Pourcentage 
		String percent = updateCounter + "%";
		this.drawCenteredString(this.fontRendererObj, percent, this.width / 2, this.height - 10, 16777215);

		// Avant nom serveur 
		this.drawString(this.fontRendererObj, bfsName, 10, this.height - 22, -1);

		// Nom du serveur 
		this.drawString(this.fontRendererObj, serverName, 10, this.height - 12, -1);

		// On ouvre la matrice pour ne pas sauvegarger la mise à l'échelle qu'on va faire.
		GL11.glPushMatrix();
		{
			/**
			 * Par combien faut-il multiplier la taille du message de bienvenue.
			 */
			float scaleFactor = 2.0f;

			// On déplace l'origine jusqu'à l'endroit où l'on veut placer le message.
			this.translateToStringPos("§aBienvenue, §b" + this.mc.getSession().getUsername() + " §a!", scaleFactor, this.width / 2, 1);

			// On met à l'échelle selon la variable.
			GL11.glScalef(scaleFactor, scaleFactor, 1.0f);
			this.drawString(fontRendererObj, "§aBienvenue, §b" + this.mc.getSession().getUsername() + " §a!", 0, 0, 0xf0c300);
		}
		// On ferme la matrice.
		GL11.glPopMatrix();

		// On dessine les boutons.
		super.drawScreen(par1, par2, par3);
	}

	/**
	 * Déplace l'origine via {@link GL11#glTranslatef(float, float, float)} pour
	 * le placer à l'endroit où doit débuter le dessin de la chaîne de
	 * caractères passée en argument.
	 * 
	 * @param text
	 *            Le message à dessiner.
	 * @param scale
	 *            Le nombre de fois qu'il sera plus grand (ex: si ça vaut 2, le
	 *            message sera 2 fois plus haut et 2 fois plus large).
	 * @param x
	 *            Position X souhaitée (avant appel du glScalef).
	 * @param y
	 *            Position Y souhaitée (avant appel du glScalef).
	 */
	protected void translateToStringPos(String text, float scale, int x, int y)
	{
		float stringWidth = this.fontRendererObj.getStringWidth(text) * scale;
		GL11.glTranslatef(x - (stringWidth / 2f), y, 0.0f);
	}

	public void actionPerformed(GuiButton button)
	{
		// Si le joueur appuie sur le bouton annuler, on retourne au menu principal.
		if (button.id == 0)
		{
			this.mc.displayGuiScreen(new GuiMainMenu());
		}
	}
}

Partager ce message


Lien à poster
Partager sur d’autres sites
@Override
	public void updateScreen()
	{
		super.updateScreen();
		this.updateCounter++;

		//Si le pourcentage est à 100, on se connecte au serveur.
		if (this.updateCounter == 100)
		{
			this.mc.displayGuiScreen(new GuiConnecting(this, mc, serverIp, serverPort));
		}

		// Si la connexion est annulée ou n'a pas fonctionné, on renvoie le joueur au menu principal.
		if (this.updateCounter >= 101)
		{
			this.mc.displayGuiScreen(new GuiMainMenu());
		}
	}

Ah ok, je vois, très utile comme chargement x)

Non, j'arrête la mauvaise fois, c'est useless mais qu'est ce que c'est stylé *p*

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est un peu useless si on l'adapte pas au GuiConnecting par exemple. Mais si tu veux faire un truc génial avant l'initialisation d'un GUI ou un truc comme ça, c'est toujours sympa. ;)

La connexion au serveur était à titre d'exemple (j'ai déjà dis exemple au dessus, je sais :D) ^^'.

Partager ce message


Lien à poster
Partager sur d’autres sites

Non mais ce qui me fait rire c'est ton chargement qui représente rien, essaye de faire un truc un peux random, ça aura l'air plus vrai. x)
(Franchement, même si c'est du fake, ça en fou plein la vue donc ça gère ! ^^)

Partager ce message


Lien à poster
Partager sur d’autres sites

Pourquoi j'ai des erreurs ici ? :

		tessellator.startDrawingQuads();
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
		tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);

		// On ajoute les vertices et leurs positions sur la texture.
		{
			tessellator.addVertexWithUV(0, 0, this.zLevel, 0, 0);
			tessellator.addVertexWithUV(0, this.height, this.zLevel, 0, 1);
			tessellator.addVertexWithUV(this.width, this.height, this.zLevel, 1, 1);
			tessellator.addVertexWithUV(this.width, 0, this.zLevel, 1, 0);

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est un tutoriel pour la 1.7, donc il est possible que certains codes changent de la 1.7 à la 1.8.

Personnellement, la 1.8 est une version à laquelle je n'ai jamais touché, j'espère que quelqu'un pourra t'éclairer sur le sujet.

Partager ce message


Lien à poster
Partager sur d’autres sites

faut juste remplacer le tesselator par le world renderer (qu'on peut get en faisant tessellator.getWorldRenderer())

Toujours une erreur ici :

tessellator.getWorldRenderer().setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);

Si je change avec un autre, sa ne marche pas !

Voici le code entier :

package net.minecraft.client.gui;


import org.lwjgl.opengl.GL11;

import net.minecraft.client.multiplayer.GuiConnecting;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.ResourceLocation;


public class GuiLoadingScreen extends GuiScreen
{
	/**
	 * L'image à dessiner en arrière plan.
	 */
	private static final ResourceLocation backgroundImage = new ResourceLocation("textures/gui/title/mojang.png");
	private transient long updateCounter = 0;

	/**
	 * Le nom du serveur.
	 */
	public String serverName = "Nom du serveur !";

	/**
	 * tiquette affichée au dessus du nom du serveur.
	 */
	public String bfsName = "§fServeur:";

	/**
	 * Message de chargement.
	 */
	public String loading = "§aChargement...";

	/**
	 * L'ip du serveur auquel il faudra se connecter une fois le chargement
	 * terminé.
	 */
	public String serverIp = "localhost";

	/**
	 * Le port du serveur auquel il faudra se connecter une fois le chargement
	 * terminé.
	 */
	public int serverPort = 25565;

	@Override
	public void initGui()
	{
		// On ajoute le bouton pour annuler.
		this.buttonList.add(new GuiButton(0, this.width - 100, this.height - 30, 60, 20, "Annuler"));
	}

	public void drawBack()
	{
		// On bind la texture à afficher.
		this.mc.getTextureManager().bindTexture(backgroundImage);

		/**
		 * Instance du Tessellator, utilisée pour dessiner le carré de fond.
		 */
		Tessellator tessellator = Tessellator.getInstance();

		// On va dessiner un rectangle !
		tessellator.getWorldRenderer().startDrawingQuads();
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
		tessellator.getWorldRenderer().setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);

		// On ajoute les vertices et leurs positions sur la texture.
		{
			tessellator.getWorldRenderer().addVertexWithUV(0, 0, this.zLevel, 0, 0);
			tessellator.getWorldRenderer().addVertexWithUV(0, this.height, this.zLevel, 0, 1);
			tessellator.getWorldRenderer().addVertexWithUV(this.width, this.height, this.zLevel, 1, 1);
			tessellator.getWorldRenderer().addVertexWithUV(this.width, 0, this.zLevel, 1, 0);
			tessellator.draw();
		}
	}

	@Override
	public void updateScreen()
	{
		super.updateScreen();
		this.updateCounter++;

		//Si le pourcentage est à 100, on se connecte au serveur.
		if (this.updateCounter == 100)
		{
			this.mc.displayGuiScreen(new GuiConnecting(this, mc, serverIp, serverPort));
		}

		// Si la connexion est annulée ou n'a pas fonctionné, on renvoie le joueur au menu principal.
		if (this.updateCounter >= 101)
		{
			this.mc.displayGuiScreen(new GuiMainMenu());
		}
	}

	@Override
	public void drawScreen(int par1, int par2, float par3)
	{
		// On dessine l'image en arrière plan.
		// Il faut appeler cette ligne en premier pour qu'elle soit bien en arrière plan.
		this.drawBack();

		// Cadre éléments
		drawHorizontalLine(0, this.width, this.height - 47, 0xff000000);
		drawHorizontalLine(0, this.width, this.height - 46, 0xff737373);
		this.drawRect(0, this.height - 45, this.width, this.height, 0xff333333);

		// Barre de progression 
		drawRect(this.width / 2 - 101, this.height - 28, this.width / 2 + 101, this.height - 15, 0xfd8d8d80);
		drawRect(this.width / 2 - 100, this.height - 27, this.width / 2 + 100, this.height - 16, 0xf0000000);
		drawRect(this.width / 2 - 100, this.height - 27, width / 2 - 100 + (int) updateCounter * 2, this.height - 16, 0xf00aa000); //Texte chargement 
		this.drawCenteredString(this.fontRendererObj, loading, this.width / 2, this.height - 40, 16777215);

		// Pourcentage 
		String percent = updateCounter + "%";
		this.drawCenteredString(this.fontRendererObj, percent, this.width / 2, this.height - 10, 16777215);

		// Avant nom serveur 
		this.drawString(this.fontRendererObj, bfsName, 10, this.height - 22, -1);

		// Nom du serveur 
		this.drawString(this.fontRendererObj, serverName, 10, this.height - 12, -1);

		// On ouvre la matrice pour ne pas sauvegarger la mise à l'échelle qu'on va faire.
		GL11.glPushMatrix();
		{
			/**
			 * Par combien faut-il multiplier la taille du message de bienvenue.
			 */
			float scaleFactor = 2.0f;

			// On déplace l'origine jusqu'à l'endroit où l'on veut placer le message.
			this.translateToStringPos("§aBienvenue, §b" + this.mc.getSession().getUsername() + " §a!", scaleFactor, this.width / 2, 1);

			// On met à l'échelle selon la variable.
			GL11.glScalef(scaleFactor, scaleFactor, 1.0f);
			this.drawString(fontRendererObj, "§aBienvenue, §b" + this.mc.getSession().getUsername() + " §a!", 0, 0, 0xf0c300);
		}
		// On ferme la matrice.
		GL11.glPopMatrix();

		// On dessine les boutons.
		super.drawScreen(par1, par2, par3);
	}

	/**
	 * Déplace l'origine via {@link GL11#glTranslatef(float, float, float)} pour
	 * le placer à l'endroit où doit débuter le dessin de la chaîne de
	 * caractères passée en argument.
	 * 
	 * @param text
	 *            Le message à dessiner.
	 * @param scale
	 *            Le nombre de fois qu'il sera plus grand (ex: si ça vaut 2, le
	 *            message sera 2 fois plus haut et 2 fois plus large).
	 * @param x
	 *            Position X souhaitée (avant appel du glScalef).
	 * @param y
	 *            Position Y souhaitée (avant appel du glScalef).
	 */
	protected void translateToStringPos(String text, float scale, int x, int y)
	{
		float stringWidth = this.fontRendererObj.getStringWidth(text) * scale;
		GL11.glTranslatef(x - (stringWidth / 2f), y, 0.0f);
	}

	public void actionPerformed(GuiButton button)
	{
		// Si le joueur appuie sur le bouton annuler, on retourne au menu principal.
		if (button.id == 0)
		{
			this.mc.displayGuiScreen(new GuiMainMenu());
		}
	}
}
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Réfléchit, au lieu de faire tessellator.getWorldRenderer() à chaque fois, stock le world renderer (WorldRenderer wr = tessellator.getWorldRenderer()) et après tu fais juste wr.setColor... wr.draw();, etc...

Et surtout c'est pas tesselator.draw() mais wr.draw()

Partager ce message


Lien à poster
Partager sur d’autres sites

Réfléchit, au lieu de faire tessellator.getWorldRenderer() à chaque fois, stock le world renderer (WorldRenderer wr = tessellator.getWorldRenderer()) et après tu fais juste wr.setColor... wr.draw();, etc...

Et surtout c'est pas tesselator.draw() mais wr.draw()

Je pourrai le stock mais c'est un choix de ne pas le faire ^^

Merci mais, j'ai toujours une erreur ici :

tessellator.getWorldRenderer().setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);

sur le :setColorRGBA_F

Partager ce message


Lien à poster
Partager sur d’autres sites
package net.minecraft.client.gui;


import net.minecraft.client.multiplayer.GuiConnecting;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.util.ResourceLocation;

import org.lwjgl.opengl.GL11;


public class GuiLoadingScreen extends GuiScreen
{
	/**
	 * L'image à dessiner en arrière plan.
	 */
	private static final ResourceLocation backgroundImage = new ResourceLocation("textures/gui/title/mojang.png");
	private transient long updateCounter = 0;

	/**
	 * Le nom du serveur.
	 */
	public String serverName = "Nom du serveur !";

	/**
	 * tiquette affichée au dessus du nom du serveur.
	 */
	public String bfsName = "§fServeur:";

	/**
	 * Message de chargement.
	 */
	public String loading = "§aChargement...";

	/**
	 * L'ip du serveur auquel il faudra se connecter une fois le chargement
	 * terminé.
	 */
	public String serverIp = "localhost";

	/**
	 * Le port du serveur auquel il faudra se connecter une fois le chargement
	 * terminé.
	 */
	public int serverPort = 25565;

	@Override
	public void initGui()
	{
		// On ajoute le bouton pour annuler.
		this.buttonList.add(new GuiButton(0, this.width - 100, this.height - 30, 60, 20, "Annuler"));
	}

	public void drawBack()
	{
		
		// On bind la texture à afficher.
		this.mc.getTextureManager().bindTexture(backgroundImage);

		/**
		 * Instance du Tessellator, utilisée pour dessiner le carré de fond.
		 */
		Tessellator tessellator = Tessellator.getInstance();
		WorldRenderer wr = tessellator.getWorldRenderer();

		// On va dessiner un rectangle !
		wr.startDrawingQuads();
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
		wr.setTextureUV(1.0F, 1.0F);

		// On ajoute les vertices et leurs positions sur la texture.
		{
			wr.addVertexWithUV(0, 0, this.zLevel, 0, 0);
			wr.addVertexWithUV(0, this.height, this.zLevel, 0, 1);
			wr.addVertexWithUV(this.width, this.height, this.zLevel, 1, 1);
			wr.addVertexWithUV(this.width, 0, this.zLevel, 1, 0);
			wr.draw();
		}
	}

	@Override
	public void updateScreen()
	{
		super.updateScreen();
		this.updateCounter++;

		//Si le pourcentage est à 100, on se connecte au serveur.
		if (this.updateCounter == 100)
		{
			this.mc.displayGuiScreen(new GuiConnecting(this, mc, serverIp, serverPort));
		}

		// Si la connexion est annulée ou n'a pas fonctionné, on renvoie le joueur au menu principal.
		if (this.updateCounter >= 101)
		{
			this.mc.displayGuiScreen(new GuiMainMenu());
		}
	}

	@Override
	public void drawScreen(int par1, int par2, float par3)
	{
		// On dessine l'image en arrière plan.
		// Il faut appeler cette ligne en premier pour qu'elle soit bien en arrière plan.
		this.drawBack();

		// Cadre éléments
		drawHorizontalLine(0, this.width, this.height - 47, 0xff000000);
		drawHorizontalLine(0, this.width, this.height - 46, 0xff737373);
		this.drawRect(0, this.height - 45, this.width, this.height, 0xff333333);

		// Barre de progression 
		drawRect(this.width / 2 - 101, this.height - 28, this.width / 2 + 101, this.height - 15, 0xfd8d8d80);
		drawRect(this.width / 2 - 100, this.height - 27, this.width / 2 + 100, this.height - 16, 0xf0000000);
		drawRect(this.width / 2 - 100, this.height - 27, width / 2 - 100 + (int) updateCounter * 2, this.height - 16, 0xf00aa000); //Texte chargement 
		this.drawCenteredString(this.fontRendererObj, loading, this.width / 2, this.height - 40, 16777215);

		// Pourcentage 
		String percent = updateCounter + "%";
		this.drawCenteredString(this.fontRendererObj, percent, this.width / 2, this.height - 10, 16777215);

		// Avant nom serveur 
		this.drawString(this.fontRendererObj, bfsName, 10, this.height - 22, -1);

		// Nom du serveur 
		this.drawString(this.fontRendererObj, serverName, 10, this.height - 12, -1);

		// On ouvre la matrice pour ne pas sauvegarger la mise à l'échelle qu'on va faire.
		GL11.glPushMatrix();
		{
			/**
			 * Par combien faut-il multiplier la taille du message de bienvenue.
			 */
			float scaleFactor = 2.0f;

			// On déplace l'origine jusqu'à l'endroit où l'on veut placer le message.
			this.translateToStringPos("§aBienvenue, §b" + this.mc.getSession().getUsername() + " §a!", scaleFactor, this.width / 2, 1);

			// On met à l'échelle selon la variable.
			GL11.glScalef(scaleFactor, scaleFactor, 1.0f);
			this.drawString(fontRendererObj, "§aBienvenue, §b" + this.mc.getSession().getUsername() + " §a!", 0, 0, 0xf0c300);
		}
		// On ferme la matrice.
		GL11.glPopMatrix();

		// On dessine les boutons.
		super.drawScreen(par1, par2, par3);
	}

	/**
	 * Déplace l'origine via {@link GL11#glTranslatef(float, float, float)} pour
	 * le placer à l'endroit où doit débuter le dessin de la chaîne de
	 * caractères passée en argument.
	 * 
	 * @param text
	 *            Le message à dessiner.
	 * @param scale
	 *            Le nombre de fois qu'il sera plus grand (ex: si ça vaut 2, le
	 *            message sera 2 fois plus haut et 2 fois plus large).
	 * @param x
	 *            Position X souhaitée (avant appel du glScalef).
	 * @param y
	 *            Position Y souhaitée (avant appel du glScalef).
	 */
	protected void translateToStringPos(String text, float scale, int x, int y)
	{
		float stringWidth = this.fontRendererObj.getStringWidth(text) * scale;
		GL11.glTranslatef(x - (stringWidth / 2f), y, 0.0f);
	}

	public void actionPerformed(GuiButton button)
	{
		// Si le joueur appuie sur le bouton annuler, on retourne au menu principal.
		if (button.id == 0)
		{
			this.mc.displayGuiScreen(new GuiMainMenu());
		}
	}
}

Même avec un autre code sa marche pas :/

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×