我想拖動一個Actor
周圍的Mouse
在LibGDX
。 我的代碼:拖動libgdx flickers
// overrides in the ClickListener
@Override
public boolean touchDown(InputEvent event, float x, float y,
int pointer, int button) {
touching = true;
prevTouchPosition = new Vector2(x, y);
return super.touchDown(event, x, y, pointer, button);
}
@Override
public void touchDragged(InputEvent event, float x, float y,
int pointer) {
dragging = true;
lastTouchPosition = new Vector2(x, y);
super.touchDragged(event, x, y, pointer);
}
@Override
public void touchUp(InputEvent event, float x, float y,
int pointer, int button) {
touching = false;
super.touchUp(event, x, y, pointer, button);
}
// the update method
@Override
public void act(float delta) {
super.act(delta);
if(dragging){
Vector2 diff = new Vector2(lastTouchPosition).sub(prevTouchPosition);
translate(diff.x, diff.y);
prevTouchPosition = new Vector2(lastTouchPosition);
dragging = false;
}
}
我越走動它變得越差Actor
。 這個想法是保持最後兩個Mouse
的位置,並使用它們之間的差異來更新Actor
的位置。
您能提供比「更糟糕」更多的細節嗎?至於問題是什麼?停止移動?移動太多?獲得真正的緩慢? –
我會嘗試:所以我先從左下角的圖像開始,然後將其拖到右上角。在這種情況下,鼠標將開始引導圖像,並在圖像將會到達右上角。另外,拖動圖像的位置並不總是逐漸變化,有時會回退一點。在另一種情況下,我抓住圖像並旋轉它,我可以清楚地看到兩張相隔很遠的圖像。 – Vjeetje