2015-04-17 68 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