我使用了一张图片并使用这张图片创建了完整的世界地图(tile.png of 128X128)。我正在关注本教程。我能够正确加载文件,但不幸的是无法看到任何世界地图。一定有一些东西我错过了。
有人可以帮助了解我应该怎么做才能使事情正确吗?
有一个从名为 tile.png 的单个图像创建的 .tmx 文件,如下所述(使用的 Tile Map 打包工具):
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" orientation="orthogonal" width="8" height="8" tilewidth="128" tileheight="128">
<tileset firstgid="1" name="tile" tilewidth="128" tileheight="128">
<image source="tile.png" width="128" height="128"/>
</tileset>
<layer name="Tile Layer 1" width="8" height="8">
<data encoding="base64" compression="zlib">
eJxjZGBgYBzBGAAhgABB
</data>
</layer>
我有一个包含数据的包文件(指向 tile.png 文件):
tile.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
tile
rotate: false
xy: 0, 0
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
我在 create() 中使用代码:
TiledMap tiledMap = TiledLoader.createMap(Gdx.files.internal("tile.tmx"));
FileHandle handle = Gdx.files.internal("tilepack");
TileAtlas tileAtlas = new TileAtlas(tiledMap, handle);
tileMapRenderer = new TileMapRenderer(tiledMap, tileAtlas, 8, 8);
并在渲染中: tileMapRenderer.render(camera);
根据上面提到的教程,一切似乎都很好。
另外要补充的是,我使用 128X128 的单个图块创建了 1024X1024 的完整世界地图。希望没问题还是我需要单独的瓷砖?
这是渲染方法:
Gdx.gl.glClearColor(0.5f, 0.5f, 1, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
camera.update();
tileMapRenderer.render(camera);