Фиксированный размер интерфейса

Версия Minecraft
1.8.8
Добрый день. Подскажите как сделать фиксированный размер текстуры, которую вывожу в GUI? Нужно чтобы картинка всегда была на одном и том же месте, относительно нулевых координат и  чтобы её размер менялся, в зависимости от размера экрана и размера интерфейса.
 
7,099
324
1,510
И на нее не влияла настройка размера гуи?
 
timaxa007 написал(а):
Да.


Проверяешь размер активного окна игры, относительно её будешь уменьшать или увеличивать размер Gui и его элементов.




Вот именно с изменением размера элементов и проблема. Какими средствами изменять размер?
 

Icosider

Kotliner
Администратор
3,600
99
663
Mastaxys написал(а):
timaxa007 написал(а):
Да.


Проверяешь размер активного окна игры, относительно её будешь уменьшать или увеличивать размер Gui и его элементов.




Вот именно с изменением размера элементов и проблема. Какими средствами изменять размер?



Либо скалой либо брать код из темы "Геометрия в наложениях" и менять с 256 на 128, 64, 32, 16, 8.
 
WildHeart написал(а):
Mastaxys написал(а):
timaxa007 написал(а):
Да.


Проверяешь размер активного окна игры, относительно её будешь уменьшать или увеличивать размер Gui и его элементов.




Вот именно с изменением размера элементов и проблема. Какими средствами изменять размер?



Либо скалой либо брать код из темы "Геометрия в наложениях" и менять с 256 на 128, 64, 32, 16, 8.



в той теме код только для 1.7.10 , для  1.8 он не подходит. буду пробовать через Scale
 

Icosider

Kotliner
Администратор
3,600
99
663
Mastaxys написал(а):
WildHeart написал(а):
Mastaxys написал(а):
timaxa007 написал(а):
Да.


Проверяешь размер активного окна игры, относительно её будешь уменьшать или увеличивать размер Gui и его элементов.




Вот именно с изменением размера элементов и проблема. Какими средствами изменять размер?



Либо скалой либо брать код из темы "Геометрия в наложениях" и менять с 256 на 128, 64, 32, 16, 8.



в той теме код только для 1.7.10 , для  1.8 он не подходит. буду пробовать через Scale


Я в конце темы выкладывал рабочий код для 1.8.x
 

Icosider

Kotliner
Администратор
3,600
99
663
Mastaxys написал(а):
WildHeart написал(а):
Я в конце темы выкладывал рабочий код для 1.8.x

Он не работает. Если бы он работал на 1.8.8 - для меня бы это было самым идеальным решением.

У меня все работает.
 
WildHeart написал(а):
Mastaxys написал(а):
WildHeart написал(а):
Я в конце темы выкладывал рабочий код для 1.8.x

Он не работает. Если бы он работал на 1.8.8 - для меня бы это было самым идеальным решением.

У меня все работает.

Вот http://s010.radikal.ru/i312/1609/d8/d539f3540cc4.png
 

Icosider

Kotliner
Администратор
3,600
99
663
Код:
float f4 = 1.0F / sizeTextureX;
    float f5 = 1.0F / sizeTextureY;
        Tessellator tessellator = Tessellator.getInstance();
        VertexBuffer vertexbuffer = tessellator.getBuffer();
        vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
        vertexbuffer.pos((double)posX, (double)(posY + pieceSizeY), 0.0D).tex((double)(startPixX * f4), (double)((startPixY + (float)pieceSizeY) * f5)).endVertex();
        vertexbuffer.pos((double)(posX + pieceSizeX), (double)(posY + pieceSizeY), 0.0D).tex((double)((startPixX + (float)pieceSizeX) * f4), (double)((startPixY + (float)pieceSizeY) * f5)).endVertex();
        vertexbuffer.pos((double)(posX + pieceSizeX), (double)posY, 0.0D).tex((double)((startPixX + (float)pieceSizeX) * f4), (double)(startPixY * f5)).endVertex();
        vertexbuffer.pos((double)posX, (double)posY, 0.0D).tex((double)(startPixX * f4), (double)(startPixY * f5)).endVertex();
        tessellator.draw();
 
WildHeart написал(а):
Код:
float f4 = 1.0F / sizeTextureX;
    float f5 = 1.0F / sizeTextureY;
        Tessellator tessellator = Tessellator.getInstance();
        VertexBuffer vertexbuffer = tessellator.getBuffer();
        vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
        vertexbuffer.pos((double)posX, (double)(posY + pieceSizeY), 0.0D).tex((double)(startPixX * f4), (double)((startPixY + (float)pieceSizeY) * f5)).endVertex();
        vertexbuffer.pos((double)(posX + pieceSizeX), (double)(posY + pieceSizeY), 0.0D).tex((double)((startPixX + (float)pieceSizeX) * f4), (double)((startPixY + (float)pieceSizeY) * f5)).endVertex();
        vertexbuffer.pos((double)(posX + pieceSizeX), (double)posY, 0.0D).tex((double)((startPixX + (float)pieceSizeX) * f4), (double)(startPixY * f5)).endVertex();
        vertexbuffer.pos((double)posX, (double)posY, 0.0D).tex((double)(startPixX * f4), (double)(startPixY * f5)).endVertex();
        tessellator.draw();

Это точно на 1.8 ? Перекачал новый фордж 1.8.8, создал новый проект - тоже самое. 
Код:
VertexBuffer vertexbuffer = tessellator.getBuffer();
 ругается что нет свойства [font=Monaco, Consolas, Courier, monospace]g[/font][font=Monaco, Consolas, Courier, monospace]etBuffer() у [size=small][font=Monaco, Consolas, Courier, monospace]vertexbuffer[/font][/font][/size]
 

Icosider

Kotliner
Администратор
3,600
99
663
Mastaxys написал(а):
WildHeart написал(а):
Код:
float f4 = 1.0F / sizeTextureX;
    float f5 = 1.0F / sizeTextureY;
        Tessellator tessellator = Tessellator.getInstance();
        VertexBuffer vertexbuffer = tessellator.getBuffer();
        vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
        vertexbuffer.pos((double)posX, (double)(posY + pieceSizeY), 0.0D).tex((double)(startPixX * f4), (double)((startPixY + (float)pieceSizeY) * f5)).endVertex();
        vertexbuffer.pos((double)(posX + pieceSizeX), (double)(posY + pieceSizeY), 0.0D).tex((double)((startPixX + (float)pieceSizeX) * f4), (double)((startPixY + (float)pieceSizeY) * f5)).endVertex();
        vertexbuffer.pos((double)(posX + pieceSizeX), (double)posY, 0.0D).tex((double)((startPixX + (float)pieceSizeX) * f4), (double)(startPixY * f5)).endVertex();
        vertexbuffer.pos((double)posX, (double)posY, 0.0D).tex((double)(startPixX * f4), (double)(startPixY * f5)).endVertex();
        tessellator.draw();

Это точно на 1.8 ? Перекачал новый фордж 1.8.8, создал новый проект - тоже самое. 
Код:
VertexBuffer vertexbuffer = tessellator.getBuffer();
 ругается что нет свойства [font=Monaco, Consolas, Courier, monospace]g[/font][font=Monaco, Consolas, Courier, monospace]etBuffer() у [size=small][font=Monaco, Consolas, Courier, monospace]vertexbuffer[/font][/font][/size]
Забыл, вместо гетбуфера чето с ворлдом подставь.
 

mayakplay

SpringFlomaster
217
3
160
Херню тебе какую-то пишут)
Крч, пишешь
Код:
ScaledResolution resolution = new ScaledResolution(mc.gameSettings, mc.displayWidth, mc.displayHeight);

resolution.getScaledFactor(); //Метод может быть другим, пишу по памяти.

Затем, умножаешь все числа на скейл фактор, всё должно работать.
 
Сверху