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

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...