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

    Résolu Changer la taille de la police dans un gui

    1.7.x
    1.7.2
    2
    12
    4244
    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.
    • P
      Portuar dernière édition par

      Bonjour tout le monde alors voila, aujourd’hui j’ai un probleme quant à la police d’ecriture de mon gui que je trouve trop grande, j’utilise cette fonction pour afficher un string : ```java
      this.fontRendererObj.drawString(I18n.format(“mhpe.gui.award.” + (i + 1) + “.line.1”, new Object[0]), x + 130, y + 105, 0xF0F0F0);

      mais voila aucune variable change la taille de la police d'ecriture…
      1 réponse Dernière réponse Répondre Citer 0
      • jglrxavpok
        jglrxavpok Modérateurs dernière édition par

        Il faudrait jouer avec OpenGL, en particulier glScale

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

          Merci sa fonctionne une dernière question, lorsque que je réduit les cale a 0,7 et que je veux l’appliquer juste à un bout de code définit et non à tout ce qui précède glscale comment faire ?

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

            @‘Portuar’:

            Merci sa fonctionne une dernière question, lorsque que je réduit les cale a 0,7 et que je veux l’appliquer juste à un bout de code définit et non à tout ce qui précède glscale comment faire ?

            float facteur = .7f;
            glScalef(facteur, facteur, facteur);
            ton bloc de code
            glScalef(1f/facteur, 1f/facteur, 1f/facteur);
            

            ou

            glPushMatrix();
            float facteur = .7f;
            glScalef(facteur, facteur, facteur);
            ton bloc de code
            glPopMatrix();
            

            permettent de faire ce que tu cherches normalement.

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

              J ai retenue la deuxième méthode qui fonctionne parfaitement merci beaucoup!

              Édit : rectification, après avoir fait des test, lorsque je met le jeux en full screen ou que je change la taille de la fenêtre , le texte changé de position alors que tout fonction sans le glscale

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

                @‘Portuar’:

                J ai retenue la deuxième méthode qui fonctionne parfaitement merci beaucoup!

                Édit : rectification, après avoir fait des test, lorsque je met le jeux en full screen ou que je change la taille de la fenêtre , le texte changé de position alors que tout fonction sans le glscale

                Montre moi le code. Il est possible qu’il y est des glTranslate et compagnie qui trainent.

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

                  Nop zero mais voila comme même le code

                  GL11.glPushMatrix();
                  GL11.glScalef(0.7f, 0.9f, 1.0f);
                  this.fontRendererObj.drawString(I18n.format("mhpe.gui.award." + (i + 1) + ".line.1", new Object[0]), x + 225, y + 122, 0xF0F0F0);
                  this.fontRendererObj.drawString(I18n.format("mhpe.gui.award." + (i + 1) + ".line.2", new Object[0]), x + 225, y + 132, 0xF0F0F0);
                  this.fontRendererObj.drawString(I18n.format("mhpe.gui.award." + (i + 1) + ".line.3", new Object[0]), x + 225, y + 142, 0xF0F0F0);
                  GL11.glPopMatrix();
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • jglrxavpok
                    jglrxavpok Modérateurs dernière édition par

                    Il vaudrait multiplier toutes les coordonnees passees dans drawString par 1.f/facteur

                    Écrit avec Tapatalk depuis mon mobile. Pardonnez les possibles fautes, j’aime juste pas écrire avec mon mobile.

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

                      Penses tu que cela peux marcher si je faisais x + la valeur * scaledresolutioń je n ais pas trop compris ce que tu ma proposé puisque si je multiplie tout par 1/facteur les position seront toujours affecter par le glscale puisque que je ne fais que multiplier un calcul vraisemblablement faux.

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

                        De mon côté, j’ai ceci:

                        float factor = 0.85f;
                        glScalef(factor, factor, 1);
                        Minecraft.getMinecraft().fontRenderer.drawString("mon texte", (int)((x+maValeurSurX)*(1f/factor)), (int)((y+(maValeurSurY))*(1f/factor)), laCouleur);
                        glScalef(1f/factor, 1f/factor, 1);
                        

                        Il s’agit de multiplier toutes les coordonnées par l’inverse du facteur, les appels à glTranslate dans le code de Minecraft sont affectés aussi par glScalef.

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

                          Oui cela fonctionne sujet résolut.

                          Ps : désolé de ne pas avoir essayer a la vue de ton message mais l’endroit ou je suis donne un reseau restreint et je ne peu donc pas faire les deux en même temps

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

                            Je déplace dans résolus

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

                            MINECRAFT FORGE FRANCE © 2018

                            Powered by NodeBB