Java 不使用库的游戏用户界面
我想做我自己的简单游戏界面,我想我知道主要的东西是怎么做的。问题是我不知道如何在3D视图中使用屏幕坐标绘制简单的2D四边形?这可能吗?也许我应该用另一种方式画游戏界面Java 不使用库的游戏用户界面,java,lwjgl,Java,Lwjgl,我想做我自己的简单游戏界面,我想我知道主要的东西是怎么做的。问题是我不知道如何在3D视图中使用屏幕坐标绘制简单的2D四边形?这可能吗?也许我应该用另一种方式画游戏界面 请不要推荐任何图书馆。我想了解它是如何完成的,而不是使用现有的东西。使用将投影设置为正交 GLU.gluOrtho2D(0f,GluScreenWidth,0f,GluScreenHeight) 这是JBullet为文本图形设置投影的方式(他们在FontRenderer中使用1作为z坐标): 请参阅并查看FontRenderer和
请不要推荐任何图书馆。我想了解它是如何完成的,而不是使用现有的东西。使用将投影设置为正交 GLU.gluOrtho2D(0f,GluScreenWidth,0f,GluScreenHeight) 这是JBullet为文本图形设置投影的方式(他们在FontRenderer中使用1作为z坐标):
请参阅并查看FontRenderer和lwjgl类…因为您包含了lwjgl标记,所以通常在OpenGL中是这样做的,这对您来说也应该很好:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1, 1, -1, 1, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glDisable(GL_DEPTH_TEST);
glBegin(GL_QUADS);
// <== Bind your texture, material for your GUI button here
glVertex3f(-0.5, 0.5, 0);
glVertex3f(0.5, 0.5, 0);
glVertex3f(0.5, -0.5, 0);
glVertex3f(-0.5, -0.5, 0);
glEnd();
glBegin(GL_四边形);
//作为一名10年的游戏行业老手,我可以说,这样做的方式是使用现有的库。除非你的计划是创建一个UI界面库。为什么我要用一个库来创建五个简单的按钮呢?我想最困难的是我在这里问的问题。另一件事很简单:画一个四边形,如果(鼠标坐标在四边形中){if(mousedown){do something}@user714965哦,你为什么问这个问题?如果你把模型和视图矩阵设置为单位矩阵,那么[-1,1]范围内的顶点坐标将对应于屏幕的宽度/高度,所以(-1,-1)将是左上角和(1,1)右下角绘制了四边形,但其后面没有3D视图。假设他执行了步骤1,则该视图将在其“后面”可见。
glBegin(GL_QUADS);
// <== Bind your texture, material for your GUI button here
glVertex3f(-0.5, 0.5, 0);
glVertex3f(0.5, 0.5, 0);
glVertex3f(0.5, -0.5, 0);
glVertex3f(-0.5, -0.5, 0);
glEnd();