J'essaie de déplacer un sprite à l'emplacement du clic de la souris. Comment puis-je obtenir ses coordonnées?Comment déterminer où la souris a été cliquée (X et Y) dans la vue?
Merci!
J'essaie de déplacer un sprite à l'emplacement du clic de la souris. Comment puis-je obtenir ses coordonnées?Comment déterminer où la souris a été cliquée (X et Y) dans la vue?
Merci!
En supposant que vous êtes dans une méthode de répondeur d'événements (par exemple mouseDown:
):
[myView convertPointFromBase:[NSEvent mouseLocation]];
réponse Barry fonctionnera, mais retournera l'emplacement de la souris au moment où la fonction est appelée. Ceci est ok aussi longtemps que l'événement est géré peu après sa génération, mais une meilleure approche serait:
- (void)mouseDown:(NSEvent *)event {
NSPoint location = [self convertPointFromBase:[event locationInWindow]];
//Move sprite to location
}
Ce sera toujours utiliser l'emplacement de la souris à partir de quand l'événement a été généré. De plus, la réponse de Barry suppose que la fenêtre et l'écran utilisent les mêmes coordonnées. C'est généralement vrai, mais parfois c'est mieux d'être en sécurité.