[英]LibGDX - Tiled not rendering entire map
I'm trying to draw a map in LibGDX . 我正在尝试在LibGDX中绘制地图。 The map is created in Tiled . 该地图是在Tiled中创建的。
Problem: Click here to see a picture of what my map looks like while rendered. 问题:单击此处查看渲染时我的地图的图片。 And this picture is what I am trying to render. 而这张照片正是我要渲染的。 I tried making a fresh Tiled map with just one layer of grass and a few flowers, when i try to render that, nothing appears at all. 我尝试制作只有一层草和几朵花的新鲜平铺地图,当我尝试进行渲染时,什么也没有出现。 How can I fix this to render my entire Tiled map? 如何解决此问题以呈现我的整个平铺地图?
Any help is appreciated! 任何帮助表示赞赏!
Code: 码:
Game class 游戏类
private GameScreen screen;
@Override
public void create ()
{
setScreen(new GameScreen());
}
@Override
public void render ()
{
super.render();
screen.render(Gdx.graphics.getDeltaTime());
}
@Override
public void dispose ()
{
super.dispose();
screen.dispose();
}
@Override
public void resize(int width, int height)
{
super.resize(width, height);
screen.resize(width, height);
}
@Override
public void pause()
{
super.pause();
screen.pause();
}
@Override
public void resume()
{
super.resume();
screen.resume();
}
public void setScreen (GameScreen screen)
{
if (this.screen != null)
this.screen.hide();
this.screen = screen;
if (this.screen != null)
{
this.screen.show();
this.screen.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
}
}
GameScreen class GameScreen类
private TmxMapLoader mapLoader;
private TiledMap map;
private OrthogonalTiledMapRenderer mapRenderer;
private OrthographicCamera camera;
private FitViewport viewPort;
public GameScreen()
{
camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
camera.setToOrtho(false);
camera.update();
viewPort = new FitViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
viewPort.setScreenPosition((int) (Gdx.graphics.getWidth() * 0.5f), (int) (Gdx.graphics.getHeight() * 0.5f));
mapLoader = new TmxMapLoader();
map = mapLoader.load("maps/town.tmx");
mapRenderer = new OrthogonalTiledMapRenderer(map);
}
@Override
public void show()
{
}
public void input()
{
}
public void update(float delta)
{
input();
camera.update();
mapRenderer.setView(camera);
}
@Override
public void render(float delta)
{
update(delta);
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
mapRenderer.render();
}
@Override
public void resize(int width, int height)
{
viewPort.update(width, height);
}
@Override
public void pause()
{
}
@Override
public void resume()
{
}
@Override
public void hide()
{
}
@Override
public void dispose()
{
map.dispose();
mapRenderer.dispose();
}
I believe the problem was my tileset png file. 我相信问题是我的tileet png文件。 The file was 256x8100 or so in resolution. 该文件的分辨率约为256x8100。 I changed to a more reasonable tileset and do not have any problem at all. 我更改为一个更合理的tileet,并且完全没有任何问题。 I hope anyone else who comes across this problem will see this as a potential fix. 我希望遇到此问题的其他任何人都可以将其视为潜在的解决方案。 :) :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.