9

我创建了一个相机:

camera = new OrthographicCamera(5.0f, 5.0f * h/w);

创建一个精灵:

ballTexture = new Texture(Gdx.files.internal("data/ball.png"));
ballTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
TextureRegion region = new TextureRegion(ballTexture, 0, 0, ballTexture.getWidth(), ballTexture.getHeight());
ball = new Sprite(region);

设置原点、大小和位置:

ball.setOrigin(ball.getWidth()/2,ball.getHeight()/2);
ball.setSize(0.5f, 0.5f * ball.getHeight()/ball.getWidth());
ball.setPosition(0.0f, 0.0f);

然后渲染它:

batch.setProjectionMatrix(camera.combined);
batch.begin();
ball.draw(batch);
batch.end();

但是当我渲染它时,我的球精灵的左下角在 (0, 0),而不是它的中心,正如我所期望的那样,因为我将原点设置为精灵的中心。我错过了什么?

4

1 回答 1

8

原点与旋转和缩放有关,如该方法的JavaDocs中所述。

于 2012-07-04T16:42:14.650 回答