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