【发布时间】:2021-12-28 03:39:21
【问题描述】:
我正在制作一个自定义的 Minecraft 客户端。为此,我想制作一个自定义主菜单,我尝试了代码:
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
// draw a image
mc.getTextureManager().bindTexture(new ResourceLocation("moon/gui/background.jpg"));
this.drawModalRectWithCustomSizedTexture(0, 0, 0, 0, this.width, this.height, this.width, this.height);
super.drawScreen(mouseX,mouseY,partialTicks);
}
然后将 GuiMainMenu(这是默认的 Minecraft 主菜单类)替换为 CustomMainMenu(这是我的主菜单类)然后我尝试运行它,它结果出现 2 个粉红色和黑色框,表示未找到 bg.jpg 的背景文件。控制台输出证实了这一点,该输出显示 java.io 文件未找到。我希望它显示我的背景图片,但它没有。
我尝试了一些事情:
- 重新下载java
- 更改背景图片
- 将背景图像包从 MOON.gui 更改为 moon.gui 和 moon 并返回到 moon.gui强>
- 在制作discord server 的 Minecraft 客户端中寻求帮助。
我的 CustomMainMenu 类的整个代码是:
package me.debug.moon.ui;
import net.minecraft.client.gui.*;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
public class MainMenu extends GuiScreen {
// create a override drawScreem
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
// draw a image
mc.getTextureManager().bindTexture(new ResourceLocation("moon/gui/bg.jpg"));
this.drawModalRectWithCustomSizedTexture(0, 0, 0, 0, this.width, this.height, this.width, this.height);
super.drawScreen(mouseX,mouseY,partialTicks);
}
// create override super initGui
@Override
public void initGui() {
this.buttonList.add(new GuiButton(1, this.width / 2 - 40, this.height / 2 - 40, 200, 20, "Single-Player"));
this.buttonList.add(new GuiButton(2, this.width / 2 - 15, this.height / 2 - 15, 200, 20, "Multi-Player"));
this.buttonList.add(new GuiButton(3, this.width / 2 + 10, this.height / 2 + 10, 200, 20, "Settings"));
this.buttonList.add(new GuiButton(4, this.width / 2 + 40, this.height / 2 + 40, 20, 20, "Exit"));
super.initGui();
}
//create super override actionPerformed
@Override
protected void actionPerformed(GuiButton button) {
switch (button.id) {
case 1:
this.mc.displayGuiScreen(new GuiSelectWorld(this));
break;
case 2:
this.mc.displayGuiScreen(new GuiMultiplayer(this));
break;
case 3:
this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
break;
case 4:
mc.shutdown();
break;
}
}
}
【问题讨论】:
-
你能展示你的项目结构吗?
-
资产文件夹或代码文件夹@Elikill58
-
两者,类似于that
-
这样好吗? i.imgur.com/kAv8ZXe.png@Elikill58
-
让我来回答一下。只是,你能在你的问题中包含这个屏幕吗?
标签: java user-interface minecraft