MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Problème texture bouton

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.2
    48 Messages 5 Publieurs 13.6k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • S Hors-ligne
      Sebenf0rce
      dernière édition par

      @‘jglrxavpok’:

      Quoi qu’il arrive, la méthode drawTexturedModalRect assume que la taille de la texture soit de 256 pixels sur 256, ce qui est celle du gui de base

      Sent from my GT-I9000 using Tapatalk 2

      Du coup on ne peut pas en mettre d’autre ?

      1 réponse Dernière réponse Répondre Citer 0
      • jglrxavpokJ Hors-ligne
        jglrxavpok Modérateurs
        dernière édition par

        Si mais soit:

        • Tu fais en sorte que ta texture fasse 256*256 pixels
        • Tu utilises une autre méthode pour afficher ton bouton, avec le Tessellator, par exemple.

        Modérateur sur MFF. 
        Mon Github: http://github.com/jglrxavpok
        Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

        1 réponse Dernière réponse Répondre Citer 0
        • SCAREXS Hors-ligne
          SCAREX
          dernière édition par

          @‘Sebenf0rce’:

          @‘jglrxavpok’:

          Quoi qu’il arrive, la méthode drawTexturedModalRect assume que la taille de la texture soit de 256 pixels sur 256, ce qui est celle du gui de base

          Sent from my GT-I9000 using Tapatalk 2

          Du coup on ne peut pas en mettre d’autre ?

          Tu as 2 choix :

          • technique minecraft, créer un fichier de 512*512 et y mettre toutes tes textures (pas très propre, comme d’habitude avec minecraft)
          • Créer un fichier plus petit (comme 128*128) et y mettre tes 2 textures l’une en dessous de l’autre en précisant dans ton code que lorsque le joueur met le curseur dessus, il prend la texture plus bas, exemple :
          
          package fr.scarex.updater.handler;
          
          import net.minecraft.client.Minecraft;
          import net.minecraft.client.gui.GuiButton;
          import net.minecraft.client.gui.GuiMainMenu;
          import net.minecraft.client.renderer.GlStateManager;
          import net.minecraft.util.ResourceLocation;
          import net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent;
          import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
          import fr.scarex.updater.Updater;
          import fr.scarex.updater.client.gui.GuiUpdater;
          
          public class UpdaterHandler
          {
          @SubscribeEvent
          public void onInitGuiEvent(final InitGuiEvent event) {
          if (event.gui instanceof GuiMainMenu) event.buttonList.add(new GuiButton(22, event.gui.width / 2 + 108, event.gui.height / 4 + 132, 20, 20, "") {
          protected final ResourceLocation buttonTexture = new ResourceLocation(Updater.MODID, "textures/gui/button_update_big.png"); // Chemin vers la texture
          
          @Override // Ouverture du Gui
          public void mouseReleased(int mouseX, int mouseY) {
          event.gui.mc.displayGuiScreen(new GuiUpdater(event.gui));
          }
          
          @Override // Dessin du bouton
          public void drawButton(Minecraft mc, int mouseX, int mouseY) {
          if (this.visible) {
          mc.getTextureManager().bindTexture(buttonTexture); // On associe la texture
          GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
          boolean flag = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; // On regarde si le curseur est au-dessus du bouton
          int k = 0;
          if (flag) k += this.height; // Si oui, on décale de la hauteur du bouton (et donc de la texture), mais tu peux utiliser une valeur statique
          
          this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, k, 20, 20); // Dessin du bouton
          }
          }
          });
          }
          }
          
          

          Site web contenant mes scripts : http://SCAREXgaming.github.io

          Pas de demandes de support par MP ni par skype SVP.
          Je n'accepte sur skype que l…

          1 réponse Dernière réponse Répondre Citer 0
          • S Hors-ligne
            Sebenf0rce
            dernière édition par

            La class GuiUpdater correspond à quoi ?

            Edit : Pour l’instant ma class est comme ceci :

            ​package com.example.examplemod;
            
            import net.minecraft.client.Minecraft;
            import net.minecraft.client.gui.GuiButton;
            import net.minecraft.util.ResourceLocation;
            
            import org.lwjgl.opengl.GL11;
            
            public class boutique extends GuiButton
            {   
            public static final ResourceLocation texture = new ResourceLocation("menu", "textures/gui/boutique.png");
            
            public boutique(int par1, int par2, int par3, int par4, int par5, String str)
            {
               super(par1, par2, par3, par4, par5, str);
            }
            
            @Override // Dessin du bouton
            public void drawButton(Minecraft mc, int mouseX, int mouseY) {
            if (this.visible) {
            mc.getTextureManager().bindTexture(texture); // On associe la texture
            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
            boolean flag = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; // On regarde si le curseur est au-dessus du bouton
            int k = 0;
            if (flag) k += this.height; // Si oui, on décale de la hauteur du bouton (et donc de la texture), mais tu peux utiliser une valeur statique
            
            this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, k, 128, 128); // Dessin du bouton
            }
            }
            }
            

            Le rendu comme ceci :

            Et la texture comme cela :

            En 128*128

            1 réponse Dernière réponse Répondre Citer 0
            • SCAREXS Hors-ligne
              SCAREX
              dernière édition par

              La classe GuiUpdater est ma propre classe, je te l’ai donné à titre d’exemple.

              Comment est appelé ton constructeur ? Quelle taille est donnée à ton bouton ?

              Site web contenant mes scripts : http://SCAREXgaming.github.io

              Pas de demandes de support par MP ni par skype SVP.
              Je n'accepte sur skype que l…

              1 réponse Dernière réponse Répondre Citer 0
              • S Hors-ligne
                Sebenf0rce
                dernière édition par

                @‘SCAREX’:

                La classe GuiUpdater est ma propre classe, je te l’ai donné à titre d’exemple.

                Comment est appelé ton constructeur ? Quelle taille est donnée à ton bouton ?

                this.buttonList.add(new boutique(5, width / 2 - 50, height / 4 + 24, 128, 64, “”));

                1 réponse Dernière réponse Répondre Citer 0
                • SCAREXS Hors-ligne
                  SCAREX
                  dernière édition par

                  Essaie avec çà :

                  
                  package com.example.examplemod;
                  
                  import net.minecraft.client.Minecraft;
                  import net.minecraft.client.gui.GuiButton;
                  import net.minecraft.util.ResourceLocation;
                  
                  import org.lwjgl.opengl.GL11;
                  
                  public class boutique extends GuiButton
                  {
                  public static final ResourceLocation texture = new ResourceLocation("menu", "textures/gui/boutique.png");
                  
                  public boutique(int par1, int par2, int par3, int par4, int par5, String str)
                  {
                  super(par1, par2, par3, par4, par5, str);
                  }
                  
                  @Override
                  public void drawButton(Minecraft mc, int mouseX, int mouseY) {
                  if (this.visible) {
                  mc.getTextureManager().bindTexture(texture);
                  GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                  boolean flag = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
                  int k = 0;
                  if (flag) k += 64;
                  
                  this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, k, 128, 64); // Dessin du bouton
                  }
                  }
                  
                  

                  PS : pense à changer le package…

                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                  Pas de demandes de support par MP ni par skype SVP.
                  Je n'accepte sur skype que l…

                  1 réponse Dernière réponse Répondre Citer 0
                  • S Hors-ligne
                    Sebenf0rce
                    dernière édition par

                    Non la texture ne s’affiche toujours pas correctement.

                    1 réponse Dernière réponse Répondre Citer 0
                    • SCAREXS Hors-ligne
                      SCAREX
                      dernière édition par

                      Envoi ton code et une screenshot.

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

                      1 réponse Dernière réponse Répondre Citer 0
                      • S Hors-ligne
                        Sebenf0rce
                        dernière édition par

                        Class du bouton :

                        ​package com.example.examplemod;
                        
                        import net.minecraft.client.Minecraft;
                        import net.minecraft.client.gui.GuiButton;
                        import net.minecraft.util.ResourceLocation;
                        
                        import org.lwjgl.opengl.GL11;
                        
                        public class boutique extends GuiButton
                        {   
                        public static final ResourceLocation texture = new ResourceLocation("menu", "textures/gui/boutique.png");
                        
                        public boutique(int par1, int par2, int par3, int par4, int par5, String str)
                        {
                          super(par1, par2, par3, par4, par5, str);
                        }
                        
                        @Override
                        public void drawButton(Minecraft mc, int mouseX, int mouseY) {
                        if (this.visible) {
                        mc.getTextureManager().bindTexture(texture);
                        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                        boolean flag = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
                        int k = 0;
                        if (flag) k += 64;
                        
                        this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, k, 128, 64); // Dessin du bouton
                        }
                        }
                        }
                        

                        Class principal :

                        ​ private void addSingleplayerMultiplayerButtons(int par1, int par2)
                        
                            {
                        
                         this.buttonList.add(new boutique(5, width / 2 - 50, height / 4 + 24, 128, 64, ""));
                        
                            }
                        

                        Affichage actuel :

                        1 réponse Dernière réponse Répondre Citer 0
                        • SCAREXS Hors-ligne
                          SCAREX
                          dernière édition par

                          De quelle taille veux-tu ton bouton ?

                          PS : les noms de classe commencent par une majuscule
                          PS 2 : j’ai du modifier ta texture pour qu’elle fasse 512x512.
                          PS 3 : le blanc dans ton image rend pas terrible et ta texture n’est pas de très bonne qualité, je te conseille de la modifier.

                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                          Pas de demandes de support par MP ni par skype SVP.
                          Je n'accepte sur skype que l…

                          1 réponse Dernière réponse Répondre Citer 0
                          • S Hors-ligne
                            Sebenf0rce
                            dernière édition par

                            Je vais refaire les texture, je voudrais que le bouton fasse du 12864 (donc l’image 128128 si il y deux image).

                            1 réponse Dernière réponse Répondre Citer 0
                            • SCAREXS Hors-ligne
                              SCAREX
                              dernière édition par

                              J’ai ce résultat, te correspond-t-il ?

                              Site web contenant mes scripts : http://SCAREXgaming.github.io

                              Pas de demandes de support par MP ni par skype SVP.
                              Je n'accepte sur skype que l…

                              1 réponse Dernière réponse Répondre Citer 0
                              • S Hors-ligne
                                Sebenf0rce
                                dernière édition par

                                @‘SCAREX’:

                                J’ai ce résultat, te correspond-t-il ?

                                Pour la hauteur oui c’est parfait cepandant est-il possible d’agrandir la largeur (commele bouton singlePlayer) . Désolé je pensais que 128 était plus grand que ça.

                                1 réponse Dernière réponse Répondre Citer 0
                                • SCAREXS Hors-ligne
                                  SCAREX
                                  dernière édition par

                                  çà l’est mais après il faut agrandir la texture dans le fichier ou faire la technique de minecraft, c’est-à-dire décomposé le bouton en 2 parties.

                                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                                  Pas de demandes de support par MP ni par skype SVP.
                                  Je n'accepte sur skype que l…

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • S Hors-ligne
                                    Sebenf0rce
                                    dernière édition par

                                    @‘SCAREX’:

                                    çà l’est mais après il faut agrandir la texture dans le fichier ou faire la technique de minecraft, c’est-à-dire décomposé le bouton en 2 parties.

                                    Si j’agrandis la largeur de l’image il faut aussi que j’agrandisse la hauteur non ?

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • SCAREXS Hors-ligne
                                      SCAREX
                                      dernière édition par

                                      Fait une image de 512x512 et mets la taille que tu veux dedans et laisse le reste vide.

                                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                                      Pas de demandes de support par MP ni par skype SVP.
                                      Je n'accepte sur skype que l…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • S Hors-ligne
                                        Sebenf0rce
                                        dernière édition par

                                        @‘SCAREX’:

                                        Fait une image de 512x512 et mets la taille que tu veux dedans et laisse le reste vide.

                                        Ok si je fais ça la partie transparente ne sera pas prise en compte ?

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • SCAREXS Hors-ligne
                                          SCAREX
                                          dernière édition par

                                          Quelle partie transparente ?

                                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                                          Pas de demandes de support par MP ni par skype SVP.
                                          Je n'accepte sur skype que l…

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • S Hors-ligne
                                            Sebenf0rce
                                            dernière édition par

                                            @‘SCAREX’:

                                            Quelle partie transparente ?

                                            Je parle de la partie vide dû à la texture qui est plus petite. Sinon je pense avoir trouvé la taille qu’il me faut (128*128)  mais je n’arrive pas à l’afficher correctement (la texture est coupé).

                                            La nouvelle classe :

                                            ​package com.example.examplemod;
                                            
                                            import net.minecraft.client.Minecraft;
                                            import net.minecraft.client.gui.GuiButton;
                                            import net.minecraft.util.ResourceLocation;
                                            
                                            import org.lwjgl.opengl.GL11;
                                            
                                            public class boutique extends GuiButton
                                            {   
                                            public static final ResourceLocation texture = new ResourceLocation("menu", "textures/gui/boutique.jpg");
                                            
                                            public boutique(int par1, int par2, int par3, int par4, int par5, String str)
                                            {
                                              super(par1, par2, par3, par4, par5, str);
                                            }
                                            
                                            @Override
                                            public void drawButton(Minecraft mc, int mouseX, int mouseY) {
                                            if (this.visible) {
                                            mc.getTextureManager().bindTexture(texture);
                                            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                                            boolean flag = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
                                            int k = 0;
                                            if (flag) k += 37;
                                            
                                            this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, k, 128, 128); // Dessin du bouton
                                            }
                                            }
                                            }
                                            

                                            Et le rendu :

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB