• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Rendu d'une barre de progression

    1.7.x
    1.7.10
    2
    12
    2295
    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.
    • bin4r1s
      bin4r1s dernière édition par

      Bonjour/Bonsoir,
      Alors voilà : j’ai voulu rendre une barre de mana. Pour la barre “non dynamique” (donc un rendu basique) tout va bien, mais j’ai ensuite tenté de la rendre dynamique, c’est à dire en faire une barre de progression. Problème : la barre (au niveau du mana, pas l’arrière plan) ne se rend plus du tout.

      Pour ceux qui sont fâchés avec les maths, sachez que (x/y)*z donne un pourcentage avec z comme maximum (par exemple x/60), x comme valeur actuelle et y comme valeur qui est égale à 100%.

      Code :

      
      int mX = event.resolution.getScaledWidth();
      int mY = event.resolution.getScaledHeight();
      float pixel = 1/64F;
      byte mbar_length = 94, mbar_height = 9;
      byte bar_length = 100, bar_height = 15;
      byte tex_mana_length = 60;
      
      PlayerData dat = PlayerData.get(this.mc.thePlayer);
      double charge = (dat.getMana()/dat.getPlayerMaxMana()) * mbar_length;
      double tex_charge = (dat.getMana()/dat.getPlayerMaxMana()) * tex_mana_length;
      
      GL11.glPushMatrix();
      GL11.glDisable(GL11.GL_LIGHTING);
      this.mc.renderEngine.bindTexture(gui_mana);
      
      Tessellator tess = Tessellator.instance;
      tess.startDrawingQuads();
      {
                  // Bar
                  tess.addVertexWithUV(mX - 110, mY - 25, 0, 0*pixel, 0*pixel);
                  tess.addVertexWithUV(mX - 110, mY - 10, 0, 0*pixel, 9*pixel);
                  tess.addVertexWithUV(mX - 10, mY - 10, 0, 64*pixel, 9*pixel);
                  tess.addVertexWithUV(mX - 10, mY - 25, 0, 64*pixel, 0*pixel);
      
                  // Mana
                  tess.addVertexWithUV(mX - 107, mY - 22, 0, tex_charge*pixel, 9*pixel);
                  tess.addVertexWithUV(mX - 107, mY - 13, 0, tex_charge*pixel, 14*pixel);
                  tess.addVertexWithUV((mX - 107) + charge, mY - 13, 0, tex_charge*pixel, 14*pixel);
                  tess.addVertexWithUV((mX - 107) + charge, mY - 22, 0, tex_charge*pixel, 9*pixel);
      }
      tess.draw();
      
      GL11.glEnable(GL11.GL_DEPTH_TEST);
      GL11.glEnable(GL11.GL_ALPHA_TEST);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
      

      Mes mods:

      • New Ores
      • More Dragons
      1 réponse Dernière réponse Répondre Citer 0
      • jglrxavpok
        jglrxavpok Modérateurs dernière édition par

        Retire le rendu du fond et regarde si quelque chose s’affiche.

        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
        • bin4r1s
          bin4r1s dernière édition par

          Nop, aucun rendu

          Mes mods:

          • New Ores
          • More Dragons
          1 réponse Dernière réponse Répondre Citer 0
          • jglrxavpok
            jglrxavpok Modérateurs dernière édition par

            Envoie la texture.

            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
            • bin4r1s
              bin4r1s dernière édition par

               
              ici

              Mes mods:

              • New Ores
              • More Dragons
              1 réponse Dernière réponse Répondre Citer 0
              • bin4r1s
                bin4r1s dernière édition par

                Up down, right,  left

                Mes mods:

                • New Ores
                • More Dragons
                1 réponse Dernière réponse Répondre Citer 0
                • jglrxavpok
                  jglrxavpok Modérateurs dernière édition par

                  C’est niveau des coordonnées que ça va pas. Ta texture fait quelle taille?

                  Sent from my GT-I9000 using Tapatalk 2

                  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
                  • bin4r1s
                    bin4r1s dernière édition par

                    64x64

                    Mes mods:

                    • New Ores
                    • More Dragons
                    1 réponse Dernière réponse Répondre Citer 0
                    • bin4r1s
                      bin4r1s dernière édition par

                      UPPPPPPP

                      Mes mods:

                      • New Ores
                      • More Dragons
                      1 réponse Dernière réponse Répondre Citer 0
                      • bin4r1s
                        bin4r1s dernière édition par

                        Up, une idée ?

                        Mes mods:

                        • New Ores
                        • More Dragons
                        1 réponse Dernière réponse Répondre Citer 0
                        • jglrxavpok
                          jglrxavpok Modérateurs dernière édition par

                          Je ne vois pas trop d’où vient le problème. Je vais regarder ça plus en détails demain.

                          Sent from my GT-I9000 using Tapatalk 2

                          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
                          • bin4r1s
                            bin4r1s dernière édition par

                            Ok (désolé pour la réponse un peu tardive) et merci  🙂

                            EDIT :
                            Alors j’ai réussi à faire rendre la barre vide ou pleine mais pas autrement. Je cherche toujours…

                            DOUBLE EDIT :
                            C’est bon tout marche, un simple cast en float a tout solutionné.

                            Code mis à jour :

                            
                            if(event.isCancelable() || event.type != ElementType.EXPERIENCE)
                            
                            {
                            
                            }
                            else
                            {
                            int mX = event.resolution.getScaledWidth();
                                        int mY = event.resolution.getScaledHeight();
                                        float pixel = 1/64F;
                                        byte mbar_length = 94, mbar_height = 9;
                                        byte bar_length = 100, bar_height = 15;
                                        byte tex_mana_length = 60;
                            
                                        PlayerData dat = PlayerData.get(this.mc.thePlayer);
                                        double charge = ((float)dat.getMana()/dat.getPlayerMaxMana()) * mbar_length;
                                        double tex_charge = ((float)dat.getMana()/dat.getPlayerMaxMana()) * tex_mana_length;
                            
                                        GL11.glPushMatrix();
                                        GL11.glDisable(GL11.GL_LIGHTING);
                                        this.mc.renderEngine.bindTexture(gui_mana);
                            
                                        Tessellator tess = Tessellator.instance;
                                        tess.startDrawingQuads();
                                        {
                                        // Bar
                                        tess.addVertexWithUV(mX - 110, mY - 25, -1, 0*pixel, 0*pixel);
                                        tess.addVertexWithUV(mX - 110, mY - 10, -1, 0*pixel, 9*pixel);
                                        tess.addVertexWithUV(mX - 10, mY - 10, -1, 64*pixel, 9*pixel);
                                        tess.addVertexWithUV(mX - 10, mY - 25, -1, 64*pixel, 0*pixel);
                            
                                        // Mana
                                        tess.addVertexWithUV(mX - 107, mY - 22, 0, 0*pixel, 9*pixel);
                                        tess.addVertexWithUV(mX - 107, mY - 13, 0, 0*pixel, 14*pixel);
                                        tess.addVertexWithUV((mX - 107) + charge, mY - 13, 0, tex_charge*pixel, 14*pixel);
                                        tess.addVertexWithUV((mX - 107) + charge, mY - 22, 0, tex_charge*pixel, 9*pixel);
                                        }
                                        tess.draw();
                            
                                        GL11.glEnable(GL11.GL_DEPTH_TEST);
                                        GL11.glEnable(GL11.GL_ALPHA_TEST);
                                        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                                        GL11.glPopMatrix();
                            
                                        mc.fontRenderer.drawStringWithShadow("Lvl :", mX - 50, 5, new Color(255, 255, 255).getRGB());
                                        mc.fontRenderer.drawStringWithShadow("XP :", mX - 107, 15, new Color(255, 255, 255).getRGB());
                                        mc.fontRenderer.drawStringWithShadow("100", mX - 25, 5, new Color(255, 255, 255).getRGB());
                                        mc.fontRenderer.drawStringWithShadow("500000/500000", mX - 85, 15, new Color(255, 255, 255).getRGB());
                            }
                            
                            

                            Mes mods:

                            • New Ores
                            • More Dragons
                            1 réponse Dernière réponse Répondre Citer 0
                            • 1 / 1
                            • Premier message
                              Dernier message
                            Design by Woryk
                            Contact / Mentions Légales

                            MINECRAFT FORGE FRANCE © 2018

                            Powered by NodeBB