Sainthozier
Стрелочник
- 623
- 11
- 369
Всем привет.
Решил ознакомиться детальнее с гуишками различными и первым делом захотел сделать альтернативу гуи ачивок, только на весь экран и со своими фишками. Рамку и картинку на фоне я отрендерил, пришла очередь сделать так, чтобы при зажатой лкм на фоне, я мог его "перетаскивать" на заданное фиксированное расстояние. Первым делом, конечно же, я полез в исходники. В итоге копаюсь второй день.
Проблема состоит в том, что мне не до конца понятен алгоритм действий. По сути, да, я могу скопировать ванильный код и, возможно, он будет работать. Но я хочу узнать об этом немного больше, чтобы самому хорошо разобраться и свободно манипулировать этим, возможно улучшить, придумать что-то новое или же наоборот - добавить.
Итак, думаю рендер рамки никому не нужен, там ничего интересного, а вот с рендером картинки на фуллскрин возникли трудности. Поиск по форумам привёл к вполне логическому решению:
Если что, разрешение картинки 1000х625.
А вот по поводу
Так вот, рамка и фон есть. А вот дальше с чего начать - не совсем понимаю. Не могу никак придумать дальнейший алгоритм действий. Буду рад почитать подробнее о перетаскивании гуи, если кто в этом хорошо разбирается и понимает, как оно всё устроено )
Решил ознакомиться детальнее с гуишками различными и первым делом захотел сделать альтернативу гуи ачивок, только на весь экран и со своими фишками. Рамку и картинку на фоне я отрендерил, пришла очередь сделать так, чтобы при зажатой лкм на фоне, я мог его "перетаскивать" на заданное фиксированное расстояние. Первым делом, конечно же, я полез в исходники. В итоге копаюсь второй день.
Проблема состоит в том, что мне не до конца понятен алгоритм действий. По сути, да, я могу скопировать ванильный код и, возможно, он будет работать. Но я хочу узнать об этом немного больше, чтобы самому хорошо разобраться и свободно манипулировать этим, возможно улучшить, придумать что-то новое или же наоборот - добавить.
Итак, думаю рендер рамки никому не нужен, там ничего интересного, а вот с рендером картинки на фуллскрин возникли трудности. Поиск по форумам привёл к вполне логическому решению:
Java:
GL11.glPushMatrix();
//GL11.glTranslatef(0, 0, -200.0F);
float x = (float) width / backgroundImageWidth;
float y = (float) height / backgroundImageHeight;
GL11.glScalef(x, y, 1.0F);
this.mc.getTextureManager().bindTexture(bg);
// drawModalRectWithCustomSizedTexture
func_146110_a(0, 0, 0, 0, backgroundImageWidth, backgroundImageHeight, backgroundImageWidth,
backgroundImageHeight);
GL11.glPopMatrix();
А вот по поводу
GL11.glTranslatef(0, 0, -200.0F)
, это я взял с ванили. Почему-то мне показалось, что это позволит в дальнейшем перетаскивать фон. Закомментил на всякий случай, чтобы не забыть.Так вот, рамка и фон есть. А вот дальше с чего начать - не совсем понимаю. Не могу никак придумать дальнейший алгоритм действий. Буду рад почитать подробнее о перетаскивании гуи, если кто в этом хорошо разбирается и понимает, как оно всё устроено )