public void drawStats(double xC, double yC)
{
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
double x, y;
GL11.glColor4f(0.2f, 0.2f, 0.2f, 1);
Tessellator tess = new Tessellator();
tess.startDrawing(GL11.GL_TRIANGLE_FAN);
tess.addVertex(xC, yC, 0);
for(int i = 0;i<=30;i++)
{
x = (16*Math.sin(Math.toRadians(i*(360/30)))) + xC;
y = (16*Math.cos(Math.toRadians(i*(360/30)))) + yC;
tess.addVertex(x, y, 0);
}
tess.draw();
float hp = Minecraft.getMinecraft().thePlayer.getHealth();
float maxHP = Minecraft.getMinecraft().thePlayer.getMaxHealth();
GL11.glColor4f(1f, 0f, 0f, 1)...
public void drawStats(double xC, double yC)
{
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
double x, y;
GL11.glColor4f(0.2f, 0.2f, 0.2f, 1);
Tessellator tess = new Tessellator();
tess.startDrawing(GL11.GL_TRIANGLE_FAN);
tess.addVertex(xC, yC, 0);
for(int i = 0;i<=30;i++)
{
x = (16*Math.sin(Math.toRadians(i*(360/30)))) + xC;
y = (16*Math.cos(Math.toRadians(i*(360/30)))) + yC;
tess.addVertex(x, y, 0);
}
tess.draw();
float hp = Minecraft.getMinecraft().thePlayer.getHealth();
float maxHP = Minecraft.getMinecraft().thePlayer.getMaxHealth();
GL11.glColor4f(1f, 0f, 0f, 1);
tess.startDrawing(GL11.GL_TRIANGLE_FAN);
GL11.glDisable(GL11.GL_CULL_FACE);
tess.addVertex(xC, yC, 0);
for(int i = 0;i<=hp;i++)
{
double angle = 360-(i*(360/maxHP));
x = (16*Math.sin(Math.toRadians(angle))) + xC;
y = (16*Math.cos(Math.toRadians(angle))) + yC;
tess.addVertex(x, y, 0);
}
tess.draw();
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_CULL_FACE);
this.mc.getTextureManager().bindTexture(new ResourceLocation(ModInfo.MODID + ":" + "textures/gui/circleStats.png"));
GL11.glColor3f(1, 1, 1);
GL11.glTranslated(0, 0, 500);
this.drawTexturedModalRect((int)xC-16, (int)yC-16, 0, 0, 256, 256);
GL11.glPopMatrix();
}
RinKirin написал(а):
Куда вставить его, как вызвать и как заменить текстуру надеюсь объяснять не надо?Код:public void drawStats(double xC, double yC) { GL11.glPushMatrix(); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_BLEND); double x, y; GL11.glColor4f(0.2f, 0.2f, 0.2f, 1); Tessellator tess = new Tessellator(); tess.startDrawing(GL11.GL_TRIANGLE_FAN); tess.addVertex(xC, yC, 0); for(int i = 0;i<=30;i++) { x = (16*Math.sin(Math.toRadians(i*(360/30)))) + xC; y = (16*Math.cos(Math.toRadians(i*(360/30)))) + yC; tess.addVertex(x, y, 0); } tess.draw(); float hp = Minecraft.getMinecraft().thePlayer.getHealth(); float maxHP = Minecraft.getMinecraft().thePlayer.getMaxHealth(); GL11.glColor4f(1f, 0f, 0f, 1); tess.startDrawing(GL11.GL_TRIANGLE_FAN); GL11.glDisable(GL11.GL_CULL_FACE); tess.addVertex(xC, yC, 0); for(int i = 0;i<=hp;i++) { double angle = 360-(i*(360/maxHP)); x = (16*Math.sin(Math.toRadians(angle))) + xC; y = (16*Math.cos(Math.toRadians(angle))) + yC; tess.addVertex(x, y, 0); } tess.draw(); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_CULL_FACE); this.mc.getTextureManager().bindTexture(new ResourceLocation(ModInfo.MODID + ":" + "textures/gui/circleStats.png")); GL11.glColor3f(1, 1, 1); GL11.glTranslated(0, 0, 500); this.drawTexturedModalRect((int)xC-16, (int)yC-16, 0, 0, 256, 256); GL11.glPopMatrix(); }
Еще надеюсь разберешься как изменить радиус при необходимости и так далее
Agravaine написал(а):new Tessellator? Рили? Есть же instance)
Лол, действительно, зачем инстансить уже загруженный класс, когда можно загрузить по новый?RinKirin написал(а):Главное что работает)
Nix13Chanel написал(а):В итоге круг опять не видно :/
Ivasik написал(а):Nix13Chanel написал(а):В итоге круг опять не видно :/
Ну так прозрачность сделай, в чём проблема?
А точно, я ж свою текстурку сделал, да. Там нужно сделать только контуры для текстуры.Nix13Chanel написал(а):Ivasik написал(а):Nix13Chanel написал(а):В итоге круг опять не видно :/
Ну так прозрачность сделай, в чём проблема?
В том, что он рендерится под текстурой
Ivasik написал(а):Лол, действительно, зачем инстансить уже загруженный класс, когда можно загрузить по новый?RinKirin написал(а):Главное что работает)
RinKirin написал(а):А точно, я ж свою текстурку сделал, да. Там нужно сделать только контуры для текстуры.Nix13Chanel написал(а):Ivasik написал(а):Nix13Chanel написал(а):В итоге круг опять не видно :/
Ну так прозрачность сделай, в чём проблема?
В том, что он рендерится под текстурой
Вот моя если надо
Ivasik написал(а):Лол, действительно, зачем инстансить уже загруженный класс, когда можно загрузить по новый?RinKirin написал(а):Главное что работает)
Вот именно я так тоже думаю нет не думаю, забыл, потому что не использую теселятор, но это уже другая история