Здравствуйте :)LibGDX: не удается визуализировать TiledMap с видовым
Недавно я начал программирование в LibGDX. Теперь im 4 дня застряли в рендеринге TiledMap в Viewport. Я не могу понять это, но я знаю, что это возможно. Вот как тестирование TiledMap выглядит:
Как игра выглядит сейчас (без плитки не показывать):
The PlayScreen now (No tiles showing) Screen is blue becouse of ClearColor code down below.
И вот мой код в экране воспроизведения:
public class PlayScreen implements Screen, InputProcessor{
MainGame game;
private OrthographicCamera camera;
private Viewport gamePort;
private OrthogonalTiledMapRenderer renderer;
public PlayScreen(MainGame game) {
this.game = game;
camera = new OrthographicCamera();
gamePort = new StretchViewport(MainGame.V_WIDTH/MainGame.PPM,
MainGame.V_HEIGHT/MainGame.PPM, camera);
renderer = new OrthogonalTiledMapRenderer(LevelManager.tiledMap,
1/ MainGame.PPM);
camera.position.set(gamePort.getWorldWidth()/2, gamePort.getWorldHeight()/2, 0);
Gdx.input.setInputProcessor(this);
}
@Override
public void show() {
}
public void update(float delta){
camera.update();
}
@Override
public void render(float delta) {
update(delta);
Gdx.gl.glClearColor((float)66/255, (float)66/255, (float)255/255, 0f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
renderer.setView(camera);
renderer.render();
}
@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() {
}
@Override
public boolean keyDown(int keycode) {
return false;
}
@Override
public boolean keyUp(int keycode) {
return false;
}
@Override
public boolean keyTyped(char character) {
return false;
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
return false;
}
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
return false;
}
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
return false;
}
@Override
public boolean mouseMoved(int screenX, int screenY) {
return false;
}
@Override
public boolean scrolled(int amount) {
return false;
}
}
LevelManager.tiledMap загружается в метод create в классе MainGame, поэтому я загружаю его просто отлично, но он не показывает на экране. Это происходит, когда я не использую Viewport.
Спасибо всем за помощь в будущем :)
Если ваши константы в MainGame являются целыми числами, отбросьте их к плавающим в вашем конструкторе видового экрана. – Tenfour04