我想製作一個遊戲,你可以通過拖放物體來創建東西。我認爲LibGDX只支持Actor上的DragNDrop,但如果構造不穩定,我需要磚塊上的物理才能使它們掉下來。拖放LibGDX
到目前爲止,我的做法拖放是:
for(Brick b : map.getList()){
final Image im = new Image(b.ar);
stage.addActor(im);
im.setPosition(b.posX, b.posY);
im.setOrigin(b.posX, b.posY);
im.addListener((new DragListener() {
public void touchDragged (InputEvent event, float x, float y, int pointer) {
im.setOrigin(x, y);
im.setPosition(x, y);
//System.out.println("touchdragged ---> X=" + x + " , Y=" + y);
}
}));
}
其中map.getLists包含了所有的磚被塗。 b.ar是要塗的紋理。
有了這個aparach [this]是發生了什麼事情。我不知道可能是什麼原因造成的。
@Override
public void render(float delta) {
spritebatch.begin();
map.getWorld().step(1/60f, 6, 2);
renderer.render(map.getWorld(), camera.combined);
if(Gdx.input.justTouched()){
Vector3 touchPoint = new Vector3(Gdx.input.getX(), Gdx.input.getY(),0);
camera.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0));
System.out.println(touchPoint);
}
stage.draw();
spritebatch.end();
}
當然,我想使身體下降(從libgdx盒2D引擎),如果你刪除的對象,並將其下設什麼。
在此先感謝
非常感謝!只是爲了記錄這是最後的代碼:'code'im.addListener((新DragListener(){ \t \t \t公共無效touchDragged(InputEvent的事件,浮法X,浮法Y,INT指針){ \t \t \t \t浮動DX = X-im.getWidth()* 0.5F; \t \t \t \t浮子DY = Y-im.getHeight()* 0.5F; \t \t im.setPosition(im.getX()+ DX,im.getY ()+ dy); \t \t \t} \t \t \t})); – yafrack