Java position de la souris sur l'écran


Je fais cette interface graphique où vous avez des icônes qui devraient toujours rester à la même position sur l'écran et je veux leur faire faire quelque chose une fois que je clique dessus.

Dans mon cas, j'ai créé ce symbole d'annulation soigné que j'ai placé dans le coin supérieur droit de mon écran lwjgl-J'ai créé ce code ici pour permettre de cliquer dessus:

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..");
        }
    }
}

Maintenant, il y a deux problèmes avec cette méthode et je me demandais s'il y avait une meilleure façon de le faire?

Numéro 1: Quand je change le résolution de mon affichage, ou si je passe en plein écran, évidemment la définition pour x et y ne sont plus les mêmes - quelle est la meilleure façon de définir l'emplacement de l'icône?

Numéro 2: Pour le moment, l'objet icon se déplace avec la caméra, comme s'il restait toujours au même endroit sur l'écran - existe-t-il toujours un meilleur moyen de positionner l'objet dans OpenGL afin qu'il reste toujours au même endroit, peu importe ce que fait la caméra?

Author: genpfault, 2015-10-08

1 answers

Eh bien, si vous utilisez le lwjgl, vous pouvez définir dès le début votre propre résolution, et ne pas avoir à vous échauffer avec cela:

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

Ou pour le plein écran

Display.setDisplayMode(displayMode);
Display.setFullscreen(true);
Display.create();
 1
Author: Fernando Carvalho, 2015-10-08 12:00:12