Переопределение GUI

Версия Minecraft
1.12.2
19
0
Я хотел бы изменить дизайн меню ESC(Game Menu).

2019-02-17_14.49.28.png

когда я нажал клавишу ESC, я пытался отобразить мой GUI на экране.

2019-02-17_14.59.23.png

Однако, когда вы покидаете окно другими средствами, такими как клавиша Windows, существующее игровое меню снова отображается на экране.
Так как вы переопределяете GUI?
И когда я смотрю на графический интерфейс, который я создал выше, размер странным образом отображается на экране
Также, если вы увеличите размер окна, оно будет правильно отображаться на экране.
Вывод, Как Переопределение GUI и правильно отобразить размер на экране? (Поскольку размер GUI превышает 256, мы использовали drawModalRectWithCustomSizedTexture.)

2019-02-17_15.05.03.png
 
1,470
19
189
нужен эвент GuiOpen или OpenGui
там делаем так
if(event.gui instanceof GuiGameMenu) event.gui = CustomGuiGameMenu
размер можно привязать к размеру окна используя ScaledResolution
 
19
0
нужен эвент GuiOpen или OpenGui
там делаем так
if(event.gui instanceof GuiGameMenu) event.gui = CustomGuiGameMenu
размер можно привязать к размеру окна используя ScaledResolution

Хм ... можешь привести пример? Я использовал
Java:
ScaledResolution scaledResolution = new ScaledResolution(mc);
int bwidth = scaledResolution.getScaledWidth();
int bheight = scaledResolution.getScaledHeight();

Я получил Int, но я не знаю, как изменить его размер.
 
19
0
Из-за размера съедут координаты, по-этому вместо например width / 2 нужно указывать (width / 2) / scale.
Java:
@Override
    public void drawButton(Minecraft mc, int mouseX, int mouseY, float partialTicks) {

        width = 237;
        height = 63;

        if (visible) {
            if (mouseX >= x && mouseX <= x + width && mouseY >= y && mouseY <= y + height) {
                hovered = true;
            } else {
                hovered = false;
            }
            GL11.glPushMatrix(); {
                float scale = 2.0F;
                GL11.glScalef(scale,scale,0.0F);
                OtherRenderer.drawModalRectCustomSize(mc,new ResourceLocation(Reference.MOD_ID + ":textures/gui/button/button1.png"),x,y,(width / 2) / (int)scale, (height / 2) / (int)scale);
            }
            GL11.glPopMatrix();
        }
    }
}

Если вы используете эти коды, вы не увидите их на дисплее.
 
Сверху