Shey

Créer un écran de chargement

9 messages dans ce sujet

Créer un écran de chargement

 

-[INTRODUCTION]-

 

 

Bonjour à tous !

Dans ce tutoriel, nous allons faire un écran de chargement ! Je me permet de refaire le tutoriel, car l'autre à était modifier..

 

 

-[SOMMAIRE]-

1]Création du "GuiLoadingScreen

2]Création de l'écran

3]GuiMainMenu

 

 

 

1]Création du GuiLoadingScreen !

Il vous suffit de vous rendre dans le packages : net.minecraft.client.gui, puis créer une nouvelle class "GuiLoadingScreen" !


2]Créer l'écran de chargement !

package net.minecraft.client.gui;

import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.GuiConnecting;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;

public class GuiLoadingScreen
  extends GuiScreen
{
  private final ResourceLocation backGround = new ResourceLocation("textures/gui/title/chargement.png"); // Chargement = Nom de votre image
  private int updateCounter = 0;
  String chargementText = "§6Chargement§f de la porte ..."; // A vous de mettre ce que vous voulez !
  String serverName = "§6Nom"; // A vous de mettre ce que vous voulez !
  String texteHaut = "§6Connexion§7 au serveur ! ..."; // A vous de mettre ce que vous voulez !
  String bfsName = "§7Serveur: Faction"; // A vous de mettre ce que vous voulez !
  
  public void initGui()
  {
    this.buttonList.add(new GuiButton(9, this.width - 100, this.height - 30, 60, 20, "Annuler"));
  }
  
  public void updateScreen()
  {
    this.updateCounter += 1;
    if (this.updateCounter == 100) {
      this.mc.displayGuiScreen(new GuiConnecting(this, this.mc, "IP", PORT)); // Ip = L'ip du serveur ! Port = Port du serveur.
    }
    if (this.updateCounter >= 101) {
      this.mc.displayGuiScreen(new GuiMainMenu());
    }
  }
  
  public void drawBack()
  {
    GL11.glViewport(0, 0, 256, 256);
    this.mc.getTextureManager().bindTexture(this.backGround);
    GL11.glViewport(0, 0, this.mc.displayWidth, this.mc.displayHeight);
    Tessellator tessellator = Tessellator.instance;
    tessellator.startDrawingQuads();
    GL11.glTexParameteri(3553, 10241, 9729);
    GL11.glTexParameteri(3553, 10240, 9729);
    tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);
    int k = this.width;
    int l = this.height;
    tessellator.addVertexWithUV(0.0D, 0.0D, this.zLevel, 0.0D, 0.0D);
    tessellator.addVertexWithUV(0.0D, l, this.zLevel, 0.0D, 1.0D);
    tessellator.addVertexWithUV(k, l, this.zLevel, 1.0D, 1.0D);
    tessellator.addVertexWithUV(k, 0.0D, this.zLevel, 1.0D, 0.0D);
    tessellator.draw();
  }
  
  public void drawScreen(int par1, int par2, float par3)
  {
    drawBack();
    
    drawHorizontalLine(0, this.width, this.height - 47, 1426063360);
    drawHorizontalLine(0, this.width, this.height - 46, 1426063360);
    drawRect(0, this.height - 45, this.width, this.height, 1426063360);
    
    drawRect(this.width / 2 - 101, this.height - 28, this.width / 2 + 101, this.height - 15, 489386);
    drawRect(this.width / 2 - 100, this.height - 27, this.width / 2 + 100, this.height - 16, 2013243904);
    
    drawRect(this.width / 2 - 100, this.height - 27, this.width / 2 - 100 + this.updateCounter * 2, this.height - 16, -1996510720);
    
    drawCenteredString(this.fontRendererObj, this.chargementText, this.width / 2, this.height - 40, 16777215);
    
    String percent = this.updateCounter + "§6%";
    drawCenteredString(this.fontRendererObj, percent, this.width / 2, this.height - 10, 16777215);
    
    drawCenteredString(this.fontRendererObj, this.texteHaut, this.width / 2, 1, -1);
    
    drawString(this.fontRendererObj, this.bfsName, 10, this.height - 30, -1);
    
    drawString(this.fontRendererObj, this.serverName, 10, this.height - 19, -1);
    
    super.drawScreen(par1, par2, par3);
  }
  
  public void actionPerformed(GuiButton button)
  {
    if (button.id == 9) {
      this.mc.displayGuiScreen(new GuiMainMenu());
    }
  }
}

3]GuiMainMenu

Rendez-vous dans le GuiMainMenu plus précisément ici :

Spoiler

protected void actionPerformed(GuiButton p_146284_1_)

En desous de cet ligne de code :

Spoiler

if (p_146284_1_.id == 0)
      {
          this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
      }

 

Vous allez ajouter ça :

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

 

Modifié par Shey
0

Partager ce message


Lien à poster
Partager sur d’autres sites

Comment faire un écran de chargement ? Copiez collez ça là et là et paf ! Ca fait des Chocapics !

 

(Ce que je veux dire, c'est que un tutoriel c'est sensé expliquer ce que l'on fait, pas juste donner un code à copier coller)
(Et donner un énorme coder à copier coller plus l'expliquer en suite c'est pas super non plus)

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu n'as pas tors, mais vu que l'autre tutoriel à était supprimé, je voulais pas que les gens s'embête à ré écrire. C'est pour cela que j'ai fais comme ça.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce n'est pas une raison, un tutoriel ça se fait bien, pas à l’arrache, surtout dans le cas où on ne cite même pas l'auteur originel qui sans vouloir exagérer à quand même un peu marqué les esprits.

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Cette écran est juste "esthétique" puisque, une fois la barre arrivé à 100%, il retourne vers GuiConnecting pour se connecter. Le mieux est de modifier la gui ^^

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Personnellement je préfère le faire directement dans le GuiConnecting..

Car si tu le fais avec ton GuiLoadingScreen tu vas devoir passer par le GuiConnecting et c'est long.

Voila se que sa peux rendre en passant par le GuiConnecting directement :

 

IMG_19112016_203307.png

2

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