CCTMXTiledMap中使用.tmx地图编辑器需要注意的路径问题导致的热更后报错

前端之家收集整理的这篇文章主要介绍了CCTMXTiledMap中使用.tmx地图编辑器需要注意的路径问题导致的热更后报错前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

问题:CCTMXTiledMap:create(....tmx)创建地图。问题是热更xxx.tmx文件,游戏中更新完代码后,在进入相关的功能界面直接闪退。

原因:CCTMXTiledMap 中 在创建并解析.tmx文件时,使用的图片的路径是.tmx同级的路径下的图片。虽然热更库里边有这个图片的资源,但是本次热更中新添加内容里没有,所以同级目录下没有图片资源。导致出错

解决:再次热更一下.tmx需要的那几张资源,放到热更的库里边,热更一下就ok



文字描述有点难懂,以下上传图片方便理解:

1.TAG V1.1617中下边划红线的地方可以看到 只热更了cave.tmx 文件 , 热更后进游戏 进入活动闪退





2.tag v1.1618中热更了 这个cave.tmx所需要的图片资源,这样热更库中就有了这几个资源。进入游戏后成功。




3.1上传代码 ,这个是调用的地方。



3.2 上传代码。 cocos2dx源码中的代码

create() 函数


initWithTMXFile() 函数:


formatWithTMXFile() 函数


initWithTMXFile() 函数


找到m_sTMXFileName变量:


这个文件是image,用的是下边的情况:




从这里我们知道了,原来他读得是当前目录下的image资源,太坑人了。如果热更的过程中,你只热更了.tmx文件,而没有热更image资源,就会报错,找不到image

猜你在找的Cocos2d-x相关文章