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

    Résolu Champ de texte et boutons

    1.8.x
    1.8
    3
    4
    1132
    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.
    • ?
      Invité dernière édition par

      Bonjour/bonsoir,
      ce soir j’ai essayé de faire quelque chose de beau en faisant un gui avec champ de texte et bouton pour parvenir à plusieurs choses.
      J’ai d’abord crée des boutons qui utilise la commande /tp et un bouton qui ferme la fenêtre. Après des que j’ai crée le champ de texte avec lequel on écrirai des coordonnées, les boutons ne fonctionne plus et il m’est impossible de fermer le gui.

      Voici ma classe

      package tarael.gui;
      
      import org.lwjgl.opengl.GL11;
      
      import tarael.Common.TutorialItems;
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.entity.EntityPlayerSP;
      import net.minecraft.client.gui.GuiButton;
      import net.minecraft.client.gui.GuiScreen;
      import net.minecraft.client.gui.GuiTextField;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.ItemStack;
      import net.minecraft.util.ResourceLocation;
      import net.minecraft.world.World;
      
      public class GuiTest extends GuiScreen {
      
      public String m;
      
      public GuiTest(EntityPlayer player) {
      
      }
      
      private ResourceLocation backgroundimage = new ResourceLocation(
      "tm:textures/client/gui/gui2.png");
      private GuiTextField tutoTextField;
      public final int xSizeOfTexture = 222;
      public final int ySizeOfTexture = 218;
      
      @Override
      public void drawScreen(int x, int y, float f) {
      drawDefaultBackground();
      
      GL11.glColor4f(1F, 1F, 1F, 1F);
      
      this.mc.getTextureManager().bindTexture(backgroundimage);
      int x1 = (this.width - xSizeOfTexture) / 2;
      int y1 = (this.height - ySizeOfTexture) / 2;
      drawTexturedModalRect(x1, y1, 0, 0, xSizeOfTexture, ySizeOfTexture);
      this.tutoTextField.drawTextBox();
      super.drawScreen(x, y, f);
      }
      
      @Override
      public boolean doesGuiPauseGame() {
      return false;
      }
      
      /*
      * private void drawDefaultBackground() { // TODO Auto-generated method stub
      *
      * }
      */
      
      public void initGui() {
      
      this.buttonList.clear();
      
      int posX = (this.width - xSizeOfTexture) / 2;
      int posY = (this.height - ySizeOfTexture) / 2;
      
      this.buttonList.add(new GuiButton(0, posX + 31, posY + 90, 50, 20,
      "Spawn"));
      this.buttonList
      .add(new GuiButton(10, posX + 12, posY + 195, 35, 20, "\u00a74Baal"));
      
      this.buttonList
      .add(new GuiButton(4, posX + 0, posY + 0, 30, 20, "Exit"));
      
      this.tutoTextField = new GuiTextField( 0,this.fontRendererObj, posX+ 50, posY+ 80, 60, 20);
      
      }
      
      public void actionPerformed(GuiButton button) {
      
      switch (button.id) {
      case 0: {
      Minecraft.getMinecraft().thePlayer
      .sendChatMessage("/tp -3674 140 -679 -2 4");
      Minecraft.getMinecraft().thePlayer.closeScreen();
      Minecraft.getMinecraft().thePlayer.inventory
      .consumeInventoryItem(Minecraft.getMinecraft().thePlayer
      .getHeldItem().getItem());
      }
      break;
      
      case 10: {
      Minecraft.getMinecraft().thePlayer
      .sendChatMessage("/tp -3925 95 217 0 26");
      Minecraft.getMinecraft().thePlayer.closeScreen();
      Minecraft.getMinecraft().thePlayer.inventory
      .consumeInventoryItem(Minecraft.getMinecraft().thePlayer
      .getHeldItem().getItem());
      }
      break;
      
      case 4: {
      Minecraft.getMinecraft().thePlayer.closeScreen();
      }
      break;
      // player.setPositionAndRotation((double) -3674,(double) 140,(double)
      // -679,(float) -2,(float) 4);
      default:
      }
      }
      
      public void updateScreen()
      {
      this.tutoTextField.updateCursorCounter();
      }
      
      public void keyTyped(char par1, int par2)
      {
      
      this.tutoTextField.textboxKeyTyped(par1, par2);
      }
      
      public void mouseClicked(int par1, int par2, int par3)
      {
      
      this.tutoTextField.mouseClicked(par1, par2, par3);
      }
      
      }
      
      1 réponse Dernière réponse Répondre Citer 0
      • SCAREX
        SCAREX dernière édition par

        Je ne comprends absolument rien à ce que tu veux faire. Mis à part çà, il ne faut pas utiliser sendChatMessage avec le tp mais bien player.setRotationAndAngles ou une méthode similaire.

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

        1 réponse Dernière réponse Répondre Citer 0
        • ?
          Invité dernière édition par

          Problème régler, je passe en résolu.

          @‘SCAREX’:

          Je ne comprends absolument rien à ce que tu veux faire. Mis à part çà, il ne faut pas utiliser sendChatMessage avec le tp mais bien player.setRotationAndAngles ou une méthode similaire.

          Sinon pour le “player.setRotationAndAngles” je ne l’utilise pas car le mod que je crée est un mod pour serveur et que dans le serveur en question quand quelqu’un appui sur le bouton qui fait ce “player.setRotationAndAngles”, il est tp vers le lieu puis re tp vers sa position initial. Mais merci d’avoir essayer de m’aider ^^.

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

            Sauf que si sur ton serveur le joueur n’a pas la permission de faire /tp il ne pourra pas se tp.

            Avec setRotationAndAngles il revient à sa position car tu essayes de le bouger côté client, or il faut le faire bouger côté serveur. Donc il faut utiliser un paquet.

            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