在libgdx中移动对象

时间:2014-10-11 22:09:07

标签: java libgdx

我有一个bug对象,我想在游戏开始时立即在屏幕上移动。错误从屏幕的左下角开始,应该移动到右上角并停止。我所拥有的是从未真正到达右上角的错误,因为游戏画面(X和Y)大小不相等。如何让bug移动到那个位置?

这就是我所拥有的。

public void create() {
    spriteBatch = new SpriteBatch(); 
    bug = new Sprite(new Texture("EnemyBug.png"));
    bug.setSize(50, 85);
    bug.setPosition(0,0);
}
public void render() {
    xdeg++;
    ydeg++;
    Gdx.gl.glClearColor(0.7f, 0.7f, 0.2f, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    spriteBatch.begin();        
    bug.translate(xdeg, ydeg);
    bug.draw(spriteBatch);
    spriteBatch.end();
}

1 个答案:

答案 0 :(得分:0)

我假设您知道窗口宽度(W)和高度(H)。首先找到W / H比率:

float ratio = screenWidth / screenHeight;

然后相应地更新您的错误位置:

bug.translate(ratio, 1);

这将使精灵在屏幕对角线上移动。