PlayN,使用缩放图层指向[x,y]位置

时间:2012-04-14 03:48:52

标签: playn

在PlayN中,如果我有根图层缩放(例如,缩放为2.0),当我在屏幕上检测到鼠标点时,10,10并在屏幕上绘制它,显示的点是我看到的距离的两倍在OS的鼠标点上。

我想要的是我拖动的对象移动的距离与我移动OS鼠标指针的距离完全相同。

是否有坐标贴图功能将我的鼠标输入X / Y映射到我的逻辑缩放坐标系?

感谢。

1 个答案:

答案 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
    }
});
相关问题