我试图将drawString的文本输出居中放在程序的X坐标上。我试图获得我的窗口的宽度,并以两个为中心,但无济于事。这是我的代码:
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轴为中心。
答案 0 :(得分:2)
有一个我不知道的整数就完成了这项工作。我显示每一行的最终代码是:
drawCenteredString(fontrenderer, (new StringBuilder()).append("X: ").append(xCords).toString(), mc.displayWidth / 4, 2, 0xe0e0e0);
答案 1 :(得分: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);
答案 2 :(得分:2)
有一个特定的功能,我相信它被称为drawCenterString