2015-12-11 10 views
0

Я читаю этот учебник LIBGDX. Я выполнил аналогичные шаги в соответствии с учебным пособием, но карта не загружается в фоновом режиме в соответствии с руководством. Я проверил код, но я не мог найти причину.Не удалось загрузить карту памяти в LIBGDX

Вот мой код,

public class PlayScreen implements Screen { 
private MyJungleGame game; 
Texture texture; 
private OrthographicCamera gamecam; 
private FitViewport gamePort; 
private HudClass hud; 
private TmxMapLoader maploader; 
private TiledMap map; 
private OrthogonalTiledMapRenderer renderer; 
public PlayScreen(MyJungleGame game) { 
    this.game = game; 

    gamecam = new OrthographicCamera(); 
    gamePort = new FitViewport(MyJungleGame.V_WIDTH, MyJungleGame.V_HEIGHT); 
    hud = new HudClass(game.batch); 
    maploader = new TmxMapLoader(); 

    map = maploader.load("tiledmap.tmx"); 
    renderer = new OrthogonalTiledMapRenderer(map); 
    gamecam.position.set(gamePort.getWorldWidth()/2, gamePort.getWorldHeight()/2, 0); 

} 


public void update(float dt) { 
handleInput(dt); 
gamecam.update(); 
renderer.setView(gamecam); // it wil draw wat the game cam can see 
} 

public void handleInput(float dt) { //(----4) 
    if (Gdx.input.isTouched()) { 
     gamecam.position.x += 100 * dt; 
    } 
} 

@Override 
public void show() { 

} 

@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(hud.stage.getCamera().combined); 
    hud.stage.draw(); 
} 

@Override 
public void resize(int width, int height) { 

    gamePort.update(width, height); 
} 

@Override 
public void pause() { 

} 

@Override 
public void resume() { 

} 

@Override 
public void hide() { 

} 

@Override 
public void dispose() { 

} 

}

Это мой основной код игры. Я приложил скриншот к выходу output. Как вы можете видеть, он заполнен черным фоном, но мне нужна плиточная карта для загрузки. Я совершенно новичок в этом. Пожалуйста, помогите

ответ

1

Я только что нашел. Проблема в игровом поле. Я не передал значение камеры в игровой порт. Я просто изменил код из

gamePort = new FitViewport(MyJungleGame.V_WIDTH, MyJungleGame.V_HEIGHT); 

к чему-то, как,

gamePort = new FitViewport(MyJungleGame.V_WIDTH, MyJungleGame.V_HEIGHT,gamecam); 
Смежные вопросы