Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Minecraft fontRenderer.drawString()立即消失_Java_Minecraft_Minecraft Forge - Fatal编程技术网

Java Minecraft fontRenderer.drawString()立即消失

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*/

我尝试在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*/, 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*/);

}

我想那是对的,但我还是做不到。。。我想我会玩得更久一些…我想那是对的,但我仍然不能做。。。我想我会再玩一会儿。。。