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.
    • 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
                                          • SCAREXS Hors-ligne
                                            SCAREX
                                            dernière édition par

                                            Ton bouton fait 64 de haut donc :

                                            
                                            int k = 0;
                                            if (flag) k += 32;
                                            
                                            this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, k, 128, 64);
                                            
                                            

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 3 / 3
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB