[GUI] Comment creer une fenetre pour afficher le contenu d'un fichier
-
Bonjour tous le monde,
je souhaite créer un mod associé à mon outil de génération de liste d’objectif (Topic de présentation ici).En gros ce que je souhaite faire, c’est une fenêtre qui s’ouvre avec un raccourci clavier (Je l’ai déjà fait).
Dans cette fenêtre, je veux qu’il affiche le contenu d’un fichier texte ou xml.
J’ai déjà fait l’image du GUI. C’est un peu comme un livre signé dans minecraft.Je n’ai rien trouver sur internet qui soit clair et français. A part ca : http://www.minecraftforge.net/wiki/Containers_and_GUIs
Mais ca parle surtout des Containers (interface de l’inventaire ou coffre par exemple).Il n’y a pas de tuto qui traite ce sujet dans le forum.
Je débute dans le modding.
-
Dans les gui il y a une fonction qui sert à afficher des textes, tu as juste à faire un boucle for et une array list de toute les lignes que tu veux afficher, et pour lire le contenue d’un fichier texte, c’est du java, pas du modding forge.
-
Merci pour tes infos.
Je veux faire un peu comme un livre signé dans minecraft.
Je veux afficher une fenetre comme ca:
En grand dans le jeu, et dans cette fenetre sera afficher le contenu du fichier. Pourquoi pas mettre l’array directement dans le fichier. ^^
Je verrai plus tard pour ajouter ces boutons…Pour le moment comme on fait pour afficher cette interface ?
-
Tu créer un gui avec la fonction pour afficher la texture (voir tutoriel sur le four, au pire je vais bientôt faire un tutoriel sur les gui & container)
Tu veux que l’interface s’affiche suite à quel action ? -
Je veux qu’il s’affiche après avoir appuyer sur un raccourci clavier. Je l’ai deja fait.
ObjectifKeyHandler.java: http://pastebin.com/cjzBMaV7
-
Il faudrait passer par un tick handler je pense.
-
Vous savez quoi, pour le moment je vais laisser tomber pour la texture. Je verrai cà pour plus tard dans une autre version.
Là j’ai reussi à faire un fond noir avec texte dedans comme dans le menu pause.
Il me reste encore a ajouter un bouton pour revenir au jeu et faire une boucle for pour afficher le contenu du fichier.
GuiObjectif.java : http://pastebin.com/XTdPar1T
EDIT: J’ai reussi à mettre le bouton de retour en jeu. Je m’occupe maintenant la zone de texte.
-
Moi aussi pour un journal de quêtes j’ai besoin de mettre une texture en fond, j’ai essayé un tas de méthodes et rien n’a fonctionné, je n’ai pas trouvé de tuto pour la 1.6 parlant de ça T_T
-
Texture d’un GuiContainer :
public class GuiSmelter extends GuiContainer { private TileEntitySmelter furnaceInventory; public GuiSmelter(InventoryPlayer par1InventoryPlayer, TileEntitySmelter par2TileEntityFurnace) { super(new ContainerSmelter(par1InventoryPlayer, par2TileEntityFurnace)); this.furnaceInventory = par2TileEntityFurnace; } /** * Draw the foreground layer for the GuiContainer (everything in front of the items) */ protected void drawGuiContainerForegroundLayer(int par1, int par2) { String s = this.furnaceInventory.isInvNameLocalized() ? this.furnaceInventory.getInvName() : StatCollector.translateToLocal(this.furnaceInventory.getInvName()); this.fontRenderer.drawString(s, this.xSize / 2 - this.fontRenderer.getStringWidth(s) / 2, 6, 4210752); this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } /** * Draw the background layer for the GuiContainer (everything behind the items) */ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().renderEngine.func_110577_a(new ResourceLocation("legendmod:textures/gui/smelterGui.png")); int k = (this.width - this.xSize) / 2; int l = (this.height - this.ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); int i1; if (this.furnaceInventory.isBurning()) { i1 = this.furnaceInventory.getBurnTimeRemainingScaled(12); this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2); } i1 = this.furnaceInventory.getCookProgressScaled(24); this.drawTexturedModalRect(k + 79, l + 34, 176, 14, i1 + 1, 16); } }
-
Mais ca c’est pour un GUI Container. Container c’est à dire un interface avec des slots. (Ex: l’inventaire, table craft…)
En fait il faut utiliser la class GuiScreen au lieu de GuiContainer pour ce genre de chose.Par contre là, ce qui m’intéresserait en ce moment, c’est comment faire des scrollbar verticale dans une zone de texte ?
-
Je ne sais pas du tout :[
-
GuiLanguage.java