private Group createActorGroup (TextureRegionDrawable bob) { Actor main = new DrawableActor(bob); main.setPosition(0, 0, Align.center); Actor hat = new DrawableActor(bob) { @Override public void act (float delta) { rotateBy(delta * -300); } }; hat.setOrigin(Align.center); hat.setScale(0.5f); hat.setPosition(0, 21, Align.center); Group group = new Group() { @Override public void act (float delta) { rotateBy(delta * 120); setScale(0.9f + 0.2f * MathUtils.cos(MathUtils.degreesToRadians * getRotation())); super.act(delta); } }; group.addActor(main); group.addActor(hat) ; // group.setTransform(false); float margin = 35; float x = MathUtils.random(margin, stage.getWidth() - margin); float y = MathUtils.random(margin, stage.getHeight() - margin); group.setPosition(x, y); group.setRotation(MathUtils.random(0, 360)); return group; }
actor.setOrigin(actor.getWidth() / 2, actor.getHeight() / 2); actor.setRotation(model.getRotation());
shapeActor.setOrigin(50, 75); shapeActor.debug(); sprites.add(shapeActor);
@Override public void run() { actor.setOrigin(origin); } })));
public UI<T> setOrigin(int align) { t.setOrigin(align); return this; }
public TypedGdxQuery<T> origin (int alignment){ t.setOrigin(alignment); return this; }
public TypedGdxQuery<T> origin (int x, int y){ t.setOrigin(x, y); return this; }
public UI<T> setOrigin(float originX, float originY) { t.setOrigin(originX, originY); return this; }
actor.setOrigin(50, 50); stage.addActor(actor); actor.addListener(new InputListener() {
public GdxQuery origin (int x, int y){ for(Actor actor:list()) actor.setOrigin(x, y); return this; }
public GdxQuery origin (int alignment){ for(Actor actor:list()) actor.setOrigin(alignment); return this; }
private static void setOrigin(Actor actor, Origin origin) { switch (origin) { case CENTER: actor.setOrigin(actor.getWidth() / 2.0f, actor.getHeight() / 2.0f); break; case TOP_LEFT: actor.setOrigin(0.0f, actor.getHeight()); break; case TOP_RIGHT: actor.setOrigin(actor.getWidth(), actor.getHeight()); break; case BOTTOM_LEFT: actor.setOrigin(0.0f, 0.0f); break; case BOTTOM_RIGHT: actor.setOrigin(actor.getWidth(), 0.0f); break; case LEFT_CENTER: actor.setOrigin(0.0f, actor.getHeight() / 2.0f); break; case TOP_CENTER: actor.setOrigin(actor.getWidth() / 2.0f, actor.getHeight()); break; case BOTTOM_CENTER: actor.setOrigin(actor.getWidth() / 2.0f, 0.0f); break; case RIGHT_CENTER: actor.setOrigin(actor.getWidth(), actor.getHeight() / 2.0f); break; default:
public TypedGdxQuery<T> center(boolean setPosition) { t.setOrigin(Align.center); if(t instanceof Image) ((Image)t).setAlign(Align.center); if(t instanceof Label) ((Label) t).setAlignment(Align.center); if(setPosition) { t.setX(t.getX() - t.getWidth() / 2); t.setY(t.getY() - t.getHeight() / 2); } return this; }
public GdxQuery center(boolean setPosition) { for(Actor actor : list()){ actor.setOrigin(Align.center); if(actor instanceof Image) ((Image)actor).setAlign(Align.center); if(actor instanceof Label) ((Label) actor).setAlignment(Align.center); if(setPosition){ actor.setX(actor.getX() - actor.getWidth() / 2); actor.setY(actor.getY() - actor.getHeight() / 2); } } return this; }
actor.setOrigin(widget.getAnchorPoint().getScaleX() * actor.getWidth(), widget.getAnchorPoint().getScaleY() * actor.getHeight());