Java Minecraft fontRenderer.drawString()立即消失
我尝试在minecraft中使用此功能制作ingame GUI。(我正在将forge与mc1.5.2一起使用) 这是我的密码:Java Minecraft fontRenderer.drawString()立即消失,java,minecraft,minecraft-forge,Java,Minecraft,Minecraft Forge,我尝试在minecraft中使用此功能制作ingame GUI。(我正在将forge与mc1.5.2一起使用) 这是我的密码: @ForgeSubscribe public void onServerChat(ServerChatEvent event) { mcObject.fontRenderer.drawStringWithShadow("Hello WOrld", 4, 4, 0xffFFFFFF); mcObject.ingameGUI.drawRect(2 /*X*/
@ForgeSubscribe
public void onServerChat(ServerChatEvent event)
{
mcObject.fontRenderer.drawStringWithShadow("Hello WOrld", 4, 4, 0xffFFFFFF);
mcObject.ingameGUI.drawRect(2 /*X*/, 2 /*Y*/, 100 /*X1*/, 12 /*Y1*/, 0x80000000 /*COLOUR*/);
}
但当我输入聊天信息(仅使用该事件进行测试)时,文本会立即消失,你几乎看不到它,当然也看不到它
我对伪造模版很陌生
如何使文本更持久,以及如何再次删除(或覆盖)?我没有使用Minecraft代码的经验,但我推测,无论您试图绘制什么,都只绘制一帧。这与你所看到的“瞬间消失”行为是一致的。如果是这种情况,则可以在每个帧上调用这些方法,直到要停止绘制为止 我没有使用Minecraft代码的经验,但我推测您试图绘制的内容只针对单个帧。这与你所看到的“瞬间消失”行为是一致的。如果是这种情况,则可以在每个帧上调用这些方法,直到要停止绘制为止 我得到了一个答案,我查看了Minecraft制作gui代码,发现了这个,它可能会帮助您:
this.fontRenderer.drawString("Crafting", 28, 6, 4210752);
// Args that I think: text, X, Y, color
需要导入org.lwjgl.opengl.GL11代码>
正如你所知,这是正常Minecraft中的MCP,但它应该可以工作。我得到了一个答案,我查看了Minecraft制作gui代码,发现了这个,它可能会帮助你:
this.fontRenderer.drawString("Crafting", 28, 6, 4210752);
// Args that I think: text, X, Y, color
需要导入org.lwjgl.opengl.GL11代码>
正如你所知道的,这是来自普通雷击机中的MCP,但它应该能工作。在ServerChat上,它是一个即时事件:当聊天收到消息时触发,并立即停止
您将需要在更新每个帧的事件中绘制GUI。我一直在RenderExperienceBar上做,这是Minecraft默认GUI的一个元素。下面是一个使用您的代码的示例
@SideOnly(Side.CLIENT)
@SubscribeEvent(priority = EventPriority.NORMAL)
public void onRenderExperienceBar(RenderGameOverlayEvent event) {
mcObject.fontRenderer.drawStringWithShadow("Hello World", 4, 4, 0xffFFFFFF);
mcObject.ingameGUI.drawRect(2 /*X*/, 2 /*Y*/, 100 /*X1*/, 12 /*Y1*/, 0x80000000 /*COLOUR*/);
}
onServerChat是一个即时事件:当聊天收到消息时触发,并立即停止
您将需要在更新每个帧的事件中绘制GUI。我一直在RenderExperienceBar上做,这是Minecraft默认GUI的一个元素。下面是一个使用您的代码的示例
@SideOnly(Side.CLIENT)
@SubscribeEvent(priority = EventPriority.NORMAL)
public void onRenderExperienceBar(RenderGameOverlayEvent event) {
mcObject.fontRenderer.drawStringWithShadow("Hello World", 4, 4, 0xffFFFFFF);
mcObject.ingameGUI.drawRect(2 /*X*/, 2 /*Y*/, 100 /*X1*/, 12 /*Y1*/, 0x80000000 /*COLOUR*/);
}
我想那是对的,但我还是做不到。。。我想我会玩得更久一些…我想那是对的,但我仍然不能做。。。我想我会再玩一会儿。。。