2015-04-17 135 views
1

我试图在libgdx中实现Drag And Drop方法/类,但是对我来说有什么不同呢是我没有一个“Target”来放弃我的actor。我只是想在整个屏幕上拖动它。我没有比这更进一步。Drag and Drop Libgdx,没有目标

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; 

       } 
      }); 

在这里,我将图像作为一个演员:

stageMove.addActor(stoneImage); 

在它不需额外的举动,当我尝试拖动它的那一刻。

回答

1

我建议你2个简单的方法来解决你的问题。

1)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)创建,其尺寸被填充到舞台上的演员一般,并把它作为目标的演员。

+0

谢谢!我会用你的第一个方法去。虽然,我相信我必须以某种方式让我的形象成为演员?现在我只能做stoneImage.addListener等等。而这不是做的。 – Benni

+0

我向您致敬,您将在Stage2d中使用舞台和多个演员,更多信息请点击此处。 https://github.com/libgdx/libgdx/wiki/Scene2d – juanhl