0

drawStringからのテキスト出力をプログラムのX座標の中央に配置しようとしています。私は自分のウィンドウの幅を取得し、中央を取得するために2で割ろうとしていますが、役に立ちません。これが私のコードです:

package net.minecraft.src;
import java.awt.Color;
import java.awt.FontMetrics;
import org.lwjgl.input.Keyboard;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import net.minecraft.client.Minecraft;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

public class GuiIngame extends Gui
{
//lots of other code here
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(0);
String xCords = nf.format(mc.thePlayer.posX);
String yCords = nf.format(mc.thePlayer.posY);
String zCords = nf.format(mc.thePlayer.posZ);
drawString(fontrenderer, (new StringBuilder()).append("X: ").append(xCords).toString(), 20, 2, 0xe0e0e0);
drawString(fontrenderer, (new StringBuilder()).append("Y: ").append(xCords).toString(), 40, 2, 0xe0e0e0);
drawString(fontrenderer, (new StringBuilder()).append("Z: ").append(xCords).toString(), 60, 2, 0xe0e0e0);
}

x軸の中心に配置する必要があるだけです。

4

3 に答える 3

2

仕事をしたことを知らなかった整数がありました。各行を表示する最終的なコードは次のとおりです。

drawCenteredString(fontrenderer, (new StringBuilder()).append("X: ").append(xCords).toString(), mc.displayWidth / 4, 2, 0xe0e0e0);
于 2012-04-11T22:54:46.680 に答える
2

これはあなたが望むことをするはずです:

String coord_text = new StringBuilder()).append("X: ").append(xCords).toString();
gui.drawString(fontrenderer, coord_text, gui.width/2 - fontrenderer.getStringWidth(coord_text)/2, 2, 0xe0e0e0);
于 2012-04-12T13:07:51.657 に答える
2

これを行うための特定の関数があります。私はそれが drawCenterString と呼ばれていると信じています

于 2012-04-27T18:17:14.897 に答える