Java 除非在libgdx中使用平铺贴图调整大小,否则屏幕将不会渲染

Java 除非在libgdx中使用平铺贴图调整大小,否则屏幕将不会渲染,java,android,libgdx,tiled,Java,Android,Libgdx,Tiled,这一切都很好,然后我试着在android上运行它,这就开始发生了。我做了一段时间,然后想,好吧,让我们回到赤裸裸的骨头,看看我是否可以在那里修复它,没有这样的运气。我有一个主屏幕和一个介绍屏幕,渲染和工作正常,我一直在加载资产。当我进入游戏屏幕时,它会被清除,当我调整它的大小时,地图就会显示出来。请看一下,告诉我怎么了 public class GameScreen extends ScreenAdapter { private Viewport viewport; pr

这一切都很好,然后我试着在android上运行它,这就开始发生了。我做了一段时间,然后想,好吧,让我们回到赤裸裸的骨头,看看我是否可以在那里修复它,没有这样的运气。我有一个主屏幕和一个介绍屏幕,渲染和工作正常,我一直在加载资产。当我进入游戏屏幕时,它会被清除,当我调整它的大小时,地图就会显示出来。请看一下,告诉我怎么了

public class GameScreen extends ScreenAdapter {    
    private Viewport viewport;
    private OrthographicCamera camera;

    private SpriteBatch batch;

    private TiledMap tiledMap;
    private OrthogonalTiledMapRenderer orthogonalTiledMapRenderer;

    private HowlersPlatform game;

    public GameScreen(HowlersPlatform game){
        this.game = game;
    }
    @Override
    public void show(){
        super.show();

        camera = new OrthographicCamera();
        viewport = new FitViewport(Constants.WORLD_WIDTH, Constants.WORLD_HEIGHT, camera);
        viewport.apply(true);

        batch = new SpriteBatch();
        tiledMap = Assets.map; // AssetsClass.instance.maps.themap;
        orthogonalTiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap,batch);
        orthogonalTiledMapRenderer.setView(camera);
    }

    @Override
    public void render(float delta){
        super.render(delta);
        update(delta);
        clearScreen();
        draw();    
    }

    private void clearScreen() {
        Gdx.gl.glClearColor(Color.TEAL.r, Color.TEAL.g, Color.TEAL.b, Color.TEAL.a);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    }

    public void draw(){    
        batch.setProjectionMatrix(camera.projection);
        batch.setTransformMatrix(camera.view);

        orthogonalTiledMapRenderer.render();    
    }

    public void update(float delta){    
    }    
}

您在
resize()
方法中做什么?您正在
show()
中设置视口,但我看不到您在使用它。我敢打赌,在
resize()
中,您正确设置了相机,如果在
show()
中进行相同设置,将解决您的问题。如果成功,贴图将偏移一个平铺,但我可以使用它。我不知道调整大小是如此重要。使用适当的
resize()
,它可以确保所有内容都正确缩放,并在调整游戏窗口大小时保持可点击状态。因此,我认为,如果它最初不起作用,但只是在调整大小之后,您的设置就出现了问题。不久前,我遇到了同样的问题,请覆盖调整大小方法并更新视口解决您的问题@Override public void resize(int width,int height)viewport.update(width,height);}谢谢你的评论,这就是问题所在。