【総合】トピック立てるまでもない質問【Mod制作】

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.312404)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by ShuperDark » 2018年1月07日(日) 18:51

こんにちは。
現在アイテムのGUIを作成中でして、GuiTextFieldの変数が3つありますが、クリックしても入力することが出来ません。
setFocusedをtrueにすると全てのGuiTextFieldが連動してしまい、文字を入力すると同じ文字が打たれてしまいます。
どうか対策できませんか?
お手間を取らせて申し訳ありませんが、マイクラのタブの大きさを変えるとGuiButtonの位置がずれてしまいます(最大のときは正常な位置です)
これはどうすることもできないのでしょうか

GuiTravelRod
コード: 全て選択
import org.lwjgl.opengl.GL11;

import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;

public class GuiTravelRod extends GuiContainer {
   
   private static final ResourceLocation texture = new ResourceLocation("easytravel:textures/gui/container/generic_travel.png");
   
   private GuiTextField Guix;
   private GuiTextField Guiy;
   private GuiTextField Guiz;
   
   public GuiTravelRod(InventoryPlayer player) {
      super(new ContainerTravelRod(player));
      this.ySize = 222;
   }
   
   @Override
   public void initGui() {
      super.initGui();
      
      this.buttonList.add(new GuiButton(1, 210, 130, 100, 20, "Travel"));

       Guix = new GuiTextField(this.fontRendererObj, 70, 20, 50, 10);
         Guix.setMaxStringLength(8);
         Guix.setText("x");
         Guix.setFocused(false);
          
         Guiy = new GuiTextField(this.fontRendererObj, 70, 40, 50, 10);
         Guiy.setMaxStringLength(8);
         Guiy.setText("y");
         Guiy.setFocused(false);
          
         Guiz = new GuiTextField(this.fontRendererObj, 70, 60, 50, 10);
         Guiz.setMaxStringLength(8);
         Guiz.setText("z");
         Guiz.setFocused(false);
   }
   
   @Override
    protected void drawGuiContainerForegroundLayer(int x, int p_146979_2_)
    {
        this.fontRendererObj.drawString("TravelRod", 8, 6, 4210752);
        this.fontRendererObj.drawString("Inventory", 8, this.ySize - 96 + 2, 4210752);
        this.fontRendererObj.drawString("x:", 56, 20, 4210752);
        this.fontRendererObj.drawString("y:", 56, 40, 4210752);
        this.fontRendererObj.drawString("z:", 56, 60, 4210752);

        Guix.drawTextBox();
       
        Guiy.drawTextBox();
       
        Guiz.drawTextBox();
    }
   
   @Override
   protected void keyTyped(char par1, int par2) {
      super.keyTyped(par1, par2);
      this.Guix.textboxKeyTyped(par1, par2);
      this.Guiy.textboxKeyTyped(par1, par2);
      this.Guiz.textboxKeyTyped(par1, par2);
   }
   
   @Override
   protected void mouseClicked(int x, int y, int btn) {
      super.mouseClicked(x, y, btn);
      this.Guix.mouseClicked(x, y, btn);
      this.Guiy.mouseClicked(x, y, btn);
      this.Guiz.mouseClicked(x, y, btn);
   }
   
   @Override
   public void updateScreen() {
      super.updateScreen();
      Guix.updateCursorCounter();
      Guiy.updateCursorCounter();
      Guiz.updateCursorCounter();
   }
   
    @Override
       protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_)
       {
           GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
           this.mc.getTextureManager().bindTexture(texture);
           int k = (this.width - this.xSize) / 2;
           int l = (this.height - this.ySize) / 2;
           this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
       }

}



開発環境は1.7.10です。
アバター
ShuperDark
ID:85d166a0
木を殴ってる
 
記事: 39
登録日時: 2017年4月15日(土) 20:35

1つ前へ

Return to 質問:開発・制作関連

x