http://blog.sina.com.cn/s/blog_8ec846620102wfel.html
我是原来从3.3版本移植过来的,但是发现cocosStudio打包的时候#include 找不到,编译不过去,后来发现引擎在3.9版本后把curl给封装了。没办法只好用新版本
3.10版本的发现文件下载有问题,后来发现
// start download;
const string outFileName = _storagePath + TEMP_PACKAGE_FILE_NAME;
_downloader->createDownloadFileTask(_packageUrl, _storagePath );
这_storagePath 是不完全目录,应该改成outFileName 感觉很傻逼的错误
还有一个
// Multiple key names
static std::string keyWithHash( const char* prefix, const std::string& url )
{
char buf[256];
sprintf(buf,"%s%zd",prefix,std::hash()(url));
return buf;
}
经过问大神,发现这就是个废物写法,其实就是直接return prefix就可以了!
http://blog.sina.com.cn/s/blog_4adf99aa0102wd7h.html
_downloader->createDownloadFileTask(_packageUrl,
万事大吉。。。原来,cocos团队也会犯这种错误,这可难为我们大家了。。i
http://blog.csdn.net/yang3wei/article/details/46863417
链接:http://www.cocoachina.com/bbs/read.php?tid=233044
我们在用 AssetsManager 做资源更新的时候遇到了一个问题,部分玩家热更新失败。查了好久才查出来,原来是我们的资源文件被宽带提供商(我们发现 BUG 的是华数网通、部分手机 3G)缓存了这个资源文件,并对我们的请求链接做了跳转。解决办法在 AssetsManager 源代码中 curl 的设置加上一句
第 443 以及 138 行左右$//设置成更随跳转
curl_easy_setopt(_curl, CURLOPT_FOLLOWLOCATION, 1);
把这个问题反馈出来,希望其他遇到同样问题的人可以少花些时间。
同时也希望 cocos2dx 官方默认就把这句代码加上(毕竟国内的网络环境这么复杂)