FXGL项目加载.tmx地图报错:Asset not found: tutorial.tmx 求助
解决FXGL中"Asset not found: tutorial.tmx"的问题
1. 调整Maven项目的资源目录结构
Maven默认将src/main/resources下的文件打包到classpath,FXGL的资源加载也基于此目录。按照规范调整你的文件位置:
- 若未创建
src/main/resources目录,先新建该目录 - 将
tutorial.tmx文件及关联的 tileset 图片全部放入src/main/resources,也可在resources下创建maps子目录存放地图文件(此时加载路径需改为maps/tutorial.tmx)
2. 修正资源加载路径
调用FXGL.setLevelFromMap()时的路径对应src/main/resources的根目录:
- 若
tutorial.tmx直接在src/main/resources下,代码保持:FXGL.setLevelFromMap("tutorial.tmx"); - 若放在
src/main/resources/maps子目录,代码改为:FXGL.setLevelFromMap("maps/tutorial.tmx");
3. 确保Maven正确复制资源
手动执行Maven命令刷新编译,确保资源被复制到目标目录:
mvn clean compile
执行后检查target/classes目录下是否存在tutorial.tmx,确认资源已被正确打包。
4. 旧版FXGL的额外注意事项
由于你使用的是旧版教程,需留意:
- 旧版FXGL对文件名大小写敏感,确保代码中的路径与实际文件名完全匹配
- 若Tiled地图引用了外部图片,需确保图片也在resources目录下,且地图文件中的引用路径为相对resources目录的路径(比如图片在
src/main/resources/textures,地图中需写textures/tileset.png而非绝对路径)
内容的提问来源于stack exchange,提问作者Dylan Hetzel
相关产品推荐
相关产品推荐

