Rendu GUI dans l'inventaire



  • Bonjour,
    Voilà, je voulais savoir s'il existait un moyen de toujours rendre un objet (bouton, texte etc) juste en haut à droite de l'inventaire (texture).
    Actuellement, je rends un bouton mais quand je réduis la fenêtre, le bouton se retrouve en plein milieu de l'inventaire (logique puisque j'utilise des coordonnées fixes).

    Merci d'avance.



  • (Je poste ici parce que ça a un rapport)
    Depuis quand 70/560 donne 0 ?

    ((70/560) * width) = 0, alors que width = 427)

    EDIT :
    Réponse : Le cast vers un int –'


  • Administrateurs

    Cast tout en float avant de faire les calculs.



  • Merci, mais j'ai trouvé une autre méthode (je n'avais pas encore mis à jour le topic)

    J'ai trouvé quelque chose qui aurait dû marcher (un simple coefficient de proportionnalité) mais j'ai l'impression que le Gui Scale pose un problème (quand j'agrandis assez ma fenêtre et que l'inventaire s'agrandit d'un coup, le bouton se met n'importe où).

    Une idée pour ne pas l'appliquer à mon bouton ?
    (Ou pour m'en servir à on avantage)



  • Ok, réponse tardive mais j'ai trouvé (enfin à peu près…)

    Le problème maintenant est que ma classe extends de GuiScreen (non ce n'est pas ça le problème…) et que mes boutons sont rendus comme si la souris les survolait tout le temps, et les interactions sont impossibles.

    Code (important) :

    GuiSkills.java :

    
    GuiSkillsButton gsb0 = new GuiSkillsButton(this, 0, 11, (this.width/2) - 88 + 5, (this.height/2) - 94 + 5, 70, 20, I18n.format("gui.skills.button.stats.text"));
    
    GuiSkillsButton gsb1 = new GuiSkillsButton(this, 1, 12, (this.width/2) - 88 + 5 + 70 + 2, (this.height/2) - 94 + 5, 70, 20, I18n.format("gui.skills.button.special.text"));
    gsb0.drawButton(this.mc, gsb0.xPosition, gsb0.yPosition);
    gsb1.drawButton(this.mc, gsb1.xPosition, gsb1.yPosition);
    tabButtonList[0] = gsb0;
    tabButtonList[1] = gsb1;
    

    GuiSkillsButton :

    
    public class GuiSkillsButton extends GuiButton
    {
    private GuiSkills attachedGui;
    private int attachedIndex = 0;
    
    public GuiSkillsButton(GuiSkills gs, int index, int id, int x, int y, int width, int height, String text)
    {
    super(id, x, y, width, height, text);
    this.attachedGui = gs;
    this.attachedIndex = index;
    }
    
    @Override
    public void mouseReleased(int mouseX, int mouseY)
    {
    super.mouseReleased(mouseX, mouseY);
    this.attachedGui.switchMenu(attachedIndex);
    }
    }