我正在创建这个GUI,你的图标应始终保持在屏幕上的相同位置,我想让它们在我点击它们后做一些事情。
在我的情况下,我已经将这个整齐的取消符号放在我的lwjgl显示屏的右上角 - 我在这里制作了这个代码以便点击它:
private void CloseIcon()
{
if(Input.GetMousePosition().GetX() > 1175 && Input.GetMousePosition().GetX() < 1215 &&
Input.GetMousePosition().GetY() > 685 && Input.GetMousePosition().GetY() < 715)
{
if(Input.GetMouse(0)) {
System.out.println("closing porgram..");
}
}
}
现在这个方法存在两个问题,我想知道是否有更好的方法可以做到这一点?
问题1:当我改变显示器的分辨率,或者我进入全屏时,显然x和y的定义不再相同 - 什么是定义图标位置的更好方法? / p>
问题2:目前我将图标对象与相机一起移动,就像它总是停留在屏幕上的同一个位置 - 仍然有更好的方法将对象放在openGL中,因此它始终保持在无论相机在做什么都在同一个地方?
答案 0 :(得分:1)
好吧,如果您使用的是lwjgl,您可以从头开始定义自己的分辨率,而不必为此加热:
Display.setDisplayMode(new DisplayMode(width,height));
Display.create();
或全屏
Display.setDisplayMode(displayMode);
Display.setFullscreen(true);
Display.create();