[英]What is the correct way of creating textures for a map with Libgdx without tmx?
[英]Libgdx - TMX map not rendered
我正在制作2D Android游戲。 問題是盡管我的GUI類很好,但我的平鋪游戲地圖沒有呈現。 看起來renderer.render()
從未被調用過。
這是我手機的屏幕截圖。
主類:
public class Main extends ApplicationAdapter implements Screen {
private ZombieGame game;
private OrthographicCamera camera;
private Viewport gameView;
private GUI gui;
private TmxMapLoader mapLoader;
private TiledMap map;
private OrthogonalTiledMapRenderer renderer;
public Main(ZombieGame game){
this.game = game;
camera = new OrthographicCamera();
gameView = new FitViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), camera);
gui = new GUI(game.batch);
mapLoader = new TmxMapLoader();
map = mapLoader.load("level1.tmx");
renderer = new OrthogonalTiledMapRenderer(map);
camera.position.set(gameView.getWorldWidth() / 2, gameView.getWorldHeight() / 2, 0);
}
@Override
public void show(){
}
@Override
public void hide(){
}
@Override
public void create () {
}
public void keyEvent(float dt){
if(Gdx.input.isTouched()){
camera.position.x -= 100 * dt;
System.out.println("COORD: " + camera.position.x);
}
}
public void update(float dt){
keyEvent(dt);
camera.update();
renderer.setView(camera);
}
@Override
public void render(float delta) {
update(delta);
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
renderer.render();
game.batch.setProjectionMatrix(gui.stage.getCamera().combined);
gui.stage.draw();
}
@Override
public void dispose() {
}
}
ZombieGame.class:
public class ZombieGame extends Game{
public SpriteBatch batch;
@Override
public void create(){
batch = new SpriteBatch();
setScreen(new Main(this));
}
@Override
public void render(){
super.render();
}
}
我認為您應該在create()的setToOrtho()方法中使用,
camera.setToOrtho(false,Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
代替FitViewport,
gameView = new FitViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), camera);
camera.position.set(gameView.getWorldWidth() / 2, gameView.getWorldHeight() / 2, 0);
請嘗試一下,讓我知道。 謝謝...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.