鼠标在屏幕上的Java位置

时间:2015-10-08 11:33:24

标签: java opengl

我正在创建这个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中,因此它始终保持在无论相机在做什么都在同一个地方?

1 个答案:

答案 0 :(得分:1)

好吧,如果您使用的是lwjgl,您可以从头开始定义自己的分辨率,而不必为此加热:

Display.setDisplayMode(new DisplayMode(width,height));
Display.create();

或全屏

Display.setDisplayMode(displayMode);
Display.setFullscreen(true);
Display.create();