Hallo :)Libgdx: Kann nicht gelingt, eine TiledMap mit Ansichtsfenster
Vor kurzem habe ich begonnen, Programmierung in Libgdx zu machen. Jetzt bin ich in 4 Tagen im Rendern von TiledMap auf Viewport stecken. Ich kann es nicht herausfinden, aber ich weiß, dass es möglich ist. Hier ist, wie die Prüfung TiledMap aussieht:
Wie das Spiel jetzt aussieht (keine Kacheln angezeigt):
The PlayScreen now (No tiles showing) Screen is blue becouse of ClearColor code down below.
Und hier ist mein Code in Gabebildschirm:
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;
}
}
Die LevelManager.tiledMap wird in der Methode create in der Klasse MainGame geladen, also lade ich sie einfach, aber sie wird nicht angezeigt auf dem Bildschirm. Es tut, wenn ich den Viewport nicht verwende.
Sie alle für zukünftige Hilfe danken :)
Wenn Ihre Konstanten in MainGame Ganzzahlen sind, werfen Sie sie in Ihrem Ansichtsfensterkonstruktor auf Gleitkommazahlen. – Tenfour04