拖放 Libgdx,没有目标

Drag and Drop Libgdx, without a Target

我试图在 libgdx 中实现拖放 method/class,但对我来说不同的是我没有 "Target" 来拖放我的演员。我只是想将它拖到整个屏幕上。我真的没有比这更进一步的了。

dd = new DragAndDrop();
            dd.addSource(new Source(stoneImage){


                @Override
                public Payload dragStart(InputEvent event, float x, float y, int pointer) {
                    Payload payload = new Payload();
                    payload.setObject("some payload");
                    payload.setDragActor(stoneImage);
                    return payload;

                }
            });

这里我把Image设置为actor:

stageMove.addActor(stoneImage);

目前当我尝试拖动它时它不会移动。

我建议您使用 2 种简单的方法来解决您的问题。

1) 为您的 actor 添加一个 DragListener:

actor.addListener(new DragListener() {
    public void drag(InputEvent event, float x, float y, int pointer) {
        actor.moveBy(x - actor.getWidth() / 2, y - actor.getHeight() / 2);
    }
});

2) 创建一个通用actor,将其大小填充到舞台,并将其用作目标actor。