如何确定视图中鼠标的点击位置(X& Y)?

时间:2010-05-07 16:19:34

标签: cocoa macos

我正在尝试将精灵移动到鼠标点击位置。 我怎样才能得到它的坐标?

谢谢!

2 个答案:

答案 0 :(得分:3)

假设您使用事件响应方法(例如mouseDown:):

[myView convertPointFromBase:[NSEvent mouseLocation]];

答案 1 :(得分:1)

Barry的答案可行,但会在调用函数时返回鼠标的位置。只要事件在生成后不久处理就可以了,但更好的方法是:

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

这将始终使用生成事件时鼠标的位置。此外,Barry的回答假定窗口和屏幕使用相同的坐标。这通常是正确的,但有时为了安全起见会更好。