我已在以下代码行中隔离了该问题:
Minecraft.getMinecraft().fontRendererObj.drawStringWithShadow(etc)
我非常困惑为什么它会人工合成经验条、健康条、食物条和盔甲条。这是我的代码的一部分:
// the main code
public void postInit(FMLPostInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(new MyMod());
}
// MyMod class
public uiCreator;
public MyMod() {
uiCreator = new UICreator();
}
@SubscribeEvent
public void onGui(RenderGameOverlayEvent event) {
uiCreator.Create();
}
// UICreator class
public void Create() {
GlStateManager.scale(1.5, 1.5, 1.5);
Minecraft.getMinecraft().fontRendererObj.drawStringWithShadow("MyMod", 2, 2, 0xffffff);
GlStateManager.scale(1 / 1.5, 1 / 1.5, 1 / 1.5);
}
实际上,导致伪影的线是Minecraft.getMinecraft().fontRendererObj.drawStringWithShadow("MyMod", 2, 2, 0xffffff);
. 我不明白为什么。我确定是这一行,因为删除/注释掉代码的任何其他部分并不能修复工件,直到我注释掉这一行。我对为什么会发生这种情况感到非常困惑。如果有人有任何形式的见解,我将不胜感激