libgdx引擎android游戏开发(二)TiledMap初步

接下来我觉得基础不够,就又找到了这个资料

http://www.cnblogs.com/htynkn/tag/libgdx/

学习到(十二)--TiledMap地图的使用遇到了一堆问题,难过了好几天,呵呵

1. 处理tmx文件

资料中说到:用工具Tile Map editor制作出tmx文件后用gdx-tiled-preprocessor处理一下。处理完成后会多三个文件,覆盖原来的同名文件即可。

短短的一句话,我弄到了晚上1点半,总算解决了

1)制作完tmx文件后,查看下使用的图片路径,不能是绝对路径:

    以文本格式打开tmx文件,找到 source="tmw-desert-spacing.png"  如果是绝对路径,把前面的路径去掉

   怎么产生的绝对路径,我还不太清楚,不过当时确实是绝对路径。。后来几天,我新生成的tmx文件,竟然都是相对路径~~~

2)用gdx-tiled-preprocessor处理tmx文件

   我用的libgdx是最新的0.9.7,其中有gdx-tiled-preprocessor.jar文件,按照网上说的,

   新建一个文件夹(TiledMap任意名均可),把jar文件放进去,然后新建两个子文件夹:in和out ,把tmx文件和使用的图片文件放入in

   在TiledMap文件下 执行命令 java -jar gdx-tiled-preprocessor.jar in out

   接下里就是一堆问题了,我一顿改,不行~~~~当时哭的心都有了

   最后,我解决的方法是,在TiledMap文件下放入gdx.jar,gdx-tools.jar和gdx-tiled-preprocessor.jar三个jar

   执行命令 java -classpath gdx.jar;gdx-tools.jar;gdx-tiled-preprocessor.jar com.badlogic.gdx.tiledmappacker.TiledMapPacker in out

   另,我解决的过程中安装了最新版本的jdk(7.0),不知道是不是必须的,如果上述方法仍搞不定的朋友可以试一下啊.

   呼~,,终于解决了,可以睡觉了

2.报错:com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: map/tmw-desert-spacing packfile (Absolute)

   解决方法:

   atlas = new TileAtlas(map, new FileHandle("data/map/")); 改成

   atlas = new TileAtlas(map, Gdx.files.internal("data/map/"));就OK了

3.报错:java.lang.IllegalArgumentException: Bad position (limit 0): 8

          是代码tileMapRenderer.render(c); (c为从舞台获得的照相机变量)报的错

  这个问题困扰了我几晚,网上也没找到答案............

  最后,无意中发现,竟然是图片制作有问题,我用Tiled Map Editor打开制作好的tmx文件时打不开,,才知道的...耽误了我好几天啊......郁闷

4.问题解决完了,终于可以运行了.....

OK,今天就到这里了

原文地址:https://www.cnblogs.com/first001/p/2829220.html