2010-05-07 17 views

Répondre

3

En supposant que vous êtes dans une méthode de répondeur d'événements (par exemple mouseDown:):

[myView convertPointFromBase:[NSEvent mouseLocation]];

1

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é.

Questions connexes