Как определить, где была нажата мышь (X & Y) в представлении? - PullRequest
1 голос
/ 07 мая 2010

Я пытаюсь переместить спрайт в место щелчка мышью.Как я могу получить его координаты?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 07 мая 2010

Предполагается, что вы используете метод ответчика на событие (например, mouseDown:):

[myView convertPointFromBase:[NSEvent mouseLocation]];

1 голос
/ 09 декабря 2010

Ответ Барри будет работать, но вернет местоположение мыши во время вызова функции. Это нормально, если событие обрабатывается вскоре после его генерации, но лучшим подходом будет:

- (void)mouseDown:(NSEvent *)event {
    NSPoint location = [self convertPointFromBase:[event locationInWindow]];
    //Move sprite to location
}

При этом всегда будет использоваться местоположение мыши с момента создания события. Кроме того, ответ Барри предполагает, что окно и экран используют одинаковые координаты. Обычно это так, но иногда лучше просто быть в безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...