在PlayN中,如果我有根图层缩放(例如,缩放为2.0),当我在屏幕上检测到鼠标点时,10,10并在屏幕上绘制它,显示的点是我看到的距离的两倍在OS的鼠标点上。
我想要的是我拖动的对象移动的距离与我移动OS鼠标指针的距离完全相同。
是否有坐标贴图功能将我的鼠标输入X / Y映射到我的逻辑缩放坐标系?
感谢。
答案 0 :(得分:1)
你有两个选择。您可以在根层注册Pointer.Listener
并使用Pointer.Event.localX/Y
获取图层坐标系中的鼠标坐标:
graphics().rootLayer().addListener(new Pointer.Adapter() {
public void onPointerStart(Pointer.Event event) {
// use event.localX() and event.localY() here
}
});
或者您可以注册全球Pointer.Listener
并使用Layer.Util
手动翻译积分:
pointer().addListener(new Pointer.Adapter() {
public void onPointerStart(Pointer.Event event) {
Point local = Layer.Util.screenToLayer(graphics().rootLayer(), event.x(), event.y());
// use local.x and local.y here
}
});