Ich kenne den Unterschied zwischen setX/Y und setOrigin und ich bin mir ziemlich sicher, dass ich setOrigin() richtig verwende. Ich möchte, dass diese Schaltfläche vergrößert wird, während sie berührt wird. Gerade jetzt scaleBy() scheint von links unten zu skalieren, vergrößert es etwas und bewegt es nach oben und nach rechts. Das Zurücksetzen des Ursprungs oder das manuelle Verschieben durch eine andere Aktion hat keine offensichtlichen Auswirkungen. Siehe Screenshots unten für mehr Klarheit.LibGdx setOrigin() funktioniert nicht
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);
Bevor touch:
Nach touch:
Danke! Scheinbar die Größe der Darsteller zu setzen und sie der Gruppe hinzuzufügen hat keinen Einfluss auf die Grenzen der Gruppe (ich dachte, dass eine Gruppe automatisch Grenzen haben würde, die der Summe ihrer Kinder entsprechen) – sam