Jump to content

Search the Community

Showing results for tags 'GUI'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Communauté
    • Before Anything
    • Announcements
    • Members Presentations
    • Your Projects
    • Recruitment
  • Tutoriels
    • La base
    • Vanilla
    • Forge
    • Bukkit
    • Astuces
    • Autre
    • En attente de validation
    • En cours de rédaction
  • Créations
    • Minecraft
    • Games & Software
    • Web
    • Suggestions
  • The Graphic Corner
    • Personal Galleries
    • Public Galleries
    • On-Demand Creations
  • General Talk
    • General
    • Video Games
    • Development

Found 5 results

  1. CRÉATION DE GUI INTRODUCTION Bonjour, aujourd'hui je viens de commencer une nouvelle série de vidéo concernant la création de gui, ces vidéos se feront en plusieurs parties, une première sur l'introduction au code qui permet de créer notre GUI, une seconde sur l'ajout des fonctionnalités du GUI (Boutons / Textes / Modèles Joueurs etc...) et une troisième dédiée spécialement à la modification de la class GuiMainMenu pour customiser l'affichage du menu principal. Les vidéos sont faites sous la version de Minecraft 1.8.8, mais il faut savoir que le code de change pas énormément entre les versions. VIDÉO Voici les vidéos en question : Partie 1 : Création d'un GUI Partie 2 : *prochainement* Partie 3 : *prochainement*
  2. Afficher un message central Cette uvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas dUtilisation Commerciale - Pas de Modification 3.0 non transposé . Tout partage implique que vous citiez l'auteur original. -[iNTRODUCTION]- Salut tout le monde ! Nous allons expliquer dans cette astuce comment afficher un message au centre de l'écran. Vous verrez, ça n'est pas bien compliqué. -[PR-REQUIS]- -[sOMMAIRE]- 1] Explications pas à pas 2] Résultat final 1] Explications pas à pas Les messages du chat sont reçus par packets lors de la phase de jeu « play ». Lors de leur réception, la méthode NetHandlerPlayerClient.handleChat(S02PacketChat) est appelée. Elle affiche simplement le message reçu dans le chat (via la GuiIngame) : public void handleChat(S02PacketChat packetChat) // Un peu de renommage ne fait pas de mal { this.gameController.ingameGUI.getChatGUI().func_146227_a(packetChat.func_148915_c()); } Ce que nous allons faire, est simplement empêcher le message d'être affiché dans le chat s'il commence par « ~ » ou par «[bROADCAST] ». Le texte non formatté du message (sans les couleurs et autres) peut être récupéré sur le IChatComponent renvoyé par S02PacketChat.func_148915_c(). Nous allons donc remplacer la méthode par : public void handleChat(S02PacketChat packetChat) { /** * Le message qui a été reçu. */ IChatComponent chatComponent = packetChat.func_148915_c(); /** * Le texte non formatté reçu. */ String unformattedText = chatComponent.getUnformattedText(); // Si il s'agit d'un broadcast if (unformattedText.startsWith(" ~") || unformattedText.startsWith("[BROADCAST] ")) { // On l'affiche en tant que tel this.gameController.ingameGUI.showCenterMessage(chatComponent.getFormattedText()); } else { // Sinon on affiche le message dans le chat this.gameController.ingameGUI.getChatGUI().func_146227_a(chatComponent); } } Il nous faut ensuite créer la méthode showCenterMessage(String) dans GuiIngame. public void showCenterMessage(String formattedText) { } Pour la faire fonctionner, nous aurons besoin de 2 fields, qu'il nous faut déclarer au dessus : /** * Dans cette variable sera stocké le message à afficher. */ private String displayedCenterMessage = null; /** * Le temps restant du message à afficher (en ticks). */ private int centerMessageTimer = 0; Nous pouvons maintenant remplir la méthode. Comme vous pouvez le constater, elle ne fait que remplir les fields. public void showCenterMessage(String formattedText) { displayedCenterMessage = formattedText; centerMessageTimer = 3 * 20; // 3 * 20 ticks = 3 secondes } Ensuite, il faut afficher le texte entré dans displayedCenterMessage. Pour cela, nous nous rendons dans GuiIngame.renderGameOverlay, et en dessous du if suivant : if (!this.mc.playerController.enableEverythingIsScrewedUpMode()) On peut ajouter le code de rendu : if (displayedCenterMessage != null) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); // Transparence du message int alpha = centerMessageTimer < 10 ? ((int) (centerMessageTimer * 25)) : 255; // Couleur de base du message (simplement blanc auquel on a ajouté la transparence) int color = 0xffffff | ((alpha & 255) << 24); // On dessine le message centré avec la couleur calculée this.mc.fontRenderer.drawString(displayedCenterMessage, (var6 - this.mc.fontRenderer.getStringWidth(displayedCenterMessage)) / 2, var7 / 2 - 15, color); } Il ne nous reste maintenant plus qu'à décrémenter le timer et à vider la variable displayedCenterMessage si le temps est écoulé. Nous nous rendons dans GuiIngame.updateTick, et nos ajoutons ce code tout au début de la fonction : // Si on est en train d'afficher un message... if (this.centerMessageTimer > 0) { // On réduit le temps restant this.centerMessageTimer--; // Et si le temps est écoulé... if (this.centerMessageTimer == 0) { // On arrête d'afficher le message displayedCenterMessage = null; } } Et c'est tout ! 2] Résultat final Dans NetHandlerPlayerClient.handleChat(S02PacketChat) : public void handleChat(S02PacketChat packetChat) { /** * Le message qui a été reçu. */ IChatComponent chatComponent = packetChat.func_148915_c(); /** * Le texte non formatté reçu. */ String unformattedText = chatComponent.getUnformattedText(); // Si il s'agit d'un broadcast if (unformattedText.startsWith(" ~") || unformattedText.startsWith("[BROADCAST] ")) { // On l'affiche en tant que tel this.gameController.ingameGUI.showCenterMessage(chatComponent.getFormattedText()); } else { // Sinon on affiche le message dans le chat this.gameController.ingameGUI.getChatGUI().func_146227_a(chatComponent); } } Dans GuiIngame : /** * Dans cette variable sera stocké le message à afficher. */ private String displayedCenterMessage = null; /** * Le temps restant du message à afficher (en ticks). */ private int centerMessageTimer = 0; public void showCenterMessage(String formattedText) { displayedCenterMessage = formattedText; centerMessageTimer = 3 * 20; // 3 * 20 ticks = 3 secondes } Dans GuiIngame.renderGameOverlay : if (displayedCenterMessage != null) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); // Transparence du message int alpha = centerMessageTimer < 10 ? ((int) (centerMessageTimer * 25)) : 255; // Couleur de base du message (simplement blanc auquel on a ajouté la transparence) int color = 0xffffff | ((alpha & 255) << 24); // On dessine le message centré avec la couleur calculée this.mc.fontRenderer.drawString(displayedCenterMessage, (var6 - this.mc.fontRenderer.getStringWidth(displayedCenterMessage)) / 2, var7 / 2 - 15, color); } Dans GuiIngame.updateTick : // Si on est en train d'afficher un message... if (this.centerMessageTimer > 0) { // On réduit le temps restant this.centerMessageTimer--; // Et si le temps est écoulé... if (this.centerMessageTimer == 0) { // On arrête d'afficher le message displayedCenterMessage = null; } } Merci d'avoir suivi cette astuce, n'hésitez pas à laisser vos commentaires !
  3. Salut tout le monde je m'appelle SkylleHD, je suis actuellement entrain de faire mon serveur avec des mods, il me faudrait de l'aide pour pouvoir apporter des nouveautés à mon serveur. J'aimerai biens avoir de l'aide sûre c'est deux mods : - le 1er mod serait d'afficher un message sur l'écran (tout en faisant un "/broadcast") : - Mon 2 ème mod serait d'utiliser le plugin AuthMe avec un Gui Spécialement crée pour sa : Version de mon serveur : 1.7.10 Merci pour vos réponses !
  4. Bonjour, Titre :[1.3] Afficher le pseudo d'un joueur dans un Gui Tutoriel :Le tutoriel portera sur comment afficher le pseudo d'un joueur dans un Gui Demande par :MrCrispii // J'avais ajouter this.mc.thePlayer.username mais rien marchais... String var12 = "Pseudo: "; Merci Beaucoup. String var12 = new StringBuilder().append("Pseudo: §6").append(this.mc.thePlayer.username).toString();
  5. [Exercice]1- Bloc-notes

    Bonjour, Aujourd'hui je vous propose un exercice. En fonction des intéressés je verrais pour donner d'autres exercices de temps en temps. L'exercice consistera à créer une application bloc-note (lecture de fichier, écriture et enregistrement d'un fichier). Règles: Vous n'avez aucune contrainte, vous pouvez utiliser tout ce que vous voulez (API...). Aucune date limite, vous codez pour le plaisir. Important: essayer de commenter un maximum. J'ai réalisé l'exercice et voici ce que j'ai réussi à faire (les sources sont à l'intérieur) : http://forum.ironcra...e/28-jblocnote/ Voici des tutoriels qui vous seront utiles: http://www.siteduzer...-jar-executablepour pouvoir rendre votre application executable. http://www.siteduzer...d-entree-sortiepour tout ce qui touche aux fichiers (lecture, écriture...) http://www.siteduzer...remiere-fenetrepour les fenêtres. http://www.siteduzer...tes-de-dialogue Bonne chance. Correction du topic par MrTheoker. Merci Correction des commentaires dans l'application par theveritable. Merci à toi.
×