2017-06-07 1 views
0

J'ai une fenêtre avec une image comme interface utilisateur et j'essaie de voir entre ce qui coordonne les boutons que j'ai dessinés sur cette image sont définis. J'ai besoin de ceux-ci pour la condition suivante:SDL2 Obtenir les coordonnées d'un pixel

if (mouseX0>a && mouseX0<b && mouseY0>c && mouseY0<d 
    && event.window.windowID == user_interface) 

Je ne sais pas pour le moment entre quelles coordonnées sont les boutons. J'ai découvert qu'il y a une fonction qui pourrait obtenir les coordonnées d'un pixel que je voudrais cliquer dans ma fenêtre et je pourrais l'imprimer puis l'utiliser dans mon code. Je veux cliquer sur chaque coin des boutons pour avoir les valeurs a, b, c, d.

Répondre

0

Les informations dont vous avez besoin est stocké dans la structure des événements SDL_MouseButtonEvent (les valeurs évidemment x et y). Il suffit de vérifier les événements de la souris dans votre boucle d'événements que vous cliquez. Voir SDL_Event pour un exemple de code sur le traitement des événements et le filtrage.

De même si vous avez une image statique pour votre interface utilisateur, vous pouvez simplement mesurer cette information dans n'importe quel éditeur graphique, il suffit de rechercher les coordonnées sous votre curseur, qui est la fonctionnalité de base dans la plupart des applications.