Une question sur le tesselator(DrawTextureModalRect)
-
Il faut penser à faire le draw de tes textures dans le POST du RenderGameOverlayEvent. Je comprends pas trop ce que çà fait, envoi une screenshot.
-
j’ai régler le problème de rendu de la barre d eau c’était de ma faute reste que l image en 1616 s’affiche toujours en 200200
http://puu.sh/jmFVA/48466318f9.jpg
avec: drawTexturedModalRect(j2-8, k2-20, 1, 1, 16, 16);http://puu.sh/jmG2q/7d44e2e95e.jpg
avec: drawTexturedModalRect(j2-8, k2-100, 1, 1, 120, 120);j’avait pensé a un GL11.gl_scaled mais ça resize toute l interface de minecraft
-
Ton draw est pas bon, voici les paramètres : x,y, offsetX, offsetY, width, height. Dans la plupart des cas (dont le tiens), l’offset devrait être de 0.
Donc : drawTextureModalRect(j2-8, k2 - 100, 0, 0, 16, 16)
-
ça change rien toujours carré blanc comme dans le 1er cas
au cas ou je drop le codeif (props.getCurrentDrugs() == 3){ ScaledResolution scaledresolution = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); int k = scaledresolution.getScaledWidth(); int l = scaledresolution.getScaledHeight(); int j2; int k2; j2 = (k - this.mc.fontRenderer.getStringWidth("")) / 2; k2 = l - 31 - 4; this.mc.getTextureManager().bindTexture(clean); drawTexturedModalRect(j2-8, k2-100, 0, 0, 16, 16); } -
Rajoute un Gl11.glScalef.
Petit conseil : fait le draw en x = y = 0. Et déplace le avec un GL11.glTranslate, comme ceci :
GL11.glPushMatrix() GL11.glTranslatef(x, y 0.0F) // C'est du 2D donc pas de translation sur l'axe Z float scale = 2.0F; GL11.glScalef(scale, scale, 0.0F) drawTextureModalRect(0,0,0,0, 16, 16) GL11.glPopMatrix()En fait, le width et le height sont ceux de la texture, pas du fichier.
-
ok je comprend mieux j’avais mal compris la méthode drawTextureModalRect je pensait que c’était la taille du fichier ;S
ca fonctionne toujours pas:
http://puu.sh/jmQ9Q/22ab6817d1.jpgle carré a juste un couleur au lieu du blanc d’avant j’ai changer le scalef a 1.0 toujours pareil et si je le diminue encore ça réduit le cadre la taille du DrawTextureModalRect pas l’image en elle même
-
Renvoi ton code + la fonction drawTexturemModalRect().
-
Le voici
if (props.getCurrentDrugs() == 3){ ScaledResolution scaledresolution = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); int k = scaledresolution.getScaledWidth(); int l = scaledresolution.getScaledHeight(); int j2; int k2; j2 = (k / 2); k2 = l - 31 - 4; this.mc.getTextureManager().bindTexture(clean); GL11.glPushMatrix(); GL11.glTranslatef(j2-8, k2-20, 0.0F); // C'est du 2D donc pas de translation sur l'axe Z float scale = 1.0F; GL11.glScalef(scale, scale, 0.0F); drawTexturedModalRect(0, 0, 0, 0, 16, 16); GL11.glPopMatrix(); } -
@‘SCAREX’:
Renvoi ton code + la fonction drawTexturemModalRect().
-
vu que j extend gui j’utilise la fonction DrawTextureModalRect de celui-ci
public void drawTexturedModalRect(int p_73729_1_, int p_73729_2_, int p_73729_3_, int p_73729_4_, int p_73729_5_, int p_73729_6_) { float f = 0.00390625F; float f1 = 0.00390625F; Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV((double)(p_73729_1_ + 0), (double)(p_73729_2_ + p_73729_6_), (double)this.zLevel, (double)((float)(p_73729_3_ + 0) * f), (double)((float)(p_73729_4_ + p_73729_6_) * f1)); tessellator.addVertexWithUV((double)(p_73729_1_ + p_73729_5_), (double)(p_73729_2_ + p_73729_6_), (double)this.zLevel, (double)((float)(p_73729_3_ + p_73729_5_) * f), (double)((float)(p_73729_4_ + p_73729_6_) * f1)); tessellator.addVertexWithUV((double)(p_73729_1_ + p_73729_5_), (double)(p_73729_2_ + 0), (double)this.zLevel, (double)((float)(p_73729_3_ + p_73729_5_) * f), (double)((float)(p_73729_4_ + 0) * f1)); tessellator.addVertexWithUV((double)(p_73729_1_ + 0), (double)(p_73729_2_ + 0), (double)this.zLevel, (double)((float)(p_73729_3_ + 0) * f), (double)((float)(p_73729_4_ + 0) * f1)); tessellator.draw(); }cette méthode ci
-
Essaie de mettre 256 en taille et de diminuer le scale, la taille doit être donnée en base 256.
-
c’était ça merci encore du coup de main
je passe en resolut