Problème de Gui



  • Salut j'ai un petit problème de Gui assez dérangeant, mon Gui fonctionne mais lorsque j'ouvre le chat, mon Gui vire au blanc.

    Voici des screens :

    http://altiscraft.fr/BEN/1.png
    http://altiscraft.fr/BEN/2.png

    Voici mon code :

    @SubscribeEvent
    public void onRenderRepa(RenderGameOverlayEvent.Post event)
    {
    if(event.type == RenderGameOverlayEvent.ElementType.CHAT)
    {
    if(ClientProxy.isRepa() && fuelMax != 0)
    {
    float essence = fuel * 100 / fuelMax;
    ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight);
    int Width = sr.getScaledWidth();
    String vitesse = Math.round(speed * maxSpeed * 57) + " km/h";
    for(DriveablePart part : partsToDraw)
    {
    float percentHealth = (float)part.health / (float)part.maxHealth;
    }
    String nomveh = I18n.format("item." + vehicule + ".name");
    int formule = Math.round(speed * maxSpeed * 57);
    
    drawString(Minecraft.getMinecraft().fontRenderer, nomveh, Width - 100, 9, 0xFFFFFF);
    drawCenteredString(Minecraft.getMinecraft().fontRenderer, "CAR", Width - 91, 28, 0xBDBDBD);
    drawCenteredString(Minecraft.getMinecraft().fontRenderer, "PNE", Width - 91, 43, 0xBDBDBD);
    drawCenteredString(Minecraft.getMinecraft().fontRenderer, "MOT", Width - 67, 28, 0xBDBDBD);
    drawCenteredString(Minecraft.getMinecraft().fontRenderer, "ESS", Width - 43, 28, 0xBDBDBD);
    if(formule < 10 && formule >= 0)
    {
    drawString(Minecraft.getMinecraft().fontRenderer, vitesse, Width - 40, 43, 0xFFFFFF);
    }
    if(formule >= 10 && formule < 100)
    {
    drawString(Minecraft.getMinecraft().fontRenderer, vitesse, Width - 46, 43, 0xFFFFFF);
    }
    if(formule >= 100 && formule < 1000)
    {
    drawString(Minecraft.getMinecraft().fontRenderer, vitesse, Width - 52, 43, 0xFFFFFF);
    }
    if(formule < 0 && formule > -10)
    {
    drawString(Minecraft.getMinecraft().fontRenderer, vitesse, Width - 46, 43, 0xFFFFFF);
    }
    if(formule <= -10 && formule > -100)
    {
    drawString(Minecraft.getMinecraft().fontRenderer, vitesse, Width - 52, 43, 0xFFFFFF);
    }
    if(formule <= -100 && formule > -1000)
    {
    drawString(Minecraft.getMinecraft().fontRenderer, vitesse, Width - 58, 43, 0xFFFFFF);
    }
    GL11.glColor4f(1, 1, 1, 1);
    mc.renderEngine.bindTexture(new ResourceLocation(ModAltisCraft.MODID, "textures/gui/FondClair.png"));
    drawTexturedModalRect(Width - 105, 5, 0, 0, 100, 50);
    if(essence < 50 && essence >= 20)
    {
    mc.renderEngine.bindTexture(new ResourceLocation(ModAltisCraft.MODID, "textures/gui/FondOrange.png"));
    drawTexturedModalRect(Width - 105, 20, 0, 0, Math.round(essence), 3);
    }
    if(essence < 20)
    {
    mc.renderEngine.bindTexture(new ResourceLocation(ModAltisCraft.MODID, "textures/gui/FondRouge.png"));
    drawTexturedModalRect(Width - 105, 20, 0, 0, Math.round(essence), 3);
    }
    if(essence >= 50)
    {
    mc.renderEngine.bindTexture(new ResourceLocation(ModAltisCraft.MODID, "textures/gui/FondClair.png"));
    drawTexturedModalRect(Width - 105, 20, 0, 0, Math.round(essence), 3);
    }
    mc.renderEngine.bindTexture(new ResourceLocation(ModAltisCraft.MODID, "textures/gui/FondClair.png"));
    drawTexturedModalRect(Width - 102, 25, 0, 0, 22, 13);
    mc.renderEngine.bindTexture(new ResourceLocation(ModAltisCraft.MODID, "textures/gui/FondClair.png"));
    drawTexturedModalRect(Width - 102, 40, 0, 0, 22, 13);
    mc.renderEngine.bindTexture(new ResourceLocation(ModAltisCraft.MODID, "textures/gui/FondClair.png"));
    drawTexturedModalRect(Width - 78, 25, 0, 0, 22, 13);
    mc.renderEngine.bindTexture(new ResourceLocation(ModAltisCraft.MODID, "textures/gui/FondClair.png"));
    drawTexturedModalRect(Width - 54, 25, 0, 0, 22, 13);
    }
    }
    }
    

  • Administrateurs

    Peut-être parce que tu le rends en même temps que le tchat non ?
    if(event.type == RenderGameOverlayEvent.ElementType.CHAT)

    Utilise plutôt :
    if(event.type == RenderGameOverlayEvent.ElementType.TEXT)



  • Je sais bien mais j'ai essayé avec tous même .TEXT ça n'aide pas, ça reste blanc h24…



  • Essaie peut être sans la condition et/ou dans le RenderGameOverlayEvent.Pre (je fais des recherches de mon côté et je te redis)

    EDIT : voici ce que j'ai utilisé personnellement

    @SideOnly(Side.CLIENT)
    @SubscribeEvent
    public void onRenderGameOverlay(RenderGameOverlayEvent.Post event) {
    if (event.type == ElementType.ALL && !Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode) { // le creative mode c'est juste parce que c'était fait pour le survival
    // rendu
    }
    }
    


  • J'ai essayé aussi, ça marche pas… 😕



  • J'ai édité mon message


  • Administrateurs

    Ajoutes :
    GL11.glDisable(GL_CULL_FACE);
    après ton if
    et
    GL11.glEnable(GL_CULL_FACE);
    à la fin du code.



  • GL_CULL_FACE = ?



  • Merci Scarex j'ai un petit personalisé et ça marche merci 😛


  • Correcteurs