拖放 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。
我试图在 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。