1
我知道setX/Y和setOrigin之間的區別,我很確定我實際上正確使用setOrigin()。我想讓這個按鈕在觸摸時放大。現在,scaleBy()似乎是從左下角開始縮放,稍微放大並將其向右移動。重置原點或嘗試通過另一個操作手動移動原點沒有明顯效果。爲了更加清晰,請參見下面的截圖。LibGdx setOrigin()不工作
final Group but = new Group();
//...
//this seems to have no effect
but.setOrigin(but.getWidth()/2, but.getHeight()/2); //center origin for scaling
but.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
//this happens
but.addAction(Actions.scaleBy(.2f, .2f));
//this doesn't
but.addAction(Actions.moveBy(but.getWidth(), but.getHeight()));
return true;
}
//...
});
stage.addActor(but);
觸摸之前:
觸摸後:
謝謝!顯然,設置演員的大小並將其添加到組中並不會影響組的界限(我認爲一個組會自動將界限等於其子項的總和) – sam