我正在尝试将一个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
答案 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