static final Minecraft mc = Minecraft.getMinecraft();
@SubscribeEvent
public void drawText(RenderGameOverlayEvent.Post event) {
if (!mc.thePlayer.isPotionActive(Potion.moveSlowdown)) break;
switch(event.type) {
//текстура
case ALL:
mc.getTextureManager().bindTexture(texture_break_leg);
mc.ingameGUI.drawTexturedModalRect(2, 2, 0, 0, 16, 16);
break;
//текст
case TEXT:
mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("break_leg"), 2, 20, 0xFFFFFF);
break;
//
default:break;
}
}
@SubscribeEvent
public void drawText(RenderGameOverlayEvent.Post event) {
if...
Размер текстуры 256х256 это стандартно работает так метод drawTexturedModalRect.static final ResourceLocation texturebone = new ResourceLocation("bestfoxy", "textures/gui/bone.png");
0, 0 - это координаты начала на текстуре,0, 0, 17, 17);
А как узнать эти координаты , я свою тестуру ставлю у меня её не видно0, 0 - это координаты начала на текстуре,
public void rotateIcon(int angle)
{
int w = theLabel.getIcon().getIconWidth();
int h = theLabel.getIcon().getIconHeight();
int type = BufferedImage.TYPE_INT_RGB; // other options, see api
BufferedImage DaImage = new BufferedImage(h, w, type);
Graphics2D g2 = DaImage.createGraphics();
double x = (h - w)/2.0;
double y = (w - h)/2.0;
AffineTransform at = AffineTransform.getTranslateInstance(x, y);
at.rotate(Math.toRadians(angle), w/2.0, h/2.0);
g2.drawImage(new ImageIcon(getData()).getImage(), at, theLabel);
g2.dispose();
theLabel.setIcon(new ImageIcon(DaImage));
this.setSize(DaImage.getWidth(),DaImage.getHeight()); //resize the frame
}
Можно подробнее ?Повернуть и изменить размер, можно использовать свой drawTexturedModalRect.
Это нормально, так как типа там начало, альтернатива drawTexturedModalRect у него координаты по 0, но так-же добавить перенос:но уносит Меню инвентарь в левый угол
mc.ingameGUI.drawTexturedModalRect(event.resolution.getScaledWidth() - 18, 2, 0, 0, 17, 17);
GL11.glPushMatrix();
GL11.glTranslatef(event.resolution.getScaledWidth() - 18, 2, 0);
GL11.glScalef(0.5F, 0.5F, 0.5F);
mc.ingameGUI.drawTexturedModalRect(0, 0, 0, 0, 17, 17);
GL11.glPopMatrix();
Была такая же проблема как и у тебя. Пришлось маленько переписывать. Держи рабочий пример. Путь к текстуре и "Constants.MODID" меняй на свое@timaxa007 , с текстом всё работает,но с картинкой нет,есть ещё варианты чтоб работало ?
[Tutorial] Геометрия в наложениях (overlays)@timaxa007 , что можно сделать чтобы оно на месте сидело , а не каталось при смене экрана