Получить черный экран при использовании libgdx

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

это мой код:

public class GamePlay  implements Screen {

    private MainGame game;
    private OrthographicCamera mainCam;
    private Viewport gameViewPort;

    private TmxMapLoader mapLoader;
    private TiledMap map;
    private OrthogonalTiledMapRenderer renderer;

    private Box2DDebugRenderer b2dr;

    private World world;
    private Player player;


    public GamePlay(MainGame game){
        this.game = game;

        mainCam = new OrthographicCamera();
        gameViewPort = new StretchViewport(GameInfo.WIDTH / GameInfo.PPM,
                GameInfo.HEIGHT / GameInfo.PPM, mainCam);

        mapLoader = new TmxMapLoader();
        map = mapLoader.load("Screen1/Screen1.tmx");
        renderer = new OrthogonalTiledMapRenderer(map, 1/GameInfo.PPM);

        mainCam.position.set(gameViewPort.getWorldWidth() / 2,
                gameViewPort.getWorldHeight() /2, 0 );

        world = new World(new Vector2(0, -9.8f), true);
        b2dr = new Box2DDebugRenderer();

        player = new Player(world, 64, 280);
        new B2WorldCreator(world, map);

    }


    @Override
    public void show() {

    }

    public void handleInput(float dt){

        if (Gdx.input.isKeyPressed(Input.Keys.LEFT)) {

            player.movePlayer(-2, 0);
        } else if (Gdx.input.isKeyPressed(Input.Keys.RIGHT)) {

            player.movePlayer(2,0);
        }else if(Gdx.input.isKeyJustPressed(Input.Keys.SPACE)){
            player.movePlayer(0, 6);


        }else{
            player.setWalking(false);
        }


    }

    public void update(float dt){
        handleInput(dt);

        world.step(Gdx.graphics.getDeltaTime(), 6, 2);
        mainCam.position.x = player.body.getPosition().x;

        mainCam.update();
        renderer.setView(mainCam);

    }

    @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.getBatch().setProjectionMatrix(mainCam.combined);
        game.getBatch().begin();
        player.drawPlayerIdle(game.getBatch());
        player.drawPlayerAnimation(game.getBatch());
        game.getBatch().end();

        b2dr.render(world, mainCam.combined);


        player.updatePlayer();


    }

    @Override
    public void resize(int width, int height) {
        gameViewPort.update(width, height, true);
    }

    @Override
    public void pause() {

    }

    @Override
    public void resume() {

    }

    @Override
    public void hide() {

    }

    @Override
    public void dispose() {

        map.dispose();
        renderer.dispose();
        world.dispose();
        b2dr.dispose();


    }
}

и это экран, когда я запускаю программу: введите описание изображения здесь

0 ответов

Другие вопросы по тегам