我的代码(libgdx):
@Override
public void create () {
stage = new Stage();
Gdx.input.setInputProcessor(stage);
texture = new Texture(Gdx.files.internal("image.png"));
TextureRegion region = new TextureRegion(texture,256,128);
Image actor = new Image(region);
actor.setPosition(Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2);
actor.setOrigin(actor.getWidth()/2, actor.getHeight()/2);
group = new Group();
group.addActor(actor);
stage.addActor(group);
}
@Override
public void render () {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
if(Gdx.input.isButtonPressed(Input.Buttons.LEFT)){
if(Gdx.input.getX() < Gdx.graphics.getWidth() / 2)
{
group.addAction(parallel(rotateBy(1,1)));
}
else
{
group.addAction(parallel(rotateBy(-1,1)));
}
}
}
嗨,我使用LibGdx,我的问题是我想在同一个物体上旋转,但是当我开始旋转时,我转向左下角的0.0点。
我无法理解为什么...... 有人可以解释怎么做?
谢谢
答案 0 :(得分:2)
group.setOrigin(group.getWidth()/2, group.getHeight()/2);
答案 1 :(得分:1)
该组的九月原点而不是您将该组添加到此案例的演员:
group.addActor(actor);
group.setPosition(Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2);
group.setOrigin(group.getWidth()/2, group.getHeight()/2);
stage.addActor(group);
其次,该API正在使用?或者是你创建的方法,parallel或rotateBy,无论如何你可以使用这个haver在你假装时为你工作。
group.addAction(Actions.parallel(Actions.rotateBy(1,1)));
P.S:如果有效,Kareem Hammad的反应是我的第一个回答,哈哈,但已经发表了。