0

我使用了一张图片并使用这张图片创建了完整的世界地图(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);
4

0 回答 0