粘贴纹理作为背景libgdx

时间:2014-12-09 12:27:40

标签: java opengl libgdx 2d

我正在尝试将一个png文件粘贴到屏幕上作为我的游戏的背景,到目前为止,我似乎无法让它工作,我不太确定。

我创建了一个地图类,让它像这样创建纹理:

public static Texture backgroundTexture;
public static Sprite backgroundSprite;


public Maps(){
    try{
        backgroundTexture = new Texture(Gdx.files.internal("background.png"));
        backgroundSprite = new Sprite(backgroundTexture);
    }catch (Exception e){
        e.printStackTrace();
    }
}

public void renderBackground(SpriteBatch batch){
    batch.draw(backgroundTexture, 1000, 800);
}

然后在我的主要课程中,我在创建方法中调用了它:

batch = new SpriteBatch();
map = new Maps();
    batch.begin();
    map.renderBackground(batch);
    batch.end();

但这不起作用?它应该是渲染方法cos,它需要每回合刷新背景吗?我已经在渲染中尝试过但仍然无法正常工作。我的屏幕尺寸是WXH 1000x800

1 个答案:

答案 0 :(得分:0)

试试这个:

OrthographicCamera cam = new OrthographicCamera(1000, 800);
SpriteBatch batch = new SpriteBatch();
Maps map = new Maps();
在您的渲染/更新方法中

batch.setProjectionMatrix(cam.combined);
batch.begin();
map.renderBackground(batch);
batch.end();
地图渲染方法中的

batch.draw(backgroundTexture, 0, 0, 1000, 800); //x, y, width, height